鐵電存儲器FM18L08在DSP系統(tǒng)中的應(yīng)用
作者Email: zk197911@yahoo.com.cn [摘 要] 介紹了一種新型鐵電存儲器FM18L08,同時還分析了TMS320VC5402 DSP的并行引導(dǎo)裝載模式,給出了一種基于鐵電存儲器FM18L08的DSP脫機獨立運行系統(tǒng)的設(shè)計方案,并且該方案已成功的應(yīng)用到一種語音門鎖系統(tǒng)中。 [關(guān)鍵詞] DSP;鐵電存儲器;并行引導(dǎo)裝載模式 1 引 言 鐵電存儲器(FRAM)是Ramtron公司近年推出的一款掉電不揮發(fā)存儲器,它結(jié)合了高性能和低功耗操作,能在沒有電源的情況下保存數(shù)據(jù)。FRAM克服了EEPROM和FLASH寫入時間長、擦寫次數(shù)低的缺點,其價格又比相同容量的不揮發(fā)鋰電SRAM低很多,已在地鐵系統(tǒng)、抄表系統(tǒng)及IT工業(yè)中得到了廣泛的應(yīng)用。 TMS320VC5402(以下簡稱C5402)是美國德州儀器公司(TI)推出的一款性價比極高的16bit定點數(shù)字信號處理器(DSP),操作速率可達100MIPS,它豐富的內(nèi)部資源配置為用戶構(gòu)造系統(tǒng)提供了很大便利,已經(jīng)在通信、電子、圖象處理等領(lǐng)域得到了廣泛的應(yīng)用。但是,C5402是RAM型器件,掉電后不能保持任何用戶信息,所以需要用戶把程序代碼放在不揮發(fā)的存儲器內(nèi),在系統(tǒng)上電時,通過執(zhí)行自行引導(dǎo)裝載(Bootloader)程序?qū)⒋鎯υ谕獠棵浇橹械拇a裝載到C5402高速的片內(nèi)存儲器或系統(tǒng)中的擴展存儲器內(nèi),裝載成功后自動去執(zhí)行代碼,完成自啟動。 2 FM18L08 FRAM的特點 Ramtron’s FRAM存儲器技術(shù)的核心是微小的鐵電晶體集成到記憶體單元,以至于它能象快速的不揮發(fā)RAM一樣操作。 當一個電場被加到鐵電晶體,中心原子順著電場的方向移動。 移去電場,中心原子保持不動,保存記憶體的狀態(tài), FRAM 記憶體不需要定期刷新,掉電后立即保存數(shù)據(jù)。 FM18L08是Ramtron公司近年推出的一款存儲容量為32k╳8bits FRAM,其主要特點如下:3.0-3.65V單電源供電;并行接口;提供SOIC和DIP兩種封裝;功耗低,靜態(tài)電流小于15uA,讀寫電流小于10mA;非揮發(fā)性,掉電后數(shù)據(jù)能保存10年;讀寫無限次。 FM18L08引腳結(jié)構(gòu)如圖1: 3 C5402并行引導(dǎo)裝載模式設(shè)計 3.1 C5402系統(tǒng)的程序引導(dǎo)裝載模式類型: C5402提供以下幾種引導(dǎo)裝載模式類型: ① HPI(主機接口)引導(dǎo)裝載模式 欲執(zhí)行的程序代碼通過主機接口總線由外部處理器加載至DSP片內(nèi)存儲器中。當外部處理器將被加載代碼的起始地址(C5402片內(nèi)地址007FH)的內(nèi)容改變,便開始執(zhí)行引導(dǎo)裝載程序。 ② 8位/16位并行引導(dǎo)裝載模式 引導(dǎo)裝載程序通過外部并行接口總線讀取存放在外部數(shù)據(jù)存儲單元中的數(shù)據(jù)。外部數(shù)據(jù)單元中的數(shù)據(jù)是按照一定格式存儲的,其信息包括:欲加載的各段程序代碼、各段程序代碼長度、各段程序代碼存放的目標地址、程序代碼的入口地址以及其他配置信息。 ③ 8位/16位標準串行口引導(dǎo)裝載模式 引導(dǎo)裝載程序通過被設(shè)置為標準模式的多通道緩沖串口(McBSP)讀取存放在外部數(shù)據(jù)存儲單元中的數(shù)據(jù)。多通道緩沖串口1(McBSP1)支持8位串行接收方式,多通道緩沖串口0(McBSP0)支持16位串行接收方式。 ④ 8位串行EEPROM引導(dǎo)裝載模式 引導(dǎo)裝載程序通過一串聯(lián)的EEPROM讀取存放在外部數(shù)據(jù)存儲單元中的數(shù)據(jù)。在此種方式中,EEPROM與設(shè)置為SPI工作模式的McBSP1相連接。 ⑤I/O引導(dǎo)裝載模式 引導(dǎo)裝載程序通過外部并行接口總線地址為00H的I/O口讀取數(shù)據(jù)。該外部并口接口總線使用異步握手協(xié)議(使用C5402的XF和BIO引腳),使數(shù)據(jù)傳輸速度可按外部存儲器設(shè)備的要求執(zhí)行。 3.2 C5402并行引導(dǎo)裝載模式設(shè)計 對于以C5402為核心的數(shù)字信號處理系統(tǒng)來說,并行引導(dǎo)裝載模式被認為是最適用的。因為HPI引導(dǎo)裝載模式、標準串行口引導(dǎo)裝載模式和I/O口引導(dǎo)裝載模式只適用于由其它處理器為C5402提供運行代碼的多處理器系統(tǒng)中,串行EEPROM引導(dǎo)裝載模式只支持價格偏高的SPI端口EEPROM,而并行引導(dǎo)裝載模式可采用的并行EEPROM和Flash種類很多,有的價格比較低,操作起來比較簡單,因而并行引導(dǎo)加載方案是最佳選擇。 為使C5402能有效地把外擴FRAM中的程序引導(dǎo)到芯片內(nèi)RAM,需要編制一個引導(dǎo)表。引導(dǎo)表定位于數(shù)據(jù)空間的4000h~FFFFh段,引導(dǎo)表的內(nèi)容包含如下幾個方面:(1)引導(dǎo)方式的標識;(2)程序存放的目標首地址;(3)程序執(zhí)行的入口址址;(4)用戶程序代碼;(5)用戶程序塊長度。引導(dǎo)表結(jié)構(gòu)如表1所示。
表1并行引導(dǎo)裝載模式引導(dǎo)表 片內(nèi)ROM的引導(dǎo)程序首先讀取I/O空間的FFFFh地址內(nèi)容(指定為8000h)作為引導(dǎo)表的起始地址,通過判別引導(dǎo)表起始地址內(nèi)的引導(dǎo)標識來確定是8位并行還是16位并行引導(dǎo)方式。若引導(dǎo)標識是10AAh,則是16位的并行引導(dǎo)方式;若引導(dǎo)標識是08AAh,則是8位的并行引導(dǎo)方式。當從I/O空間FFFFh地址讀取不到有效的引導(dǎo)標識時,片內(nèi)ROM的引導(dǎo)程序即讀取數(shù)據(jù)空間FFFFh的內(nèi)容作為引導(dǎo)表的起始地址。同樣通過判別引導(dǎo)表起始地址內(nèi)的引導(dǎo)標識來確定是8位并行還是16位并行引導(dǎo)方式。當EPROM數(shù)據(jù)位寬是8bit時,則要讀取數(shù)據(jù)空間FFFFh地址的內(nèi)容(低字節(jié))和FFFEh地址的內(nèi)容(高字節(jié))作為引導(dǎo)表的起始地址。 8bit 并行引導(dǎo)裝載的實現(xiàn)電路如圖1所示。其中A15經(jīng)過非門與/MSTRB相或是為了防止C5402的內(nèi)部16K DARAM(0000H-3FFFH)與外部FRAM沖突,同時,對應(yīng)上并行引導(dǎo)裝載模式的引導(dǎo)表設(shè)置相對應(yīng)。
圖1 硬件系統(tǒng)原理圖 4系統(tǒng)軟件設(shè)計 這個系統(tǒng)中,軟件編程的核心在于按照特定的格式將數(shù)據(jù)寫到FM18L08 FRAM中,下面具體介紹軟件系統(tǒng)的設(shè)計方法。 在TI公司的軟件開發(fā)工具CCS(Code Composer Studio)中,匯編器和連接器創(chuàng)建的目標文件采用COFF(Common Object File Format)格式,代碼和數(shù)據(jù)都按段(Section)來組織設(shè)計。先通過CCS將程序下載到硬件系統(tǒng)的C5402的片內(nèi)DARAM中,再運行程序?qū)⑺钄?shù)據(jù)及程序按照表1的格式寫到FM18L08 FRAM(對應(yīng)于DSP數(shù)據(jù)尋址的08000h—0FFFFh)中,斷開硬件系統(tǒng)與CCS環(huán)境的聯(lián)系,重新上電或復(fù)位C5402,將看到燈在閃爍,此時硬件系統(tǒng)已經(jīng)可以脫機獨立運行了。 .mmregs 主程序中,data段為上電引導(dǎo)程序提供了需要加載的各代碼段的長度、源地址和目的地址這幾個參數(shù)。其中,代碼段長度既可以根據(jù)載入DSP系統(tǒng)后在CCS反匯編窗口算得,也可以從連接生成的映像文件(后綴為.map)中得到。 5 結(jié)束語 本文介紹的基于鐵電存儲器FM18L08的DSP 并行引導(dǎo)裝載方案,可以在無需專用燒寫器的情況下,實現(xiàn)DSP脫機獨立運行系統(tǒng)的設(shè)計,并且該方案已成功的應(yīng)用到一種語音門鎖系統(tǒng)中。實驗結(jié)果表明,該方法具有簡化接口電路、節(jié)省系統(tǒng)資源、性價比高的優(yōu)點。 但是,如果脫機獨立運行系統(tǒng)程序超過了64K字節(jié),只能采用另外的替代方法,這是在一些電路設(shè)計方案論證時需要考慮的問題。 作者Email: zk197911@yahoo.com.cn |