在 TMS320F2812 中,片外擴展是通過TMS320F2812 中的外設(shè)接口XINTF 來實現(xiàn)的。
它類似于C240X 的外部接口,但也做了改進:
(1)在C240X中,程序存儲空間、數(shù)據(jù)存儲空間和I/O 空間映射在相同的地址(0000~FFFF),對它們的訪問通過控制線( DS , PS , IS )來區(qū)分;而在F2812 中,外部存儲器接口分成了5個固定的存儲映像區(qū)域,可尋址1MB 的片外存儲器空間,具有獨立的地址,沒有了控制線( DS , PS , IS )。
(2) 每個 F2812 的XINTF 區(qū)都有一個片選信號。其中,有的區(qū)域的片選信號在內(nèi)部是“與”在一起的,組成了一個共享的芯片選擇,比如XZCS0 和XZCS1共享一個片選信號XZCS0AND1,XZCS6和XZCS7共享一個片選信號XZCS6AND7。在這種方式下,同一個存儲器可被連到兩個區(qū)或者我們可以用外部譯碼邏輯來區(qū)分這兩個區(qū)。
(3)5 個固定的存儲映像區(qū)域的每一個區(qū)還可以分別指定等待狀態(tài)數(shù),選通信號的建立時間,激活時間和保持時間。這些特征使得接口與外部存儲器及外設(shè)脫離了聯(lián)系,可以靈活獨立地進行外部擴展。在本次設(shè)計中,除了液晶除了液晶顯示模塊和鍵盤外,所有的外擴寄存器和存儲器全部映射在XINTFZONE 2(0x080000~0x0FFFFF)譯碼的空間內(nèi)。我們使用了DAC7625 作為數(shù)模轉(zhuǎn)換芯片,該芯片為4 通道12 位雙緩沖的DAC 芯片,工作電壓可以是+5V 或-5V~+5V 的模擬電壓。
輸出電壓是0~3.3V 的直流電壓。功能框圖如圖2 所示:

?
其中,DAC7625 芯片中LDAC 引腳為載入DAC 引腳,當(dāng)為低電平時,所有寄存器為透明,保持寄存器里的數(shù)據(jù)送到轉(zhuǎn)換器輸出通道;A1、A0 引腳為寄存器選擇引腳,CPLD根據(jù)地址總線譯碼選通不同的A1、A0 組合,從而將1 ~ 4 通道的保持寄存器映射到0xC0000~0xC0003 的地址空間。此外,我們還設(shè)計了傳送寄存器(DACTLR),映射地址為0xC0004,這個寄存器的所有數(shù)據(jù)位都無效,既不可讀也不可寫。對這個寄存器執(zhí)行任何讀或?qū)懖僮鞫紩a(chǎn)生一個內(nèi)部信號,將LDAC 引腳置為低電平,啟動轉(zhuǎn)換器工作。其中,整個譯碼邏輯都是由CPLD 芯片完成。下面介紹譯碼邏輯的部分VHDL 語言描述:

?
2.2.2 串行非易失型存儲器X25650芯片的應(yīng)用
在這里,我們外擴了SPIOER 寄存器來控制DSP 與X25650 的SPI 接口,它的作用是連A18-A0XZCS2XWETMS320F2812XR/WD11-D0CSA0A1LDACDAC7625R/WDB11-DB0CPLD 譯碼邏輯daccsdaca0daca1DACTLR ldac圖 2通或割斷DSP 與X25625 的連接。當(dāng)需要F2812 的SPI 接口與SPI515(SPI 接口型)仿真器連接,實現(xiàn)仿真操作時,可以通過寄存器屏蔽SPI 對X25650 的操作。SPIOER 控制寄存器的地址為0xC0002,使用了外部總線來對其進行讀寫,它的使用:
SPIOE 位:當(dāng)SPIOE 位為“1”時,DSP 與X25650 各引腳接通;當(dāng)為“0”時各個引腳斷開,此時,DSP 上的SPI 引腳為高阻態(tài),可以連接其他設(shè)備。上電復(fù)位時為“1”。該寄存器由CPLD 內(nèi)部編程構(gòu)成。
在 F2812 中,SPI 模塊支持125 種不同的波特率,通過向波特率寄存器(SPIBRR)寫入設(shè)定值,可以與不同速率要求的外設(shè)通信。其波特率設(shè)定如下:

?
當(dāng) SPIBRR="3-127" 時, SPI 波特率=LSPCLK/(SPIBRR+1)。當(dāng)SPIBRR=0,1,2 時, SPI波特率=LSPCLK/4在這里:LSPCLK=設(shè)備的低速外圍時鐘頻率。SPIBRR=主SPI 設(shè)備中SPIBRR 的內(nèi)容。
這里,通過配置低速外設(shè)時鐘預(yù)定標(biāo)器寄存器(LOSPCP)和SPI 波特率寄存器(SPIBRR)中的內(nèi)容,使DSP 的波特率達到5MHZ,滿足X25650 的要求。
2.2.3 字符型液晶顯示器的應(yīng)用
本系統(tǒng)將字符型液晶顯示器MDL(S)16263 作為DSP 的一個慢速顯示設(shè)備,映射在XZCS6 區(qū)域。該模塊共有11 條信號線,RS 是寄存器選擇,低電平選擇指令寄存器,高電平選擇數(shù)據(jù)寄存器。R/W 是讀寫控制端,低電平寫顯示模塊,高電平讀顯示模塊。E 為允許輸入信號線(數(shù)據(jù)讀寫操作允許信號),高電平有效。DB0~DB7 為數(shù)據(jù)線。
但是相比較 DSP 而言,LCD 是慢速設(shè)備,在設(shè)計器件時要考慮時序匹配問題,加入合適的等待狀態(tài)。該液晶模塊讀寫周期Tcyc 最小為1000ns,脈沖寬度Pw 最小為450ns,讀寫操作數(shù)據(jù)保持時間最小為10ns,而F2812 的XINTF 外設(shè)接口的讀寫訪問默認情況下為最大值,為26 個XTIMCLK 周期(XTIMCLK 默認為SYSCLK/2,13ns.),也就是說最大讀寫周期為346ns,其中讀或?qū)懺L問的建立階段默認為6 個XTIMCLK 周期、激活階段默認為14 個XTIMCLK 周期、跟蹤階段默認為6 個XTIMCLK 周期。因此,讀寫周期需要加入等待狀態(tài)。
當(dāng)對DSP 的XREADY 引腳采樣為低電平時,激活階段將擴展一個XTIMCLK 周期,在下一個XTIMCLK 周期期間,XREADY 再次被采樣。這一個過程一直被采樣,直至XREADY采樣為高,正常地完成訪問。這里,我們利用CPLD 芯片將DSP 的XREADY 信號置為低電平,保持50 個XTIMCLK 周期,從而產(chǎn)生合適的等待狀態(tài)。如圖3 所示:

?
3 結(jié)論
本系統(tǒng)的開發(fā)采用了 DSP+CPLD 的結(jié)構(gòu),這種結(jié)構(gòu)將DSP 較強的數(shù)據(jù)運算能力與CPLD 的高集成性、硬件可重復(fù)編程性結(jié)合在一起,使系統(tǒng)的設(shè)計過程更加的合理、緊湊和簡化。并且,該系統(tǒng)經(jīng)過擴展后可以應(yīng)用在工業(yè)控制的多種場合,具有一定的實際參考價值。
評論