TMS320VC5402通用I/O資源及其應(yīng)用
1 引 言
本文引用地址:http://m.butianyuan.cn/article/21025.htm隨著dsp芯片及相關(guān)技術(shù)的發(fā)展,dsp得到了人們的日益關(guān)注和越來(lái)越廣泛的應(yīng)用。德州儀器(ti)公司推出的tms320vc54x系列具有高性能、低功耗等優(yōu)良性能,受到用戶的歡迎,已廣泛地應(yīng)用于有線和無(wú)線通訊、儀器儀表、雷達(dá)、圖像處理、工業(yè)控制、語(yǔ)音處理等領(lǐng)域。
tms320vc5402是c5000系列中性價(jià)比較高的一顆芯片。獨(dú)特的6總線哈佛結(jié)構(gòu),使其能夠6條流水線同時(shí)工作,工作頻率達(dá)到100mhz。vc5402除了使用vc54x系列中常用的通用i/o口(generalpurposei/o,簡(jiǎn)稱gpio)外,還為用戶提供了多個(gè)可選的gpio:hpi-8和mcbsp。本文將介紹vc5402的gpio資源,并結(jié)合實(shí)例,介紹其典型用法。
2 vc54x系列的gpio
gpio,即指能為外圍設(shè)備提供信號(hào)輸出和從外圍設(shè)備輸入信號(hào)到dsp的引腳。這些管腳能通過(guò)軟件提供多用途的輸入和輸出信號(hào)。所有的vc54x系列提供兩個(gè)gpio:和xf。即分支控制輸入引腳,被用來(lái)監(jiān)視外圍設(shè)備的狀態(tài)。在時(shí)間要求苛刻的循環(huán)中,在不允許受干擾的情況下,可根據(jù)引腳的狀態(tài)(即外圍設(shè)備的狀態(tài))來(lái)決定分支轉(zhuǎn)移的去向,以替代中斷。如:
xc2,bio
表示如果引腳為低電平,則執(zhí)行后面的1條雙字或2條單字指令;否則,執(zhí)行2條nop指令。
xf即外部標(biāo)志輸出引腳,它受軟件控制,可以用來(lái)向外部器件發(fā)信號(hào)。用ssbx指令可以將st1的xf位置1,xf腳輸出高電平。同理,rsbx指令使xf腳輸出低電平。
bio和xf通常被用作異步通信時(shí)的握手信號(hào)。
3 hpi-8用在gpio
vc54x系列提供有一個(gè)主機(jī)接口(host portinterface,hpi)。hpi是8位并行口,用來(lái)與主設(shè)備或主處理器接口。vc5402的hpi-8還有特殊的功能,即,當(dāng)hpi-8功能被禁止時(shí)(在啟動(dòng)復(fù)位時(shí),讓hpiena腳為0),其8位雙向數(shù)據(jù)總線hd可以用作gpio。
有兩個(gè)存儲(chǔ)器映像寄存器來(lái)控制hpi-8口的gpio功能,它們是:通用i/o控制寄存器(gpiocr)和通用i/o狀態(tài)寄存器(gpiosr)。gpiocr的各個(gè)位段的符號(hào)如圖1所示。
該寄存器的tout1位是timer1的輸出使能位。當(dāng)hpi-8功能被禁止后,tout1位允許或禁止timer1從hint腳輸出。當(dāng)系統(tǒng)只有一個(gè)定時(shí)器時(shí),該位被保留。dir7~0控制8個(gè)i/o口的方向。當(dāng)dir7~0的某位置為1時(shí),gpiosr的相應(yīng)位的值輸出到該引腳;同理,當(dāng)某位為0時(shí),相應(yīng)引腳的邏輯電平被讀入到gpiosr的相應(yīng)位。注意,當(dāng)某個(gè)hd引腳用作輸入功能,對(duì)gpiosr相應(yīng)位的寫操作將不起作用。gpiosr各位的含義見圖2(高8位全部保留)。io7~0的某位為0,表示在相應(yīng)的hd引腳輸出低電平,或者相應(yīng)的hd引腳讀入的外部信號(hào)為低。io7~0的某位為1時(shí),表示在相應(yīng)的hd引腳輸出高電平,或者相應(yīng)的hd引腳讀入的外部信號(hào)為高。 4 mcbsp用作gpio
vc5402是vc54x系列中最早引入多通道緩沖串行口(mcbsp)的芯片。vc5402及以后的vc54x系列芯片所引入的mcbsp功能除了用作一般的bsp外,在兩種情況下,其部分串口管腳(clkx、fsx、dx、clkr、fsr、dr)還可以被用作gpio,這兩種情況是:(1)相關(guān)的串口處在復(fù)位狀態(tài),即,串口控制寄存器spcr〔1、2〕的(r/x)rst位為0;(2)相關(guān)的串口被允許用作gpio,即,管腳控制寄存器pcr的(r/x)ioen位置1。
管腳控制寄存器(pcr)給出了mcbsp的管腳作為通用i/o口時(shí)的配置情況,如圖3所示。
表1給出了具體的配置情況。從表中可以得知,當(dāng)fs(r/x)m=0時(shí),fs(r/x)選作輸入管腳。同理,當(dāng)fs(r/x)m=1時(shí),fs(r/x)選作輸出管腳。當(dāng)選作輸出時(shí),fs(r/x)p中儲(chǔ)存著將要輸出的值。選作輸入時(shí),fs(r/x)p變成只讀位,反映了該引腳信號(hào)的高低。clk(r/x)m和clk(r/x)p的工作情況類似于clk(r/x)。當(dāng)mcbsp中具有發(fā)送功能的部分引腳被選作gpio時(shí),pcr中的dx stat位的值被送到dx。通常,將dr用作輸入,輸入值將被保存在pcr中的dr stat位。因?yàn)閏lks通常用作mcbsp的輸入,將影響到輸入器和輸出器的配置。所以,為了將clks配置成通用輸入口,發(fā)送器和接收器都必須復(fù)位,而且保證(r/x)ioen=1。
5 實(shí) 例
在一個(gè)dsp系統(tǒng)中,“看門狗”電路是必不可少的部分?!翱撮T狗”和dsp的聯(lián)絡(luò)信號(hào)通常由dsp的gpio口提供。比較常用的“看門狗”有max706和x25043。x25043有很好的vcc電壓監(jiān)控、可編程看門狗定時(shí)器功能,還有4k字節(jié)的串行e2prom。在x25043內(nèi)部,有一個(gè)狀態(tài)寄存器,控制該寄存器,就能對(duì)x25043的e2prom進(jìn)行讀或?qū)?,并?duì)看門狗超時(shí)周期進(jìn)行設(shè)置。圖4為dsp和x25043的接口電路。
6 結(jié)束語(yǔ)
本文詳細(xì)介紹了tms320vc5402的通用i/o資源,并結(jié)合dsp的外圍電路——“看門狗”給出了這些gpio的一般使用方法。
評(píng)論