《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > CAN總線面向航天衛(wèi)星的應(yīng)用分析

CAN總線面向航天衛(wèi)星的應(yīng)用分析

2020-04-02
來(lái)源:與非網(wǎng)
關(guān)鍵詞: CAN總線 濾波器 寄存器

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)行了論述,。

 

5e855b3eee06e-thumb.jpg


表 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í),通過“無(wú)損的逐位仲裁”方法來(lái)使有最高優(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)收濾波器來(lái)實(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)無(wú)效的報(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)無(wú)誤后于應(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ù)來(lái)源于試驗(yàn)觀察),并且觀測(cè)到的 sel 發(fā)生概率非常低,,在 sstl 整個(gè)記錄中只記錄到 3 到 4 次值得懷疑的情況(確定的只有 4 次)。sstl 還發(fā)現(xiàn)幾乎所有的商業(yè) cmos 器件,,在經(jīng)受 10 krad 輻照后其性能并無(wú)明顯下降,。sstl 在低軌道小衛(wèi)星采用工業(yè)級(jí) can 控制器芯片構(gòu)建衛(wèi)星 can 總線網(wǎng)絡(luò)的成功,驗(yàn)證了上述結(jié)論。表 2 為 sstl 在近年來(lái)采用的 cots can 器件,。

 

5e855b3eea983-thumb.jpg


表 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),。基于 can 總線的雙冗余系統(tǒng)通信總線的基本設(shè)計(jì)思想是在衛(wèi)星各功能模塊之間布下兩條基于 can 的系統(tǒng)通信總線,,即用兩套 can 總線控制模塊分別連接到總線 bus0 和 bus1 上,。正常情況下優(yōu)先在一條總線上通信,這條總線出現(xiàn)故障時(shí)通過另一條進(jìn)行通信并重新初始化出錯(cuò)的總線以備將來(lái)再用,。這樣即使一條通信通道故障后不會(huì)影響整個(gè)系統(tǒng)的數(shù)據(jù)交換,,大大提高了通信的可靠性。

 

5e855b3eea054-thumb.jpg


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

 

5e855b3f367f2-thumb.png


圖 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

 

5e855b3f286c6-thumb.png


圖 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í)序,。

 

5e855b3f1ecdf-thumb.png


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

 

5e855b3f7d555-thumb.png


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

 

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

 

l tW(AL):必須保證 ALE 的時(shí)間,,最小不能小于 8ns,;

 

l tLLRL/tLLWL:讀寫時(shí) ALE 無(wú)效到讀寫信號(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)無(wú)效到下一次 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 要求,。

 

5e855b3f56365-thumb.png


圖 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í)序寄存器等,。

 

5e855b3fb23df-thumb.png


圖 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é)束語(yǔ)

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)證。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。