當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]CAN總線技術(shù)的諸多優(yōu)點(diǎn)如實(shí)時(shí)性好,通信速率高,抗干擾能力強(qiáng),低廉的價(jià)格等使它不僅廣泛應(yīng)用于工業(yè)控制領(lǐng)域,而且開始向航天領(lǐng)域進(jìn)軍。其COTS工業(yè)級(jí)器件SJA1000經(jīng)過飛行也得到了驗(yàn)證,CAN總線適宜航天應(yīng)用的特點(diǎn)得到了充分的展示和飛行驗(yàn)證

1  引言

can總線是由德國(guó)bosch公司為現(xiàn)實(shí)汽車測(cè)量和執(zhí)行部件之間的數(shù)據(jù)通訊而設(shè)計(jì)的、支持分布式控制及實(shí)時(shí)控制的串行通訊網(wǎng)絡(luò)。can總線通訊的波特率可高達(dá)1mbps,最遠(yuǎn)距離可達(dá)10km;can總線通訊采用短幀結(jié)構(gòu),數(shù)據(jù)傳輸?shù)臅r(shí)間短,受干擾的幾率低;can總線協(xié)議有良好的檢錯(cuò)措施,可靠性較高;can總線通訊對(duì)于傳送幀可以設(shè)定不同的優(yōu)先級(jí),通過總線仲裁機(jī)制使高優(yōu)先級(jí)的信息能夠被優(yōu)先及時(shí)傳送,增加了can總線通訊的實(shí)時(shí)性;can總線的完善可靠的通信協(xié)議主要由接口器件完成,降低了軟件開發(fā)的難度。此外,can總線網(wǎng)絡(luò)中的每節(jié)點(diǎn)對(duì)應(yīng)一個(gè)地址,理論上基于can總線的網(wǎng)絡(luò)上可以添加刪除任一節(jié)點(diǎn),通訊方式可以為點(diǎn)對(duì)點(diǎn)的通訊也可以為廣播方式,可以為單主方式也可以是多主方式,因此can總線通訊有相當(dāng)?shù)撵`活性。

can總線開始主要應(yīng)用于自動(dòng)化電子領(lǐng)域的汽車發(fā)動(dòng)機(jī)部件、傳感器、抗滑系統(tǒng)等應(yīng)用中,但隨著can的應(yīng)用普及,其應(yīng)用范圍已不局限于汽車行業(yè),正在向過程控制、機(jī)械、紡織等行業(yè)發(fā)展,應(yīng)用領(lǐng)域從高速網(wǎng)絡(luò)到低成本的多線網(wǎng)絡(luò)。而且can總線的實(shí)時(shí)性以及抗干擾能力強(qiáng)等優(yōu)點(diǎn)也逐步為航天領(lǐng)域所認(rèn)可。1995年sstl(surrey大學(xué)衛(wèi)星技術(shù)公司)將can作為星載遙測(cè)/遙控信道,隨之sstl開發(fā)了基于can的分布式解決方案。至今sstl已經(jīng)在uosat-12,snap-1,aisat-1,ukdmc,nigeriasat-1,bilsat-1 等6顆leo衛(wèi)星中應(yīng)用了can總線網(wǎng)絡(luò),用于實(shí)現(xiàn)星載計(jì)算機(jī)與其他任務(wù)節(jié)點(diǎn)之間的通信;esa在smart-1上也將can作為系統(tǒng)總線和有效載荷總線,實(shí)現(xiàn)數(shù)據(jù)交換和控制命令的傳送。在國(guó)內(nèi),can總線技術(shù)在小衛(wèi)星中也得到了實(shí)際的應(yīng)用。

本文在分析can總線航天應(yīng)用的基礎(chǔ)上,從硬件原理設(shè)計(jì)、cpu與can總線接口實(shí)現(xiàn)以及can總線通信軟件設(shè)計(jì)等方面進(jìn)行了論述。



表1  can總線故障及其影響分析

2  can總線工作原理

can總線的多主站工作方式的發(fā)送原理采用“載波偵聽多路訪問/沖突檢測(cè)”(csma/cd:carrier sense multiple access with collision detect)技術(shù)實(shí)現(xiàn)。利用csma訪問總線,可對(duì)總線上信號(hào)進(jìn)行檢測(cè),只有當(dāng)總線處于空閑狀態(tài)時(shí),才允許發(fā)送。利用這種方法,可以允許多個(gè)節(jié)點(diǎn)掛接到同一網(wǎng)絡(luò)上。當(dāng)檢測(cè)到一個(gè)沖突位時(shí),所有節(jié)點(diǎn)重新回到‘監(jiān)聽’總線狀態(tài),直到該沖突時(shí)間過后,才開始發(fā)送。在總線超載的情況下,這種技術(shù)可能會(huì)造成發(fā)送信號(hào)經(jīng)過許多延遲。為了避免發(fā)送延時(shí),可利用csma/cd方式訪問總線。當(dāng)總線上有兩個(gè)節(jié)點(diǎn)同時(shí)進(jìn)行發(fā)送時(shí),通過“無損的逐位仲裁”方法來使有最高優(yōu)先權(quán)的報(bào)文優(yōu)先發(fā)送。在can總線上發(fā)送的每一條報(bào)文都具有唯一的一個(gè)11位或29位數(shù)id。can總線狀態(tài)取決于二進(jìn)制數(shù)‘0’而不是‘1’,所以id號(hào)越小,該報(bào)文擁有越高的優(yōu)先權(quán)。

can總線的多主站工作方式的接收原理是通過驗(yàn)收濾波器來實(shí)現(xiàn)的。獨(dú)立的can 控制器sja1000設(shè)置了一個(gè)多功能的驗(yàn)收濾波器,該濾波器允許自動(dòng)檢查標(biāo)識(shí)符和數(shù)據(jù)字節(jié)。使用驗(yàn)收濾波器的濾波方法可以防止對(duì)于某個(gè)節(jié)點(diǎn)無效的報(bào)文或報(bào)文組存儲(chǔ)在接收緩沖器里,因此降低了主控制器的處理負(fù)荷。濾波器由驗(yàn)收碼寄存器(acc)和屏蔽寄存器(amr)組成。在basiccan 模式里的驗(yàn)收濾波,其判據(jù)為:(acc(7:0) ⊙ id(10:3))+amr(7:0)。如果判據(jù)的結(jié)果為“11111111”,則表示該幀數(shù)據(jù)是其他節(jié)點(diǎn)傳送給本節(jié)點(diǎn)的數(shù)據(jù),本節(jié)點(diǎn)can總線控制器將接收本幀數(shù)據(jù),在crc校驗(yàn)無誤后于應(yīng)答間隙產(chǎn)生應(yīng)答信號(hào)。

3  can總線航天應(yīng)用分析

esa開展的can、1553b、spacewire技術(shù)研究表明以差分信號(hào)傳輸?shù)母咚俅锌偩€用于星載設(shè)備之間的數(shù)據(jù)傳輸能保證通信的及時(shí)性, 利于降低星載設(shè)備的功耗,有助于獲得低噪聲、抗電磁干擾性強(qiáng)、emi低、信號(hào)不受電源開關(guān)狀態(tài)變化影響等優(yōu)勢(shì), 具有良好的航天應(yīng)用前景。

can總線作為一種專為汽車工業(yè)設(shè)計(jì)的現(xiàn)場(chǎng)總線,具有很多適合航天應(yīng)用的特點(diǎn):作為多主站方式的串行通訊總線,can總線具有低成本,高抗電磁干擾性,高總線利用率,很遠(yuǎn)的數(shù)據(jù)傳輸距離(長(zhǎng)達(dá)10km),高速的數(shù)據(jù)傳輸速率(高達(dá)1mbps),可根據(jù)報(bào)文的id決定接收或屏蔽該報(bào)文,可靠的錯(cuò)誤處理和檢錯(cuò)機(jī)制,發(fā)送的信息遭到破壞后,可自動(dòng)重發(fā),節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)退出總線的功能等特點(diǎn)。

iso11898建議的can總線的物理電氣性能,能夠保證在總線發(fā)生某些故障時(shí)不至于中斷通信,而且可以為故障的定位提供可能。表1列出了can總線可能發(fā)生的各種開路和短路故障,以及在該故障模式下can總線受影響的情況。

can總線具有安全可信性。從協(xié)議分析,can總線的每個(gè)ecu具備錯(cuò)誤檢測(cè)、標(biāo)定和自檢的強(qiáng)有力措施。檢測(cè)錯(cuò)誤包括:發(fā)送自檢、crc校驗(yàn)、位填充和報(bào)文格式檢驗(yàn)。其錯(cuò)誤檢測(cè)具有如下特性:其一, 所有全局錯(cuò)誤都可以檢測(cè);其二,發(fā)送器的所有局部錯(cuò)誤都可以被檢測(cè);其三,報(bào)文中5個(gè)以內(nèi)的隨機(jī)分布錯(cuò)誤都可以被檢測(cè)到;其四,報(bào)文中長(zhǎng)度小于15的突發(fā)性錯(cuò)誤都可以被檢測(cè)得到;其五,報(bào)文中任何奇數(shù)個(gè)錯(cuò)誤都可以被檢測(cè)得到;其六,沒有檢測(cè)出的已損報(bào)文的剩余錯(cuò)誤概率為報(bào)文出錯(cuò)率的4.7×10-11。

sstl經(jīng)過研究發(fā)現(xiàn),在600公里~1000公里的空間領(lǐng)域,空間輻射對(duì)衛(wèi)星的影響相對(duì)較小。在這個(gè)高度上,總劑量為每年1krad左右(其量級(jí)相當(dāng)于增加5mm的鋁屏蔽層),seu發(fā)生率相當(dāng)于每天每mbyte一次(此數(shù)據(jù)來源于試驗(yàn)觀察),并且觀測(cè)到的sel發(fā)生概率非常低,在sstl整個(gè)記錄中只記錄到3到4次值得懷疑的情況(確定的只有4次)。sstl還發(fā)現(xiàn)幾乎所有的商業(yè)cmos器件,在經(jīng)受10 krad輻照后其性能并無明顯下降。sstl在低軌道小衛(wèi)星采用工業(yè)級(jí)can控制器芯片構(gòu)建衛(wèi)星can總線網(wǎng)絡(luò)的成功,驗(yàn)證了上述結(jié)論。表2為sstl在近年來采用的cots can器件。



表2  surrey大學(xué)采用的cots can器件統(tǒng)計(jì)列表

器  件 飛行任務(wù)次數(shù)
philips can收發(fā)器:當(dāng)前主流產(chǎn)品   4
philips  pca82c250  10
philips p87c592  10
philips can 8位外設(shè):產(chǎn)權(quán)主流產(chǎn)品   4
philips pca82c200:can 8位外設(shè)   6
infineon:8位can微控制器(a/d,pwm,例如8051)  6
microchip can spi外設(shè)   4

4  星載計(jì)算機(jī)中的雙冗余容錯(cuò)can總線設(shè)計(jì)
   
圖1描述了基于can的雙冗余總線結(jié)構(gòu)?;赾an總線的雙冗余系統(tǒng)通信總線的基本設(shè)計(jì)思想是在衛(wèi)星各功能模塊之間布下兩條基于can的系統(tǒng)通信總線,即用兩套can總線控制模塊分別連接到總線bus0和bus1上。正常情況下優(yōu)先在一條總線上通信,這條總線出現(xiàn)故障時(shí)通過另一條進(jìn)行通信并重新初始化出錯(cuò)的總線以備將來再用。這樣即使一條通信通道故障后不會(huì)影響整個(gè)系統(tǒng)的數(shù)據(jù)交換,大大提高了通信的可靠性。



圖1 基于can的雙冗余總線結(jié)構(gòu)



圖2 can總線硬件設(shè)計(jì)原理簡(jiǎn)圖

圖2為星載計(jì)算機(jī)中can總線硬件設(shè)計(jì)原理框圖。 can總線協(xié)議控制芯片選用philip的工業(yè)級(jí)器件sja1000,收發(fā)器選用philip的pca82c250。cpu與sja1000的接口控制邏輯通過actel的反熔絲fpga實(shí)現(xiàn)。sja1000工作在intel模式,工作時(shí)鐘為7.3728mhz。復(fù)位信號(hào)通過max708產(chǎn)生。為了有更好的emc/emi性能和抑制比較器的噪聲,vdd通過rc濾波器退耦。

SJA1000的RX1信號(hào)處理非常關(guān)鍵。如果使用外部集成收發(fā)器電路而且沒有在時(shí)鐘分頻寄存器里使能比較器旁路功能,RX1輸出要被連接到2.5V的參考電壓(82C250的Vref輸出)。圖3顯示了CBP的兩種設(shè)置所對(duì)應(yīng)的電路。對(duì)于使用82C250集成的收發(fā)器電路,SJA1000的相關(guān)數(shù)據(jù)手冊(cè)建議使用旁路功能,即CBP設(shè)置為1,在這種情況下,SJA1000的比較器旁路功能有效,減少了內(nèi)部傳播延遲,即td2


圖3 SJA1000的接收輸入比較器旁路設(shè)計(jì)

82C250的RS信號(hào)通過電阻Rext接地。RS管腳的電流決定了傳輸介質(zhì)上傳輸信號(hào)的信號(hào)沿的陡峭程度,Rext阻值的大小必須根據(jù)CAN總線的工作速度及其工作環(huán)境進(jìn)行設(shè)計(jì)和選擇,具體可參見SJA1000的數(shù)據(jù)手冊(cè)或者應(yīng)用文檔。

5 CPU與SJA1000的接口邏輯設(shè)計(jì)

星載計(jì)算機(jī)的CPU不同于8086,采用的是獨(dú)立地址和數(shù)據(jù)總線。CAN總線控制器SJA1000采用地址/數(shù)據(jù)總線復(fù)用方式,需要將CPU的總線信號(hào)經(jīng)過適當(dāng)邏輯處理后才能夠滿足CAN總線控制器的時(shí)序要求。圖4和圖5是SJA1000在Intel模式下的讀寫時(shí)序。


圖4 SJA1000讀時(shí)序(Intel模式)


圖5 SJA1000寫時(shí)序(Intel模式)

按照SJA1000的數(shù)據(jù)手冊(cè),確保SJA1000的讀寫正確,如下的時(shí)序參數(shù)必須滿足:

l tW(AL):必須保證ALE的時(shí)間,最小不能小于8ns;
l tLLRL/tLLWL:讀寫時(shí)ALE無效到讀寫信號(hào)有效的時(shí)間,最小不能小于10ns;
l tLCRL/tLCWL:片選信號(hào)有效后讀寫信號(hào)有效的時(shí)間,最小不能小于0,即片選有效必須出現(xiàn)在讀寫信號(hào)有效前;
l tW(R):讀信號(hào)有效寬度,最小不能小于40ns;
l tW(R):寫信號(hào)有效寬度,最小不能小于20ns;
l tWHLH:寫信號(hào)無效到下一次ALE有效的時(shí)間,最小不能小于15ns;
l th(AL-A):在ALE為低電平后地址應(yīng)該保持時(shí)間,最小不能小于2ns。

CPU和CAN總線接口采用地址直接映射。接口時(shí)序設(shè)計(jì)重點(diǎn)是接口控制邏輯必須產(chǎn)生符合上述關(guān)鍵參數(shù)的讀寫時(shí)序。如果簡(jiǎn)單的按照ALE<=not nADS方法處理,不滿足要求時(shí)序關(guān)系,這在調(diào)試過程中已經(jīng)得到驗(yàn)證。為此,在設(shè)計(jì)中采用了FPGA技術(shù),以求很好地解決CAN總線與CPU的接口問題。圖6描述了通過VHDL編寫實(shí)現(xiàn)接口電路的狀態(tài)轉(zhuǎn)移圖和FPGA設(shè)計(jì)產(chǎn)生的讀寫CAN總線時(shí)序,其中時(shí)鐘周期不低于67ns,該時(shí)序滿足SJA1000要求。


圖6 CAN總線接口時(shí)序設(shè)計(jì)的狀態(tài)轉(zhuǎn)移和時(shí)序

6 CAN總線通訊軟件的設(shè)計(jì)

雙冗余總線結(jié)構(gòu)的通訊軟件主要由初始化、接收和發(fā)送三個(gè)模塊組成,控制流圖見圖7。在程序設(shè)計(jì)時(shí)采用了SJA1000的Basic模式,初始化中需要對(duì)BUS0和BUS1分別進(jìn)行初始化,包括SJA1000的控制寄存器、接收代碼寄存器、接收屏蔽寄存器、總線時(shí)序寄存器等。


圖 7 CAN總線通訊軟件的控制流圖

發(fā)送模塊采用主動(dòng)發(fā)送方式,BUS0為優(yōu)先通訊通道,若BUS0通道狀態(tài)不正常,則啟動(dòng)BUS1通道進(jìn)行通訊,并對(duì)BUS0通道進(jìn)行初始化以備下次通訊時(shí)使用。
接收模塊采用中斷接收方式,為了保證接收到的數(shù)據(jù)被實(shí)時(shí)處理,CAN總線的接收中斷被設(shè)置為高優(yōu)先級(jí)中斷。在接收中斷中首先判斷接收通道是BUS0還是BUS1,然后從接收通道按數(shù)據(jù)長(zhǎng)度進(jìn)行數(shù)據(jù)接收。

7 結(jié)束語

CAN總線技術(shù)的諸多優(yōu)點(diǎn)如實(shí)時(shí)性好,通信速率高,抗干擾能力強(qiáng),低廉的價(jià)格等使它不僅廣泛應(yīng)用于工業(yè)控制領(lǐng)域,而且開始向航天領(lǐng)域進(jìn)軍。其COTS工業(yè)級(jí)器件SJA1000經(jīng)過飛行也得到了驗(yàn)證,CAN總線適宜航天應(yīng)用的特點(diǎn)得到了充分的展示和飛行驗(yàn)證。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉