<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > PIC18單片機的CANopen通信協(xié)議

PIC18單片機的CANopen通信協(xié)議

作者: 時(shí)間:2009-12-25 來(lái)源:網(wǎng)絡(luò ) 收藏

 引 言

本文引用地址:http://dyxdggzs.com/article/173498.htm

  CAN總線(xiàn)由于具有實(shí)時(shí)性和可靠性高、組網(wǎng)成本低等優(yōu)點(diǎn),近年來(lái)在汽車(chē)工業(yè)、樓宇自動(dòng)化、工廠(chǎng)自動(dòng)化、機器人控制等領(lǐng)域得到廣泛應用。不僅定義了規范,而且為可編程系統、不同器件、接口等設備應用子定義了大量的行規。遵循開(kāi)發(fā)出的設備能實(shí)現不同生產(chǎn)廠(chǎng)家的產(chǎn)品間的互操作。

  要掌握協(xié)議,重點(diǎn)是對對象字典和設備模型的理解以及對4類(lèi)對象的掌握。本文先對CANopen協(xié)議進(jìn)行削析,再重點(diǎn)介紹在PICl8F458上開(kāi)發(fā)基于CANopen協(xié)議的節點(diǎn),最后通過(guò)溫度測控系統實(shí)驗驗證了系統信息傳遞的可靠性、準確性和實(shí)時(shí)性。

  1 CANopen協(xié)議簡(jiǎn)介

  CANopen協(xié)議是CiA協(xié)會(huì )基于CAN總線(xiàn)定義的應用層協(xié)議之一,在各種控制系統中得到了廣泛應用。它以CAN芯片為硬件基礎,有效利用CAN芯片所提供的簡(jiǎn)單通信功能來(lái)滿(mǎn)足工業(yè)控制網(wǎng)絡(luò )的復雜應用層協(xié)議要求。CANopen網(wǎng)絡(luò )是主從站(Master―Slave)結構,系統的運行由主站控制,主站可以對127個(gè)從設備進(jìn)行控制,不同設備通過(guò)CAN總線(xiàn)進(jìn)行連接組網(wǎng)。圖1為CANopen設備模型。CANopen通信協(xié)議接口用于提供在總線(xiàn)上收發(fā)通信對象的服務(wù),不同CANopen設備間的通信都是通過(guò)交換通信對象來(lái)完成的。CANopen協(xié)議中定義了4種通信對象(通信模式),用于對不同作用的信息進(jìn)行處理:NMT對象(網(wǎng)絡(luò )管理對象)、SDO對象(服務(wù)數據對象)、PDO對象(過(guò)程數據對象)、特殊功能對象。

CANopen設備模型

  設備對象字典是CANopen協(xié)議的核心概念,位于CANopen設備模型中通信層和用戶(hù)應用層之間,為用戶(hù)應用層提供接口。它是一個(gè)結構標準化的、有序的對象組,描述了該設備使用的所有數據類(lèi)型、通信對象和應用對象?;贑ANopen協(xié)議的網(wǎng)絡(luò )系統中每一個(gè)設備都要實(shí)現一個(gè)唯一的對象字典,區別在于設備類(lèi)型不同其內容則不同。對象字典中每個(gè)對象擁有一個(gè)唯一的16位主索引和8位子索引,由此實(shí)現對其中各種對象的訪(fǎng)問(wèn)。對象字典在系統軟件設計中得以實(shí)現,然后使用標準化的EDS文件對其進(jìn)行描述。

  2 溫度測控系統的軟、硬件設計

  2.1 溫度測控系統組成

  圖2所示溫度測控系統包含3個(gè)節點(diǎn),它們構成一個(gè)CAN網(wǎng)絡(luò )。傳感溫度節點(diǎn)發(fā)送測到的溫度,此節點(diǎn)由主芯片和溫度傳感器組成。溫度調節節點(diǎn)接收到從傳感溫度節點(diǎn)發(fā)送的溫度數據后,低于下限溫度加熱,高于上限溫度降溫,并發(fā)送調節狀態(tài);此節點(diǎn)由主芯片、狀態(tài)顯示燈和空調設備組成。命令節點(diǎn)接收從傳感溫度節點(diǎn)發(fā)送的溫度和溫度調節節點(diǎn)發(fā)送的狀態(tài)在液晶屏上顯示,并有按鈕可以發(fā)送NMT對象,對整個(gè)系統進(jìn)行控制;此節點(diǎn)由主芯片、液晶屏、狀態(tài)顯示燈和按鈕組成。

溫度測控系統包含3個(gè)節點(diǎn)

  針對系統的要求,選用PICl8F458作為從節點(diǎn)的主芯片。它是Microchip公司的單片16位高性能微控制器,具有片內CAN控制器,CAN模塊符合CAN2.0B標準,帶有3個(gè)發(fā)送緩沖區、2個(gè)接收緩沖區、2個(gè)接收屏蔽寄存器、6個(gè)完全接收濾波器。CAN收發(fā)器采用PCA82C250芯片,它具有高速穩定的差動(dòng)發(fā)送和接收能力,可作為CAN協(xié)議控制器和物理總線(xiàn)接口。此外,為了便于調試和與主控制器的通信,系統中還擴展了RS232接口。

  對于各個(gè)節點(diǎn)都采用預定義連接集中規定的11位ID。它由4位功能碼和7位節點(diǎn)ID組成。其中各通信對象具體分配的COB―ID為NMT SERVICE一000、EMER―GENCY一080、TIMESTAMP一100、SYNC一080、TPD01―180、RPD01―200、TPD02―280、RPD02―300、TSDO一580、RSDO一600、HEARTBEAT一700。

  設定傳感溫度節點(diǎn)的ID為6,以TPDO對象方式發(fā)送測到的溫度。所以發(fā)送對象的COB―ID分別為T(mén)P―D02(200+6)、TSD()(580+6)、HEARTBEAT(700+6)、EMERGENCY(080+6),接收對象的COB―ID分別為NMT SERVICE(000)、RSD()(600+6)。

  設定溫度調節節點(diǎn)的ID為7,以RPDO對象方式接收從傳感溫度節點(diǎn)發(fā)送的溫度,并以TPDO對象方式發(fā)送調節狀態(tài)。所以發(fā)送對象的COB―ID分別為T(mén)PD01(180+7)、TSDO(580+7)、HEARTBEAT(700+7)、EMERGENCY(080+7),接收對象的COB―ID分別為NMT SERVICE(000)、RSDO(600+7)、RPDO2(280+6)。

  設定命令節點(diǎn)的ID為8,以RPDO對象方式分別接收從傳感溫度節點(diǎn)發(fā)送的溫度和從溫度調節節點(diǎn)發(fā)送的調節狀態(tài),也可用NMT對象方式發(fā)送NMT報文。所以發(fā)送對象的COB―ID分別為T(mén)SDO(580+8)、HEART―BEAT(700+8)、EMERGENCY(080+8)、NMT MAS―TER(000),接收對象的COB―ID分別為NMT SERVICE(000)、RSD0(600+8)、RPD02(280+6)、RPD01(180+7)。

  2.2 節點(diǎn)對象字典的建立

  對象字典的內容除了包括CANopen協(xié)議規定的必需項外,還包括調用的各功能模塊和參數設定項。它的正確配置和使用,是保證整個(gè)CANopen網(wǎng)絡(luò )正常運行的核心,是節點(diǎn)實(shí)現其預定功能的必要保證。對象字典的組建采用C語(yǔ)言在頭文件中編寫(xiě),通過(guò)Struct(結構)語(yǔ)句實(shí)現對象字典內容的尋址。對象字典的規劃賦值設計按照CANopen協(xié)議規定的格式完成,每個(gè)節點(diǎn)的對象字典都具有相同的結構,但具體內容要根據不同的設備而定義,包含了描述這個(gè)設備和它網(wǎng)絡(luò )的所有參數。對象字典的操作是CANopen協(xié)議軟件的核心,通過(guò)對象字典實(shí)現網(wǎng)絡(luò )間參數的映射從而完成各種數據的處理,需要編寫(xiě)對象字典解碼子函數、讀對象字典子函數和寫(xiě)對象字典子函數。下面以溫度調節節點(diǎn)為例介紹對象字典的創(chuàng )建、賦值和具體操作。表1顯示了此節點(diǎn)中PDO的各個(gè)參數。

此節點(diǎn)中PDO的各個(gè)參數


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>