用DSP軟件編程實(shí)現的引導裝載系統設計
1 概述
本文引用地址:http://dyxdggzs.com/article/257389.htmDSP系統的引導裝載是指在系統加電后,系統自行將一段存儲在外部非易失性存儲器中的代碼移植到內部DSP的高速RAM中并執行的過(guò)程。因此,在引導裝載系統中,外部非易失性存儲器和DSP的性能顯得尤為重要。FLASH存儲器是一種高密度、非易失性的電可擦寫(xiě)存儲器,而且單位存儲比特的價(jià)格比傳統的EPROM要低,所以十分適合于作為外擴存儲器。在系統加電之前,必須先將引導程序和用戶(hù)程序寫(xiě)入FLASH中。編程時(shí),除了可以利用專(zhuān)用的硬件編程器實(shí)現對FLASH的編程之外,FLASH通常還支持DSP軟件編程以實(shí)現同樣的功能。當系統加電之后,一般首先在FLASH中運行引導程序,并由其自行完成對用戶(hù)程序的移植操作,然后再由DSP高速運行移人到DSP片內的用戶(hù)程序。本文介紹了TI公司的TMS320VC5410定點(diǎn)DSP和ST公司的M29W400T FLASH存儲器的基本特點(diǎn)和主要結構,給出了通過(guò)DSP對FLASH進(jìn)行軟件編程的具體方法,同時(shí)介紹了實(shí)現一個(gè)完整的引導裝載系統的實(shí)現方案。
2 硬件描述
2.1器件簡(jiǎn)介
TMS320VC5410數字信號處理器是美國TI公司推出的TMS320VC54x系列定點(diǎn)DSP中的一種,它具有144管腳的LQFP封裝,采用3.3V的I/O電壓和2.5V的核電壓供電方式,具有3個(gè)獨立的16位數據總線(xiàn)和1個(gè)程序總線(xiàn)的多總線(xiàn)并行結構,其低功耗和高速度適用于便攜式系統的開(kāi)發(fā)。由于本文涉及到DSP對FLASH的存儲器地址操作;因此,在此對相關(guān)內容加以介紹。
DSP的存儲空間包括程序空間和數據空間,它們均劃分為64k X l6位的頁(yè)面。其中DSP片內存儲資源包括16k X l6位的可掩膜ROM以及可高速運行的4個(gè)2k X 16位的DARAM和7個(gè)8k X l6位的SARAM。DSP有兩種工作模式:微處理器模式和微計算機模式,分別對應MP/MC=1和0。本系統中采用的是加電后從外擴的FLASH中啟動(dòng),即采用微處理器模式,所以沒(méi)有用到DSP內部ROM中固化的引導程序,而是采用早先寫(xiě)入FLASH中的自行設計的引導程序。
TMS320VC5410的存儲空間映射如圖1所示,它最大可支持128個(gè)存儲頁(yè)面,尋址空間為8Mb。在圖1中,當MP/MC=1時(shí),程序空間的第0和第1頁(yè)面對應于圖中最左邊的兩列,數據空間的第0頁(yè)面對應于圖中最右邊的一列,其中的外部空間(External)即對應外擴的FLASH,只有這部分FLASH存儲空間才可以被DSP訪(fǎng)問(wèn)到。由此可知,DSP對FLASH進(jìn)行讀寫(xiě)操作的前提是,FLASH在DSP存儲空間中至少是可見(jiàn)的。
M29W400系列是ST公司推出的FLASH存儲器,該系列器件十分適合于用作外擴存儲器。M29W400T是該系列中的一種,它采用3V單電源供電,并采用TSOP封裝形式。
M29W400T存儲器的容量為4MB,分為11個(gè)不同大小的塊結構,它支持8位或16位操作模式。本文采用16位操作模式。M29W400T的外形封裝如圖2所示,管腳功能見(jiàn)表1所列。M29W400T最重要特點(diǎn)就是無(wú)需額外提供高電壓即可通過(guò)一些特殊的命令字序列實(shí)現對各個(gè)塊的讀寫(xiě)和擦除,并且可重復進(jìn)行十萬(wàn)次以上。這樣使得通過(guò)DSP軟件編程實(shí)現對M29W400T的讀寫(xiě)操作成為可能,并十分適合于系統的調試和開(kāi)發(fā)。
2.2系統連接
本系統由TMS320VC5410和M29W400T以及相關(guān)的電源管理單元等構成,具體的連接電路如圖3所示。圖中,DSP與FLASH是主從關(guān)系,由DSP的相關(guān)輸出管腳來(lái)控制FLASH的擦除和讀寫(xiě)。其中A0-A17為地址線(xiàn),DO-D15為數據線(xiàn),MSTRB為存儲選通信號,R/W是讀寫(xiě)脈沖信號,OE和WE分別為讀使能和寫(xiě)使能,CE為片使能,BYTE為8位或16位數據模式選擇(圖3中BYTE接高電壓為16位模式)。當系統按如圖3所示進(jìn)行連接后,DSP的前一半4MB地址空間數與FLASH的4MB地址空間一一對應,因此,FLASH中的地址值即為DSP中的地址值,這樣,對地址的操作就變得極為方便。
FLASH中用于存放引導程序段和用戶(hù)代碼段,由DSP軟件編程寫(xiě)入。當系統脫機加電時(shí),DSP首先從外部FLASH指定的引導程序段的起始位置處開(kāi)始執行引導裝載,即將原先存儲在FLASH中的用戶(hù)代碼移植到DSP片內的RAM中,然后將程序指針設置為用戶(hù)程序的起始地址,接下來(lái)便可利用DSP資源去高速執行用戶(hù)程序。
評論