摘 要: TMS320C32是美國(guó)德州儀器公司第三代數(shù)字信號(hào)處理器的新產(chǎn)品,廣泛應(yīng)用于實(shí)時(shí)數(shù)據(jù)采集和信號(hào)處理系統(tǒng)中。介紹了TMS320C32存儲(chǔ)器結(jié)構(gòu)及存儲(chǔ)器接口的設(shè)計(jì)方法。
關(guān)鍵詞: 數(shù)字信號(hào)處理器 存儲(chǔ)器 接口
TMS320C32是美國(guó)德州儀器公司(TI公司)生產(chǎn)的TMS320系列第三代浮點(diǎn)數(shù)字信號(hào)處理器的最新產(chǎn)品,它在TMS320C30和TMS320C31的基礎(chǔ)上進(jìn)行了簡(jiǎn)化和改進(jìn)。TMS320C32在結(jié)構(gòu)上的改進(jìn)包括可變寬度的存儲(chǔ)器接口、更快速的指令周期時(shí)間、可設(shè)置優(yōu)先級(jí)的雙通道DMA處理器、靈活的引導(dǎo)程序裝入方式、可重新定位的中斷向量表以及可選的邊緣/電平觸發(fā)中斷方式等。特別是其增強(qiáng)的外部存儲(chǔ)器接口,使得對(duì)外部數(shù)據(jù)的操作更加方便,存儲(chǔ)器接口電路的設(shè)計(jì)也更為靈活,因此在許多實(shí)時(shí)數(shù)據(jù)采集和信號(hào)處理系統(tǒng)中得到了廣泛的應(yīng)用。
1 TMS320C32存儲(chǔ)器
1.1 TMS320C32存儲(chǔ)器特點(diǎn)
TMS320C32提供總共16M字的存儲(chǔ)空間,每字32bit,這16M字空間包括程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器及I/O空間?!疌32存儲(chǔ)器映像取決于處理器的工作方式,’C32工作于微處理器和微計(jì)算機(jī)方式時(shí)存儲(chǔ)器的映像圖略有不同?!疌32通過24位的地址總線、32位的數(shù)據(jù)總線和三組選通信號(hào)、、訪問外部存儲(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ù)操作。、使能的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)、、分別對(duì)應(yīng)存儲(chǔ)器映像的不同位置。對(duì)應(yīng)的存儲(chǔ)器映像從810000h到82FFFFh總共128K字,當(dāng)訪問這部分存儲(chǔ)空間時(shí),使能。對(duì)應(yīng)兩塊不連續(xù)的存儲(chǔ)器映像,分別是從0h到7FFFFFh共8.192M字和從880000h到8FFFFFh共512K字。對(duì)應(yīng)從900000h到FFFFFFh共7.168M字空間。
對(duì)應(yīng)的外部存儲(chǔ)器只能訪問32位數(shù)據(jù)格式,而、則可以訪問8位、16位、32位三種格式的數(shù)據(jù),并可以與這三種形式的存儲(chǔ)器相連。每組(x=0,1)選通信號(hào)包括四個(gè)引腳:
。這四個(gè)信號(hào)引腳作為片選信號(hào)與存儲(chǔ)器相連,在訪問8位或16位外部存儲(chǔ)器時(shí)前兩個(gè)信號(hào)引腳還作為地址線引腳。
1.3 外部存儲(chǔ)器接口控制寄存器
如前所述,、可以與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,控制寄存器的地址是808068h。和控制寄存器的第16和第17位用來設(shè)置處理器訪問數(shù)據(jù)的寬度,第18和第19位用來設(shè)置與處理器相連的實(shí)際存儲(chǔ)器的數(shù)據(jù)位數(shù)。這四位的具體設(shè)置方法見表1所示。
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ǔ)器接口電路圖,接16位外部存儲(chǔ)器,接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)成,作為地址引腳A-1與外部存儲(chǔ)器的A0相連,作為片選信號(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ǔ)器映像。只不過由于是使能,所以對(duì)應(yīng)的邏輯地址是從900000h到907FFFh。
與TMS320C30和C31相比,TMS320C32的存儲(chǔ)器接口更靈活,功能也更強(qiáng)大,在實(shí)際中如能靈活運(yùn)用,就能設(shè)計(jì)出高效、穩(wěn)定的系統(tǒng)。