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

CAN總線系統測試

2013-09-12 01:49:50尹冀波徐宏祥
微處理機 2013年1期

尹冀波,耿 爽,徐宏祥,李 賀

(中國電子科技集團公司第四十七研究所,沈陽 110032)

1 引言

CAN,全稱為Controller Area Network,即控制器局域網,是國際上應用最廣泛的現場總線之一。由CAN總線構成的單一網絡中,理論上可以掛接無數個節點。實際應用中,節點數目受網絡硬件的電氣特性所限制。CAN可提供高達1Mbit/s的數據傳輸速率,這使實時控制變得非常容易。由于CAN總線具有很高的實時性能,因此,CAN已經在汽車工業、航空工業、工業控制、安全防護等領域中得到了廣泛應用。

經過測試,介紹一種基于PC機控制CAN網絡節點的方法,該方法在實際應用中取得了很好的效果。也可以配合其它電路一起使用,用于電路測試與其它整機配套使用。

2 CAN2.0B標準幀格式

CAN的高層協議是一種在現有的物理層和數據鏈路層等底層協議之上實現的協議,高層協議是在CAN規范的基礎上發展起來的應用層。在許多系統中,可以制定一個合適的應用層,相關組織已經研究并開放了應用層標準,以使系統的綜合應用變得十分容易。

本系統根據實際需求,采用CAN2.0B標準幀格式。CAN標準幀信息為11個字節,包括兩部分:信息和數據部分。前3個字節為信息部分。字節1為幀信息。第7位 FF表示幀格式,在標準幀中,FF=0;第6位RTR表示幀的類型,RTR=0表示為數據幀,RTR=1表示為遠程幀;DLC表示在數據幀時實際的數據長度。字節2、3為報文識別碼,11位有效。字節4-11為數據幀的實際數據,遠程幀時無效。

在2.0B版本中,CAN控制器的標志符長度可以是11位或29位。遵循CAN2.0B協議的CAN控制器可以發送和接收11位標識符的標準格式報文,或29位標識符的擴展格式報文。如果禁止CAN2.0B,則CAN控制器只能發送和接收11位標識符的標準格式報文,而忽略擴展格式的報文結構,但不會出現錯誤。

CAN2.0B標準幀格式的解析,如表1所示。

表1 CAN2.0B標準幀格式

3 測試軟件系統設計

3.1 模塊設計

測試軟件系統按功能可以分為驅動模塊、消息隊列模塊、CAN節點模塊、配置模塊、核心處理模塊、控制模塊六個模塊,如圖1所示。

圖1 測試軟件系統模塊設計圖

3.1.1 驅動模塊

驅動模塊主要負責在系統異常的情況下復位CAN卡,軟件卸載之前關閉CAN卡,通過適配器接收和發送數據,獲取CAN卡接收緩沖區里面已經接收到的CAN幀的數量。軟件運行之前啟動CAN卡,在系統啟動之后調整CAN卡參數,讀取CAN卡硬件信息,讀取CAN控制器信息,包括:模式寄存器、狀態寄存器、仲裁丟失寄存器、錯誤寄存器、錯誤警告限制寄存器、接收錯誤計數寄存器和發送錯誤計數寄存器。

3.1.2 消息隊列模塊

消息隊列模塊即緩沖器,起到防止消息浪涌的作用。在具體設計時,需要建立兩個消息隊列:發送隊列和接收隊列。需要特別說明的是,隊列里面的元素必須符合CAN消息的數據結構。此外,在接收和發送CAN消息的時候必須進行讀寫鎖的保護處理。

3.1.3 配置模塊

配置模塊起到修改CAN卡參數的作用。該模塊的主要功能有:①生成缺省XML配置文件;②讀寫XML配置文件;③驗證XML配置文件;④保存和獲取CAN卡的類型、CAN卡索引和CAN卡端口索引。

3.1.4 CAN 節點模塊

CAN節點模塊負責建立若干CAN節點表,反映各個CAN節點的生存狀態。根據上層模塊申請,添加和撤銷回調指針和節點標識。接到各個CAN節點發來的Reset復位信號,查找該節點所擁有的標識,然后根據路由表找到對應的回調指針,通知相應的上層軟件模塊。在軟件實際運行時,調用該模塊更改CAN節點需求值,獲取該節點對應的生存狀態。3.1.5 核心處理模塊

核心處理模塊是整個系統的關鍵模塊,它主要負責對流經的所有數據進行準確識別和分類。該模塊由五部分組成:工作處理、命令發送、消息接收、消息分發、生存監測。工作處理負責聲明該模塊當前狀態,建立路由表,獲取XML配置文件信息,調整CAN卡需求,初始化CAN卡,啟動命令發送、消息接收、消息分發和生存監測四項任務。命令發送負責獲取命令隊列的元素,將命令轉化為CAN幀,填充發送隊列,提交CAN幀到硬件接口。消息接收負責監測消息隊列的元素,判斷CAN幀的類型,轉換CAN幀到命令格式送到接收隊列。消息分發負責根據回調指針處理所有接收到的CAN消息,如果運行失敗則修改路由表,并發出警告提示。生存監測每隔一定時間,廣播一個特種CAN幀并且檢查路由表,如果對應的連接狀態為假,使用回調指針發出通信錯誤消息。

3.1.6 控制模塊

控制模塊負責確定源節點、選擇CAN節點,發出CAN公有及私有命令參數,記錄時間和CAN幀長度??刂颇K還負責解析收到的CAN消息,維護發送列表和接收列表,獲取CAN卡的PCB和MCU消息,提示各個CAN節點的生存狀態。

3.2 系統流程

CAN總線系統測試流程如下:

(1)系統打開之后,首先監測各個功能模塊的狀態,檢查提示信息。

(2)如果配置文件出現異常情況,建立缺省配置文件。

(3)調整CAN卡參數,獲取CAN控制器的各種寄存器狀態和CAN卡的消息。

(4)觀察CAN節點的生存狀態,如果節點處于在線狀態,可以通過控制模塊下達命令。

(5)核心處理模塊接收到命令,進行格式轉換,命令由CAN卡發送到CAN總線。

(6)CAN節點獲取到屬于自身的命令,進行解析,根據命令內容執行相應任務。

(7)CAN節點實時監測任務的執行狀態,并且將執行結果發送到CAN總線上的控制機。

(8)接到CAN卡傳送來的CAN消息,核心處理模塊進行解析。除了特種CAN幀之外,所有的CAN幀都要發送到對應的上層模塊。

(9)控制模塊接到CAN消息之后進行解析,判定CAN消息的來源以及內容。

4 改進

該設計已經在作者所用的項目里面得到應用,達到了滿足實際需求的目的,其中各種測試在硬件平臺上驗證時工作正常。

在下一步的改進中,在現有基礎上,考慮應用CAN2.0B擴展幀以增加所攜帶的數據載荷,提高系統的穩定性;進一步優化軟件算法,提高測試效率。

[1]CAN History[M].Micro System Corporation,2001.

[2]廣州周立功單片機發展有限公司.非智能單通道CAN接口卡產品數據手冊[M].廣州周立功單片機發展有限公司,2007.

[3]潘愛民.COM原理與應用[M].北京:清華大學出版社,2000.

[4]劉曉華.精通MFC[M].北京:電子工業出版社,2003.

主站蜘蛛池模板: 欧美亚洲香蕉| 在线综合亚洲欧美网站| 2022国产无码在线| 久久香蕉国产线看观| 国产视频资源在线观看| 日日噜噜夜夜狠狠视频| 精品精品国产高清A毛片| 情侣午夜国产在线一区无码| 被公侵犯人妻少妇一区二区三区| 香蕉蕉亚亚洲aav综合| 国产中文一区二区苍井空| 国产凹凸视频在线观看| 中文字幕在线不卡视频| 亚洲最大在线观看| 免费看的一级毛片| 国产1区2区在线观看| 四虎免费视频网站| 国产免费羞羞视频| 99国产在线视频| 国产精品女熟高潮视频| 直接黄91麻豆网站| 日韩精品免费在线视频| 在线播放真实国产乱子伦| AⅤ色综合久久天堂AV色综合| 小蝌蚪亚洲精品国产| 国产91熟女高潮一区二区| 国产黄网永久免费| 国产另类视频| 在线观看国产精品一区| 一级毛片a女人刺激视频免费| 国产亚洲现在一区二区中文| 国产jizz| 欧美在线精品怡红院| 亚洲成人在线网| 黄网站欧美内射| 亚洲欧美日韩精品专区| 国产欧美日韩va| 四虎成人精品| 亚洲精品第一页不卡| 国产亚洲高清视频| 国产在线一二三区| 无码有码中文字幕| 欧美激情成人网| AV无码无在线观看免费| 欧美一区二区福利视频| 一本大道香蕉中文日本不卡高清二区| 天堂成人av| 二级毛片免费观看全程| 亚洲欧美综合精品久久成人网| 高清乱码精品福利在线视频| 久久女人网| 日韩精品欧美国产在线| 久久综合九色综合97婷婷| 日本AⅤ精品一区二区三区日| 日韩在线视频网| 亚洲一区二区无码视频| 日韩东京热无码人妻| 亚洲人成网址| 久久精品这里只有国产中文精品 | 99久久国产自偷自偷免费一区| 精品欧美一区二区三区久久久| 91精品国产丝袜| 亚洲V日韩V无码一区二区 | 九九热视频精品在线| 天堂岛国av无码免费无禁网站| 国产精品林美惠子在线观看| 在线不卡免费视频| 亚欧成人无码AV在线播放| 亚洲av成人无码网站在线观看| 国产无码网站在线观看| 手机在线免费不卡一区二| 亚洲欧洲日韩综合色天使| 女人毛片a级大学毛片免费| 在线观看亚洲精品福利片| 伊人天堂网| 日韩AV手机在线观看蜜芽| 中文字幕人成人乱码亚洲电影| 三级视频中文字幕| 日韩二区三区| 亚洲天堂视频在线播放| 日本在线欧美在线| 在线免费观看AV|