<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC18單片機(jī)的CANopen通信協(xié)議簡(jiǎn)介及設(shè)計(jì)

          PIC18單片機(jī)的CANopen通信協(xié)議簡(jiǎn)介及設(shè)計(jì)

          作者: 時(shí)間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
          CAN總線由于具有實(shí)時(shí)性和可靠性高、組網(wǎng)成本低等優(yōu)點(diǎn),近年來在汽車工業(yè)、樓宇自動(dòng)化、工廠自動(dòng)化、機(jī)器人控制等領(lǐng)域得到廣泛應(yīng)用。CANopen協(xié)議不僅定義了通信規(guī)范,而且為可編程系統(tǒng)、不同器件、接口等設(shè)備應(yīng)用子協(xié)議定義了大量的行規(guī)。遵循CANopen協(xié)議開發(fā)出的設(shè)備能實(shí)現(xiàn)不同生產(chǎn)廠家的產(chǎn)品間的互操作。
          要掌握CANopen協(xié)議,重點(diǎn)是對(duì)對(duì)象字典和設(shè)備模型的理解以及對(duì)4類通信對(duì)象的掌握。本文先對(duì)CANopen協(xié)議進(jìn)行削析,再重點(diǎn)介紹在PICl8F458單片機(jī)上開發(fā)基于CANopen協(xié)議的節(jié)點(diǎn),最后通過溫度測(cè)控系統(tǒng)實(shí)驗(yàn)驗(yàn)證了系統(tǒng)信息傳遞的可靠性、準(zhǔn)確性和實(shí)時(shí)性。

          1 CANopen通信協(xié)議簡(jiǎn)介
          CANopen協(xié)議是CiA協(xié)會(huì)基于CAN總線定義的應(yīng)用層協(xié)議之一,在各種控制系統(tǒng)中得到了廣泛應(yīng)用。它以CAN芯片為硬件基礎(chǔ),有效利用CAN芯片所提供的簡(jiǎn)單通信功能來滿足工業(yè)控制網(wǎng)絡(luò)的復(fù)雜應(yīng)用層協(xié)議要求。CANopen網(wǎng)絡(luò)是主從站(Master—Slave)結(jié)構(gòu),系統(tǒng)的運(yùn)行由主站控制,主站可以對(duì)127個(gè)從設(shè)備進(jìn)行控制,不同設(shè)備通過CAN總線進(jìn)行連接組網(wǎng)。圖1為CANopen設(shè)備模型。CANopen通信協(xié)議接口用于提供在總線上收發(fā)通信對(duì)象的服務(wù),不同CANopen設(shè)備間的通信都是通過交換通信對(duì)象來完成的。CANopen協(xié)議中定義了4種通信對(duì)象(通信模式),用于對(duì)不同作用的信息進(jìn)行處理:NMT對(duì)象(網(wǎng)絡(luò)管理對(duì)象)、SDO對(duì)象(服務(wù)數(shù)據(jù)對(duì)象)、PDO對(duì)象(過程數(shù)據(jù)對(duì)象)、特殊功能對(duì)象。
          設(shè)備對(duì)象字典是CANopen協(xié)議的核心概念,位于CANopen設(shè)備模型中通信層和用戶應(yīng)用層之間,為用戶應(yīng)用層提供接口。它是一個(gè)結(jié)構(gòu)標(biāo)準(zhǔn)化的、有序的對(duì)象組,描述了該設(shè)備使用的所有數(shù)據(jù)類型、通信對(duì)象和應(yīng)用對(duì)象?;贑ANopen協(xié)議的網(wǎng)絡(luò)系統(tǒng)中每一個(gè)設(shè)備都要實(shí)現(xiàn)一個(gè)唯一的對(duì)象字典,區(qū)別在于設(shè)備類型不同其內(nèi)容則不同。對(duì)象字典中每個(gè)對(duì)象擁有一個(gè)唯一的16位主索引和8位子索引,由此實(shí)現(xiàn)對(duì)其中各種對(duì)象的訪問。對(duì)象字典在系統(tǒng)軟件設(shè)計(jì)中得以實(shí)現(xiàn),然后使用標(biāo)準(zhǔn)化的EDS文件對(duì)其進(jìn)行描述。

          本文引用地址:http://www.ex-cimer.com/article/201611/319183.htm

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

          對(duì)于各個(gè)節(jié)點(diǎn)都采用預(yù)定義連接集中規(guī)定的11位ID。它由4位功能碼和7位節(jié)點(diǎn)ID組成。其中各通信對(duì)象具體分配的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。
          設(shè)定傳感溫度節(jié)點(diǎn)的ID為6,以TPDO對(duì)象方式發(fā)送測(cè)到的溫度。所以發(fā)送對(duì)象的COB—ID分別為TP—D02(200+6)、TSD()(580+6)、HEARTBEAT(700+6)、EMERGENCY(080+6),接收對(duì)象的COB—ID分別為NMT SERVICE(000)、RSD()(600+6)。
          設(shè)定溫度調(diào)節(jié)節(jié)點(diǎn)的ID為7,以RPDO對(duì)象方式接收從傳感溫度節(jié)點(diǎn)發(fā)送的溫度,并以TPDO對(duì)象方式發(fā)送調(diào)節(jié)狀態(tài)。所以發(fā)送對(duì)象的COB—ID分別為TPD01(180+7)、TSDO(580+7)、HEARTBEAT(700+7)、EMERGENCY(080+7),接收對(duì)象的COB—ID分別為NMT SERVICE(000)、RSDO(600+7)、RPDO2(280+6)。
          設(shè)定命令節(jié)點(diǎn)的ID為8,以RPDO對(duì)象方式分別接收從傳感溫度節(jié)點(diǎn)發(fā)送的溫度和從溫度調(diào)節(jié)節(jié)點(diǎn)發(fā)送的調(diào)節(jié)狀態(tài),也可用NMT對(duì)象方式發(fā)送NMT報(bào)文。所以發(fā)送對(duì)象的COB—ID分別為TSDO(580+8)、HEART—BEAT(700+8)、EMERGENCY(080+8)、NMT MAS—TER(000),接收對(duì)象的COB—ID分別為NMT SERVICE(000)、RSD0(600+8)、RPD02(280+6)、RPD01(180+7)。
          2.2 節(jié)點(diǎn)對(duì)象字典的建立
          對(duì)象字典的內(nèi)容除了包括CANopen協(xié)議規(guī)定的必需項(xiàng)外,還包括調(diào)用的各功能模塊和參數(shù)設(shè)定項(xiàng)。它的正確配置和使用,是保證整個(gè)CANopen網(wǎng)絡(luò)正常運(yùn)行的核心,是節(jié)點(diǎn)實(shí)現(xiàn)其預(yù)定功能的必要保證。對(duì)象字典的組建采用C語言在頭文件中編寫,通過Struct(結(jié)構(gòu))語句實(shí)現(xiàn)對(duì)象字典內(nèi)容的尋址。對(duì)象字典的規(guī)劃賦值設(shè)計(jì)按照CANopen協(xié)議規(guī)定的格式完成,每個(gè)節(jié)點(diǎn)的對(duì)象字典都具有相同的結(jié)構(gòu),但具體內(nèi)容要根據(jù)不同的設(shè)備而定義,包含了描述這個(gè)設(shè)備和它網(wǎng)絡(luò)的所有參數(shù)。對(duì)象字典的操作是CANopen協(xié)議軟件的核心,通過對(duì)象字典實(shí)現(xiàn)網(wǎng)絡(luò)間參數(shù)的映射從而完成各種數(shù)據(jù)的處理,需要編寫對(duì)象字典解碼子函數(shù)、讀對(duì)象字典子函數(shù)和寫對(duì)象字典子函數(shù)。下面以溫度調(diào)節(jié)節(jié)點(diǎn)為例介紹對(duì)象字典的創(chuàng)建、賦值和具體操作。表1顯示了此節(jié)點(diǎn)中PDO的各個(gè)參數(shù)。

          命令節(jié)點(diǎn)進(jìn)行NMT對(duì)象操作時(shí)再觀察各節(jié)點(diǎn)狀態(tài):當(dāng)按下按鈕1時(shí),節(jié)點(diǎn)進(jìn)入欲操作狀態(tài);當(dāng)按下按鈕2時(shí),節(jié)點(diǎn)重啟。
          從以上兩個(gè)實(shí)驗(yàn)可以看出,整個(gè)系統(tǒng)在運(yùn)行過程中達(dá)到了滿意的控制效果,實(shí)現(xiàn)了基于CANopen協(xié)議的對(duì)象數(shù)據(jù)的交換,通信傳輸理想。


          應(yīng)用PIC18單片機(jī)自行開發(fā)的基于CANopen協(xié)議的節(jié)點(diǎn),實(shí)現(xiàn)了對(duì)4種通信對(duì)象信息的通信處理,并通過測(cè)試驗(yàn)證了系統(tǒng)信息傳遞的可靠性、準(zhǔn)確性和實(shí)時(shí)性,很好地滿足了基于CANopen協(xié)議的溫度測(cè)控系統(tǒng)的要求;對(duì)于CANopen在國內(nèi)的應(yīng)用和普及,以及CAN網(wǎng)絡(luò)和驅(qū)動(dòng)產(chǎn)品盡早和國際接軌,具有重要的意義。



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();