999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于dsPIC30F4011單片機實現的CANopen協議

2012-03-27 07:31:32賈文超王競恒劉柏松
長春工業大學學報 2012年3期
關鍵詞:定義設備

賈文超, 王競恒, 劉柏松, 張 嘉

(1.長春工業大學電氣與電子工程學院,吉林長春 130012;2.長春天然氣有限責任公司,吉林長春 130033)

0 引 言

CANopen是CAN總線通信模型中的應用層協議。其可靠性、實時性、抗干擾性、容錯性等多方面優勢明顯,CAN總線和CANopen協議已經成為汽車工業、工廠自動化、分布式控制系統等眾多領域的應用標準[1]。CANopen協議定義了完備的設備模型,包括標準的通信協議、對象字典和設備應用子協議。其中,通信協議遵循CiA DS301協議,針對不同的設備CANopen制定了不同設備的應用子協議。這些子協議已經得到廣泛的認可并成為行業規范。CANopen完備的體系結構保證了不同廠商產品之間互聯的兼容性。

CANopen包括3個主要組成部分:通信模型(Communication)、對象字典(Object Dictionary)和設備子協議。文中對CANopen協議的各部分進行了詳細的分析,重點講述利用dsPIC30F4011單片機建立符合CANopen協議的從站節點,通過試驗對數據進行分析和驗證[2]。

1 CANopen協議簡介

在CANopen協議推出之前,歐洲公司推出了一個名為CAL的CAN總線高層協議。CAL定義了4種CAN總線應用層功能:CMS(基于CAN的報文應用),NMT(網絡控制),DBT(動態分配),LMT(層參數管理)。由于CAL對CMS對象的內容沒有進行規定,而CANAopen對其進行了定義。CANopen基于CAL的架構應用了CAL通訊和服務協議的子集。

CANopen網絡遵循主從結構(masterslave),系統有且只有一個NMT主站,NMT主站對所有的從站進行狀態控制。一條CAN總線上最多可有128個節點,其中0號地址節點為NMT主站,其余為NMT的從站,不同設備可通過CAN總線進行組網。CANopen設備模型如圖1所示[3]。

圖1 定位系統結構圖

CANopen通信協議遵循DS301標準,每一個節點都有一個狀態機,NMT主站可通過發送相應對象的報文使從站工作在不同的狀態,節點也可在特殊情況下進行狀態的轉換。在應用層面上不同的節點之間以發送通信對象的方式實現通信,主要的通信對象有NMT,PDO,SDO和特殊功能對象。其中PDO用于實時的數據傳遞,SDO用于訪問對象字典,NMT用于發送主站管理命令。

對象字典(OD:Object Dictionary)是CANopen的核心,不同的設備其對象字典的定義是不同的。實際上,OD是一個有序的對象組:對象用一個16位的索引進行尋址,同時,每個索引使用一個8位的子索引來尋址數據結構中的單個元素。在軟件編程過程中,可以定義一個結構體數組以實現對象字典。

2 CANopen節點的硬件設計

CANopen協議從站硬件的核心是一片MICROCHIP公司生產的dsPIC30F4011芯片,該芯片具有24位寬的指令,16位寬的數據總線,48K的程序存儲空間,2K的RAM,1K的EEPROM,帶有17位*17位的硬件乘法器,性能優越,可滿足高頻率、高精度的要求。此外,dsPIC30F4011外設的功能豐富,帶有QEI模塊、PWM模塊、A/D模塊,以及UART,SPI,I2C,CAN等通信接口。

硬件設計分為3個部分:CAN通信模塊、CPU控制、外圍I/O。控制器模塊和CAN總線收發器之間使用高速光耦進行光電隔離,避免了模塊之間的相互干擾,具有良好的電磁兼容性。CANopen節點硬件框圖如圖2所示。

dsPIC30F4011片內外設含2個CAN控制器模塊,實現了CAN2.0A/B協議。設置C1NTE中斷使能寄存器的值,可使能或屏蔽相應中斷,并通過讀取C1INTF中斷標志寄存器的值來判斷當前中斷的中斷源。

PCA82C25對CAN總線提供差動發送、差動接收功能,是CAN協議控制器和物理總線的接口。PCA82C250完全符合“ISO11898”標準,最高速達1Mbps,具有抗瞬間干擾和熱保護的能力,可連接110個節點。有3種工作模式可供選擇:高速、待機、斜率控制。

使用3個旋轉撥碼開關對CAN總線的波特率和CANopen從站的節點地址進行設置;使用2個LED燈指示CANopen從站的運行狀態和錯誤警報。預留QEI模塊、PWM模塊、AD模塊等I/O。

圖2 CANopen節點硬件框圖

3 CANopen節點的軟件設計

軟件設計分為CANopen通訊對象的定義、對象字典的創建以及設備子協議3個部分軟件實現。節點標識符分配采用CANopen的預定義連接集。每個對象的標識符有兩部分組成:功能碼和節點ID。

3.1 節點的通信對象說明

CANopen節點通信對象見表1。

表1 CANopen節點通信對象

設置節點地址,發送的對象標識符為:功能碼+節點ID。節點地址的范圍為1~127,下面以節點地址06進行說明。NMT對象為主站發送的網絡管理命令000H;SYNC對象標識符為080H,當從站收到一個SYNC報文時,發送一個同步報文;TPOD1對象的標識符為(180+6)H,發送報文的內容為實時數據;RPDO1對象標識符為(200+6)H,用于接受實時數據。SDO對象采用服務器/客戶的通信模式,分為加速傳輸和分段傳輸兩種傳輸機制。一個客戶的請求一定有來自服務器的應答,例如,如果想訪問地址為06這個節點的對象字典,那么訪問的節點就是一個客戶,標識符為600+節點地址,06節點做為一個服務器,標識符為(580+6)H;EMCY對象為緊急對象,在節點發生錯誤時發送緊急報文,緊急報文包含了錯誤代碼和錯誤信息,標識符為(080+6)H;除此之外,還有一個NMT錯誤控制對象,它通過發送心跳報文來報告節點所處的狀態,標識符為(700+6)H。

3.2 對象字典的實現

對象字典的有關范圍在0x1000~0x9FFF之間,索引值低于0x0FFF的范圍僅僅是一些數據類型的定義。對象字典描述了節點設備和它的網絡行為的所有參數。一個節點的對象字典是在電子數據文檔(EDS)中或記錄在紙上。一個標準的對象字典實體的格式如下[3]:

索引 子索引 對象 名稱 類型 屬性 訪問類型

不同設備對象字典的定義是不同的,DS301對通訊部分的對象字典做了詳細的說明,有些實體的定義是強制性的。對象字典大體分為3個部分:

1)通訊子協議區(0x1000~0x1FFF),描述了設備的類型、錯誤寄存器、支持PDO參數等。對于不同的設備子協議來說,其定義的PDO數量可能是不同的。

2)制造商特定子協議區(0x2000~0x5FFF),設備的制造商可以自行定義所需的實體。

3)標準的設備子協議區(0x6000~0x9FFF),實體的定義必須符合標準的設備子協議,如符合DS401,DS406等。

程序中對象字典可通過一個結構體數組實現,儲存在單片機的非易失性存儲器中。具體形式為:

其中,pData的值為EEPROM的地址,對象字典的實體數據值存放在EEPROM中。

以設備子協議DS401為例說明對象字典的建立:首先對對象字典中的內容在頭文件中進行預定義,例如屬性、實體內容。

索引為0x1A00H中映射PDO參數預定義:

這樣在對象字典實體的定義中,可用相應的預定義的名稱代替屬性代碼和數據值。

定義實體的具體格式為:

PDO1通信參數設置見表2[4]。

表2 PDO1通信參數設置

其在程序中的實體定義為:

PDO1映射參數設置見表3。

表3 PDO1映射參數設置

3.3 程序流程

程序分為3個部分:初始化、主程序、中斷。具體流程如圖3所示。

圖3 CANopen節點流程

程序的初始化包括單片機硬件模塊的初始化、用戶程序的初始化設置、復位通信節點、中斷的初始化設置。主程序包括外圍接口的檢測,節點地址和波特率的輸入,判斷節點工作狀態,數據的采集和發送流程[5]。

初始化完成后程序發送一個BOOT-UP報文,并進入預操作狀態,當收到NMT主站命令后進入操作狀態。報文的接收和發送是通過中斷進行的,當CAN模塊接收到報文后即產生接收中斷,程序根據報文的標識符來判斷接收到報文的對象種類,進行報文長度和數據的錯誤檢測,然后,復制到相應的接收數字中并置位接收報文的標志位[6]。當有新報文發送而CAN模塊正被占用時,新報文會被存入發送緩沖數組并置位新標志位和新報文計數器,當前報文發送完后即進入發送中斷,程序檢查新報文標志位并將計數器減1,隨后進行報文發送直到計數器為0。

PDO報文和心跳報文是以事件觸發模式發送的,事件為1s定時發送,定時器設置為1ms中斷,每次中斷后計數器加1,當計數器計滿1 000個數后進行PDO報文和心跳報文的發送[7-8]。

3.4 試驗驗證

搭建CAN總線網絡,上位機由一臺PCICAN卡實現,通過軟件實現數據的收發試驗,搭建實驗板,對PIC單片機進行在線調試,對單片機端口的I/O量進行傳送,結果見表4[4]。

表4 節點傳輸數據

節點在上電后進入預操作狀態,心跳報文發送的狀態代碼為0x7F。從站接收NMT,主站發送網絡控制命令,進入操作狀態,進行PDO報文的發送,心跳報文顯示了節點工作在操作狀態。

4 結 語

文中針對分布式網絡系統,應用高性能的16位PIC單片機實現了一種CANopen協議的從站節點,具有較高的可靠性和通用性。試驗結果表明,系統傳輸的數據精確、有效,有較強的抗干擾性,并且降低了系統成本,易于實現調試和擴展。此外,CANopen從站有利于國內自主開發智能型從站設備。

[1] 饒運濤,鄒繼軍,鄭勇蕓.現場總線CAN原理與應用技術[M].北京:北京航空航天大學出版社,2003:379-403.

[2] 梁濤,張江濤,孫鶴旭,等.CANOPEN總線智能多路溫度采集從站的研制[J].儀表技術與傳感器,2009(10):61-63.

[3] Ci A.CANopen:Application layer and communication profile[Z].DraftDtandard 301,2002.

[4] Ci A.CANopen:Device Profile for Generic I/O Modules[Z].CiA Draft Standard 401,2002.

[5] 孫樹文,楊建武,張慧慧,等.基于CANopen協議的分布式控制系統I/O從站設計[J].計算機測量與控制,2007,15(12):1706-1707.

[6] 劉永木,李慧,付志勇.CAN總線系統節點模塊的一種設計[J].長春工業大學學報:自然科學版,2002,23(3):16-18.

[7] 李秋菊,田秋艷.基于CAN總線的車身控制系統設計[J].長春工業大學學報:自然科學版,2008,29(2):226-229.

[8] 戴宏亮.基于CAN總線的實時數據采集系統[J].長春工業大學學報:自然科學版,2003,24(4):53-55.

猜你喜歡
定義設備
諧響應分析在設備減振中的應用
永遠不要用“起點”定義自己
海峽姐妹(2020年9期)2021-01-04 01:35:44
定義“風格”
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
如何在設備采購中節省成本
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 午夜免费视频网站| 中文字幕波多野不卡一区| 久久久精品国产亚洲AV日韩| 高潮毛片免费观看| 久热re国产手机在线观看| 毛片网站在线播放| 日本道中文字幕久久一区| 亚洲精品国产成人7777| 精品福利视频导航| 国产欧美日韩在线一区| 国产亚洲精品无码专| 国产激情无码一区二区免费| 成人91在线| 乱码国产乱码精品精在线播放| 中文字幕丝袜一区二区| 亚洲视频免| 色视频久久| 亚洲免费三区| 夜精品a一区二区三区| 亚洲欧美日韩动漫| 高清大学生毛片一级| 欧美亚洲综合免费精品高清在线观看| 中文字幕伦视频| 九九九久久国产精品| 国产内射一区亚洲| 亚洲综合专区| 91成人在线观看视频| 国产噜噜在线视频观看| 亚洲系列无码专区偷窥无码| 亚洲swag精品自拍一区| 国产丰满成熟女性性满足视频| 日本在线亚洲| 国产丝袜啪啪| 国产福利不卡视频| 国产欧美自拍视频| 日韩高清一区 | 久久综合久久鬼| 无码福利日韩神码福利片| 免费激情网址| 色国产视频| 欧美精品aⅴ在线视频| 国产99精品视频| 国产成人AV男人的天堂| 国产免费福利网站| 国产一区二区三区精品久久呦| 狠狠综合久久久久综| 日韩国产高清无码| 国产亚洲精品精品精品| 亚洲三级影院| 四虎成人免费毛片| 亚洲天堂成人在线观看| 欧美成人日韩| 亚洲欧美在线综合一区二区三区 | 97视频免费在线观看| 麻豆精选在线| 亚洲香蕉久久| 天天做天天爱天天爽综合区| 丝袜无码一区二区三区| 亚洲va视频| 亚洲性视频网站| 国产成年女人特黄特色大片免费| 91久久国产综合精品女同我| 日韩欧美中文| 91外围女在线观看| 亚洲人成亚洲精品| 亚洲日本中文字幕天堂网| 无码精品福利一区二区三区| 亚洲 欧美 日韩综合一区| 高清视频一区| 国产香蕉97碰碰视频VA碰碰看| 999精品在线视频| 亚洲成人播放| 中文字幕人成人乱码亚洲电影| 91在线无码精品秘九色APP| 亚洲三级成人| 亚洲国产在一区二区三区| 一本大道香蕉中文日本不卡高清二区| 91小视频在线观看| 国产成+人+综合+亚洲欧美| 日韩无码黄色| 久久综合五月| 在线观看精品自拍视频|