隨著航天電子技術(shù)的發(fā)展,航天電子設(shè)備綜合化程度越來越高,總線技術(shù)已經(jīng)開始在航天電子領(lǐng)域得到越來越廣泛的運(yùn)用。航天器工作環(huán)境惡劣,空間輻射、電磁干擾等都可能通過硬件影響軟件的正常工作,為實(shí)現(xiàn)“一重故障保業(yè)務(wù)連續(xù),二重故障保航天器安全”的目標(biāo),保證軟件的在軌重構(gòu)功能,總線可靠性和安全性成為在軌航天器的必要保障。CAN總線作為一種串行數(shù)據(jù)通信協(xié)議,因具有高位速率、高抗電磁干擾能力以及錯(cuò)位可查處等可靠性、實(shí)時(shí)性特點(diǎn)而被廣泛應(yīng)用于航天電子的地面、星、箭載子系統(tǒng)的通信功能[1-6]。
航天器嵌入式軟件與硬件關(guān)系密切,硬件運(yùn)行環(huán)境的特點(diǎn)以及硬件的多樣性顯著影響和制約著軟件的開發(fā)[7],“硬件標(biāo)準(zhǔn)選用,軟件定義功能”的設(shè)計(jì)模式被廣泛應(yīng)用,模式的建立為總線通用化測(cè)試提供了充分保障。為保障CAN總線方案的實(shí)施,保證軟件質(zhì)量,越來越多的基于CAN總線的自動(dòng)化測(cè)試系統(tǒng)被提出[8-10],關(guān)于CAN總線的測(cè)試方法和用例卻鮮有提及。
CAN總線通信硬件架構(gòu)
星載CAN總線一般采用相雙冗余的總線型網(wǎng)絡(luò)結(jié)構(gòu),包括A、B兩條CAN總線,由管理控制單元及其他下位機(jī)組成通信節(jié)點(diǎn)??偩€各節(jié)點(diǎn)CAN總線處理器在上電初始化完成后等待管理控制單元發(fā)送指令、廣播與輪詢,并依據(jù)通信協(xié)議約定的格式完成數(shù)據(jù)的接收與響應(yīng)。
根據(jù)主控芯片和芯片擴(kuò)展差異,CAN總線通信架構(gòu)主要包括:CUP+控制芯片+驅(qū)動(dòng)芯片、FPGA+控制芯片+驅(qū)動(dòng)芯片和FPGA(CAN軟核)+驅(qū)動(dòng)芯片三種形式??偩€驅(qū)動(dòng)芯片通常采用PCA82C250,控制芯片選用SJA1000系列芯片。如圖1所示,CUP+控制芯片+驅(qū)動(dòng)芯片架構(gòu)(架構(gòu)1)通過芯片的片選使復(fù)用SJA1000芯片的數(shù)據(jù)讀寫信號(hào),根據(jù)外部總線的中斷信號(hào)鑒別總線占用情況,預(yù)設(shè)總線優(yōu)先級(jí)制定總線同時(shí)占用的通信策略。如圖2所示,F(xiàn)PGA+控制芯片+驅(qū)動(dòng)芯片架構(gòu)(架構(gòu)2)基于FPGA的并行運(yùn)行特性實(shí)現(xiàn)雙SJA1000芯片的獨(dú)立運(yùn)行,同時(shí)處理雙總線發(fā)送與接收,根據(jù)總線優(yōu)先級(jí)排序解析處理指令緩存寄存器。FPGA(CAN軟核)+驅(qū)動(dòng)芯片架構(gòu)(架構(gòu)3)中FPGA集成CAN總線控制功能,縮減了集成電路間的異步交互,軟核方案架構(gòu)對(duì)寄存器的冗余備份、異常通信處理策略的可靠性和安全性提出了更嚴(yán)格的要求。