高可靠平臺(tái)計(jì)算機(jī)設(shè)計(jì)
摘要:闡述了32位嵌入式處理器S698體系架構(gòu)、功能,SOC設(shè)計(jì),著重介紹了S698 IP核在平臺(tái)計(jì)算中的高可靠設(shè)計(jì)及在航天領(lǐng)域的廣泛應(yīng)用。
關(guān)鍵詞:S698 IP核;SOC;高可靠平臺(tái)計(jì)算機(jī);FPGA;航天應(yīng)用
引言
隨著航天技術(shù)的不斷發(fā)展,對(duì)控制的要求也越來越高,需要具備更高的反應(yīng)速度和更強(qiáng)的數(shù)據(jù)處理能力。在航天領(lǐng)域,一旦控制發(fā)生錯(cuò)誤,將會(huì)造成難以估計(jì)的損失。因此,如何提高控制的可靠性是長(zhǎng)期以來的一個(gè)重要問題。本文介紹了SOC應(yīng)用方式的一種實(shí)際開發(fā)方案,重點(diǎn)討論了平臺(tái)計(jì)算機(jī)的高可靠性的設(shè)計(jì)和實(shí)現(xiàn)方法。
高可靠平臺(tái)計(jì)算機(jī)主要任務(wù)
本高可靠平臺(tái)計(jì)算機(jī)主要完成以下主要任務(wù):實(shí)時(shí)錄取慣性測(cè)量?jī)x表輸出的轉(zhuǎn)動(dòng)角增量和視速度增量;接收機(jī)載導(dǎo)航系統(tǒng)給出的初始位置、速度以及姿態(tài)數(shù)據(jù);實(shí)時(shí)接收定位衛(wèi)星測(cè)量數(shù)據(jù);實(shí)時(shí)完成制導(dǎo)、姿控方程的運(yùn)算,按照控制律及制導(dǎo)律要求,對(duì)采集的信息進(jìn)行變換、綜合,形成控制/制導(dǎo)指令,控制舵機(jī);集成1553B總線通信功能,進(jìn)行總線通信與控制;4路D/A輸出姿態(tài)控制指令;具有8級(jí)可屏蔽中斷;通過1553B接口與地面計(jì)算機(jī)通信,進(jìn)行信息交換;提供三個(gè)帶光電隔離的RS422接口。
平臺(tái)計(jì)算機(jī)采用FPGA + S698 IP核 的方案(簡(jiǎn)稱SOC),以歐比特公司的S698 IP核做為主CPU,另外再把1553B總線控制器、VME總線控制器、3個(gè)帶FIFO的UART整合在一起。體現(xiàn)了歐比特公司S698 IP核靈活、優(yōu)越性能。并且支持多操作系統(tǒng)。采用SOC設(shè)計(jì)節(jié)省昂貴的流片費(fèi)用、增加系統(tǒng)設(shè)計(jì)的靈活性、方便修改、大大縮短設(shè)計(jì)開發(fā)的周期。
高可靠平臺(tái)計(jì)算機(jī)
高可靠平臺(tái)計(jì)算機(jī)功能框圖示于圖1。
圖1 高可靠平臺(tái)計(jì)算機(jī)功能框圖
高可靠平臺(tái)計(jì)算機(jī)采用FPGA+S698 IP核的SOC形式實(shí)現(xiàn),F(xiàn)PGA采用ALTERA公司Cyclone系列EP1C20。
高性能的S698 IP核作為內(nèi)核,集成了大量的外圍設(shè)備,并將這些所有的模塊全部集成到一個(gè)FPGA器件當(dāng)中,降低了整個(gè)板級(jí)系統(tǒng)的成本,縮小了板級(jí)系統(tǒng)的體積,器件等級(jí)選用工業(yè)級(jí)以上器件,大大提高了系統(tǒng)的可靠性。
S698 IP核的功能框圖示于圖2。
圖2 S698 IP核功能框圖
S698 IP核特點(diǎn)如下:內(nèi)部使用了5級(jí)流水線,SPARC V8指令集;硬件乘法器和除法器;支持2條DSP指令(MAC & UMAC);浮點(diǎn)運(yùn)算:雙精度(64位);具有分開的指令和數(shù)據(jù)cache結(jié)構(gòu)(哈佛結(jié)構(gòu)),可以根據(jù)需求靈活的配置cache的容量,大小范圍是1-64kbyte;片上總線規(guī)范使用了AMBA2.0規(guī)范,支持APB,和AHB標(biāo)準(zhǔn);外設(shè)可裁減,包括UART,定時(shí)器,中斷控制器,存儲(chǔ)器管理單元,I/O端口,看門狗等;采用AMBA AHB/APB總線結(jié)構(gòu)的用戶設(shè)計(jì)新模塊,可以很容易加入到S698 IP核中,完成用戶的定制應(yīng)用;集成調(diào)試支持單元(DSU),支持硬件調(diào)試功能。
高可靠平臺(tái)計(jì)算機(jī)系統(tǒng)板具有如下硬件資源:FPGA(集成S698、1553B、VME IP核);1553B部分;VME部分;4MB FLASH;4MB SRAM;4路+10V~-10V,12位DA輸出;3路光電隔離RS422,其中2路具有16字節(jié)FIFO,1路1K字節(jié)FIFO;頻標(biāo)頻率可配置;定時(shí)器;8級(jí)中斷;FPGA提供JTAG、AS接口;1路UART;DSU(硬件調(diào)試單元)。
S698 IP核高可靠設(shè)計(jì)
為了適用于航空航天的高可靠性應(yīng)用,S698 IP核采用多層次的容錯(cuò)策略;奇偶校驗(yàn)、TMR(三模冗余)寄存器、片上EDAC(檢錯(cuò)和糾錯(cuò))、流水線重啟、強(qiáng)迫Cache不命中等。盡管現(xiàn)在幾乎所有CPU都有一些常規(guī)的容錯(cuò)措施,如奇偶校驗(yàn)、流水線重啟等,像IBM S/390 G5還采用了寫階段以前的全部流水線復(fù)制技術(shù)。IntelItanium采用的混合ECC和校驗(yàn)編碼等技術(shù);但遠(yuǎn)沒有S698 IP核那樣,采用如此全面的容錯(cuò)措施。
S698 IP核將時(shí)序(存儲(chǔ))單元的狀態(tài)翻轉(zhuǎn)作為數(shù)字容錯(cuò)的主要內(nèi)容,根據(jù)時(shí)序邏輯的不同特點(diǎn)和性質(zhì),采用了不同的容錯(cuò)技術(shù)和手段。
1) Cache的容錯(cuò)。大的Cache對(duì)高性能CPU來說是至關(guān)重要的,而且位于處理器的關(guān)鍵(時(shí)間)通路上。為了減少復(fù)雜性和時(shí)間開銷,錯(cuò)誤檢測(cè)的方法采用2位的奇偶校驗(yàn)位,l位用作奇校驗(yàn),l位偶校驗(yàn),因此可以檢查所有的錯(cuò)誤情況,在讀Cache的同時(shí)進(jìn)行校驗(yàn)。當(dāng)校驗(yàn)出錯(cuò)誤,強(qiáng)制Cache丟失,并從外部存儲(chǔ)去獲取數(shù)據(jù)。
2) 處理器寄存器文件的錯(cuò)誤保護(hù)。寄存器文件是處理器內(nèi)部的寄存器堆,內(nèi)部的寄存器對(duì)于指令的運(yùn)行速度和用戶程序設(shè)計(jì)的靈活程度都是很重要的。內(nèi)部寄存器的使用頻率很大,其狀態(tài)的正確性是也很關(guān)鍵。S698 IP核采用1、2奇偶校驗(yàn)位和(32.7)BCH校驗(yàn)和進(jìn)行容錯(cuò)。
3) 觸發(fā)器的錯(cuò)誤保護(hù)。處理器的2500個(gè)觸發(fā)器均采用三模冗余的方式進(jìn)行容錯(cuò),通過表決器來決出正確的輸出。
硬件高可靠設(shè)計(jì)
3個(gè)RS422接口和1553B接口是系統(tǒng)對(duì)外接口,RS422采用光電隔離,工作時(shí)以光作為媒介來傳遞信息,無觸點(diǎn),壽命長(zhǎng),響應(yīng)速度快,輸入和輸出在電氣上是完全隔離的,采用了高等級(jí)隔離電源,給光耦單獨(dú)供電,抗干擾能力強(qiáng)。
1553B是一種具有可確定性的、傳輸可靠的數(shù)據(jù)總線,為雙冗余設(shè)計(jì),廣泛地應(yīng)用于不同的軍事平臺(tái)(航空系統(tǒng)、地面車輛系統(tǒng)、艦艇系統(tǒng)) 系統(tǒng),已經(jīng)發(fā)展成國(guó)際公認(rèn)的數(shù)據(jù)總線標(biāo)準(zhǔn)。
底板數(shù)據(jù)總線為VME(VersaModule Eurocard),VME總線是一種通用的計(jì)算機(jī)總線它定義了一個(gè)在緊密耦合(closely coupled)硬件構(gòu)架中可進(jìn)行互連數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)和連接外圍控制器件的系統(tǒng)。經(jīng)過多年的改造升級(jí),VME系統(tǒng)已經(jīng)發(fā)展的非常完善,圍繞其開發(fā)的產(chǎn)品遍及了工業(yè)控制、軍用系統(tǒng)、航空航天、交通運(yùn)輸和醫(yī)療等領(lǐng)域。
整體的可靠性設(shè)計(jì)
SPARC 微處理器最突出的特點(diǎn)就是它的可擴(kuò)展性,這是業(yè)界出現(xiàn)的第一款有可擴(kuò)展性功能的微處理器,它的無窮擴(kuò)展能力能夠應(yīng)付各種變化的數(shù)據(jù)處理要求。具有高結(jié)構(gòu)化設(shè)計(jì),容錯(cuò)及程序保護(hù)等設(shè)計(jì)。由于其獨(dú)到的性能,在航天領(lǐng)域得到了青睞。由于采用SOC方式,內(nèi)部集成度高,外部擴(kuò)展工作少,此本身具有較強(qiáng)的抗干擾能力;同時(shí)通過外部硬件電路以及軟件的抗干擾設(shè)計(jì),平臺(tái)計(jì)算機(jī)可以實(shí)現(xiàn)非常高的可靠性。
RS422
3個(gè)UART控制器在SOC 中實(shí)現(xiàn),通過RS422收發(fā)芯片將LVTTL電平轉(zhuǎn)換為RS422電平,其中1路RS422帶接收/發(fā)送中斷。
UART1 具有16 byte的FIFO,可產(chǎn)生中斷,取數(shù)后,清中斷,并同時(shí)清空FIFO。UART2 具有1K byte的FIFO,數(shù)據(jù)發(fā)送時(shí)由獨(dú)立管理器管理,不占用CPU時(shí)間。UART3 具有16 byte的FIFO,可產(chǎn)生中斷。
采用RS422總線接口,最大傳輸距離:1000m。為了提高抗干擾能力和較高的EMI防護(hù)性能,采用了光電隔離方式,提高了節(jié)點(diǎn)的穩(wěn)定性和安全性。
頻標(biāo)和5ms中斷
頻標(biāo)和5ms中斷功能在SOC中實(shí)現(xiàn)。頻標(biāo)默認(rèn)頻率1ms,兼容TTL電平,50%占空比。在SOC中可通過配置不同的值輸出不同頻率的頻標(biāo),其啟動(dòng)和關(guān)閉均可由軟件操作相應(yīng)寄存器來控制。
5ms定時(shí)器模塊用于產(chǎn)生周期性的中斷請(qǐng)求,默認(rèn)周期為5ms,其啟動(dòng)和關(guān)閉均可由軟件操作相應(yīng)寄存器來控制。
1553B部分
1553B總線與S698 IP核集成在一起,在SOC中實(shí)現(xiàn)。傳輸速度為每秒1M比特,字的長(zhǎng)度為20個(gè)比特,數(shù)據(jù)有效長(zhǎng)度為16個(gè)比特,信息量最大長(zhǎng)度為32個(gè)字,傳輸方式為半雙工方式,傳輸協(xié)議為命令/響應(yīng)方式,故障容錯(cuò)有典型的雙冗余方式,第二條總線處于熱備份狀態(tài);可通過軟件配置實(shí)現(xiàn)3個(gè)不同的終端,有總線控制器(BC)、遠(yuǎn)置終端(RT)和總線監(jiān)聽器(BM);信息格式有BC到RT、RT到BC、RT到RT、廣播方式和系統(tǒng)控制方式;能掛31個(gè)遠(yuǎn)置終端,傳輸媒介為屏蔽雙絞線,總線耦合方式采用直接耦合方式。平臺(tái)計(jì)算機(jī)實(shí)現(xiàn)了完整的1553B總線的通訊,其包括BC、RT、BM,其功能、通信以及操作方式同BU-6158X芯片基本一致。一片能實(shí)現(xiàn)1553B功能的專用芯片DDC61580價(jià)格不菲,而且全面依賴進(jìn)口。全面依賴進(jìn)口的產(chǎn)品用在特殊領(lǐng)域也不適合,而我們?cè)谝豢钚詢r(jià)比很高的FPGA里就實(shí)現(xiàn)了實(shí)現(xiàn)DDC61580同樣的功能。
1553B總線控制器的主機(jī)接口有兩種:APB和AHB。主機(jī)(即SPARC V8處理器)通過APB接口(包括輸入總線APBI和輸出總線APBO)訪問寄存器,通過AHB接口(包括輸入總線AHBI和輸出總線AHBO)訪問存儲(chǔ)器。Manchester CODEC 的輸出/輸入為互補(bǔ)曼徹斯特碼,碼速率為1Mbps。信號(hào)RXA、RXAN、TXA、TXAN、TXAEN、RXB、RXBN、TXB、TXBN和TXBEN為1553B總線控制器同外置收發(fā)器芯片的接口信號(hào)。
本計(jì)算機(jī)平臺(tái)可以通過對(duì)1553B控制器寄存器進(jìn)行配置,可以分別實(shí)現(xiàn)BC、RT、BM的功能??梢造`活應(yīng)用在不同的場(chǎng)合。
VME部分
VME總線是一種應(yīng)用較為普遍的計(jì)算機(jī)接口總線,技術(shù)成熟。目前國(guó)內(nèi)外很大一部分的星載計(jì)算機(jī)并行總線都采用VME總線結(jié)構(gòu)。VME總線是一種高速、異步并行數(shù)據(jù)傳輸總線,可在非多路、32位數(shù)據(jù)和地址通路上支持八位、十六位和三十二位的傳輸,通訊協(xié)議是異步和全掛鉤方式的。它包括的功能模塊有:主模塊、從模塊、中斷模塊和中斷管理模塊,另外還有兩個(gè)模塊:總線定時(shí)模塊和IACK菊花鏈驅(qū)動(dòng)模塊輔助上述各個(gè)功能模塊。
本平臺(tái)計(jì)算機(jī)VME總線控制器在SOC中實(shí)現(xiàn)標(biāo)準(zhǔn)VME總線,VME總線信號(hào)從SOC出來后,經(jīng)總線驅(qū)動(dòng)電路,輸出到背板連接器??偩€芯片采用74ALVC164245,實(shí)現(xiàn)3.3V ~ 5V電平轉(zhuǎn)換。VME接口與底板連接器有96個(gè)引腳,排列成三排,每排32引腳。VME控制器掛接在處理器外部存儲(chǔ)控制器總線上,映射的區(qū)域?yàn)镮/O區(qū),為其分配的地址區(qū)域?yàn)椋?x24000000~0x24FFFFFF,共16M空間。
D/A轉(zhuǎn)換模塊
D/A轉(zhuǎn)換模塊由以下三部分組成:D/A轉(zhuǎn)換芯片、基準(zhǔn)、運(yùn)放。12位D/A轉(zhuǎn)換精度,可輸出4路+10V~-10V電壓
軟件編程
S698 IP核可以支持ucLinux,RTEMS,Vxworks等多種操作系統(tǒng);也可不使用操作系統(tǒng),支持標(biāo)準(zhǔn)C編程。而且開發(fā)了Linux和Windows下圖形化集成開發(fā)環(huán)境,支持流行的調(diào)試方法;開發(fā)環(huán)境支持離線仿真調(diào)試和目標(biāo)板在線調(diào)試。
結(jié)語
這種高可靠平臺(tái)計(jì)算機(jī),不再采用體積大、笨重而又功耗巨大的處理器芯片(如DSP),而是直接將S698 IP核放進(jìn)FPGA。同時(shí)在硬件、軟件以及制板布線等方面采用多種提高系統(tǒng)可靠性的設(shè)計(jì)措施。系統(tǒng)將大部分的處理功能硬件化,利用FPAG的豐富資源,將整個(gè)系統(tǒng)放入一片F(xiàn)PGA芯片內(nèi)。其中的S698 IP核進(jìn)行控制管理和一些必須的計(jì)算處理。這樣的一款國(guó)產(chǎn)的高性能的處理器,具有自主的知識(shí)產(chǎn)權(quán),應(yīng)用在一些特殊的領(lǐng)域,對(duì)于國(guó)家安全來說尤為重要。S698 IP核在性能上也絕不遜色于其他同類處理器,豐富的外設(shè),為用戶搭建了一個(gè)芯片級(jí)的高可靠計(jì)算機(jī)平臺(tái),使用起來極為方便。
參考文獻(xiàn):
1. 金永德等,導(dǎo)彈與航天技術(shù)概論,哈爾濱工業(yè)大學(xué)出版社,2002
2. 華容茂,數(shù)字電子技術(shù)及邏輯設(shè)計(jì),中國(guó)電力出版社,2003
3. 美國(guó)國(guó)家標(biāo)準(zhǔn)-通用背板總線:VME總線IEEE標(biāo)準(zhǔn)
4. MIL-HDBK-1553A(美國(guó)軍方1553標(biāo)準(zhǔn))
5. 周明光、馬海潮,計(jì)算機(jī)測(cè)試系統(tǒng)原理與應(yīng)用,電子工業(yè)出版社,2005
6. 沈頌華,航空航天器供電系統(tǒng),電子工業(yè)出版社,2005
7. 1553 User’s Guide. DDC公司,2003
8. MIL-STD-1553 DESIGNED’S guide,DDC公司, 2003
9. OBT-1553B User’s Guide,歐比特公司,2004
10. 平臺(tái)計(jì)算機(jī)User’s Guide,歐比特公司,2004
評(píng)論