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