TMS320C32浮點(diǎn)DSP存儲器接口設計
1 TMS320C32存儲器
1.1 TMS320C32存儲器特點(diǎn)
TMS320C32提供總共16M字的存儲空間,每字32bit,這16M字空間包括程序存儲器、數據存儲器及I/O空間?!茫常泊鎯ζ饔诚袢Q于處理器的工作方式,’C32工作于微處理器和微計算機方式時(shí)存儲器的映像圖略有不同?!茫常餐ㄟ^(guò)24位的地址總線(xiàn)、32位的數據總線(xiàn)和三組選通信號IOSTRB、STRB0、STRB1訪(fǎng)問(wèn)外部存儲器。
同TMS320C30和TMS320C31一樣,’C32是32位處理器,它具有32位內部存儲器、32/40位內部寄存器、32位內部總線(xiàn)。除可進(jìn)行32位存儲器存取接口外,’C32還支持從16位存儲器取指令以及進(jìn)行16位和8位數據操作。STRB0、STRB1使能的8位、16位、32位的存儲器可以用來(lái)存放8位、16位、32位的數據,而且存儲器寬度和數據寬度不必相同,即任何一種存儲器可以存放任何一種數據類(lèi)型。
1.2 選通信號
TMS320C32對外部存儲器的訪(fǎng)問(wèn)必須經(jīng)過(guò)選通信號引腳,三組選通信號IOSTRB、STRB0、STRB1分別對應存儲器映像的不同位置。IOSTRB對應的存儲器映像從810000h到82FFFFh總共128K字,當訪(fǎng)問(wèn)這部分存儲空間時(shí),IOSTRB使能。STRB0對應兩塊不連續的存儲器映像,分別是從0h到7FFFFFh共8.192M字和從880000h到8FFFFFh共512K字。STRB1對應從900000h到FFFFFFh共7.168M字空間。
IOSTRB對應的外部存儲器只能訪(fǎng)問(wèn)32位數據格式,而STRB0、STRB1則可以訪(fǎng)問(wèn)8位、16位、32位三種格式的數據,并可以與這三種形式的存儲器相連。每組STRBx(x=01)選通信號包括四個(gè)引腳:STRBx_B3/A-1、STRBx_B2/A-2、STRBx_B1、STRBx_B0。這四個(gè)信號引腳作為片選信號與存儲器相連,在訪(fǎng)問(wèn)8位或16位外部存儲器時(shí)前兩個(gè)信號引腳還作為地址線(xiàn)引腳。
1.3 外部存儲器接口控制寄存器
如前所述,STRB0、STRB1可以與8位、16位、32位存儲器相連,與每種存儲器連接都可以訪(fǎng)問(wèn)8位、16位、32位數據,而外部存儲器的寬度與訪(fǎng)問(wèn)的數據格式是由外部存儲器接口控制寄存器的相應位決定的,設計者可以對這些寄存器的相應位進(jìn)行設置來(lái)滿(mǎn)足實(shí)際需要。在TMS320C32的存儲器映像中,IOSTRB控制寄存器的地址是808060h,STRB0控制寄存器的地址是808064h,STRB1控制寄存器的地址是808068h。STRB0和STRB1控制寄存器的第16和第17位用來(lái)設置處理器訪(fǎng)問(wèn)數據的寬度,第18和第19位用來(lái)設置與處理器相連的實(shí)際存儲器的數據位數。這四位的具體設置方法見(jiàn)表1所示。
表1
Bit17 | Bit16 | 數據格式 | Bit19 | Bit18 | 實(shí)際存儲器位數 |
0 | 0 | 8位 | 0 | 0 | 8位 |
0 | 1 | 32位 | 0 | 1 | 16位 |
1 | 0 | 保留 | 1 | 0 | 保留 |
1 | 1 | 32位 | 1 | 1 | 32位 |
2 TMS320C32存儲器接口設計
2.1 32位寬存儲器接口
TMS320C32存儲器接口使用~引腳作為片選使能信號與32位存儲器相連,其硬件連接方法如圖1所示。
2.2 16位寬存儲器接口
TMS320C32存儲器在16位寬外部存儲器連接時(shí)使用作為一個(gè)附加的地址引腳A-1,同時(shí)使用和作為片選使能信號,其硬件連接方法見(jiàn)圖2所示。
2.3 8位寬存儲器接口
TMS320C32與8位寬外部存儲器相連時(shí)使用和引腳作為附加的地址引腳A-1、A-2,并使用作為片選使能信號。圖3所示是’C32與8位存儲器相連的示意圖。
2.4 存儲器接口設計實(shí)例
圖4給出一個(gè)實(shí)際的TMS320C32存儲器接口電路圖,STRB0接16位外部存儲器,STRB1接8位外部存儲器。為說(shuō)明數據在存儲器中及在處理器中的存放格式,本例在16位存儲器中放32位數據,在8位存儲器中放8位數據,下面分別討論這兩種情況。
16位存儲器中存放32位數據,此例中16位存儲器由兩片32K×8SRAM構成STRBx_B3作為地址引腳A-1與外部存儲器的A0相連,STRB0_B0、STRB0_B1作為片選信號。由于數據寬度大于存儲器寬度,因此外部存儲器偶地址存放32位數據的低16位,外部存儲器奇地址存放32位數據的高16位。外部存儲器的地址是從0h到7FFFh,對應的’C32存儲器映像地址從0h到3FFFh。當一條指令向邏輯地址0h裝入一個(gè)32位數據時(shí),存儲器接口必須向外部16位存儲器執行兩個(gè)指令周期,這兩個(gè)指令周期訪(fǎng)問(wèn)兩個(gè)連續的外部存儲器地址0h和1h,完成對32位數據的操作。
外部8位存儲器中存放8位數據,這時(shí)數據寬度與外部存儲器寬度相同,所以32K外部存儲區對應32K的’C32存儲器映像。只不過(guò)由于是STRB1使能,所以對應的邏輯地址是從900000h到907FFFh。
與TMS320C30和C31相比,TMS320C32的存儲器接口更靈活,功能也更強大,在實(shí)際中如能靈活運用,就能設計出高效、穩定的系統。
評論