摘 要:介紹一種能與DSP速度相匹配的外擴高速存儲器的設計,外擴存儲器按地址分為2個模塊:一個是SRAM模塊,另外一個是FLASH模塊,一個作為數據存儲器,另一個作為地址存儲器。采用IS61LV25616作為SRAM,這種存儲芯片的存取時間快且功耗低,非常適合與高速的DSP 配合使用;FLASH采用的是三星公司生產的存儲器K9F1G08。各個模塊從元器件的選擇、硬件實現方面介紹了存儲器的實現過程。在FLASH模塊中還介紹了K9F1G08寫操作流程,并簡單描述了DSP的在線編程方法。該系統在現場實時采集系統中發揮了重要的作用,給后續數據的分析提供了寶貴的數據材料。
關鍵詞:SRAM;外擴存儲器;FLASH 高速;DSP
中圖分類號:TN707文獻標識碼:B
文章編號:1004-373X(2008)24-004-03
Design of High Speed Ex-patulous Memory of DSP
YAN Xiaoyan,ZHANG Hongliang
(Key Laboratory of Instrumentation Science Dynamic Measurement,Ministry of Education,Electronics and Computer Science
Technology College,North University of China,Taiyuan,030051,China)
Abstract:The design of high speed ex-patulous memory of DSP is introduced in the paper.The choice and analysis of parts of an apparatus are recommended.In the paper,the SRAM is used as data memory,the FLASH is used as address memory,and in the module of FLASH,the collectivity scheme of design and scheduling of K9F1G08 and the on-line programme is described in a nutshell.Then the system has been used and participated in many tests.Through these tests,the data is provided well and truly for the task.
Keywords:SRAM;ex-patulous memory;FLASH;DSP
隨著新軍事革命在全球范圍的形成與發展,人們已漸漸意識到這場深刻變革的核心就是信息化。為適應這種變化的一個明顯趨勢就是數字化戰場概念的形成與發展。數字化戰場是以實時信息收集網絡為基礎,而實時信息的收集一部分要依賴于存儲器的速度。對于DSP外擴存儲器,主要考慮的是存儲器的速度。目前大多數存儲器相對DSP而言是慢速器件,因此通常需要加入等待周期。這樣就降低了DSP的存取速度,也就是說信息的實時性會受到影響。文中設計的外擴存儲器能從速度上與高速DSP相匹配。
1 概 述
DSP是一種實時、快速、特別適合于實現各種數字信號處理運算的微處理器。由于它由具有豐富的硬件資源、改進的哈佛結構、高速數據處理能力和強大的指令系統,而在通信、航空、航天、雷達、工業控制、網絡及家用電器等各個領域得到廣泛應用。DSP分為定點和浮點兩種,在此選用TI(Texas Instrument)公司的TMS320VC33,它是一款較新的浮點型數字信號處理器,采用高達120/150 MHz的主頻(通過內部×5倍頻實現),有120/150 MFLOPS(百萬條浮點數操作指令)的峰值運算能力,片內1 Mb RAM,程序代碼與先前的C3X完全兼容,采用3.3 V I/O電壓和1.8 V處理器核電壓使功耗降低到200 mW。
從TMS320VC33的存儲器映射圖中,我們可以看出在DSP內部RAM共有3塊:RAM塊0、RAM塊1和RAM塊2。其中連續的內存空間地址為:0X800000~0X807FFF,共為32 kWord,可見片內內存較緊張。這里可以采用外擴存儲器的辦法解決片內內存不足的缺陷。
TMS320VC33的尋址空間為0X0000000~0FFFFFF,共為16 MB,其中可擴展外部空間為0X001000~0X7FFFFF和0X80A000~0XFFF000。由于FLASH引導存儲空間分配在0X400000~0X7FFFFF,系統中DSP對外擴存儲器分配的2個外部地址為:
SRAM模塊地址:0X010000~0X04FFFF;
FLASHROM模塊地址:0X400000~0X4FFFFF。
這就完成了DSP到各個存儲空間的映射,即將數據空間0X010000~0X4FFFF映射到SRAM的0X00000~0X3FFFF,將地址空間0X400000~0X4FFFFF映射到FLASH的0X00000~0XFFFFF。
這些地址是由DSP的地址線A16~A23進行譯碼的。這樣,有些地址空間沒有用到,例如0X001000~0X00FFFF,但對系統設計而言存儲空間已經足夠。
2 SRAM模塊
本系統采用TMS320VC33,既可以將SRAM作為程序存儲器,也可以用作數據存儲器。用FLASHROM存放程序,在系統運行時,為提高運行速度,需將程序從FLASH搬至快速SRAM中運行,此時SRAM地址映射在程序空間中;而當系統的數據存儲空間超過內部RAM時,SRAM地址映射在數據空間中。
這里采用IS61LV25616作為SRAM,這種存儲芯片的存取時間為15 ns,COMS 工藝,3.3 V供電,輸入/輸出兼容TTL電平,且具有低功耗的優良特點,非常適合與高速的DSP 配合使用。容量為256 k×16 b,兩片IS61LV25616即可構成256 kB靜態RAM空間。圖1為2片IS61LV25616作為數據存儲器的接口方法。

圖1中,兩片IS61LV25616構成256 k×32 b的數據存儲器。地址譯碼、片選和讀寫邏輯由CPLD 完成。SRAM分成程序和數據2部分。具體是數據空間0X010000~0X4FFFF映射到SRAM的0X00000~0X3FFFF。
3 FLASH ROM模塊
在高速DSP應用系統中,為了充分發揮DSP性能,在加電后需要將用戶代碼裝載到高速RAM存儲器中運行。FLASH存儲器是一種高密度、非易失性的電可擦寫存儲器,存儲量大,使用方便,適用于低功耗、高性能的系統。本系統使用的是三星公司生產的FLASH存儲器K9F1G08。它是具有超大容量的FLASH存儲器,其中1片的存儲容量就達到了128 MB(1 Gb),由1 024個塊組成,每塊又由64個頁組成,一頁有(124+4)kB,該片的8位I/O總線是命令、地址、數據復用的。讀寫操作均以頁為單位,擦除操作則以塊為單位.
K9F1G08不需要后備電池,數據永遠不會丟失,而且可以在線編程、集成度高、使用方便。這種FLASH的讀寫速度與SRAM相差無幾,并且它的內部開辟了一定容量的高速緩沖區,將FLASH分成了若干個扇區,對于這種扇區連續寫入的周期可達50 ns。邏輯控制用1片XILINX公司的FPGA-XC2S50,它擁有1 728個邏輯宏單元,176個用戶I/O口,而且供電電源是3.3 V和2.5 V,屬于低功耗集成芯片。
設計FLASH與DSP 的接口時,主要考慮以下幾點:
(1) 采用DSP的外部16位BOOT 方式;
(2) 通過DSP的仿真系統能夠將程序和數據寫入到Flash 中;
(3) 系統獨立運行時,能夠從FLASH中讀出程序裝入到內部RAM中;
(4) 接口盡量簡單。
根據以上幾點所設計的FLASH接口如圖2所示。

FLASH的數據線和地址線分別和DSP的外部數據和地址總線相連,FLASH的控制信號分別接由CPLD譯碼產生的信號。接譯碼后的選通信號,在這個系統中,將FLASH映射到存儲空間的400000H~43FFFF地址段,以實現程序的引導。
FLASH支持軟件數據保護功能(Software Data Protection),當執行3字節DSP寫指令時,保護功能將自動加上,任何后續的寫操作必須帶上3字節DSP寫指令。
由于FLASH分成相同的塊,每個塊又有相同的頁區(每頁128 kB)。寫入數據時,首先判斷第一塊是否是無效塊,是無效塊的話直接跳到下一塊,不是無效塊的時候,進行塊擦除,然后一個頁區一個頁區依次往下寫,直到一塊寫完以后,跳到下一塊,直到1 024個塊寫完,依次類推,實現高速連續寫入FLASH存儲器的功能。
FLASH頁面寫操作流程如圖3所示。

TMS320VC33的調試使用CC for C3x/4X(Code COmposer)集成編程環境,通過JTAG頭仿真用戶板,用戶代碼先放在外部RAM中調試,調試成功后,就可以將用戶程序代碼寫入FLASH。對TMS320VC33用戶系統外部FLASH使用在線編程,省去HEX轉換工具及EPROM編程器等工具,方便、易行。下面介紹在并行裝入BOOT2方式下的在線編程方法:
第一步:在CC下編譯后,裝入用戶.OUT文件,用戶程序代碼即被寫入EXRAM空間;
第二步:依據TMS320VC33的BOOT格式,并根據CC產生的用戶.MAP文件找出程序入口地址、各加載塊的入口地址以及長度,編寫FLASH燒寫文件;
第三步:修改.CMD文件SECTION段,將燒寫程序鏈接到內部RAM區;
第四步:運行燒寫程序,用戶代碼即被寫入FLASH中。復位DSP,利用CCS可以查看FLASH存儲器內容是否與要燒寫的內部一致,并脫機檢驗。
4 結 語
運用DSP外擴存儲器來實現高速存儲,在現場實時采集系統中發揮了重要的作用,給后續數據的分析提供了寶貴的數據材料。
參考文獻
[1]張雄偉,陳亮,徐光輝.DSP 芯片的原理與開發應用[M].3版.北京: 電子工業出版社,2004.
[2]王超,張桂林,杜崢.TMS320VC33 DSP用戶程序加載方法.計算機與數學工程,2003,3(4):26-30.
[3]黎明也.DSP系統應用中FLASH在線編程方法.電子技術應用,2005,31(3):64-66,69.
[4]遲男,陸俊.TMS320C32浮點DSP存儲器接口設計.電子技術應用,2000,26(11):70-72.
[5]向展,裴昌幸,易運暉.使用I2C總線實現TMS320VC5509A引導裝載設計.現代電子技術,2006,29(18):80-82,85.
[6]張曉紅,韓瑩,楊雷,等.基于DSP的無刷直流電機舵機位置伺服系統.現代電子技術,2007,30(9):122-123,126.
作者簡介 閆曉燕 女,1977年出生,山西交城人。研究方向為測試計量技術及儀器。