關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 如何設計TMS320C32 DSP的存儲器接口

        如何設計TMS320C32 DSP的存儲器接口

        作者: 時間:2008-05-14 來源:網絡 收藏
        摘要 通過對高性能浮點DSP處理器C32的外部存儲器接口的研究,介紹其存儲器結構的特點,并根據其特點給出3種設計方案。這3種不同的方案,分別可以實現3種寬度的存儲器接口,即8位、16位和32位的外部數據訪問或是16位和32住的外部程序訪問。這一特點使得C32芯片非常適合于時變系統的控制與處理。
        關鍵詞 C32 浮點DSP處理器 存儲器接口 存儲器寬度


        TMS320是美國TI公司生產的一款浮點數字信號處理器(DSP),其CPU是在TMS320C30和TMS320C3l的基礎上進行改進和簡化來的,是C3X系列中的增強版。增強的功能有:可變寬度的存儲器接口,更快的指令周期,節電模式,可重定位的中斷向量表,以及外部中斷可由電平的邊沿或電平觸發等。

        1 TMS320的外部存儲器接口的特點
        TMS320是一個32位微處理器,它可通過24位地址總線、32位數據總線和選通信號對外部存儲器進行訪問。其外部存儲器接口結構如圖l所示。

        圖l中,引腳PRGW是用來配置外部程序存儲器寬度的。當PRGW引腳為低電平時程序存儲器寬度為16位;為高電平時程序存儲器寬度為32位。STRBO和STRBl各為一組訪問外部存儲器的選通信號,各有4個信號引腳(STRBx_B3/A_1、STRBx_B2/A_2、STRBx_Bl和STRBx_B0)。從圖l中可以看出,選通信號STRB0和STRBl能從8/16/32位存儲器中訪問8/16/32位數據,或從16/32位存儲器中執行32位程序;IOSTRB是外設I/O的選通信號引腳,它只能從32位寬度的存儲器中訪問32位的數據和程序。
        可以通過對STRBx和IOSTRB的設置,從8/16/32位的存儲器中訪問8/16/32位數據或程序。也就是說,可以從任何一個外部存儲器中訪同任何一種類型的數據。這就說明可以通過設置IOSTRB、STRB0和STRB1的選通信號來尋址整個外部存儲器空間。比如,一個32位外部存儲器可以被設定為存放一個32位的雙字,但也可以被分為具有2個連續地址的16位字或4個連續地址的8位字節。反之,一個32位雙字可放在一個32位外部存儲器中,也可放在2個16位或4個8位寬度的外部存儲器中。
        TMS320C32內部總共提供了64 MB的存儲器映射空間。其中,STRB0所對應的存儲映像區間是不連續的兩段區問,一段是03FH~7FFFFFH(共31.999 MB),另一段是880000H~8FFFFFH(共2 MB);STRBl所對應的存儲映像區間是900000H~FFFFFFH(共28 MB);IOSTRB所對應的存儲映像區間是810000H~82FFFFH(共512KB)。當外部總線訪問這些空間時,相應的選通信號就使能。

        2 TMS320C32的3種存儲器設計方案
        2.1 8位存儲器寬度
        設計為8位的存儲器,其硬件接線方案如圖2所示。STRBx_B3/Al_1和STRBx_B2/A_2引腳作為地址引腳,STRBx_B0引腳作為片選引腳,而STRBx_B1不用。

        2.2 16位存儲器寬度
        設計為16位的存儲器,其硬件接線方案如圖3所示。STRBx_B3/A_1引腳作為地址引腳,STRBx_B0和STRBx_B1引腳作為片選引腳,而STRBx_B2/A_2不用。
        2.3 32位存儲器寬度
        設計為32位的存儲器,其硬件接線方案如圖4所示。STRBx所有的引腳都設置為片選引腳。

        3 存儲器映射外部總線控制寄存器
        如上所述,TMS320C32可以從8/16/32位存儲器中訪問8/16/32位數據,或從16/32位存儲器中執行32位的程序。但如果內外部數據的位數不一致該如何處理呢?C32的外部總線控制寄存器可根據相應控制位的值,自動調整存儲器接口寬度。下面對總線控制寄存器作具體的介紹。
        STRBo、STRBl以及IOSTRB控制寄存器在存儲器映射空間的物理地址分別是808064H、808068H和808060H,且都是32位的,各位的定義如圖5、圖6和圖7所示。

        從圖5和圖6中可以看出,STRBx控制寄存器的第18、19位是用來控制存儲器寬度的,第16、17位是用來控制數據寬度的,具體定義如表1所列。

        4 存儲器接口實例
        圖8給出了一個實際TMS320C32存儲囂接口的電路圖。16位存儲器由2片128 K8位的SRAM構成,32位存儲器由4片128 K8位的SRAM構成,STRB0的4組選通信號接16位外部存儲器,STRBl的4組選通信號接32位外部存儲器。為說明數據在存儲器及處理器中的存放格式,本文設計了兩種存儲器接口電路:一是在16位存儲器中存放32位數據;二是在32位存儲器中存放32位數據。

        在16位存儲器中存放32位數據時,STRB0_B3/A1作為地址引腳與外部存儲器的AO相接,STRB0_B0和STRB0_B1作為片選信號,STRBx_B2/A_2不用。由于數據寬度大于存儲器寬度,所以在外部存儲器偶地址中存放32位數據的低16位,奇地址中存放32位數據的高16位,外部存儲器的地址為OH~lFFFFH,對應的在C32存儲映射中的地址為OH~0FFFFH。當一條指令向邏輯地址OH中裝入一個32位數據時,存儲器接口必須向外部16位存儲器執行兩個指令周期。這兩個指令周期訪問2個連續的外部存儲器地址OH和1H,從而完成對32位數據的操作。
        當在外部32位存儲器中存放32位數據時,STRBl的4個引腳都設置為片選引腳。這時數據寬度與外部存儲器寬度一致,由于是STRBl使能,所以128 K32位的外部存儲空間與C32存儲器映射的900000H~91FFFFH相對應。
        當接口電路設計為16位時,其物理地址等于邏輯地址右移l位,即DSP的地址線A00接在SRAM的A1上;當接口電路設計為32位時,其物理地址等于邏輯地址,即DSP的地址線A00接在SRAM的A0上。


        5 小結
        本文主要介紹了如何根據實際需要來自動地調節存儲器接口寬度。由于C32能夠靈活地調整其存儲器接口寬度,使得存儲器接口電路的設計更加靈活,因此非常適合用于電機或電力系統等實時系統的數據采集與處理。



        關鍵詞: 320C TMS 320 C32

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 台中市| 宜兰市| 康保县| 抚顺县| 永寿县| 莱州市| 灌阳县| 得荣县| 承德县| 榆林市| 新昌县| 白河县| 漾濞| 迁西县| 遵化市| 萨嘎县| 桂平市| 安仁县| 巴林左旗| 清远市| 宁城县| 昭通市| 吕梁市| 凭祥市| 永和县| 海南省| 邹城市| 油尖旺区| 桑植县| 海原县| 友谊县| 中方县| 麻江县| 微博| 彰武县| 永济市| 黑山县| 吴桥县| 大兴区| 久治县| 萨迦县|