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