《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 業(yè)界動(dòng)態(tài) > 從CANopen到CANopen FD的技術(shù)升級(jí)

從CANopen到CANopen FD的技術(shù)升級(jí)

2020-02-26
來(lái)源:致遠(yuǎn)電子

  2019年11月21日,在SPS 2019慶祝30周年展會(huì)上,CiA組織通過(guò)兩個(gè)網(wǎng)橋連接的網(wǎng)絡(luò)展示了從經(jīng)典CANopenCANopen FD的移植。那么CANopen FD的出現(xiàn)帶來(lái)哪些變化?這里重點(diǎn)介紹一下CANopen FD的特性。

  自1991年頒布了CAN 2.0技術(shù)規(guī)范起,CiA便一直致力于CAN協(xié)議的推廣,其中包括CAN底層(CAN數(shù)據(jù)鏈路層、CAN物理層)設(shè)計(jì)及CAN的應(yīng)用層(CANopen)。CANopen協(xié)議在CiA 301中明確規(guī)定其PDO、SDO、NMT網(wǎng)絡(luò)管理等協(xié)議的規(guī)范,并使用經(jīng)典CAN數(shù)據(jù)鏈路層,而在SPS展會(huì)中CiA展示了CiA 1301中指定的CANopen FD協(xié)議。相比CANopen使用經(jīng)典CAN數(shù)據(jù)鏈路層,數(shù)據(jù)段提供8字節(jié)有效負(fù)載,CANopen FD是基于CAN FD,數(shù)據(jù)段有效負(fù)載提升到64字節(jié),解決了某些應(yīng)用中出現(xiàn)數(shù)據(jù)段不夠用的問(wèn)題。

  一、CANopen協(xié)議升級(jí)到CANopen?FD的相同之處

  1.NMT網(wǎng)絡(luò)管理協(xié)議

  網(wǎng)絡(luò)管理系統(tǒng)(NMT)負(fù)責(zé)啟動(dòng)網(wǎng)絡(luò)和監(jiān)控設(shè)備。工程師將CANopen FD網(wǎng)絡(luò)管理系統(tǒng)設(shè)計(jì)成一種主/從系統(tǒng)。在CANopen FD網(wǎng)絡(luò)中只允許存在一個(gè)活動(dòng)的NMT主機(jī),所有CANopen FD設(shè)備都具有NMT從機(jī)功能,并且由NMT主機(jī)來(lái)啟動(dòng)、監(jiān)控、重啟,同時(shí)分配給唯一的節(jié)點(diǎn)ID。

  為了方便管理設(shè)備,所有設(shè)備都內(nèi)置一個(gè)內(nèi)部狀態(tài)機(jī),狀態(tài)之間的轉(zhuǎn)變由內(nèi)部事件或者主機(jī)外部觸發(fā)。

  NMT從站狀態(tài)機(jī)由初始化狀態(tài),預(yù)操作狀態(tài),操作狀態(tài)和停止?fàn)顟B(tài)組成,其狀態(tài)轉(zhuǎn)換方式如圖1所示 。

  圖  1  NMT網(wǎng)絡(luò)管理示意圖

  控制設(shè)備狀態(tài)的NMT指令,通過(guò)具有最高優(yōu)先級(jí)的CAN標(biāo)識(shí)符來(lái)發(fā)送。CANopen FD設(shè)備一旦接收到控制設(shè)備狀態(tài)的NMT指令,則必須進(jìn)行轉(zhuǎn)換。如圖2所示,NMT協(xié)議映射到具有兩個(gè)字節(jié)數(shù)據(jù)長(zhǎng)度的單個(gè)CAN FD數(shù)據(jù)幀。第一個(gè)字節(jié)確定要發(fā)出去的指令,即指令說(shuō)明符;第二個(gè)字節(jié)指定CANopen FD設(shè)備的節(jié)點(diǎn)ID。

  圖 2  NMT協(xié)議示意圖

  2.錯(cuò)誤控制協(xié)議

  在CANopen FD網(wǎng)絡(luò)中通過(guò)錯(cuò)誤控制協(xié)議(如圖3啟動(dòng)協(xié)議、如圖4心跳協(xié)議)可以監(jiān)視CANopen FD設(shè)備是否仍在網(wǎng)絡(luò)中,并且處于預(yù)期的NMT FSA狀態(tài),同時(shí)也可以檢測(cè)到新加入網(wǎng)絡(luò)的CANopen FD設(shè)備。所有的CANopen FD設(shè)備都是基于相同的CAN FD信息,并具有CANopen FD設(shè)備的CAN-ID700H+節(jié)點(diǎn)ID。

  注意:CANopen FD不支持CAN遠(yuǎn)程框架,因此不支持CANopen節(jié)點(diǎn)/生命防護(hù)。

  圖  3  啟動(dòng)協(xié)議示意圖

  圖  4  心跳協(xié)議示意圖

  3.緊急通訊對(duì)象協(xié)議(EMCY)

  當(dāng)CANopen FD設(shè)備內(nèi)部發(fā)生錯(cuò)誤時(shí),會(huì)由緊急錯(cuò)誤生產(chǎn)者發(fā)送EMCY,從而觸發(fā)中斷報(bào)警。每次發(fā)生錯(cuò)誤事件只會(huì)發(fā)送一次EMCY,并且以廣播的方式發(fā)送給所有支持EMCY功能的設(shè)備上,進(jìn)而針對(duì)錯(cuò)誤進(jìn)行調(diào)整。沒(méi)有新錯(cuò)誤發(fā)生時(shí),將不再發(fā)送EMCY報(bào)文如圖5所示。

  圖  5  緊急通訊對(duì)象協(xié)議EMCY示意圖

  4.SYNC同步協(xié)議

  與CANopen相同,CANopen FD設(shè)備中,SYNC同步協(xié)議是由生產(chǎn)者定期發(fā)送,用于網(wǎng)絡(luò)同步。所有CANopenFD設(shè)備都可以作為SYNC的生產(chǎn)者。通常情況下,SYNC協(xié)議用作總線負(fù)載管理。SYNC報(bào)文提供1字節(jié)的SYNC計(jì)數(shù)器值。每次發(fā)送SYNC,對(duì)應(yīng)計(jì)數(shù)器就會(huì)加1。同時(shí),SYNC的傳輸周期是可以配置的,計(jì)數(shù)器初值為1,最大值可在數(shù)據(jù)對(duì)象同步計(jì)數(shù)器溢出寄存器(1019H)進(jìn)行配置,如圖6所示。

  圖  6  SYNC同步協(xié)議示意圖

  5.時(shí)間戳協(xié)議

  時(shí)間戳協(xié)議可以使CANopen FD系統(tǒng)調(diào)整到唯一的網(wǎng)絡(luò)時(shí)間。由CANopen FD主站設(shè)備發(fā)出,用于同步所有從站的內(nèi)部時(shí)鐘。時(shí)間戳被映射到一個(gè)6字節(jié)長(zhǎng)度的CAN單幀。如圖7所示,默認(rèn)情況下,該CAN幀具有標(biāo)識(shí)符100h。這六字節(jié)長(zhǎng)度的數(shù)據(jù)提供“時(shí)間“”信息,該信息是以午夜之后的毫秒數(shù)和自1984年1月1日以來(lái)的天數(shù)。

  圖  7  時(shí)間戳協(xié)議示意圖

  二、CANopen到CANopen FD的改變之處

  1.USDO協(xié)議

  USDO用于CANopen FD系統(tǒng)中的配置和診斷任務(wù)。但是,過(guò)程數(shù)據(jù)也可以通過(guò)USDO服務(wù)進(jìn)行傳輸。USDO具有以下特性:

  lUSDO服務(wù)可以在單個(gè)或多個(gè)USDO服務(wù)器之間確認(rèn)通信;

  lUSDO客戶端可以訪問(wèn)CANopen FD設(shè)備中所有的對(duì)象字典條目;

  l USDO可以提供USDO服務(wù)器對(duì)象字典中一個(gè)或幾個(gè)子索引的讀寫(xiě)訪問(wèn)權(quán)限;

  lUSDO具有路由功能,可以實(shí)現(xiàn)CANopen FD網(wǎng)絡(luò)邊界上的數(shù)據(jù)傳輸;

  lUSDO客戶端和USDO服務(wù)器可以連接到不同的CAN物理層;

  lUSDO客戶端和USDO服務(wù)器之間可以傳輸任意長(zhǎng)度的數(shù)據(jù)內(nèi)容。

  如圖8所示,是USDO已確認(rèn)的單播、廣播通信。

  圖  8  USDO單播、廣播通信

  USDO協(xié)議“目的地地址”確定USDO是以點(diǎn)對(duì)點(diǎn)連接還是以多路或廣播方式進(jìn)行通信。命令說(shuō)明符決定USDO傳輸?shù)念愋?。?huì)話ID用作交易編號(hào),使客戶端能夠區(qū)分對(duì)同一USDO服務(wù)器的USDO訪問(wèn)。與傳統(tǒng)的CANopen SDO中一樣,索引和子索引標(biāo)識(shí)在USDO服務(wù)器的對(duì)象字典中訪問(wèn)的數(shù)據(jù)元素。除了經(jīng)典的SDO,USDO還按大小和數(shù)據(jù)類型描述要傳輸?shù)臄?shù)據(jù),這使數(shù)據(jù)接收者能夠執(zhí)行一致性檢查。如圖9所示,為加速USDO協(xié)議傳輸。

  圖  9  加速USDO協(xié)議傳輸

  對(duì)于較長(zhǎng)的數(shù)據(jù)對(duì)象,如類型為域的數(shù)據(jù),超過(guò)了7字節(jié),加速USDO傳輸方式效率并不是很高。類似于CANopen協(xié)議,CANopen FD協(xié)議中為了提高USDO傳輸?shù)男?,引入一種擴(kuò)展USDO傳輸方式:即塊傳輸。這種USDO傳輸方式效率更高、速度更快。這種塊傳輸?shù)幕驹砭褪菍?shù)據(jù)劃分為幾個(gè)單一的包,在連續(xù)的請(qǐng)求或者應(yīng)答中逐塊傳輸這些包。如圖10所示,是USDO塊傳輸方式。

  圖 10  USDO塊傳輸方式

  USDO客戶端告知USDO服務(wù)器目標(biāo)索引和子索引以及預(yù)期的數(shù)據(jù)類型和長(zhǎng)度。USDO服務(wù)器確認(rèn)其請(qǐng)求后,給出其可以處理的最大塊的大?。ㄟB續(xù)塊消息的數(shù)量)。USDO客戶端就會(huì)發(fā)出第一塊的各個(gè)分段,知道服務(wù)器確認(rèn)接收結(jié)束。

  2.PDO協(xié)議

  過(guò)程數(shù)據(jù)對(duì)象(PDO)在CANopen FD中用于廣播高優(yōu)先級(jí)控制和狀態(tài)信息。一個(gè)PDO由一個(gè)CAN數(shù)據(jù)幀組成,并可以通信多達(dá)64個(gè)字節(jié)的數(shù)據(jù)。但是,CAN FD數(shù)據(jù)幀的數(shù)據(jù)長(zhǎng)度從8字節(jié)之后呈非線性規(guī)律。因此,當(dāng)PDO生產(chǎn)者使用填充字節(jié)將PDO填充到下一個(gè)支持的CAN FD幀長(zhǎng)度時(shí),PDO的消費(fèi)者可能會(huì)收到比預(yù)期更多的數(shù)據(jù)。如圖11所示。

  圖  11  PDO協(xié)議示意圖

  三、CANopen FD與嵌入式網(wǎng)絡(luò)、工業(yè)物聯(lián)網(wǎng)

  現(xiàn)如今,工業(yè)物聯(lián)網(wǎng)在逐步發(fā)展崛起,慢慢走向成熟。嵌入式也在向云應(yīng)運(yùn)程序中集成發(fā)展,大數(shù)據(jù)時(shí)代需要更多的數(shù)據(jù)來(lái)進(jìn)行更準(zhǔn)確更安全的算法分析。CANopen FD底層基于CAN FD提供了長(zhǎng)達(dá)64字節(jié)的有效負(fù)載,能夠更好的滿足大數(shù)據(jù)時(shí)代的安全性能要求。

  CANopen FD能夠更好的滿足未來(lái)工業(yè)互聯(lián)網(wǎng)的發(fā)展需求,其中重要的原因還是歸功于新的USDO協(xié)議的出現(xiàn)。由于USDO特性靈活,CANopen FD/IOT網(wǎng)關(guān)可以輕松的訪問(wèn)網(wǎng)絡(luò)中的任何數(shù)據(jù),并且通過(guò)路由功能可以進(jìn)行遠(yuǎn)程網(wǎng)絡(luò)CANopen FD設(shè)備連接和訪問(wèn)。

  CANopen FD減輕了開(kāi)發(fā)人員處理CAN硬件特定細(xì)節(jié)的負(fù)擔(dān),例如位時(shí)序和驗(yàn)收過(guò)濾。CANopen FD提供了標(biāo)準(zhǔn)化的通信對(duì)象COB,用來(lái)配置及網(wǎng)絡(luò)管理數(shù)據(jù)。

  四、CANFDSM-100——串口轉(zhuǎn)CANFD轉(zhuǎn)換模塊

  在實(shí)際應(yīng)用中,工程師經(jīng)常會(huì)使用串口來(lái)收發(fā)數(shù)據(jù)或進(jìn)行調(diào)試。這樣,對(duì)于CANopen FD設(shè)備的問(wèn)題,我們會(huì)需要實(shí)現(xiàn)串口轉(zhuǎn)CANFD,幫助我們更好的實(shí)現(xiàn)數(shù)據(jù)的傳輸和轉(zhuǎn)換。如圖12所示, 是廣州致遠(yuǎn)電子研發(fā) 的一款串口轉(zhuǎn) CAN(FD)模塊CANFDSM-100,內(nèi)置微處理器。該模塊支持透明轉(zhuǎn)換、透明帶標(biāo)識(shí)符轉(zhuǎn)換、格式轉(zhuǎn)換、Modbus轉(zhuǎn)換四種模式。同時(shí),該模塊集成1路CANFD接口和1路UART接口。在CAN通訊方面,可以在40Kbps~1Mbps之間任意可編程;在CANFD通訊方面,可以在1Mbps~5Mbps之間任意可編程。滿足工業(yè)級(jí)要求,支持在線固件升級(jí)等。

  圖 12  CANFDSM-100示意圖

  五、USBCANFD系列CAN FD接口卡

  在CANopen FD設(shè)備的使用過(guò)程中,經(jīng)常會(huì)通過(guò)抓取底層的CAN FD報(bào)文來(lái)進(jìn)行數(shù)據(jù)分析或者故障排除等。如圖13所示是廣州致遠(yuǎn)電子有限公司開(kāi)發(fā)的高性能CANFD接口卡,集成1-2路CANFD接口,每個(gè)接口具備獨(dú)立的2500VDC電氣隔離保護(hù)電路,使接口卡避免由于地環(huán)流的損壞,增強(qiáng)系統(tǒng)在惡劣環(huán)境中使用的可靠性。PC通過(guò)USB2.0端口連接USBCANFD接口卡,從而能與CAN(FD)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)收發(fā),構(gòu)成CAN(FD)-bus控制節(jié)點(diǎn)。

  圖 13  USBCANFD-200U接口卡示意圖


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。