亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2015-03-10 10:34:12靳曉園馬穎勁
        航天控制 2015年5期
        關(guān)鍵詞:日志序號通訊

        靳曉園 馬穎勁

        北京航天自動控制研究所,北京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總線的高實(shí)時性能和高傳輸速率特點(diǎn),CAN己在汽車業(yè)、航空業(yè)、工業(yè)控制和安全防護(hù)等領(lǐng)域中得到了廣泛應(yīng)用。CAN總線技術(shù)應(yīng)用于我國航天領(lǐng)域研究方面還處在試驗(yàn)及起步階段,在對可靠性和安全性要求極高的航天通訊類系統(tǒng)這個集群中,CAN總線技術(shù)的完善應(yīng)用還具有較大上升空間。

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

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

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

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

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

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

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

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

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

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

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

        協(xié)議解析層主要依據(jù)系統(tǒng)功能要求及工作過程,規(guī)定地面各個節(jié)點(diǎn)信息交互時序,描述各總線節(jié)點(diǎn)間的信息驅(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ù)長度及校驗(yàn)和幾個部分,幀格式見表1。

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

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

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

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

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

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

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

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

        1個總線節(jié)點(diǎn)與多個總線節(jié)點(diǎn)通訊時設(shè)置多組接收序號寄存器和發(fā)送序號計(jì)數(shù)器?!靶蛱枴庇糜谡鐒e雙冗余CAN總線上的冗余基本幀。CAN節(jié)點(diǎn)判斷當(dāng)前基本幀序號是否和前一條已處理的基本幀序號相同,如果相同則忽略不響應(yīng)(即總線節(jié)點(diǎn)對收到的序號與前一幀已處理的重復(fù)指令可不予以響應(yīng))。

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

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

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

        2.4 超時判別機(jī)制

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

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

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

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

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

        圖3 某次試驗(yàn)CAN總線上日志截取圖

        3 結(jié)束語

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

        [1] 譚亮,吳曉,張凱龍,蘇二峰.Delta OS下的CAN總線驅(qū)動及多通道通信調(diào)度[J].計(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è)計(jì)技術(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].機(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.)

        猜你喜歡
        日志序號通訊
        《茶葉通訊》簡介
        茶葉通訊(2022年2期)2022-11-15 08:53:56
        《茶葉通訊》簡介
        茶葉通訊(2022年3期)2022-11-11 08:43:50
        通訊報道
        一名老黨員的工作日志
        華人時刊(2021年13期)2021-11-27 09:19:02
        扶貧日志
        心聲歌刊(2020年4期)2020-09-07 06:37:14
        游學(xué)日志
        通訊簡史
        技術(shù)指標(biāo)選股
        技術(shù)指標(biāo)選股
        技術(shù)指標(biāo)選股
        精品人妻夜夜爽一区二区| 久久久国产一区二区三区四区小说| 国产精品一区二区在线观看99| 国产一区二区三区杨幂| 高清不卡日本v二区在线| 国产色婷亚洲99精品av网站| 亚洲精品中文字幕一二三区| 丰满人妻一区二区三区视频53| 久久免费国产精品| 色偷偷亚洲av男人的天堂| 日本一区二区视频在线| 国产香蕉国产精品偷在线 | 欧美日韩亚洲国产千人斩| 在线无码精品秘 在线观看| 久久国产精品免费一区二区三区 | 精品日本一区二区视频| 亚洲av免费不卡在线观看| 无人视频在线观看免费播放影院 | av无码精品一区二区三区| 亚洲处破女av日韩精品| 亚洲的天堂av无码| 国产360激情盗摄一区在线观看| 国产激情综合五月久久| 亚洲av永久中文无码精品综合| 亚洲另类激情综合偷自拍图| 国产精品一区2区三区| 午夜桃色视频在线观看| 少妇伦子伦精品无吗| 精品无码国产污污污免费| 国产高清丝袜美腿视频在线观看| 久久99天堂av亚洲av| 精品成人av一区二区三区| 国内揄拍国内精品| 亚洲中文字幕有综合久久| 国产乱理伦在线观看美腿丝袜| 99在线精品免费视频九九视| 亚洲 无码 制服 丝袜 自拍| 国产愉拍91九色国产愉拍| 亚洲av一二三四区四色婷婷| 免费网站国产| 亚洲国产人成自精在线尤物|