• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx

      一種高可靠的星載多核DSP加載方式及實(shí)現(xiàn)

      2022-06-02 09:40:58璩澤旭孫鈺林
      空間電子技術(shù) 2022年2期
      關(guān)鍵詞:程序代碼仿真器存儲器

      璩澤旭,王 鵬,孫鈺林

      (中國空間技術(shù)研究院西安分院,西安 710000)

      0 引言

      在航空、航天、武器等領(lǐng)域,越來越復(fù)雜的圖像處理需要并行化的處理系統(tǒng),以滿足實(shí)時(shí)性要求。要實(shí)現(xiàn)復(fù)雜功能的系統(tǒng),高性能的FPGA+DSP架構(gòu)是目前常用的方案。由于單核的DSP性能已發(fā)展至極限,無法適應(yīng)復(fù)雜的并行算法,多核DSP應(yīng)運(yùn)而生,成為當(dāng)前數(shù)字信號處理的發(fā)展方向。

      TMS320C6678是基于KeyStone架構(gòu),采用8個(gè)DSP內(nèi)核構(gòu)建而成,集成了320 GMAC定點(diǎn)計(jì)算或160 GFLOPS浮點(diǎn)計(jì)算性能,每個(gè)內(nèi)核工作頻率達(dá)到1.25 GHz,支持高性能信號處理應(yīng)用[1]。為了滿足不同應(yīng)用場合的需求,實(shí)現(xiàn)最大的設(shè)計(jì)靈活性。TMS320C6678支持的BOOT模式有SPI、I2C、PCIe、EMAC、SRIO和并口EMIF16 Nor Flash[2]。鄧豹[3]和劉章文等[4]提出針對C6678利用EMIF16(external memory interface,外部存儲器接口)的Nor Flash加載實(shí)現(xiàn)方法,但不能直接在軌應(yīng)用,存在單粒子翻轉(zhuǎn)可能。薛志遠(yuǎn)等[5]針對C6678多核的特點(diǎn),提出了一種基于多核Bootloader的設(shè)計(jì)方法,側(cè)重于多核程序生成和Bootloader自啟動。而本文針對多核DSP的衛(wèi)星應(yīng)用環(huán)境,從系統(tǒng)的角度出發(fā),解決空間單粒子翻轉(zhuǎn)問題,實(shí)現(xiàn)多核DSP在軌高可靠加載。

      本文詳細(xì)研究TMS320C6678的加載模式和流程,并提出基于EMIF16的Nor Flash高可靠異構(gòu)加載方式,實(shí)現(xiàn)程序Bootloader上電啟動和任意時(shí)刻重啟動。經(jīng)測試驗(yàn)證,TMS320C6678能夠穩(wěn)定可靠運(yùn)行。該方法支持在軌可重構(gòu),加載不同的DSP軟件處理不同功能,實(shí)現(xiàn)軟件定義衛(wèi)星。

      1 C6678加載方式

      BOOT過程就是DSP的自動加載啟動過程,在上電或復(fù)位后,根據(jù)設(shè)定的不同的加載模式,將可執(zhí)行代碼自動加載到內(nèi)存中,并正確運(yùn)行程序的過程[6]??蓤?zhí)行代碼可以存放在外部的非易失存儲器中(如I2C PROM、SPI FLASH等),也可以存放在外部設(shè)備中,由通用接口(如SRIO、PCIe、HyperLink等)加載。DSP通過內(nèi)部集成的自動加載器(rom boot loader,RBL)來實(shí)現(xiàn)BOOT過程,默認(rèn)RBL只執(zhí)行核0(主核)[7]。

      RBL就是固化在DSP內(nèi)部ROM中的軟件程序代碼,DSP在上電或復(fù)位后,由RBL負(fù)責(zé)自動加載/接收(外部或存儲器)傳送的應(yīng)用程序代碼,并跳轉(zhuǎn)到入口地址運(yùn)行程序。在C6678中,RBL存放在0x02B00000~0x02B1FFFF的128 KB空間內(nèi)[8]。

      C6678啟動有兩種方式:主機(jī)啟動、存儲器啟動。主機(jī)啟動也叫從模式,通過其他處理器向DSP寫入代碼,完成加載。包括網(wǎng)口、RapidIO、PCIe等[9]。存儲器啟動也叫主模式,DSP主動從外部存儲器中存放的代碼搬到其內(nèi)部高速存儲器并且運(yùn)行。一般通過外掛在EMIF16或I2C總線接口的FLASH完成。由于C6678的配置程序較大,帶I2C接口的FLASH容量較小,不滿足大工程應(yīng)用。因此本文采用的存儲器啟動使用EMIF16接口方式加載[10]。

      DSP的加載啟動模式通過外部的13個(gè)引腳BOOTMODE[12∶0]/GPIO[13∶1]復(fù)位時(shí)的硬件狀態(tài)來選擇[11]。BOOTMODE配置引腳中,BOOTMODE[2∶0]用于選擇啟動模式,BOOTMODE[12∶3]是根據(jù)設(shè)定的啟動模式,初始化相應(yīng)的配置參數(shù)和寄存器[12]。BOOTMODE引腳對應(yīng)不同的加載方式,啟動加載器的模式配置如表1所列。

      表1 C6678 BOOTMODE引腳對應(yīng)的加載方式

      2 硬件設(shè)計(jì)

      EMIF16 Nor Flash模式是不用上位機(jī)參與、相對簡單、獨(dú)立成系統(tǒng),本系統(tǒng)采用此方式。EMIF16接口接FPGA,F(xiàn)PGA外掛Nor Flash。C6678的加載通過FPGA配合完成,C6678的程序存放在可靠性更高的Nor Flash中,并外掛在FPGA上。對應(yīng)的電路原理如圖1所示。

      圖1 C6678加載的硬件原理Fig.1 Hardware principle of C6678 loading

      與常用的DSP加載設(shè)計(jì)不同,本論文創(chuàng)造性提出DSP的EMIF接口與FPGA相連,F(xiàn)PGA與Nor Flash相連,通過軟硬件結(jié)合的方式,提高DSP程序可靠性。系統(tǒng)上電后先完成FPGA的配置加載,待FPGA加載成功后啟動DSP復(fù)位,并將EMIF接口與Nor Flash接口連通,讓DSP通過EMIF接口從Nor Flash中自動讀取DSP加載文件,實(shí)現(xiàn)DSP的自動加載。這樣做的好處主要有兩個(gè),一是實(shí)現(xiàn)DSP程序在軌重構(gòu)功能;二是在空閑時(shí)可以對存放在Nor Flash內(nèi)部的DSP程序進(jìn)行RS編譯碼,針對空間單粒子打翻的Nor Flash程序進(jìn)行糾檢錯,并將譯碼后的結(jié)果重新寫入Nor Flash中,防止DSP程序SEU造成衛(wèi)星功能失效。

      Nor Flash內(nèi)部分為多個(gè)區(qū),主要存放DSP程序和智能處理DEM參數(shù),本文主要介紹DSP程序。存放DSP程序分為功能1區(qū)、功能2區(qū)、上注1區(qū)和上注2區(qū)。其中上電后系統(tǒng)自動加載功能1區(qū),通過指令可以切換加載功能2區(qū)或上注1區(qū)、上注2區(qū),上注1區(qū)和上注2區(qū)用于在軌重構(gòu),4個(gè)區(qū)的程序均可以在軌更新。

      FPGA加載成功后狀態(tài)機(jī)開始工作,步驟如下:

      1)先產(chǎn)生一個(gè)全局復(fù)位信號,對V7程序內(nèi)所有需要復(fù)位的狀態(tài)寄存器賦予初值;

      2)全局復(fù)位結(jié)束后,進(jìn)入對DSP復(fù)位初始化狀態(tài),產(chǎn)生DSP所需的POR、RESETFULL復(fù)位信號,使DSP完成全局復(fù)位;

      3)初始化結(jié)束后,V7程序進(jìn)入配合DSP加載的狀態(tài),將Nor Flash接口的操作權(quán)交給DSP的EMIF接口,同時(shí)等待DSP加載成功的反饋信號(檢測GPIO9和GPIO10信號);

      4)DSP加載成功后,進(jìn)入配合DSP的DEM參數(shù)讀取狀態(tài);

      5)DEM讀取結(jié)束后,進(jìn)入IDLE狀態(tài),從DSP的EMIF接口中收回Nor Flash操控權(quán),等待來自下位機(jī)的Nor Flash操作指令,根據(jù)指令對其進(jìn)行讀、寫、擦操作(RS編譯碼、回寫)。

      FPGA控制DSP加載狀態(tài)機(jī)跳轉(zhuǎn)時(shí)序如圖2所示。

      圖2 DSP加載狀態(tài)機(jī)Fig.2 DSP loading state machine

      3 程序設(shè)計(jì)

      C6678為JTAG連接提供了專門的綠色通道,不管采用何種BOOT方式,當(dāng)仿真器連上時(shí)會自動Reset并從仿真器下載初始化代碼,即JTAG優(yōu)先級最高。調(diào)試C6678需要用到兩個(gè)主要的配置文件,一個(gè)仿真器配置文件ccxml和一個(gè)gel文件。其中ccxml是用來對仿真器和板參數(shù)進(jìn)行定義,當(dāng)連上仿真器并connect后可以確定JTAG掃鏈成功。gel文件包含基本的調(diào)試函數(shù)和Bootloader文件,用于仿真開發(fā)的初始化文件。在器件Reset后需要對硬件地址進(jìn)行確認(rèn)并完成內(nèi)存的初始化,不同的電路板對應(yīng)的gel文件不同,需要根據(jù)需求對其進(jìn)行參數(shù)修改。

      程序讀入前要根據(jù)不同的BOOT方式進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換工具是將各核的.out文件轉(zhuǎn)換成.dat文件,主核BOOT之后再引導(dǎo)其他的從核。

      C6678啟動軟件包括核0(也稱為主核)和其他7核的啟動。一般由主核啟動成功后,主核運(yùn)行應(yīng)用程序,對其他核依次寫入程序代碼,然后依次中斷其他核,讓其啟動。多核的啟動流程如圖3所示。

      圖3 軟件處理流程Fig.3 Software processing flow

      主核和其他核同時(shí)啟動,在啟動過程中,主核需完成向其他核寫程序代碼和中斷其他核這兩項(xiàng)工作,其中,主核向其他核寫入程序代碼涉及核間通信。C6678的每個(gè)核都有單獨(dú)的RAM空間,這些RAM空間也可以被其他核讀寫。需要注意的是兩個(gè)核或者多個(gè)核不能同時(shí)讀寫同一個(gè)地址空間,會導(dǎo)致數(shù)據(jù)讀寫錯誤。為了避免這個(gè)問題,其他核在上電后,將一直處于IDLE狀態(tài),IDLE狀態(tài)下不會對外設(shè)和片內(nèi)RAM資源進(jìn)行操作。主核對其他所有核依次寫入程序代碼,在主核對所有其他核完成代碼寫入后,主核依次快速地給其他核發(fā)出IPC中斷,其他核就逐一被啟動。主核給其他核按照先后順序發(fā)IPC中斷,在這個(gè)很小的時(shí)間差內(nèi),首先被啟動的核不能讀寫另外核的RAM空間。因此其他核的程序代碼有一個(gè)延遲程序,該延遲程序執(zhí)行后,主核即可完成對其他核的啟動工作。

      4 驗(yàn)證結(jié)果

      本文設(shè)計(jì)的DSP程序大小為512 KB,8個(gè)核總共大小為512 KB×8。選取的RS編譯碼為RS(144,128),上注的DSP程序經(jīng)過RS編碼后的數(shù)據(jù)量為512 KB×8×144÷128=4 608 KB,其中原始程序?yàn)? 096 KB,校驗(yàn)碼為512 KB。每套DSP程序在Nor Flash中存放分布如圖4所示。

      圖4 DSP程序在Nor Flash存放分布Fig.4 Storage and distribution of DSP programs in Nor Flash

      為了驗(yàn)證本文提出的多核DSP加載方式,模擬衛(wèi)星在軌SEU效果,對寫入Nor Flash的DSP程序改寫不同位置的數(shù)據(jù)(包括校驗(yàn)碼),模擬空間單粒子翻轉(zhuǎn),上電自動啟動失敗。同時(shí)發(fā)送FPGA復(fù)位進(jìn)行DSP重加載,仍然啟動失敗。隨后發(fā)送FPGA編譯碼指令,對Nor Flash內(nèi)部存放的DSP程序進(jìn)行RS編譯碼后回寫,斷電后重啟,DSP上電啟動成功,同時(shí)發(fā)送FPGA復(fù)位指令加載DSP,DSP重加載成功。如圖5所示,GPIO_reg1[9]和GPIO_reg1[10]分別表示核1和核2成功返回的遙測(協(xié)議規(guī)定DSP啟動成功后通過GPIO管腳向FPGA間隔發(fā)送0、1數(shù)據(jù))。

      圖5 DSP加載成功結(jié)果Fig.5 DSP load successful result

      5 結(jié)論

      本文提出的基于TMS320C6678多核DSP 中EMIF16主模式加載方式,介紹了C6678的加載模式和流程;給出了EMIF16 Nor Flash加載硬件設(shè)計(jì)原理和具體的軟件設(shè)計(jì)流程,以及具體的實(shí)現(xiàn)步驟。最后,在基于高性能的FPGA+DSP板卡上給出C6678的EMIF16自啟動試驗(yàn)結(jié)果,驗(yàn)證了方案的可行性。本文將存放DSP程序的Nor Flash外掛到FPGA上,實(shí)現(xiàn)在軌可重構(gòu)功能,同時(shí)利用空閑時(shí)間對Nor Flash中DSP程序進(jìn)行RS編譯碼回寫,實(shí)現(xiàn)多核DSP加載的高可靠性,具有重要的應(yīng)用價(jià)值。

      猜你喜歡
      程序代碼仿真器存儲器
      靜態(tài)隨機(jī)存儲器在軌自檢算法
      計(jì)算機(jī)網(wǎng)絡(luò)信息安全未來發(fā)展趨勢
      基于圖元裝接模式由程序流程圖自動生成源代碼
      軟件工程(2016年11期)2017-01-17 16:56:57
      基于多線程的慣導(dǎo)邏輯仿真器設(shè)計(jì)
      存儲器——安格爾(墨西哥)▲
      基于Nand Flash的高速存儲器結(jié)構(gòu)設(shè)計(jì)
      天文測量仿真器模擬星圖精度分析
      并行片上網(wǎng)絡(luò)仿真器ParaNSim的設(shè)計(jì)及性能分析
      基于32位SPARC處理器的JTAG仿真器設(shè)計(jì)與實(shí)現(xiàn)
      嵌入式系統(tǒng)中程序的優(yōu)化策略
      新媒體研究(2009年4期)2009-03-14 06:59:48
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      伊金霍洛旗| 周至县| 广宗县| 饶河县| 逊克县| 福清市| 长泰县| 娱乐| 任丘市| 望城县| 梓潼县| 正阳县| 永顺县| 浦城县| 防城港市| 安阳市| 小金县| 静乐县| 泽州县| 禄丰县| 苏尼特右旗| 静安区| 黄骅市| 菏泽市| 肃南| 班玛县| 改则县| 石阡县| 轮台县| 江油市| 平武县| 石门县| 美姑县| 洪泽县| 石家庄市| 和田县| 哈巴河县| 水城县| 揭阳市| 边坝县| 商城县|