TMS320F2812是德州儀器(TI)公司專門為工業(yè)應(yīng)用而設(shè)計的新一代DSP處理器,它的性能大大優(yōu)于當前廣泛使用的TMS320LF240x系列。該芯片為32位定點DSP,最高主頻150 MHz,最小指令周期6.67 ns,外部采用低頻時鐘,通過片內(nèi)鎖相環(huán)倍頻;相對于TMS320LF2407只能尋址192 KB地址空間,該芯片的外部接口最多可尋址4 MB的空間;有3個獨立的片選信號,并且讀/寫時序可編程,兼容不同速率的外設(shè)擴展;通過配置外部接口寄存器,在訪問外部設(shè)備時不必額外增加延時等待,既提高了程序的實時性又減少了代碼量。因此,靈活掌握和使用外部接口,對于DSP系統(tǒng)開發(fā)有很大幫助。本文結(jié)合實際系統(tǒng),分析TMS320F2812外部接口的時序,設(shè)計了外部存儲器擴展電路,根據(jù)所用的存儲器芯片設(shè)置了接口時序,并提供了相關(guān)的電路原理圖和外部接口時序配置的程序。
1 TMS320F2812外部接口的特點
① TMS320LF240x系列,程序空間、數(shù)據(jù)空間和I/O空間都映射在相同的地址(0000~FFFF),最大可尋址192 KB,對它們的訪問是通過不同的指令來區(qū)分的,例如可用IN或OUT指令訪問外部I/O空間;而在TMS320F2812中,外部接口被映射到5個獨立的存儲空間XZCS0、XZCS1、XZCS2、XZCS6、XZCS7,每個存儲空間具有獨立的地址,最多可尋址4 MB。
② TMS320F2812中,有的存儲空間共用1個片選信號,如Zone0和Zone1共用XZCS0AND1,Zone6和Zone7共用XZCS6AND7。各空間均可獨立設(shè)置讀、寫信號的建立時間、激活時間及保持時間。
對任何外部空間讀/寫操作的時序都可以分成3部分:建立、激活和保持,時序如圖1和圖2所示。在建立(lead)階段,訪問存儲空間的片選信號變?yōu)榈碗娖讲⑶业刂繁凰偷降刂房偩(XA)上。默認情況下該階段的時間設(shè)置為最大,為6個XTIMCLK周期。在激活(active)階段,對外部設(shè)備進行讀寫,相應(yīng)的讀寫信號(XRD和XWD)變?yōu)榈碗娖,同時數(shù)據(jù)被送到數(shù)據(jù)總線(XD)上。默認情況下讀寫該階段的時間均設(shè)置為14個XTIMCLK周期。跟蹤(trail)階段是指讀寫信號變?yōu)楦唠娖,但片選信號仍保持低電平的一段時間周期,默認情況下該階段時間設(shè)置為6個XTIMCLK周期。因此,在編程時要根據(jù)外部設(shè)備的接口時序來設(shè)置XINTF的時序,從而正確地對外設(shè)讀寫。

2 擴展存儲器硬件設(shè)計
2.1 外部存儲器與TMS320F2812的接口電路設(shè)計
TMS320F2812內(nèi)置18 KB RAM。為了使用方便,本系統(tǒng)又擴展了256 KB SARAM,芯片選用IS61LV25616(256K×16位),其數(shù)據(jù)訪問時間為10 ns。由于TMS320F2812采用統(tǒng)一尋址方式,因此擴展的SARAM既可以作程序存儲器也可以作數(shù)據(jù)存儲器。同時,為了保存掉電不丟失的數(shù)據(jù),擴展了32 KBEEPROM,選用AT28LV256,32K×8位,用2片組成32K×16位。外擴存儲器與TMS320F2812的接口電路如圖3所示,將SARAM分配在ZONE2,地址范圍為0x80000~0xBFFFF,片選信號與TMS320F2812的XZCS2相連。EEPROM分配在ZONE6,地址范圍為0x10000~0x107FFF,片選信號XZCS6AND7。

2.2 時序控制寄存器設(shè)置
TMS320F2812的外部接口(XINTF)可根據(jù)系統(tǒng)設(shè)計的要求,分別配置每個空間的建立、激活和跟蹤周期時間,以適應(yīng)對不同速率外設(shè)接口的訪問。配置過程中需要考慮外設(shè)器件的時序特性,必須使XINTF信號的時序與外設(shè)器件的時序一致才能正常工作。首先,必須設(shè)定XINTF模塊的時鐘,所有擴展外設(shè)的訪問都是以XINTF時鐘為參考的。本設(shè)計中,設(shè)定DSP內(nèi)核頻率(SYSCLK)為120 MHz,設(shè)定XINTF頻率為SYSCLK/2,即60 MHz。根據(jù)器件手冊,IS61LV25616的讀/寫周期為10 ns,因此ZONE2配置為最小的等待時間,建立、激活和跟蹤時間分別為16 ns、16 ns、0 ns,寫信號周期為16 ns、16 ns、0 ns(對應(yīng)寄存器設(shè)置為1,1,0)。AT28LV256的讀寫時序如圖4、圖5所示。

讀信號周期:建立時間為tCE與tOE之差,最大值為120 ns;激活時間為tOE,最大值為80 ns;跟蹤時間為tOH,最大值為0,因此配置為33 ns、50 ns、0 ns(對應(yīng)寄存器設(shè)置為1,2,0)。寫信號周期:建立時間為tCS,最小值為0;激活時間為tWP,最小值為200 ns;跟蹤時間為tCH,最小值為0 ns。因此配置為33 ns、217 ns、33 ns(對應(yīng)寄存器設(shè)置為1,6,1)。外部接口寄存器設(shè)置的 C語言程序如下:




結(jié) 語





