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

基于CAN總線技術(shù)的通訊類軟件設(shè)計方法

2015-03-10 10:34:12靳曉園馬穎勁
航天控制 2015年5期
關(guān)鍵詞:指令系統(tǒng)

靳曉園 馬穎勁

北京航天自動控制研究所,北京100854

CAN總線技術(shù)為1986年德國電氣商博世公司提出的面向汽車內(nèi)部測量和執(zhí)行的標(biāo)準(zhǔn)通訊協(xié)議,其總線規(guī)范現(xiàn)已被ISO國際標(biāo)準(zhǔn)組織制定為國際標(biāo)準(zhǔn),由于CAN總線的高實時性能和高傳輸速率特點,CAN己在汽車業(yè)、航空業(yè)、工業(yè)控制和安全防護(hù)等領(lǐng)域中得到了廣泛應(yīng)用。CAN總線技術(shù)應(yīng)用于我國航天領(lǐng)域研究方面還處在試驗及起步階段,在對可靠性和安全性要求極高的航天通訊類系統(tǒng)這個集群中,CAN總線技術(shù)的完善應(yīng)用還具有較大上升空間。

本文提出一種基于CAN總線2.0B通訊協(xié)議的雙冗余分層次軟件設(shè)計實現(xiàn)方法,對通訊類系統(tǒng)在CAN總線上的軟件可靠性、安全性設(shè)計及推廣擴(kuò)展應(yīng)用會有借鑒意義。

1 基于CAN總線的通訊類系統(tǒng)概述

基于CAN總線的數(shù)據(jù)通訊軟件設(shè)計總體方案如圖1。

圖1 通訊類系統(tǒng)CAN總線節(jié)點分布

如圖1所示,通訊類系統(tǒng)具有多個CAN總線節(jié)點,其中主動控制節(jié)點起到通訊類系統(tǒng)總體流程控制的功能,負(fù)責(zé)向各個被動控制節(jié)點發(fā)送測試指令或工作數(shù)據(jù),并在規(guī)定的時間范圍內(nèi)接收回令,用于判斷當(dāng)前發(fā)送的指令或數(shù)據(jù)的正確性。執(zhí)行正確后繼續(xù)其它測試指令及流程。在整個系統(tǒng)軟件運(yùn)行過程中,主動控制節(jié)點軟件全程記錄所有CAN總線節(jié)點上數(shù)據(jù)收發(fā)源碼內(nèi)容作為日志保存至主機(jī)硬盤內(nèi)。

2 具體實施方案及可靠性設(shè)計

2.1 多線程分層次結(jié)構(gòu)化軟件設(shè)計

基于CAN總線的通訊類軟件采用實時性較高的VxWorks操作系統(tǒng)實現(xiàn),軟件內(nèi)部各個系統(tǒng)分層次完成CAN總線數(shù)據(jù)的收發(fā)功能,具體分層次結(jié)構(gòu)化方案如圖2。

通訊類系統(tǒng)的CAN總線軟件設(shè)計在結(jié)構(gòu)設(shè)計上分為底層驅(qū)動層、協(xié)議解析層及數(shù)據(jù)應(yīng)用層[1]。

底層驅(qū)動層主要完成基本字節(jié)級別的數(shù)據(jù)收發(fā),在發(fā)送及接收過程中均采用多線程任務(wù)所具備的消息隊列模式,以便各個應(yīng)用層線程能同時對CAN總線上的任意節(jié)點發(fā)送和采集需要的應(yīng)用層數(shù)據(jù)。此外底層協(xié)議層還負(fù)責(zé)數(shù)據(jù)記錄功能,能將各個節(jié)點發(fā)送和接收的CAN總線數(shù)據(jù)源碼統(tǒng)一存放至日志消息隊列中,以供日志線程記錄CAN總線上的所有動作。

圖2 通訊類系統(tǒng)CAN多層軟件設(shè)計

協(xié)議解析層主要依據(jù)系統(tǒng)功能要求及工作過程,規(guī)定地面各個節(jié)點信息交互時序,描述各總線節(jié)點間的信息驅(qū)動關(guān)系,并解析出具體數(shù)據(jù)幀類型及格式。系統(tǒng)CAN總線網(wǎng)段接口采用CAN2.0B擴(kuò)展幀協(xié)議,報文傳輸使用數(shù)據(jù)幀類型,單個數(shù)據(jù)幀由仲裁場、控制場和數(shù)據(jù)場組成。

數(shù)據(jù)應(yīng)用層規(guī)定了由CAN總線數(shù)據(jù)場內(nèi)信息字節(jié)構(gòu)成的數(shù)據(jù)幀格式(不含通用錯報文),由于協(xié)議層可以用多幀數(shù)據(jù)組成一條指令,其大小不受傳統(tǒng)CAN總線協(xié)議中8字節(jié)的約束,由基本幀信息和幀內(nèi)數(shù)據(jù)信息構(gòu)成,基本幀包括幀序號、特征碼、數(shù)據(jù)長度及校驗和幾個部分,幀格式見表1。

表1 數(shù)據(jù)基本幀格式

數(shù)據(jù)應(yīng)用層是直接與各個節(jié)點打交道的CAN總線層級,整個系統(tǒng)軟件在各個節(jié)點應(yīng)用線程內(nèi)按照數(shù)據(jù)應(yīng)用層的協(xié)議規(guī)定進(jìn)行組幀及解析,組幀解析完畢后通過結(jié)構(gòu)體處理器將其傳遞給協(xié)議解析層,從而完成CAN總線的數(shù)據(jù)收發(fā)。

CAN總線多線程分層次結(jié)構(gòu)化的設(shè)計模式既保證了各個層級之間數(shù)據(jù)交互的低耦合性,使得該結(jié)構(gòu)移植在CAN總線之外的通訊線路上成為可能;又充分考慮到節(jié)點設(shè)計的靈活性及獨(dú)立性,增刪或修改其中一個CAN總線節(jié)點并不影響其它節(jié)點的軟件功能。該設(shè)計架構(gòu)充分考慮高內(nèi)聚內(nèi)耦合的軟件架構(gòu)設(shè)計理念,具有積極的應(yīng)用意義。

2.2 各個節(jié)點的優(yōu)先級及主被動關(guān)系

CAN總線數(shù)據(jù)通訊沒有主從之分,任意一個節(jié)點可以向任何其它(一個或多個)節(jié)點發(fā)起數(shù)據(jù)通訊,靠各個節(jié)點信息優(yōu)先級先后順序來決定通訊次序,高優(yōu)先級節(jié)點信息CAN總線上通訊;如果多個節(jié)點同時發(fā)起通訊,優(yōu)先級低的避讓優(yōu)先級高的,不會對通訊線路造成擁塞。主動控制節(jié)點軟件優(yōu)先級最高,其它節(jié)點優(yōu)先級均較低。

系統(tǒng)在進(jìn)行CAN總線流程設(shè)計上充分考慮各個節(jié)點的優(yōu)先級,為防止不同優(yōu)先級節(jié)點上的數(shù)據(jù)發(fā)生沖突現(xiàn)象,在軟件數(shù)據(jù)發(fā)送及響應(yīng)設(shè)計上,采用主動控制節(jié)點主動發(fā)送、被動控制節(jié)點被動響應(yīng)的機(jī)制。在系統(tǒng)上電之初,主動控制節(jié)點為主動態(tài),其它被動控制節(jié)點均為被動響應(yīng)態(tài),此時其它節(jié)點只能被動響應(yīng)主動控制節(jié)點軟件上的CAN總線指令,執(zhí)行相應(yīng)動作,無其它數(shù)據(jù)交互,在指令完成后將指令完成情況以回令的形式發(fā)送給主動控制節(jié)點軟件,此時主動控制節(jié)點軟件也是執(zhí)行一套CAN總線指令后再執(zhí)行其它指令,以防止CAN總線指令相互沖突。

這種主動控制節(jié)點主動發(fā)送其它節(jié)點被動響應(yīng)的機(jī)制能夠有效防止各個節(jié)點數(shù)據(jù)相互沖突,各個節(jié)點有條不紊的工作,提高系統(tǒng)安全性及可靠性。

2.3 雙冗余CAN總線及基本幀序號設(shè)計

基本幀“序號”表征CAN總線應(yīng)用層的一條有方向的數(shù)據(jù)鏈路所完成的基本幀傳輸計數(shù)。即由“A節(jié)點→B節(jié)點”傳輸?shù)幕編谕瓿?次傳輸后序號應(yīng)累加1。“B節(jié)點→A節(jié)點”與“A節(jié)點→B節(jié)點”為2條不同方向的數(shù)據(jù)鏈路,應(yīng)分別設(shè)置“序號”(即對1個總線節(jié)點與另外1個節(jié)點通訊分別設(shè)置接收序號寄存器和發(fā)送序號計數(shù)器)。

1個總線節(jié)點與多個總線節(jié)點通訊時設(shè)置多組接收序號寄存器和發(fā)送序號計數(shù)器。“序號”用于甄別雙冗余CAN總線上的冗余基本幀。CAN節(jié)點判斷當(dāng)前基本幀序號是否和前一條已處理的基本幀序號相同,如果相同則忽略不響應(yīng)(即總線節(jié)點對收到的序號與前一幀已處理的重復(fù)指令可不予以響應(yīng))。

節(jié)點上電初始化后,序號從0開始計數(shù),計滿255后從0開始重新計數(shù)。CAN總線節(jié)點向雙冗余CAN總線上的另外一個節(jié)點每發(fā)送1個基本幀(注意:基本幀不同于CAN總線協(xié)議包的數(shù)據(jù)場,基本幀大小不受8字節(jié)約束),則序號計數(shù)加1。

CAN總線節(jié)點向雙冗余A,B總線上發(fā)送同一個基本幀,應(yīng)視為該數(shù)據(jù)鏈路上的一次傳輸,A,B總線上該基本幀的序號相同。總線節(jié)點主動發(fā)送的命令或回令均會導(dǎo)致發(fā)送序號計數(shù)器加1;由于重發(fā)機(jī)制重新發(fā)送的基本幀,所以序號計數(shù)加1。

雙冗余CAN總線得設(shè)計保證通訊類系統(tǒng)CAN總線傳輸?shù)陌踩院涂煽啃裕词?條CAN總線鏈路上存在問題,另外1條CAN總線也能獨(dú)立完成通訊任務(wù);基本幀序號能夠甄別出2條總線上通訊的冗余信息,從而保證CAN總線通訊信息不會重復(fù)。二者設(shè)計相輔相成,缺一不可。

2.4 超時判別機(jī)制

通訊類系統(tǒng)的CAN總線超時機(jī)制主要是在數(shù)據(jù)應(yīng)用層中體現(xiàn),即協(xié)議規(guī)定各個節(jié)點響應(yīng)主動控制節(jié)點軟件的CAN總線指令的最長時間,超過該時間,主動控制節(jié)點軟件就會重試2次該指令,并等待被動控制節(jié)點的回令,如果規(guī)定時間內(nèi)還未收到被動控制節(jié)點指令,則主動控制節(jié)點軟件或?qū)惓S涗涍M(jìn)系統(tǒng)異常日志,或?qū)⑵滹@示在界面上等待操作手裁決[2]。

該超時機(jī)制在軟件通訊過程中有效的防止了被響應(yīng)節(jié)點長期不響應(yīng)導(dǎo)致的系統(tǒng)停滯現(xiàn)象,配合多線程分層次軟件設(shè)計起到積極保證軟件流程順利進(jìn)行的作用。

2.5 總線源碼日志分析技術(shù)

CAN總線底層協(xié)議層具有數(shù)據(jù)記錄功能,能將各個節(jié)點發(fā)送及接收CAN總線數(shù)據(jù)源碼統(tǒng)一存放至日志消息隊列中,以供日志線程記錄CAN總線上的所有動作,圖3為某次試驗CAN總線上的日志截取圖。

從圖3上的日志源碼能準(zhǔn)確的分析到CAN總線某個數(shù)據(jù)的節(jié)點動作時間、節(jié)點發(fā)送方(仲裁場)、節(jié)點接收方(仲裁場)、數(shù)據(jù)為該次通訊的第幾幀數(shù)據(jù)(仲裁場)、數(shù)據(jù)長度(控制場)和數(shù)據(jù)特征碼(數(shù)據(jù)場)等諸多信息。有助于事后故障模式的分析與判別,對系統(tǒng)的故障排除、性能分析和統(tǒng)計功能完成情況等方面提供大量的理論依據(jù)[3]。

圖3 某次試驗CAN總線上日志截取圖

3 結(jié)束語

基于CAN總線通訊的通訊類軟件強(qiáng)大的數(shù)據(jù)通訊功能為試驗中各個節(jié)點之間的數(shù)據(jù)交互、現(xiàn)場CAN總線故障定位及判斷提供了不可替代的作用[4]。該系統(tǒng)架構(gòu)設(shè)計合理,細(xì)化了各個層級CAN總線通訊功能,增加了軟件的后續(xù)修改性和可移植性,為后續(xù)其它同類型的軟件應(yīng)用提供了設(shè)計參考。該系統(tǒng)架構(gòu)采用多線程分層次結(jié)構(gòu)化軟件設(shè)計、雙冗余CAN總線及基本幀序號設(shè)計,提高了系統(tǒng)軟件的可靠性及安全性。總線源碼日志分析技術(shù)為事后軟件分析及故障定位提供了數(shù)據(jù)支撐。

[1] 譚亮,吳曉,張凱龍,蘇二峰.Delta OS下的CAN總線驅(qū)動及多通道通信調(diào)度[J].計算機(jī)工程與應(yīng)用,2013,49(3):65-73.(TAN Liang,WU Xiao,ZHANG Kailong,SU Erfeng.CAN communication driver and multi-channel communication scheduling based on Delta OS [J].Computer Engineering and Applications,2013,49(3):65-73.)

[2] 李為民.Windows平臺下CAN總線通信幾個軟件問題的探討[J].電腦編程技巧與維護(hù),2013,4(4):4-5.(LI Wei-min.Probe into Software Problem in CAN Bus Communication on Windows Platform [J].Computer Programming Skills& Maintenance,2013,4(4):4-5.)

[3] 楊春英.CAN現(xiàn)場總線系統(tǒng)設(shè)計技術(shù)及實現(xiàn)[J].中國艦船研究院,2007,4(160):168-171.(Yang Chunying.Design and Realization of the CAN Bus System[J].Ship Electronic Engineering,2007,4(160):168-171.)

[4] 楊亮,賈慶軒,孫漢旭.冗余CAN總線系統(tǒng)設(shè)計[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2007,20(5):4-8.(YANG Liang,JIA Qing-Xuan,SUN Han-XU.The Design and Realization of the Redundant CAN BUS System [J].Development&Innovation of Machinery&Electrical Products,2007,20(5):4-8.)

猜你喜歡
指令系統(tǒng)
聽我指令:大催眠術(shù)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
ARINC661顯控指令快速驗證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
殺毒軟件中指令虛擬機(jī)的脆弱性分析
主站蜘蛛池模板: 毛片一级在线| 91精品视频在线播放| 欧美精品亚洲二区| 日韩一二三区视频精品| 一级毛片免费观看久| 精品国产99久久| 欧美亚洲另类在线观看| 亚洲天堂首页| 亚洲无线视频| 黄色网站在线观看无码| 亚洲专区一区二区在线观看| 国产成人喷潮在线观看| 91成人免费观看在线观看| AV色爱天堂网| 91欧美亚洲国产五月天| 天天综合网色中文字幕| 国产成人久视频免费| 日本久久网站| 在线观看亚洲精品福利片| 亚洲国产成人综合精品2020| 亚洲欧美日本国产综合在线| 日本国产精品| 亚洲人成在线精品| 久久青草热| 国产精品一区在线观看你懂的| 69av免费视频| 精品国产乱码久久久久久一区二区| 色香蕉影院| 日韩av电影一区二区三区四区| 国产第一页第二页| 色爽网免费视频| 国产永久在线观看| 国产在线精彩视频二区| 国产69囗曝护士吞精在线视频| 免费精品一区二区h| 国产va在线观看| 久久综合AV免费观看| 91综合色区亚洲熟妇p| av午夜福利一片免费看| 97成人在线观看| 欧美成人午夜在线全部免费| 中文字幕不卡免费高清视频| 尤物成AV人片在线观看| 22sihu国产精品视频影视资讯| 人人91人人澡人人妻人人爽 | 91欧美亚洲国产五月天| 国产凹凸视频在线观看| 国产精品福利尤物youwu| 国产精品亚洲片在线va| 91免费精品国偷自产在线在线| 国产色婷婷| 亚洲视频无码| 97国产在线视频| 白浆视频在线观看| 日本欧美午夜| 免费看黄片一区二区三区| 国产午夜看片| 国产91九色在线播放| 日韩av电影一区二区三区四区 | 无码国产伊人| 亚洲Va中文字幕久久一区| 欧美日韩一区二区在线播放| 色偷偷男人的天堂亚洲av| 全部免费特黄特色大片视频| 伊人国产无码高清视频| 99热这里只有成人精品国产| 日韩精品无码免费专网站| 99视频在线观看免费| 国产免费久久精品99re丫丫一| 亚洲日韩精品欧美中文字幕 | 另类欧美日韩| 91视频青青草| 女人av社区男人的天堂| 欧美日韩国产精品综合 | 亚洲成人一区二区三区| 成年看免费观看视频拍拍| 亚洲国产综合第一精品小说| 91麻豆国产精品91久久久| 试看120秒男女啪啪免费| 国产一级α片| 国产福利小视频在线播放观看| 日韩精品亚洲精品第一页|