技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 基于CANopen協(xié)議的車載平臺(tái)數(shù)據(jù)通訊系統(tǒng)

基于CANopen協(xié)議的車載平臺(tái)數(shù)據(jù)通訊系統(tǒng)

時(shí)間:2008-04-29 16:20:00來(lái)源:ronggang

導(dǎo)語(yǔ):?隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,車輛系統(tǒng)中的網(wǎng)絡(luò)化程度也越來(lái)越高,這就要求一個(gè)車載裝置能和其它的設(shè)備進(jìn)行互連,從而有利于形成整車監(jiān)控系統(tǒng)
引言   在現(xiàn)代戰(zhàn)爭(zhēng)中,隨著武器裝備系統(tǒng)的機(jī)動(dòng)化、自動(dòng)化和信息化程度的不斷提高,軍用車輛上的車載設(shè)備也不斷增多,其中很多設(shè)備如車載雷達(dá)、車載光學(xué)瞄準(zhǔn)設(shè)備、車載武器設(shè)備等,都需要一個(gè)穩(wěn)定的水平平臺(tái)作為基座,以保證武器系統(tǒng)的瞄準(zhǔn)、跟蹤和精確打擊。同時(shí),隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,車輛系統(tǒng)中的網(wǎng)絡(luò)化程度也越來(lái)越高,這就要求一個(gè)車載裝置能和其它的設(shè)備進(jìn)行互連,從而有利于形成整車監(jiān)控系統(tǒng)。目前,在車輛中大多數(shù)設(shè)備都通過(guò)CAN總線進(jìn)行連接,但是其應(yīng)用層協(xié)議的不統(tǒng)一給不同廠商之間的設(shè)備互連帶來(lái)了困難。   CANopen 是基于CAN(Controller Area Network)總線的應(yīng)用層協(xié)議,它最初由從事工業(yè)控制的CiA (CAN in Automation)會(huì)員開發(fā)。由于CANopen是一種公共、開放、通用的協(xié)議,而且精練透明、容易開發(fā),因此在發(fā)布后不久就獲得了廣泛的承認(rèn)。如今已經(jīng)被接受為CAN高層協(xié)議的標(biāo)準(zhǔn)之一。尤其在歐洲,CANopen協(xié)議被認(rèn)為是在基于CAN的工業(yè)系統(tǒng)中占領(lǐng)導(dǎo)地位的標(biāo)準(zhǔn),已經(jīng)應(yīng)用于多種領(lǐng)域,如越野車、海上電子設(shè)備、醫(yī)療設(shè)備甚至于還可應(yīng)用于公共汽車和鐵路,且針對(duì)行業(yè)應(yīng)用,實(shí)現(xiàn)比較簡(jiǎn)潔。   一方面,將CANopen應(yīng)用于車載平臺(tái)裝置,可使它很方便地掛接到總線上,這樣不僅解決了設(shè)備間的互連問(wèn)題,同時(shí)也提高了信息傳輸?shù)目煽啃浴?shí)時(shí)性及裝置的標(biāo)準(zhǔn)化、開放化程度。另一方面,在國(guó)外CANopen的應(yīng)用已經(jīng)非常廣泛,而在國(guó)內(nèi)有關(guān)CANopen的文章還很少,希望借此文章給從事CAN總線技術(shù)開發(fā)的人員提供一些有用的信息,使我國(guó)的CAN總線應(yīng)用早日與國(guó)際接軌。 1 CANopen協(xié)議設(shè)計(jì)的實(shí)質(zhì)和核心內(nèi)容   CAN 處于OSI網(wǎng)絡(luò)模型中物理層和數(shù)據(jù)鏈路層,而CANopen是基于CAN的應(yīng)用層,因?yàn)楝F(xiàn)場(chǎng)總線通常只包括一個(gè)網(wǎng)段,因此不需要第3層(傳輸層)和第4層 (網(wǎng)絡(luò)層),也不需要第5層(會(huì)話層)、第6層(描述層)的作用。正是因?yàn)橛辛薈ANopen這樣應(yīng)用層協(xié)議的存在,從而使CAN總線成為了一個(gè)更加完善的網(wǎng)絡(luò)系統(tǒng)。   1.1 CANopen協(xié)議設(shè)計(jì)的實(shí)質(zhì)——面向?qū)ο?   CANopen 協(xié)議在設(shè)計(jì)的時(shí)候,對(duì)總線上傳輸?shù)臄?shù)據(jù)進(jìn)行了分類,即每一個(gè)傳輸數(shù)據(jù)都是某一特定類的對(duì)象,從而實(shí)現(xiàn)了面向?qū)ο蟮某绦蛟O(shè)計(jì)。在CANopen中每一類傳輸對(duì)象都有其規(guī)范化的格式,從而實(shí)現(xiàn)了應(yīng)用層結(jié)構(gòu)上的統(tǒng)一。這樣無(wú)論從規(guī)范化角度,還是從模塊化程序設(shè)計(jì)角度講,CANopen協(xié)議都是一個(gè)設(shè)計(jì)比較完善的協(xié)議。
  在CANopen 協(xié)議的數(shù)據(jù)傳輸中共定義了4類對(duì)象(通訊模式),分別為管理對(duì)象(NMT)、服務(wù)數(shù)據(jù)對(duì)象(SDO)、過(guò)程數(shù)據(jù)對(duì)象(PDO)和特殊功能對(duì)象。其中NMT 用來(lái)傳遞主節(jié)點(diǎn)對(duì)整個(gè)網(wǎng)絡(luò)系統(tǒng)的管理信息,SDO用來(lái)傳遞網(wǎng)絡(luò)系統(tǒng)中的配置信息,PDO用來(lái)傳遞過(guò)程數(shù)據(jù)信息(例如電壓的變化值),特殊功能對(duì)象包括同步對(duì)象(SYNC)、緊急對(duì)象(Emergency)、時(shí)間基準(zhǔn)(Time-Stamp)等。各類對(duì)象傳輸時(shí)的幀格式在參考文獻(xiàn)中有詳細(xì)的規(guī)定,在這里就不詳細(xì)介紹了。在實(shí)際的工程中用戶只要根據(jù)需要,按照類的規(guī)定把要傳輸?shù)臄?shù)據(jù)映射到相應(yīng)的對(duì)象中就可以了。   1.2 CANopen協(xié)議中的核心內(nèi)容——對(duì)象字典(Object Dictionary)   為了對(duì)各類對(duì)象進(jìn)行規(guī)范化和方便的管理,在CANopen協(xié)議中定義了對(duì)象字典的概念。它是一個(gè)有序的對(duì)象組,其中定義了一個(gè)設(shè)備的所有信息,在 CANopen網(wǎng)絡(luò)系統(tǒng)中每一個(gè)設(shè)備都要有一個(gè)唯一的對(duì)象字典,每個(gè)設(shè)備的對(duì)象字典具有結(jié)構(gòu)相同、內(nèi)容不同的特點(diǎn)。通過(guò)對(duì)對(duì)象字典中的對(duì)象定義一個(gè)唯一的 16位主索引和8位子索引,就可以方便地訪問(wèn)對(duì)象字典中的對(duì)象。CANopen協(xié)議中定義了通用的對(duì)象字典結(jié)構(gòu),其中規(guī)定了各種數(shù)據(jù)在對(duì)象字典中的位置區(qū)域。在我們建立設(shè)備對(duì)象字典的時(shí)候,主要工作應(yīng)集中在定義通訊子協(xié)議區(qū)域(1000~1FFF)和制造商特定子協(xié)議區(qū)域(2000~5FFF)部分。   在整個(gè)CANopen協(xié)議中對(duì)象字典起到了連接DLL模塊(通訊接口)和應(yīng)用程序的作用。我們要想把一個(gè)應(yīng)用程序中的數(shù)據(jù)(如I/O的輸入值)送到CAN總線上,我們首先要確定這個(gè)數(shù)據(jù)屬于對(duì)象字典中的哪一類對(duì)象(例如I/O口的輸入值應(yīng)為過(guò)程數(shù)據(jù)對(duì)象),然后用DLL模塊訪問(wèn)對(duì)象字典中相應(yīng)的對(duì)象并把其按照相應(yīng)的幀格式發(fā)送到CAN總線上去,從而完成了數(shù)據(jù)的傳輸。 2 車載平臺(tái)數(shù)據(jù)通訊系統(tǒng)的實(shí)現(xiàn)   2.1 數(shù)據(jù)通訊系統(tǒng)的組成   在我們的調(diào)平系統(tǒng)中,平臺(tái)采用4點(diǎn)支撐,由4個(gè)1KW、24V的直流電機(jī)和減速器、T型絲杠相連接,以控制平臺(tái)中4個(gè)支點(diǎn)的上升或下降。主控制器、4個(gè)電機(jī)控制器和USB-to-CAN通過(guò)CAN總線相連,水平傳感器和手操器通過(guò)RS232接口和主控制器相連,其結(jié)構(gòu)如圖1所示。其中主控制、電機(jī)控制器和手操器為我們自行開發(fā)的嵌入式設(shè)備,電機(jī)控制器可以實(shí)現(xiàn)準(zhǔn)確的電機(jī)位置控制,手操器可以提供手動(dòng)調(diào)平功能。水平傳感器為Crossbow Technology公司生產(chǎn)的CXTD02型,它可以由RS232口送出精確的平臺(tái)X、Y軸角度密位信息;USB-to-CAN設(shè)備為德國(guó)IXXAT公司生產(chǎn)的USB-to-CAN compact,其中包含了SJA1000 CAN控制器可完成消息的收發(fā),并可以將CAN信號(hào)轉(zhuǎn)換成USB信號(hào)傳遞給上位機(jī),上位機(jī)通過(guò)運(yùn)行IXXAT公司的監(jiān)視軟件(miniMON)可以在線觀察總線上傳輸?shù)臄?shù)據(jù)。   2.2 系統(tǒng)中CAN硬件接口設(shè)計(jì)   在主控制器和電機(jī)控制器中微處理器采用FUJITSU公司的MB90F543芯片,其本身帶有內(nèi)嵌CAN控制器,因此只需加一個(gè)CAN總線驅(qū)動(dòng)器,就可方便地實(shí)現(xiàn)主控制器和4個(gè)電機(jī)控制器之間的通信。本系統(tǒng)中選用了PCA82C250收發(fā)控制器,該芯片提供對(duì)總線的差動(dòng)發(fā)送能力和對(duì)CAN控制器的差動(dòng)接收能力,PCA82C250是標(biāo)準(zhǔn)的CAN收發(fā)器,實(shí)驗(yàn)顯示,只要總線的每米電容小于120pf條件下,就滿足CAN總線傳送距離的標(biāo)準(zhǔn)。CAN總線驅(qū)動(dòng)電路圖略。為了加強(qiáng)總線的抗干擾能力,總線的通信介質(zhì)采用帶屏蔽線的雙絞線。   2.3 對(duì)象字典的建立   在網(wǎng)絡(luò)系統(tǒng)中每一個(gè)設(shè)備都要有一個(gè)唯一的對(duì)象字典,其中定義了各種對(duì)象的屬性(如ID、發(fā)送方式等)。在我們的系統(tǒng)中共有5個(gè)節(jié)點(diǎn),它們以主從方式工作(1 個(gè)主節(jié)點(diǎn)和4個(gè)從節(jié)點(diǎn)),主控制器對(duì)應(yīng)主節(jié)點(diǎn),4個(gè)電機(jī)控制器對(duì)應(yīng)4個(gè)從節(jié)點(diǎn)。為了系統(tǒng)擴(kuò)展的方便,我們?cè)O(shè)4個(gè)從節(jié)點(diǎn)的節(jié)點(diǎn)號(hào)分別為10、11、12、 13,在各個(gè)節(jié)點(diǎn)對(duì)象字典中的對(duì)象ID都采用預(yù)定義連接集中規(guī)定的11位ID,它由4位功能代碼和7位節(jié)點(diǎn)號(hào)組成。   下面以主節(jié)點(diǎn)對(duì)象字典的建立為例說(shuō)明對(duì)象字典的建立方法。首先要分析主節(jié)點(diǎn)在網(wǎng)絡(luò)中的作用,從而確定對(duì)象字典中要包含哪一類對(duì)象及其個(gè)數(shù),然后定義對(duì)象的屬性。在我們的系統(tǒng)中主節(jié)點(diǎn)要支持從節(jié)點(diǎn)的訪問(wèn),因此需要一個(gè)SDO;主節(jié)點(diǎn)要向4個(gè)從節(jié)點(diǎn)發(fā)送位置信息,因此要有4個(gè)Tx-PDO和4個(gè)Rx-PDO,其中每個(gè)PDO又由Tx(Rx)PDO Parameter和Tx(Rx)-PDO mapping兩部分組成;當(dāng)系統(tǒng)中發(fā)生緊急情況的時(shí)候主節(jié)點(diǎn)要發(fā)送緊急信息,因此要有1個(gè)應(yīng)急指示緊急對(duì)象(Emergency Object);向從節(jié)點(diǎn)發(fā)送的位置信息保存在制造商特定子協(xié)議區(qū)域(2000~5FFF)中;另外主節(jié)點(diǎn)要完成各個(gè)從節(jié)點(diǎn)的管理工作,因此還要有NMT 管理模塊。SDO、PDO的屬性設(shè)置如表1、2所示,由于4對(duì)PDO的屬性除了映射值不用以外,其他屬性基本相同,因此只給出了向(從)節(jié)點(diǎn)號(hào)為10的從節(jié)點(diǎn)發(fā)送(接收)PDO的設(shè)置。
  對(duì)象索引接收ID發(fā)送ID   SDOI200H580H600H   對(duì)象索引ID傳輸類型映射參數(shù)   Tx-PDOI800H0x18A2550x20000110   Rx-PDOI400H0x20A2550x20000208   在表2中傳輸類型255表示異步、事件觸發(fā)傳輸,映射參數(shù)0x20000110按照從左至右的順序分別表示將對(duì)象字典中主索引為2000H,子索引為01H的16位數(shù)值(10)映射到PDO中去。也就是說(shuō)將保存在2000H處的位置信息映射到PDO中發(fā)送。   在對(duì)象字典建立完成之后要生成EDS(Electronic Data Sheet)來(lái)描述這個(gè)設(shè)備的對(duì)象字典,主節(jié)點(diǎn)的EDS如圖2所示。
  2.3 DLL模塊的實(shí)現(xiàn)   MB90F543具有兩個(gè)CAN控制器分別為CAN0和CAN1,我們只用CAN0,這樣CAN1可以在系統(tǒng)擴(kuò)展時(shí)使用。CAN控制器具有如下的特點(diǎn):   符合規(guī)范CAN2.0A和CAN2.0B;   支持通過(guò)接收遠(yuǎn)程幀發(fā)送數(shù)據(jù);   16個(gè)收、發(fā)緩沖區(qū),每個(gè)緩沖區(qū)都具有29比特ID和8字節(jié)數(shù)據(jù),多級(jí)緩沖配置;   每個(gè)緩沖區(qū)支持標(biāo)準(zhǔn)幀和擴(kuò)展幀的多種過(guò)濾方式;   波特率可從10Kbit/s到1Mbit/s。   在我們系統(tǒng)中使用規(guī)范CAN2.0A,波特率為125k/s,并且為每類消息分配了一個(gè)獨(dú)立的緩沖區(qū),這樣做可以減少中斷程序的處理時(shí)間,從而提高了系統(tǒng)的實(shí)時(shí)性。   
  DLL模塊是對(duì)象字典和CAN控制器之間的通訊接口,它要完成的主要工作是:   對(duì)CAN控制器進(jìn)行初始化,其中包括波特率設(shè)置和CAN寄存器初始化等;   對(duì)CAN引發(fā)的中斷處理,其中包括:   1)在發(fā)送時(shí)通過(guò)訪問(wèn)對(duì)象字典將各種對(duì)象按照規(guī)定的幀格式發(fā)送到總線上;   2)在接收的時(shí)候把接收到的對(duì)象信息寫到對(duì)象字典的相應(yīng)位置中去。   我們用兩個(gè)函數(shù)-DLL_InitCAN ()和DLL_Interrupt()來(lái)實(shí)現(xiàn)CAN控制器的初始化和中斷處理功能。   2.4 主控制器的應(yīng)用程序流程   在系統(tǒng)中各個(gè)從節(jié)點(diǎn)被配置成節(jié)點(diǎn)監(jiān)測(cè)狀態(tài),主節(jié)點(diǎn)通過(guò)檢測(cè)4個(gè)從節(jié)點(diǎn)發(fā)送的周期性心跳報(bào)文(Heartbeat)來(lái)判斷各個(gè)從節(jié)點(diǎn)的工作狀態(tài)。   主控制器的應(yīng)用程序流程為:在系統(tǒng)上電后主控制器首先判斷各個(gè)從控制器是否發(fā)出Boot-Up消息,如果有Boot-up消息則讓各個(gè)從節(jié)點(diǎn)進(jìn) Operational狀態(tài)并接著判斷是否有心跳報(bào)文(Heartbeat)產(chǎn)生以判斷各節(jié)點(diǎn)是否成功進(jìn)Operational狀態(tài),否則通過(guò)指示燈報(bào)錯(cuò),然后采集水平傳感器輸出的X、Y軸密位信息并判斷是否在誤差帶內(nèi),接著通過(guò)調(diào)平策略解算出3個(gè)電機(jī)應(yīng)該上移或下移的位置(3點(diǎn)即可解決一個(gè)平面),并且通過(guò)CAN總線將位置信息傳送給電機(jī)控制器,電機(jī)控制器在運(yùn)動(dòng)了相應(yīng)的位置后向主控制器發(fā)出確認(rèn)消息,主控制器在接到確認(rèn)消息后,再次采集水平傳感器輸出的位置信號(hào),如果位置誤差在誤差帶內(nèi)則數(shù)據(jù)傳輸停止,否則循環(huán)上述過(guò)程。其流程圖如圖3所示。 3 實(shí)驗(yàn)結(jié)果   整個(gè)平臺(tái)在調(diào)平過(guò)程中達(dá)到了滿意的效果,調(diào)平的時(shí)間在2min之內(nèi),調(diào)平精度能達(dá)到3‘,這從一方面驗(yàn)證了通訊系統(tǒng)的可靠性。為了更直觀地觀察數(shù)據(jù)傳輸過(guò)程,我們通過(guò)運(yùn)行監(jiān)視程序(miniMON)可以在上位機(jī)上實(shí)時(shí)地顯示數(shù)據(jù)傳輸?shù)娜^(guò)程,這無(wú)論從系統(tǒng)調(diào)試方面還是從系統(tǒng)檢驗(yàn)方面來(lái)講都是很有意義的。系統(tǒng)運(yùn)行時(shí)的數(shù)據(jù)通訊如圖4所示。通過(guò)監(jiān)視數(shù)據(jù)的傳輸,我們可以更加確認(rèn)數(shù)據(jù)傳輸?shù)目煽啃浴? 4 結(jié)束語(yǔ)   車載設(shè)備的網(wǎng)絡(luò)化、標(biāo)準(zhǔn)化是組成車載監(jiān)控系統(tǒng)的一個(gè)重要條件,同時(shí)也是車載設(shè)備發(fā)展的一個(gè)重要方向。CANopen協(xié)議作為CAN總線的應(yīng)用層協(xié)議,在車輛領(lǐng)域有著廣闊的應(yīng)用前景。本文通過(guò)把車載平臺(tái)做成符合CANopen協(xié)議的標(biāo)準(zhǔn)化裝置,從而增強(qiáng)了設(shè)備的可擴(kuò)展性同時(shí)也提高了數(shù)據(jù)傳輸?shù)目煽啃裕梢詽M足現(xiàn)代化戰(zhàn)爭(zhēng)中軍用車載設(shè)備的要求。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:基于力控組態(tài)和GSM短信的供水...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

中國(guó)傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)