国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

抗輻射MRAM的外部程序存儲器設(shè)計

2017-04-25 06:04:25謝妮慧王淳何海燕
關(guān)鍵詞:仿真器二進制存儲器

謝妮慧,王淳,何海燕

(北京空間機電研究所,北京 100094)

抗輻射MRAM的外部程序存儲器設(shè)計

謝妮慧,王淳,何海燕

(北京空間機電研究所,北京 100094)

本文提出了一種基于MRAM的外部程序存儲器設(shè)計方案,并以3D-PLUS公司的MRAM芯片3DMR2M16VS2427為例介紹了一種不需要進行文件格式的轉(zhuǎn)換,采用通用擴展語言(GEL,General Extension Language)函數(shù)編制在線編程程序,通過DSP仿真器實現(xiàn)的外部存儲器在線編程方法。

MRAM;GEL;在線編程;仿真器;CCS

引 言

以高性能DSP為核心的電子電路被廣泛應(yīng)用于空間飛行器的控制管理和數(shù)據(jù)處理中。為了方便對程序進行升級和維護,保證系統(tǒng)掉電時指令、數(shù)據(jù)不丟失,一般都將DSP應(yīng)用程序存儲于外部非易失性存儲器芯片中,在系統(tǒng)上電或者復(fù)位時將存儲在外部存儲器芯片中的應(yīng)用程序搬移到DSP片內(nèi)或者片外的RAM中全速運行。這種搬移的過程稱為“自舉加載”,由DSP內(nèi)部程序自動實現(xiàn)[1-2]。由于空間飛行環(huán)境的復(fù)雜性,要求空間飛行器集成電路中芯片具有抗輻照能力強、使用壽命長、正常工作的溫度范圍大等特點,對于程序存儲設(shè)備,還要求其具備容量大、讀取速度快、功耗低、可靠性高等特點[3-6]。

MRAM(Magneto Resistive Random Access Memory,磁阻式隨機存取存儲器)是一種以磁電阻性質(zhì)來存儲數(shù)據(jù)的隨機存儲器。與傳統(tǒng)的存儲器相比,MRAM具有非揮發(fā)性、隨機存儲、高讀寫速度、耗電量低、最小芯片面積、可以無限擦寫等各種優(yōu)良特性,被認為是電子設(shè)備中的理想存儲器[7]。而且磁體本質(zhì)上是抗輻射的,抗輻射能力遠較半導(dǎo)體材料強,使得MRAM具有極高的可靠性,尤其適用于空間飛行器電子電路中。

對外部存儲器的編程(又稱“燒寫”)包括編程器燒寫和在線燒寫兩種方法。編程器燒寫是指通過專門的編程器將存儲器可以識別的文件格式燒寫到外部存儲器芯片中;在線燒寫是指在TI公司DSP產(chǎn)品開發(fā)的集成開發(fā)環(huán)境CCS(Code Composer Studio)中,采用仿真器通過JTAG總線將程序燒入到片外部的存儲器芯片中。編程器燒寫較容易實現(xiàn),但只適用于非直接焊于電路板上的外部存儲器芯片,而在線燒寫需要編制及調(diào)試在線燒寫程序,但適用于任何封裝的外部存儲器芯片,由于其靈活的在線可編程性,被廣泛使用[8-10]。

由于CCS編譯鏈接之后生成的.out文件格式不能直接用于外部存儲器的燒寫,以往的外部存儲器在線燒寫方法都需要對.out文件進行格式的轉(zhuǎn)換,過程非常繁瑣。GEL(General Extension Language,通用擴展語言)是一種類似于C語言的解釋性語言,可用于創(chuàng)建GEL函數(shù)以擴展CCS的功能。本文介紹了一種不需要進行文件格式的轉(zhuǎn)換,采用GEL語言編制在線燒寫程序,通過DSP仿真器實現(xiàn)外部存儲器在線編程的方法。

1 系統(tǒng)概述

系統(tǒng)采用的是浮點型宇航級數(shù)字信號處理器SMV320C6701GLPW14(以下簡稱C6701DSP),其外圍電路包括:低壓差穩(wěn)壓器、晶振、上電復(fù)位電路以及看門狗電路等。CE1空間作為DSP的程序空間,C6701在上電過程中,會通過DMA從CE1空間的外部程序存儲器中復(fù)制64K×8bit的數(shù)據(jù)到地址0處的C6701內(nèi)部存儲器,然后從0地址處開始執(zhí)行[10]。外部程序存儲器芯片選用了3D-PLUS公司的128K×16bit的MRAM芯片3DMR2M16VS2427。采用集成可視化開發(fā)環(huán)境CCS作為開發(fā)環(huán)境,DSP與16位MRAM芯片的接口示意圖如圖1所示。

圖1 DSP與16位MRAM芯片的接口示意圖

1.1 DSP與MRAM簡介

C6000系列DSP是1997年美國TI公司推出的DSP芯片,其中SMV320C67xx系列是32位浮點型DSP,該芯片的內(nèi)部結(jié)構(gòu)增加了浮點運算能力,內(nèi)部集成了多個功能單元,可同時執(zhí)行8條指令,運算能力可達1 GFLOPS(單精度運算)和250 MFLOPS(雙精度運算);此外,還集成了大容量的片內(nèi)存儲器和大范圍的片外存儲器尋址接口以及豐富的智能外設(shè)。除了強大的硬件功能外,芯片開發(fā)的軟件支持也是一大特色,配備高效C編譯器,可達到匯編效率的70%~80%,因此,絕大部分程序可以使用C語言來編寫,增強了程序的可移植性。

磁阻式隨機存取存儲器MRAM是一種以磁電阻性質(zhì)來存儲數(shù)據(jù)的隨機存儲器,它采用磁化的方向不同所導(dǎo)致的磁電阻不同來記錄0和1,只要外部磁場不改變,磁化的方向就不會改變。與大部分半導(dǎo)體存儲器存儲技術(shù)不同的是,MRAM中的數(shù)據(jù)以一種磁性狀態(tài)而非電荷存儲,并且通過測量電阻來感應(yīng),不會干擾磁性狀態(tài)。采用磁性狀態(tài)存儲有兩個主要的優(yōu)點:①磁場極性不像電荷那樣會隨著時間而泄漏,因此即使在斷電的情況下,也能保持信息(即非易失性);②在兩種狀態(tài)之間轉(zhuǎn)換磁場極性時,不會發(fā)生電子和原子的實際移動,讀取數(shù)據(jù)的操作過程并不破壞存儲單元的磁化狀態(tài),這樣也就不會有所謂的失效機制(即非破壞性讀取)[11]。

由于在自由磁體層中來回切換的運動是電子的自旋,而電子本身永遠不會磨損,因此具有承受無限多次讀寫循環(huán)的能力,而且磁體本質(zhì)上是抗輻射的,因此抗輻射能力遠較半導(dǎo)體材料強,使得MRAM具有極高的可靠性,特別適合工作于空間復(fù)雜的環(huán)境。MRAM易于集成,能夠方便地嵌入到系統(tǒng)中。另外,穿隧型MTJ的電阻較高,只需要很小的讀取電流就可以得到相當大的輸出功率。MRAM集結(jié)了快閃存儲器(FLASH)的非揮發(fā)性,靜態(tài)隨機存取存儲器(SRAM)的快速讀取速度和低耗電量,動態(tài)隨機存取存儲器(DRAM)的無限次寫入,同時更具有永久記憶、密度高及非破壞性讀取等特點。

國內(nèi)用于空間飛行器數(shù)字電路中的外部非易失性存儲器主要包括FLASH、PROM、EPROM和EEPROM等,性能比較如表1所列。

表1 各種存儲器性能比較

本文選用了3D-PLUS公司的MRAM芯片3DMR2M16VS2427作為外部程序存儲器,它具有體積小、性能高、功耗低的優(yōu)點,并具有較好的抗輻照指標,以及較高的容量、高集成度等特點,適合于高可靠性的航天工程應(yīng)用。

1.2 GEL語言特點及其應(yīng)用

GEL通用擴展語言是一種類似于C語言的解釋性語言,被廣泛應(yīng)用于調(diào)試及程序運行環(huán)境的定制。TI公司DSP產(chǎn)品開發(fā)的集成開發(fā)環(huán)境CCS提供了豐富的內(nèi)建GEL函數(shù)庫,可以用來擴展CCS的功能。CCS集成開發(fā)環(huán)境的菜單條中還專門提供了GEL菜單項供用戶進行功能擴展。以GEL函數(shù)庫及用戶自定義函數(shù)為基礎(chǔ),用戶可以初始化、控制目標DSP,向CCS集成開發(fā)環(huán)境中增加菜單項,創(chuàng)建隨CCS啟動自動運行的GEL文件,建立目標的存儲器空間映射關(guān)系;此外,還可以定制CCS的工作空間,實現(xiàn)測試任務(wù)的自動化;也能在CCS內(nèi)的觀察窗中加入GEL函數(shù),使其在程序的每個斷點處得到執(zhí)行[12-13]。

2 MRAM的在線燒寫

2.1 MRAM(外部存儲器)燒寫方法

對外部存儲器的燒寫包括編程器燒寫和在線燒寫兩種方法。本文提出了一種在線燒寫的方法將DSP應(yīng)用程序固化到外部MRAM中。CCS編譯鏈接之后生成的.out文件可用于燒寫,但是.out文件格式為通用對象文件格式COFF(Common Object File Format)。COFF是二進制的目標文件形式,該文件提供了靈活的方法管理代碼段和目標系統(tǒng)存儲器。在COFF格式下,程序被分成程序段、初始化數(shù)據(jù)段、未初始化數(shù)據(jù)段、自定義段等,每段都占據(jù)連續(xù)的存儲空間,段與段之間相互獨立。除此之外,COFF文件還包含有版本、段的數(shù)量、段的長度和起始地址等一些額外的信息。但是COFF格式文件不能直接寫入外部存儲器,因為外部存儲器中應(yīng)當保存的是原始的DSP機器碼,即DSP應(yīng)用程序的二進制文件,所以要首先實現(xiàn)文件格式的轉(zhuǎn)換。

常用的文件格式轉(zhuǎn)換有兩種方法:一是手動提取COFF文件中的原始數(shù)據(jù)部分,這種方法比較復(fù)雜,但是有助于理解.cmd文件的編寫原理以及鏈接器的工作過程;二是借助CCS自帶的工具將生成的.out文件轉(zhuǎn)換為.hex格式文件,然后利用專門的燒寫工具將.hex格式文件寫入到片外存儲器中。

圖2 在線燒寫流程

以上兩種方法都需要進行文件格式的轉(zhuǎn)換,且過程繁瑣。雖然.out文件不能直接用于片外MRAM燒寫,但CCS具有存儲器內(nèi)的數(shù)據(jù)保存和加載功能。利用CCS開發(fā)工具將用戶程序編譯鏈接后生成的.out文件通過JTAG仿真器下載到DSP內(nèi)部的RAM中,用戶程序在DSP內(nèi)部RAM中就是以二進制的格式存儲的機器碼,然后將二進制機器指令數(shù)據(jù)保存起來,它可以直接通過在線編程的方法燒寫到片外的MRAM中去,這樣就不必進行.out格式文件的轉(zhuǎn)換,可方便容易地完成片外MRAM直接燒寫。具體實現(xiàn)流程如圖2所示。

2.2 二進制文件的提取

(1) 保存二進制文件

通過CCS編譯連接之后生成的.out文件通過仿真器加載到DSP內(nèi)部存儲器之后,將內(nèi)部存儲器中的二進制機器指令數(shù)據(jù)保存起來,具體操作為File->Dada->Save,數(shù)據(jù)存儲格式為.dat文件格式。我們可以通過目標工程文件夾中的.map文件查看該程序代碼占用了哪些存儲區(qū)域,然后存儲略大于實際使用長度的一段數(shù)據(jù),如圖3所示。

圖3 .map文件

(2) 二進制文件的分割

內(nèi)部存儲器中的二進制機器指令數(shù)據(jù)的字長為32位,而本文外部MRAM的寬度為16位,因此需要將保存的32位.dat文件轉(zhuǎn)換為16位的.dat文件。注意外部存儲器的存儲順序為先存32位數(shù)據(jù)的低16位,然后再存高16位。dat文件如圖4、圖5所示,左邊為保存的內(nèi)部存儲器中的二進制機器指令數(shù)據(jù),右圖為實現(xiàn)文件分割之后的二進制文件。

圖4 原32位.dat文件

圖5 16位.dat文件

.dat文件的分割采用編寫MATLAB程序進行分割,具體的分割程序為:

fid=fopen(′old32.dat′,′r′);//用只讀方式打開32位的dat文件

fseek(fid,0,′eof′);//將指針移到文件的最后一個字符

filesize=ftell(fid);//文件的長度

fseek(fid,0,′bof′);//將指針移到文件的第一個字符

c=fread(fid,filesize,′uint8=>uint8′);

//讀取dat文件,將字符放在數(shù)組c中

c0=c′;

for i=1:1:filesize;

e(i)=c0(i);

end;

e(filesize+1)=13;

e(filesize+2)=10;

row0=ceil((filesize+1)/12);

row=2*row0;

//16位dat文件的行數(shù)是原32位dat文件行數(shù)的兩倍

for i=1:1:row;

if(mod(i,2)==0)//偶數(shù)行的字符

for j=1:1:6;

d(i*8-8+j)=e((i/2-1)*12+j);

end;

d(i*8-8+7)=13;

d(i*8-8+8)=10;

end;

if(mod(i,2)==1)//奇數(shù)行的字符

for j=3:1:8;

d(i*8-8+j)=e(fix(i/2)*12+j+4);

end;

d(i*8-8+1)=48;

d(i*8-8+2)=120;

end;

end;

fid1=fopen('new16.dat','w');//用只寫的方式打開一個新的文件

count=fwrite(fid1,d,'uchar');

//將數(shù)組d以字符的形式寫入新的文件

2.3 燒寫程序的編寫

(1) GEL文件的編寫

編寫在線燒寫程序的目的就是為了將前面保存的二進制機器碼寫到外部存儲器MRAM中去。通過編寫.GEL文件在GEL菜單下增加外部存儲器的擦除、燒寫等子菜單項來實現(xiàn)外部MRAM的燒寫等功能。關(guān)鍵詞menuitem創(chuàng)建一級子菜單,hotnenu、dialog和slider三個GEL關(guān)鍵詞創(chuàng)建二級子菜單。其中hotnenu用來實現(xiàn)一個可以立即執(zhí)行的GEL函數(shù),dialog用來產(chǎn)生一個可以輸入?yún)?shù)的對話框,slider則用來產(chǎn)生一個滑動條,通過滑動條改變相應(yīng)GEL函數(shù)的參數(shù)值。

在CCS編譯環(huán)境下新建MRAM.gel文件,首先在GEL菜單下建立“MRAM”菜單選項,然后建立MRAM菜單的下一級子菜單 “WriteMRAM”?!癢riteMRAM”包含CoffName和Length兩個參數(shù),CoffName為燒寫的可執(zhí)行應(yīng)用程序二進制文件,Length為文件的長度,分別以對話框的形式輸入。MRAM.gel文件中程序如下所示:

menuitem"MRAM";//建立MRAM菜單

dialog WriteMRAM(CoffName "COFF文件:",Length "數(shù)據(jù)長度:") //子菜單{

GEL_Reset();

GEL_TextOut("Flash Write Starting... ",,1);

GEL_MemoryLoad(0x01400000, 0, Length, CoffName);

//從地址0x01400000開始寫入文件

GEL_TextOut("Flash Write Finished123 ",,1);

GEL_TextOut("Flash Write Finished ",,1);

}

(2) MRAM的在線燒寫

將編寫完成的GEL文件加載到CCS,具體操作為在CCS工具的左側(cè)菜單下,選中GEL files,右鍵Load GEL,加載編寫好的GEL文件,此時GEL菜單項即被激活。然后點擊GEL菜單下的子菜單:MRAM燒寫,輸入保存并分割好的.dat文件路徑,輸入文件長度,點擊Execute,等待CCS窗口最下方出現(xiàn)“Flash Write Finished”字樣時,即完成了DSP應(yīng)用程序的在線燒寫全過程。

基于本文所用到的實驗板,在MRAM燒寫完成之后,將DSP設(shè)置為外部MRAM啟動模式,再重新上電運行。通過完整的功能測試、性能測試以及接口測試,發(fā)現(xiàn)一切均為仿真器情況下的執(zhí)行效果,表明該MRAM已燒寫加載成功,證明了該在線編程方法是切實可行的。

結(jié) 語

MRAM由于其特殊的結(jié)構(gòu)特點,使其具有非揮發(fā)性、無限次可擦寫、體積小、性能高、功耗低的優(yōu)點,并具有較好的抗輻照指標,以及較高的容量,適合于高集成度、高可靠性的航天工程應(yīng)用。傳統(tǒng)的外部程序存儲器在線燒寫方法都需要進行文件格式的轉(zhuǎn)換,過程繁瑣。本文以3D-PLUS公司的MRAM芯片3DMR2M16VS2427為例介紹了一種不需要進行文件格式的轉(zhuǎn)換,直接將編譯鏈接之后加載到仿真器中的可執(zhí)行機器二進制碼保存,然后采用GEL函數(shù)編制在線燒寫程序,將可執(zhí)行二進制機器碼燒寫到外部存儲器的方法。通過實驗驗證,該方法是切實可行的,而且操作簡單方便。該方法同樣可用于其他種類的外部程序存儲器(例如FLASH、EPROM和EEPROM等)的在線燒寫。

[1] 左顥睿.C6000系列DSP Flash二次加載技術(shù)研究[J].單片機與嵌入式系統(tǒng)應(yīng)用,2011(7):65-68.

[2] 崔旭濤,楊日杰,何友.TMS320 C6701 DSP的程序引導(dǎo)方法及編程實現(xiàn)[J].電字工程師,2006,32(9):36-39.

[3] 沈自才,閆德葵.空間輻射環(huán)境工程的現(xiàn)狀及發(fā)展趨勢[J].航天器環(huán)境工程,2014,31(3):229-240.

[4] 李波,張旭輝.空問光學遙感器天然輻射效應(yīng)數(shù)據(jù)庫研究[J].航天返回與遙感,2005,26(4):37-42.

[5] 黃偉,劉濤,王華,等. SRAM 型FPGA的單粒子效應(yīng)及TMR設(shè)計加固[J].航天返回與遙感,2014,33(2):49-53.

[6] 董建婷,張旭輝.光學遙感器光電信號處理系統(tǒng)的空問輻射效應(yīng)研究[J].航天返回與遙感,2009,30(4):57-62.

[7] 雷馨.磁阻式隨機存儲器MRAM在片上高速緩存方面的應(yīng)用[J].重慶科技學院學報:自然科學版,2010,12(5):164-167.

[8] 夏金橋,周文濤,曾勇超.TMS320C6701自動加載及程序燒寫的簡化設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2014(10):18-21.

[9] 孫秋生,陳尚峰.基于CCS的DSP片外Flash直接燒寫設(shè)計[J].電子設(shè)計工程,2009,17(1):93-95.

[10] 白漢斌,劉峰,張明敏.基于TMS320C6000系列DSP的Flash編程方法[J].電子測量技術(shù),2006,29(6):107-109.

[11] 吳曉薇,郭子政.磁阻隨機存取存儲器(MRAM)的原理與研究進展[J].信息記錄材料,2009,10(2):52-57.

[12] 劉玉超.GEL語言及其在信號處理系統(tǒng)中的應(yīng)用[J].信息化研究,2009,35(3):50-52.

[13] 王海濤,張文明,王濱.基于C語言和GEL語言的FIash編程新方法[J].單片機與嵌入式系統(tǒng)應(yīng)用:2007(8):22-24.

結(jié) 語

本文以實際工程案例為依托,針對FPGA驅(qū)動TFT-LCD液晶屏進行介紹,首先介紹了液晶屏主要控制信號功能,然后結(jié)合FPGA與液晶屏之間的80并口的時序進行屏幕顯示功能控制分析,最后介紹了實際工程的軟件實

現(xiàn),以及工程實施過程中的問題解決方案,具有一定的實際意義。

參考文獻

[1] 張志霞,苑璐,郭帥.基于單片機控制的液晶彩屏TFT顯示原理及應(yīng)用[J].技術(shù)與應(yīng)用,2014,33(9):33-37.

[2] 田民波,葉鋒.TFT液晶顯示原理與技術(shù)[M].北京:科學出版社,2010.

宋云霞(助理工程師),研究方向為航天數(shù)字電路設(shè)計。

(責任編輯:楊迪娜 收稿日期:2016-11-04)

External Memory Design Based on Against-radiation MRAM

Xie Nihui,Wang Chun,He Haiyan

(Beijing Institute of Space Mechanics&Electricity,Beijing 100094,China)

In this paper,an external program memory design scheme based on MRAM is proposed,and taking the MRAM chip 3DMR2M16VS2427 of 3D-PLUS as the example,the external memory online programming method through the DSP simulator is introduced,which does not need file format conversion,uses the General Extension Language(GEL) function programming online program.

MRAM;GEL;online programming;simulator;CCS

TP211

A

迪娜

2016-11-30)

猜你喜歡
仿真器二進制存儲器
用二進制解一道高中數(shù)學聯(lián)賽數(shù)論題
靜態(tài)隨機存儲器在軌自檢算法
有趣的進度
二進制在競賽題中的應(yīng)用
基于多線程的慣導(dǎo)邏輯仿真器設(shè)計
計算機工程(2015年4期)2015-07-05 08:28:57
存儲器——安格爾(墨西哥)▲
基于Nand Flash的高速存儲器結(jié)構(gòu)設(shè)計
天文測量仿真器模擬星圖精度分析
并行片上網(wǎng)絡(luò)仿真器ParaNSim的設(shè)計及性能分析
一個生成組合的新算法
福贡县| 遂昌县| 茌平县| 荔波县| 平湖市| 巴南区| 绥化市| 华宁县| 兰溪市| 城市| 江陵县| 深州市| 淅川县| 长治县| 依兰县| 双牌县| 无棣县| 灵璧县| 延寿县| 湘西| 新巴尔虎左旗| 荔波县| 黑山县| 高陵县| 郴州市| 新蔡县| 龙山县| 黄骅市| 旺苍县| 滦平县| 亳州市| 永州市| 嘉峪关市| 长沙市| 乌兰察布市| 永登县| 吴桥县| 香港| 屯昌县| 古丈县| 宁安市|