《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > TMS320F206設(shè)計(jì)中應(yīng)注意的幾個(gè)問題
關(guān)鍵詞: DSP TMS320F206 TI
Abstract:
Key words :

  摘  要: title="TMS320F206">TMS320F206是TI公司TMS320C2XX系列芯片中具有代表性的一種,在介紹其特點(diǎn)、結(jié)構(gòu)與性能的基礎(chǔ)上,重點(diǎn)闡述了TMS320F206在軟件及硬件設(shè)計(jì)中應(yīng)注意的幾個(gè)問題,給出了作者的一些實(shí)際經(jīng)驗(yàn)。

  關(guān)鍵詞: DSP  TMS320F206  軟件設(shè)計(jì)  硬件設(shè)計(jì)

 

  數(shù)字化已成為電子、通信和信息技術(shù)的發(fā)展趨勢(shì)與潮流。在這種趨勢(shì)與潮流的推動(dòng)下,數(shù)字信號(hào)處理的理論與實(shí)現(xiàn)手段獲得了快速的發(fā)展,已成為當(dāng)代發(fā)展最快的學(xué)科之一。而DSP芯片作為數(shù)字信號(hào)處理,尤其是實(shí)時(shí)數(shù)字信號(hào)處理的主要方法和手段,自20世紀(jì)70年代末、80年代初誕生以來,無論在性能上還是在價(jià)格上,都取得了突破性的迅猛發(fā)展。從定點(diǎn)到浮點(diǎn)直到并行處理芯片,DSP芯片的功能越來越強(qiáng)、速度越來越快(例如TI公司的并行處理芯片C6000系列的速度達(dá)到了2400MIPS的高指標(biāo));而且,DSP芯片的價(jià)格越來越低,開發(fā)與設(shè)計(jì)手段越來越多樣化、越來越容易。越來越高的性能價(jià)格比、日漸完善的開發(fā)方式使DSP的應(yīng)用范圍越來越大,已經(jīng)廣泛地應(yīng)用于通信、雷達(dá)、聲納、遙感、生物醫(yī)學(xué)、機(jī)器人、控制、精密機(jī)械、語音和圖像處理等領(lǐng)域。可以毫不夸張地說,以DSP芯片為基礎(chǔ)的數(shù)字信號(hào)處理技術(shù)已成為當(dāng)代電子、通信和信息處理技術(shù)不可或缺的重要手段。

  從全球范圍來看,生產(chǎn)DSP芯片的廠家主要有美國的TI公司、AD公司、Motorola公司以及Lucent公司等。其中,TI公司以其卓越的產(chǎn)品性能、多層次的產(chǎn)品系列、良好的性能價(jià)格比以及較好的售后服務(wù),使其TMS320系列DSP芯片占據(jù)了接近一半的國際市場(chǎng)份額。從定點(diǎn)、浮點(diǎn)到并行,已形成了一個(gè)較為完整的產(chǎn)品系列,因而獲得了最廣泛的應(yīng)用。

  TMS320系列產(chǎn)品大致是沿著下面三個(gè)方向在不斷發(fā)展的:

  定點(diǎn)DSP:C1X→C2X→C2XX→C5X→C54X→…;

  浮點(diǎn)DSP:C3X→C4X→…;

  內(nèi)含多處理器的DSP:C8X→C6X…;

  TI公司的TMS320C2XX 系列芯片是采用靜態(tài)CMOS集成電路工藝制造的,其結(jié)構(gòu)以C5X為基礎(chǔ)。C2XX和C5X操作靈活、速度高,這是由于采用先進(jìn)哈佛結(jié)構(gòu)(程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器具有各自的總線)、多級(jí)流水線、片內(nèi)外設(shè)、片內(nèi)存儲(chǔ)器和專用的指令集的結(jié)果。C2XX的速度高達(dá)40MIPS。C2XX產(chǎn)品具有以下優(yōu)點(diǎn):

  .改進(jìn)TMS320的結(jié)構(gòu)設(shè)計(jì),使其性能和通用性得以提高。

  .采用模塊化結(jié)構(gòu)設(shè)計(jì),可以更快地開發(fā)各種產(chǎn)品。

  .采用先進(jìn)的集成電路工藝以提高性能。

  .其源碼與C1X、C2X兼容,能更快、更容易地對(duì)C1X、C2X進(jìn)行升級(jí)。

  .其增強(qiáng)型指令集適用于快速算法和適合于優(yōu)化高級(jí)語言操作。

  .采用新的靜態(tài)設(shè)計(jì)技術(shù)使其功耗最低。

1 TMS320F206的結(jié)構(gòu)與性能特點(diǎn)

  TMS320F206是TI公司C2XX系列產(chǎn)品中非常具有代表性的一種,它含有豐富的片內(nèi)外設(shè)和片內(nèi)存儲(chǔ)器;尤其是片內(nèi)含有可作為程序存儲(chǔ)器的32K閃速存儲(chǔ)器(Flash Ram)。用戶可通過TMS320F206自帶的符合IEEE標(biāo)準(zhǔn)1149.1的JTAG接口將可執(zhí)行程序代碼直接燒錄到芯片內(nèi)部,并可通過該接口對(duì)程序進(jìn)行仿真與測(cè)試?;贘TAG的結(jié)構(gòu),極大地方便了用戶的系統(tǒng)設(shè)計(jì)與程序調(diào)試,從而使TMS320F206獲得了廣泛的應(yīng)用。

  TMS320F206的主要特點(diǎn)如下:

  (1)從速度上來看,其單周期指令執(zhí)行時(shí)間為50、35、25ns,處理速度可達(dá)20、28.5或40MIPS。從兼容性來看,其源代碼與C1X和C2X全部產(chǎn)品兼容,與C5X產(chǎn)品向上兼容。

  (2)可尋址的存儲(chǔ)器空間為224K字(程序空間64K字,數(shù)據(jù)空間64K字,I/O空間64K字,還有32K字全局存儲(chǔ)空間)。其中,片內(nèi)雙訪問RAM 544字(288字用于數(shù)據(jù),另256字可用于程序或數(shù)據(jù)),片內(nèi)閃速存儲(chǔ)器(Flash Ram)32K字,片內(nèi)單訪問RAM 4K字。

  (3)從CPU的結(jié)構(gòu)來看,含有32位算術(shù)邏輯單元(CALU)和32位累加器,16位并行乘法器(乘積為32位),3個(gè)比例移位器,用于間接尋址數(shù)據(jù)存儲(chǔ)器的8個(gè)輔助寄存器,并有專用的算術(shù)單元。在程序控制方

面,有4級(jí)流水線操作和8級(jí)硬件中斷,并有用戶可屏蔽的中斷線。

  (4)具有6組16比特總線,它們是:

  .PAB程序地址總線,提供讀、寫程序存儲(chǔ)器的地址。

  .DRAB數(shù)據(jù)讀地址總線,提供讀數(shù)據(jù)存儲(chǔ)器的地址。

  .DWAB數(shù)據(jù)寫地址總線,提供寫數(shù)據(jù)存儲(chǔ)器的地址。

  .PRDB程序讀總線,將指令代碼和立即數(shù)從程序存儲(chǔ)器傳送到CPU。

  .DRDB數(shù)據(jù)讀總線,承載數(shù)據(jù)傳送到數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器。

  .DWEB數(shù)據(jù)寫總線,承載數(shù)據(jù)傳送到程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。

  (5)含有功能強(qiáng)大的指令集,包括單指令重復(fù)操作、單周期相乘/累加、存儲(chǔ)器塊移動(dòng)、變址尋址能力、適合基于2 FFT的倒位序變址能力。

  (6)含有豐富的片內(nèi)外設(shè),包括軟件可編程的定時(shí)器;適用于程序、數(shù)據(jù)和I/O存儲(chǔ)空間的軟件可編程等待狀態(tài)產(chǎn)生器;振蕩器與鎖相環(huán)(可實(shí)現(xiàn)時(shí)鐘選擇:×1、×2、×4和除2模式);CLK寄存器(可控制CLKOUT1引腳的開啟與關(guān)閉);同步串行口(SSP);異步串行口(ASP)。

  (7)含有用于仿真和測(cè)試的片內(nèi)掃描邏輯電路(IEEE標(biāo)準(zhǔn)1149.1);5V或3.3V電源靜態(tài)CMOS工藝;可以降功耗模式工作以減少功率消耗;封裝形式為100線薄型四邊有引線扁平封裝(TQFP)。

2 TMS320F206系統(tǒng)設(shè)計(jì)中應(yīng)注意的幾個(gè)問題

2.1 速度和時(shí)鐘

  從運(yùn)算速度上看,TMS320F206有20、28.5和40MIPS三個(gè)具體片種,三種芯片的價(jià)格差異較大。40MIPS的DSP可用于20MIPS的低速率,反之則不行。因此在選擇芯片時(shí),要意識(shí)到速度的差異,應(yīng)根據(jù)實(shí)際的需要選擇合適的芯片,以求獲得最優(yōu)的性能價(jià)格比。

  TMS320F206有32K的片內(nèi)Flash Ram,可滿足大多數(shù)應(yīng)用場(chǎng)合對(duì)程序存儲(chǔ)空間的需要??蓤?zhí)行程序代碼燒錄進(jìn)Flash Ram是通過JTAG仿真測(cè)試口完成的。但必須注意的是:無論對(duì)于40MIPS,還是20MIPS或28.5MIPS的DSP芯片,程序代碼成功燒錄進(jìn)片內(nèi)Flash Ram的前提條件是TMS320F206工作于20MIPS,亦即CLKOUT1時(shí)鐘頻率應(yīng)為20MHz/50ns,否則程序無法燒錄進(jìn)DSP內(nèi)的Flash Ram。所以,在設(shè)計(jì)中,如果希望TMS320F206的運(yùn)算速度超過20MIPS,且把Flash Ram作為程序存儲(chǔ)空間,則應(yīng)注意主時(shí)鐘CLKOUT1的設(shè)計(jì)。在利用外時(shí)鐘源的情況下,可利用兩個(gè)引腳DIV1和DIV2為高低電平來確定CLKOUT1與外時(shí)鐘源的對(duì)應(yīng)關(guān)系。當(dāng)DIV2和DIV1分別為低電平和高電平時(shí),二者相等;當(dāng)DIV2和DIV1分別為高電平和低電平時(shí),CLKOUT1兩倍于外時(shí)鐘源。所以,如果要求在程序運(yùn)行時(shí),CLKOUT1的速率超過20MHz,可采用將時(shí)鐘確定為外部時(shí)鐘模式的方法,同時(shí)使外部時(shí)鐘源的頻率不大于20MHz,然后根據(jù)程序運(yùn)行或程序燒錄時(shí)所需時(shí)鐘的不同,通過跳線確定DIV1和DIV2的高低電平,從而分別滿足程序運(yùn)行和程序燒錄時(shí)不同的時(shí)鐘需要。例如,希望TMS320F206的運(yùn)算速度是40MIPS,可用20MHz的晶振作為外部時(shí)鐘源;在程序燒錄時(shí),通過跳線將DIV2和DIV1分別設(shè)置為低電平和高電平,此時(shí)CLKOUT1為20MHz,可滿足程序燒錄所需的時(shí)鐘條件;在程序運(yùn)行時(shí),則通過跳線將DIV2和DIV1分別設(shè)置為高電平和低電平,此時(shí)CLKOUT1是外時(shí)鐘源的2倍,為40MHz,可滿足程序運(yùn)行時(shí)的時(shí)鐘條件。

2.2 中斷的使用

  中斷的使用是系統(tǒng)設(shè)計(jì)中十分重要的問題。中斷的軟件設(shè)計(jì),是中斷程序正常運(yùn)行的關(guān)鍵;而中斷的硬件設(shè)計(jì),有些問題也同樣不容忽視。

  在TMS320F206中,中斷的使用是與三個(gè)寄存器相聯(lián)系的,即中斷標(biāo)志寄存器(ifr)、中斷屏蔽寄存器(imr)和中斷控制寄存器(icr)。

  16位的中斷標(biāo)志寄存器(ifr)標(biāo)志位于數(shù)據(jù)存儲(chǔ)空間內(nèi),地址是0006h。它含有所有可屏蔽中斷的標(biāo)志。當(dāng)可屏蔽中斷請(qǐng)求到達(dá)CPU時(shí),ifr中相應(yīng)的標(biāo)志置為1,這表明該中斷掛起,正在等待響應(yīng)。讀ifr可識(shí)別掛起的中斷,寫ifr可清除掛起的中斷。為清除中斷請(qǐng)求(也即將ifr標(biāo)志清0),可向ifr中相應(yīng)的位寫入1,再將ifr當(dāng)前的內(nèi)容寫回ifr,即可清除所有掛起的中斷。

  16位的中斷屏蔽寄存器(imr)標(biāo)志位于數(shù)據(jù)存儲(chǔ)空間,地址是0004h。它用于屏蔽內(nèi)部和外部的可屏蔽中斷。因/NMI和/RS是不可屏蔽中斷,所以它們都不包括在imr中,因而imr對(duì)這些中斷沒有影響。讀imr可以識(shí)別被屏蔽和沒有被屏蔽的中斷,寫imr可以屏蔽和不屏蔽中斷。為了不屏蔽某個(gè)中斷,應(yīng)將它對(duì)應(yīng)的imr中的位寫為1;為了屏蔽某個(gè)中斷,應(yīng)將它對(duì)應(yīng)的imr中的位寫為0。

  16位的中斷控制寄存器(icr)標(biāo)志在I/O空間內(nèi),地址是FFECh,含有中斷/INT2和/INT3單獨(dú)的標(biāo)志位和屏蔽位。它控制HOLD/INT1的引腳功能,并單獨(dú)控制/INT2和/INT3中斷。

  在TMS320F206的程序空間中,0000h~003fh對(duì)應(yīng)中斷向量空間,對(duì)于程序設(shè)計(jì)中沒用到的向量空間,應(yīng)填零,以防止意外情況發(fā)生。若TMS320F206響應(yīng)了某個(gè)硬件中斷,則會(huì)自動(dòng)將其相應(yīng)的中斷標(biāo)志位和中斷允許位INTM置1(INTM為1,則禁止所有中斷),但在中斷服務(wù)程序結(jié)束后不會(huì)自動(dòng)將二者清0。因此,在中斷服務(wù)程序結(jié)束時(shí),應(yīng)將該中斷的標(biāo)志位和中斷允許位INTM清0,以保證后續(xù)中斷的正常運(yùn)行。實(shí)際經(jīng)驗(yàn)表明,若在某個(gè)中斷的服務(wù)程序中沒將該中

  斷的標(biāo)志清0,則TMS320F206是無法連續(xù)正常響應(yīng)該中斷的,結(jié)果是程序運(yùn)行發(fā)生混亂,出現(xiàn)許多意想不到的結(jié)果。

  在TMS320F206中,/INT2和/INT3是兩個(gè)較為特殊的可屏蔽硬件中斷,它們共享:

  (1)中斷標(biāo)志寄存器(ifr)中的同一標(biāo)志位;

  (2)中斷屏蔽寄存器(imr)中的同一屏蔽位;

  (3)同一個(gè)中斷服務(wù)程序(/INT2和/INT3都映射到程序存儲(chǔ)器內(nèi)的中斷向量單元0004h)。

  為單獨(dú)使用/INT2和/INT3,icr提供了兩個(gè)屏蔽位(MINT2和MINT3)和兩個(gè)標(biāo)志位(FINT2和FINT3)。當(dāng)/INT2和/INT3引腳上有中斷請(qǐng)求時(shí),由MINT2和MINT3確定是否設(shè)置標(biāo)志位FINT2、FINT3和INT2/INT3。為屏蔽/INT2(防止標(biāo)志FINT2和INT2/INT3置1),可將0寫入MINT2;為屏蔽/INT3(防止標(biāo)志FINT3和INT2/INT3置1),可將0寫入MINT3。若想將/INT2和/INT3都屏蔽,則只需將imr中的INT2/INT3位置0,CPU接收不到中斷請(qǐng)求,也就不會(huì)響應(yīng)中斷請(qǐng)求了。

  當(dāng)中斷標(biāo)志寄存器ifr中的INT2/INT3位置1時(shí),說明有一個(gè)或兩個(gè)中斷掛起。為區(qū)別這兩個(gè)中斷,可在中斷服務(wù)程序中測(cè)試icr中的FINT2和FINT3,然后分配到適當(dāng)子程序。如果只希望響應(yīng)其中的一個(gè)并執(zhí)行中斷服務(wù)程序,那么可在icr中將另一個(gè)屏蔽。CPU響應(yīng)/INT2和/INT3中斷時(shí),其中斷標(biāo)志位不會(huì)自動(dòng)清0,因此必須在中斷服務(wù)程序中將icr和ifr中相應(yīng)的中斷標(biāo)志位以及中斷允許位INTM清0。

  TMS320F206共有5個(gè)硬件中斷。其中,用戶不可屏蔽中斷有:復(fù)位中斷(/RS)、用戶不可屏蔽中端(/NMI);用戶可屏蔽中斷有:/INT1、/INT2、/INT3,用戶可通過設(shè)置有關(guān)的軟件寄存器,決定是否響應(yīng)該中斷。

  在系統(tǒng)設(shè)計(jì)中,若用戶沒有用到某個(gè)可屏蔽硬件中斷,一方面應(yīng)通過設(shè)置中斷屏蔽寄存器(imr)將其屏蔽,另一方面也應(yīng)通過設(shè)置相應(yīng)的中斷引腳,將其關(guān)閉,以保證系統(tǒng)運(yùn)行的穩(wěn)定性和可靠性。

  在通常情況下,用戶都會(huì)用到復(fù)位中斷(/RS),以完成程序的復(fù)位。在復(fù)位中斷電路的設(shè)計(jì)中,應(yīng)注意的問題是:

  (1)在系統(tǒng)運(yùn)行的初始階段,應(yīng)保證/RS為低電平的時(shí)間足夠長,以使DSP能準(zhǔn)確地響應(yīng)復(fù)位中斷,從而保證程序的正常運(yùn)行。

  (2)在程序運(yùn)行過程中,應(yīng)保證/RS有良好的穩(wěn)定性,以防止由于外界干擾使/RS為低電平而使TMS320F206意外復(fù)位,產(chǎn)生意想不到的后果。

  /NMI是另一個(gè)不可屏蔽的硬件中斷,如果在設(shè)計(jì)中沒用到該中斷,務(wù)必將其對(duì)應(yīng)的引腳/NMI拉高,以防止意外。經(jīng)驗(yàn)表明,若不將/NMI拉高,則通過JTAG將程序代碼燒錄進(jìn)Flash Ram內(nèi)時(shí),會(huì)出現(xiàn)錯(cuò)誤提示,使燒錄無法完成。

2.3 Flash Ram的使用

  TMS320F206有32K的片內(nèi)Flash Ram,分為兩個(gè)塊:F0和F1,各占16K的程序存儲(chǔ)空間,二者可以單獨(dú)使用,也可以作為一個(gè)整體使用。但應(yīng)注意使用片內(nèi)Flash Ram的前提條件是:TMS320F206必須工作于微計(jì)算機(jī)方式,亦即MP/MC引腳必須置為低電平,從而使片內(nèi)Flash Ram使能。

  通過JTAG仿真測(cè)試口向Flash Ram燒錄代碼需經(jīng)過以下三個(gè)環(huán)節(jié):

 ?、賑lear,     使所有位都置0;

 ?、趀rase,     使所有位都置1;

 ?、踦rogram,   將程序代碼中0所對(duì)應(yīng)的位清0。

  需明確的是:以上3個(gè)環(huán)節(jié)在程序燒錄時(shí),缺一不可,且只能按①、②、③的順序進(jìn)行;否則在程序燒錄過程中將出現(xiàn)錯(cuò)誤提示,從而使程序燒錄告以失敗。在實(shí)際操作中,易犯的錯(cuò)誤是不經(jīng)過第1個(gè)環(huán)節(jié)而直接進(jìn)行erase和program,結(jié)果是無法完成程序燒錄。

  在JTAG仿真測(cè)試口中,有一個(gè)Vcc引腳,它是連接目標(biāo)板上TMS320F206的電源端。在程序燒錄時(shí),目標(biāo)板上的電壓不能太低,否則也會(huì)出現(xiàn)錯(cuò)誤提示。筆者在一個(gè)5V供電的DSP系統(tǒng)中,曾以4.85V給TMS320F206供電,結(jié)果無法完成燒錄。最后將電源電壓改為4.95V到5.05V的范圍內(nèi)時(shí),一切正常。

2.4 PCB制板與焊接問題

  在有關(guān)DSP的PCB設(shè)計(jì)中,應(yīng)遵循PCB制作與布線的通用規(guī)則。應(yīng)特別注意的方面有:務(wù)必將模擬電路和數(shù)字電路獨(dú)立布線,最后單點(diǎn)連接電源和地;對(duì)所有的輸入信號(hào)必須有明確的處理,不能懸浮或置之不理。

  TMS320F206的封裝形式只有TQFP(薄型四邊有引線扁平封裝)一種,其外形是一個(gè)邊長約為1.2厘米的正方形,每個(gè)邊上有25個(gè)引腳,排列十分密集。因此,芯片的焊接也成了一個(gè)需要注意的問題。一般在大規(guī)模的專業(yè)化生產(chǎn)中,有專用的設(shè)備完成諸如TQFP類貼片型芯片的焊接,但設(shè)備較為昂貴。因此,在實(shí)驗(yàn)室或小規(guī)模生產(chǎn)場(chǎng)合下通常都采用手工焊接的方式。

由于TMS320F206是貼片型芯片,所以在制作PCB板時(shí),應(yīng)采取噴錫工藝,同時(shí)應(yīng)注意噴錫的厚度和引腳排列的尺寸。在手工焊接時(shí),宜采用焊頭較細(xì)的電烙鐵,筆者根據(jù)實(shí)際經(jīng)驗(yàn)總結(jié)的焊接過程如下:

 ?、賹MS320F206的四邊引腳刷一層松香水;

  ②將其四邊引腳與PCB板上的引腳一一對(duì)齊;

 ?、塾脽裏岬碾娎予F輕點(diǎn)四個(gè)角上的某個(gè)引腳以使芯片處于半固定;

 ?、芪⒄{(diào)四邊引腳位置,直到確定各個(gè)引腳已完全對(duì)齊;

 ?、萦脽裏岬碾娎予F對(duì)準(zhǔn)引腳處,一一點(diǎn)擊,以使下面的焊錫熔化,完成焊接。應(yīng)注意點(diǎn)擊的時(shí)間不要過長,點(diǎn)擊的方向盡量垂直,亦即平壓下去,而不要沿著引腳排列的方向平拉。平拉有可能因用力過大而使引腳偏離原來的位置,從而使相鄰引腳粘在一塊;

 ?、抻萌f用表檢查引腳焊接的通斷。若有不通的引腳,則應(yīng)再次點(diǎn)焊。

 

參考文獻(xiàn)

1 張芳蘭.TMS320C2XX用戶指南.北京:電子工業(yè)出版社,1999

2 張雄偉,曹鐵勇.DSP芯片的原理與開發(fā)應(yīng)用.北京:電子工業(yè)出版社,2000

3 彭啟宗,李玉柏.DSP技術(shù).成都:電子科技大學(xué)出版社,1997

4 TMS320C2XX User’s Guide.USA:TEXAS INSTRUMENTS,1997

5 TMS320C1X/C2X/C2XX/C5X Assembly Language Tools User’s Guide.USA:TEXAS INSTRUMENTS,1995

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。