李 姍 , 宋 琪 , 朱 巖 , 周 莉 , 安軍社
(1.中國科學(xué)院 空間科學(xué)與應(yīng)用研究中心,北京 100190;2.中國科學(xué)院大學(xué) 北京 100049)
數(shù)據(jù)存儲(chǔ)設(shè)備是航天器的關(guān)鍵設(shè)備之一,為各種空間試驗(yàn)或探測(cè)數(shù)據(jù)的采集、存儲(chǔ)以及在軌處理提供了重要的支撐平臺(tái)。隨著航天電子技術(shù)的發(fā)展,以FLASH(閃速存儲(chǔ)器)為基本存儲(chǔ)介質(zhì)的大容量固態(tài)存儲(chǔ)器已經(jīng)成為當(dāng)前航天器數(shù)據(jù)存儲(chǔ)的主流方案之一。閃速存儲(chǔ)器(FLASH MEMORY)因其具有體積小、成本低、功耗小、壽命長、抗震動(dòng)、和寬溫度適應(yīng)范圍等特點(diǎn),逐漸成為星載大容量存儲(chǔ)系統(tǒng)的主流設(shè)計(jì)方案[1]。
目前主流的設(shè)計(jì)搭配有3種:CPU+FPGA+存儲(chǔ)單元;DSP+FPGA+存儲(chǔ)單元;FPGA+FPGA+存儲(chǔ)單元。其中第一種方案中CPU更適于實(shí)現(xiàn)多種控制算法;第二種方案中DSP對(duì)于系統(tǒng)的控制能力較弱,但是實(shí)現(xiàn)信號(hào)處理算法能力較強(qiáng);第三種方案中FPGA的控制以及計(jì)算能力都較弱,但是可以實(shí)現(xiàn)更多的接口擴(kuò)展。本文旨在基于國產(chǎn)元器件設(shè)計(jì)出一種架構(gòu)靈活,性能高,通用性強(qiáng)的大容量存儲(chǔ)平臺(tái),所以使用CPU+FPGA+存儲(chǔ)陣列的搭配方式。
由于國外對(duì)中國的技術(shù)控制,現(xiàn)今大多存儲(chǔ)系統(tǒng)中CPU使用的都是國外的低端產(chǎn)品,其中常用的處理能力最高的是基于SPARCV8內(nèi)核的AT697,處理能力上限為86MPIS。本文選用具有潛在航天應(yīng)用的具有自主知識(shí)產(chǎn)權(quán)的、正向設(shè)計(jì)的抗輻射加固CPU——龍芯1E。龍芯1E芯片設(shè)計(jì)目標(biāo)是以龍芯1號(hào)處理器為運(yùn)算中心的高性能應(yīng)用處理器SOC,提供中斷控制器、定時(shí)器、RS232串口控制器、浮點(diǎn)處理器、PCI和存儲(chǔ)器接口(存儲(chǔ)器接口支持SDRAM和Flash ROM)。龍芯1E 外頻 50 MHz,內(nèi)頻 100 MHz;定點(diǎn) 300 MIPS,浮點(diǎn) 50 MIPS,抗輻照總劑量不低于100Krad,單粒子鎖定閾值不低于75 Mev.cm2/mg??煽啃栽O(shè)計(jì)以龍芯處理器、外圍IP為設(shè)計(jì)基礎(chǔ),同時(shí)對(duì)各子模塊進(jìn)行結(jié)構(gòu)級(jí)可靠性加固[2]。
航天應(yīng)用中多使用反熔絲FPGA[3],以避免空間中的各種高強(qiáng)度輻射以及單粒子效應(yīng)帶來的影響。但是,反熔絲FPGA的價(jià)格都上萬元,并且不可反復(fù)燒寫,對(duì)調(diào)試工作帶來很大困難。有些任務(wù)中使用SRAM FPGA+PROM的形式,配置程序存放在PROM中每次上電重新加載,PROM內(nèi)的程序也可通過JTAG改寫。但是,這種工藝的FPGA為保證其穩(wěn)定性必須進(jìn)行抗輻照加固處理,如數(shù)據(jù)的編碼處理,F(xiàn)PGA定時(shí)刷新等,都增加了控制的難度。本文選用ACTEL公司的A3PE3000L。它是一款FLASH FPGA,即可多次反復(fù)燒寫,又不會(huì)受到空間中各種高強(qiáng)度輻射及單粒子效應(yīng)的影響。大容量存儲(chǔ)系統(tǒng)中的存儲(chǔ)陣列現(xiàn)多使用NAND FLASH來搭建。本文使用具有抗輻射設(shè)計(jì)的珠海歐比特公司的VDNF64G08,該FLASH芯片一片包含8個(gè)基片,每個(gè)基片包含4096個(gè)塊,每塊又含有64頁,其中每頁包含4K+128Byte[4]。
大容量存儲(chǔ)系統(tǒng)包括存儲(chǔ)單元、計(jì)算機(jī)單元、數(shù)據(jù)接口單元以及緩存單元。存儲(chǔ)單元的FLASH存儲(chǔ)區(qū)采用并行擴(kuò)展(32位)以及四級(jí)流水線操作,采用32 MHz工作主頻,吞吐率可達(dá)1 Gbps。計(jì)算機(jī)單元采用龍芯最小系統(tǒng)。數(shù)據(jù)接口單元分為高速與低速接口,其中高速接口為LVDS接口,而低速接口使用RS422。存儲(chǔ)單元直接受控于計(jì)算機(jī)單元,并且在一些場(chǎng)合中計(jì)算機(jī)單元需要對(duì)存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行編碼壓縮等處理??偠灾咧g的交互包含命令與數(shù)據(jù)??偩€的傳輸速率與使用緩存數(shù)量成反比,當(dāng)傳輸速率一定時(shí),緩存數(shù)量就成為傳輸速率的瓶頸。本系統(tǒng)加了一片64Mx46bit的SDRAM芯片作為緩存單元,緩存來自于數(shù)據(jù)接口的數(shù)據(jù)以及從存儲(chǔ)單元中讀取的待發(fā)數(shù)據(jù)。
為增強(qiáng)大容量存儲(chǔ)系統(tǒng)的靈活性與提高其處理能力,實(shí)現(xiàn)設(shè)備地檢一體化,本系統(tǒng)使用雙接口。HPI接口控制簡(jiǎn)單便于實(shí)現(xiàn)但傳輸速率較低,傳輸控制命令。PCI接口便于擴(kuò)展,傳輸速率快,局部總線間數(shù)據(jù)傳輸速率可達(dá)132 Mbps,傳輸存儲(chǔ)單元待存數(shù)據(jù),以及讀回存儲(chǔ)單元內(nèi)數(shù)據(jù)。圖1為原理框圖。
圖1 大容量存儲(chǔ)系統(tǒng)原理簡(jiǎn)圖Fig.1 Organization structure of solid state recorder
基于系統(tǒng)國產(chǎn)化的需求,使用免費(fèi)開放源代碼的VXWORKS操作系統(tǒng)便于實(shí)現(xiàn)國產(chǎn)化。龍芯在系統(tǒng)上電復(fù)位時(shí),利用A18的值配置NOR FLASH的位寬,上拉表示16位,下拉表示8位。為了方便系統(tǒng)的嵌入、修改以及版本的保存,系統(tǒng)采用雙備份8位啟動(dòng)模式。程序分別存放在EEPROM和NOR FLASH中。NOR FLASH使用PLCC封裝芯片,在電路板上放置一個(gè)芯片座,第一次啟動(dòng)時(shí)程序離線燒入其中。調(diào)試時(shí),將程序?qū)懭隕EPROM中,更改后的版本存放在EEPROM中,比較成熟的版本可以燒入NOR FLASH中留存,以備日后測(cè)試用。與程序存儲(chǔ)器公用地址總線的還有SDRAM。由于數(shù)據(jù)地址線上負(fù)載太多,在電路中加入16245以提高驅(qū)動(dòng)力。并且在布線時(shí),根據(jù)信號(hào)完成性中信號(hào)傳播的規(guī)律及各芯片的傳輸速率,將SDRAM放在信號(hào)線的遠(yuǎn)端,程序存儲(chǔ)器(EEPROM和NOR FLASH)放在信號(hào)線的中間位置,將FPGA放置在信號(hào)線的近端。下表為RH2SOC芯片地址空間,各芯片根據(jù)下表使用地址線區(qū)分開。
表1 龍芯地址空間Tab.1 Longson address space table
圖2 系統(tǒng)框圖Fig.2 System chart
根據(jù)分析兩個(gè)程序存儲(chǔ)器需要?jiǎng)澐諦OOT空間。用于EEPROM內(nèi)部尋址的有A0-A16;用于NOR FLASH內(nèi)部尋址的有A0-A18。除過地址信號(hào)外,EEPROM中還有八根片段信號(hào),使用A17-A19通過3-8譯碼器實(shí)現(xiàn)八片尋址。最后,使用A20控制兩個(gè)芯片的片選。最初測(cè)試時(shí),程序存儲(chǔ)在NOR FLASH中,所以默認(rèn)應(yīng)該從這里啟動(dòng);調(diào)試過程中需要不斷更改并測(cè)試程序,需要從EEPROM啟動(dòng)。所以,在兩個(gè)片選信號(hào)間加入跳線,根據(jù)需求調(diào)整啟動(dòng)順序,具體實(shí)現(xiàn)如圖3。
圖3 雙啟動(dòng)路徑電路圖Fig.3 Dual boot path schematic
為了節(jié)省引腳,RH2SOC芯片不再輸出SDRAM數(shù)據(jù)寬度屏蔽信號(hào) DQM0,DQM1,DQM2,DQM3,而是在板上直接把SDRAM的相應(yīng)輸入腳接地。ECCSDRAM的數(shù)據(jù)寬度屏蔽信號(hào)ECC_DQM占用A24引腳,具體實(shí)現(xiàn)如圖。由于SDRAM工作速率很快,本系統(tǒng)中CPU沒有倍頻的操作,它與CPU工作在同一個(gè)時(shí)鐘下。在PCB設(shè)計(jì)時(shí)這里采用數(shù)據(jù),地址,時(shí)鐘,控制組內(nèi)與組間均等長的設(shè)計(jì)。系統(tǒng)時(shí)鐘分別連接了CPU與SDRAM,時(shí)鐘是同步驅(qū)動(dòng)兩個(gè)器件工作的,采用雙匹配電阻的設(shè)計(jì),同時(shí)減少來自兩個(gè)方向的信號(hào)反射,具體實(shí)現(xiàn)如圖4。
圖4 CPU時(shí)鐘路線設(shè)計(jì)Fig.4 CPU clock route design
龍芯小系統(tǒng)的復(fù)位需要同時(shí)受控于軟件與硬件,所以在硬件上使用具有看門狗功能的復(fù)位芯片。將看門狗輸出與正常復(fù)位輸出相連,以保證軟件可以直接控制復(fù)位輸出。在按鍵與手動(dòng)復(fù)位輸入管腳MR之間加入跳線,調(diào)試初期可以使用手動(dòng)復(fù)位來輔助調(diào)試,后期當(dāng)程序成熟后可以斷開手動(dòng)復(fù)位輸入以保證程序穩(wěn)定性,具體實(shí)現(xiàn)如圖5。
圖5 雙模式復(fù)位設(shè)計(jì)Fig.5 Dual mode reset design
龍芯支持8位與16位的HPI接口,具體模式由EMI_A17管腳設(shè)置,上拉表示HPI位寬為16bits,下拉表示HPI位寬為8bits。HPI接口信號(hào)包括:數(shù)據(jù),地址線,控制信號(hào):HPI_RDY,HPI_CS#,HPI_RST#,NR_CS#。為了保持本系統(tǒng)的靈活性,EMI_17這里使用同時(shí)有上下拉電阻的設(shè)計(jì)方式,使用時(shí)可以根據(jù)具體需要方便更改啟動(dòng)方式。PCI總線不僅傳輸速率高,還具有擴(kuò)展方便,支持熱插拔等特點(diǎn),為了日后擴(kuò)展方便,本系統(tǒng)還加入了一個(gè)PCI104標(biāo)準(zhǔn)的擴(kuò)展接口。龍芯與FPGA的PCI連接方式使用32位總線寬度,33 MHz總線頻率。本系統(tǒng)中將龍芯的PCI接口直接與FPGA相連,使用PCI IP核實(shí)現(xiàn)具體協(xié)議,最大程度保證了系統(tǒng)的可配置性。本系統(tǒng)使用了兩個(gè)中斷,可方便的通過FPGA靈活選擇。
龍芯與FPGA的連接使用HPI和PCI雙接口連接。HPI接口用于傳輸命令等控制信號(hào),PCI5接口除了可以進(jìn)行控制信號(hào)的傳輸,還可以進(jìn)行數(shù)據(jù)的傳輸。當(dāng)系統(tǒng)工作速率較低,存儲(chǔ)單元容量小于256G時(shí),可以使用HPI傳輸控制命令。當(dāng)系統(tǒng)工作速率提高,存儲(chǔ)單元容量擴(kuò)大,數(shù)據(jù)分區(qū)增多,單一操作需要發(fā)出的地址數(shù)量增多,HPI接口傳輸速率跟不上FLASH操作速率,使用PCI接口作為控制信號(hào)傳輸接口。當(dāng)讀寫操作頻率不高,而數(shù)據(jù)量很大時(shí),可以讓兩套總線還可同時(shí)工作,HPI接口傳輸控制命令,PCI接口傳輸數(shù)據(jù)。
本系統(tǒng)中數(shù)據(jù)接口單元的收發(fā)數(shù)量都是相同的,相同的兩套系統(tǒng)是可以直接相連的,并且龍芯與FPGA相連的PCI總線同時(shí)引出到PCI1046連接器上,便于擴(kuò)展以及連接嵌入式計(jì)算機(jī),從而實(shí)現(xiàn)了設(shè)備與地檢的一體化。當(dāng)作為設(shè)備使用時(shí),存儲(chǔ)單元的數(shù)據(jù)大多直接從數(shù)據(jù)接口通過,CPU不直接傳輸數(shù)據(jù)。作為地面檢測(cè)設(shè)備使用時(shí),測(cè)試數(shù)據(jù)可以直接通過PCI總線上由PCI104連接器連接的嵌入式計(jì)算機(jī)傳輸?shù)酱鎯?chǔ)單元;存儲(chǔ)單元讀出的數(shù)據(jù)直接通過PCI總線傳輸至計(jì)算機(jī)由軟件進(jìn)行比對(duì)。
大容量存儲(chǔ)單元在航天探測(cè)過程中扮演著不可或缺的角色,但是現(xiàn)在很多芯片的核心技術(shù)都被外國所壟斷,強(qiáng)烈地制約著我國航天事業(yè)的發(fā)展。本系統(tǒng)中核心元器件均為國產(chǎn)器件,在現(xiàn)在國產(chǎn)器件剛剛起步的初期,還未見有應(yīng)用于大容量存儲(chǔ)單元中。希望本文所介紹的基于抗輻射龍芯的雙接口系統(tǒng)可以對(duì)廣大設(shè)計(jì)人員有一定的啟發(fā)作用,讓國產(chǎn)芯片開發(fā)產(chǎn)品可以在航天,國防,軍事等安全性較高的領(lǐng)域有更廣闊的應(yīng)用。
[1]朱巖.基于閃存的星載高速大容量存儲(chǔ)技術(shù)的研究[D].北京:空間科學(xué)與應(yīng)用研究中心,2006.
[2]龍芯1E處理器用戶手冊(cè).龍芯中科技術(shù)有限公司[S].2011.
[3]WANG J,Katz R,Kleyner,et al.Total dose and RT annealing effects on startup current transientin antifuse FPGA[C]//Fontevraud:Radiation and Its Effects on Components and Systems,1999.
[4]VDNF64G08-F 64G bit*8 bit NAND Flash memory.Orbit Electronics[S].2013.
[5]PCI Local Bus Specification Revision 3.0.PCI Special Interest Group[S].2002.
[6]PC104-Plus Specification v2.2,PC/104 Embedded Consortium[S].2007.