數字化已成為電子、通信和信息技術的發展趨勢與潮流。在這種趨勢與潮流的推動下,數字信號處理的理論與實現手段獲得了快速的發展,已成為當代發展最快的學科之一。而DSP芯片作為數字信號處理,尤其是實時數字信號處理的主要方法和手段,自20世紀70年代末、80年代初誕生以來,無論在性能上還是在價格上,都取得了突破性的迅猛發展。從定點到浮點直到并行處理芯片,DSP芯片的功能越來越強、速度越來越快例如TI公司的并行處理芯片C6000系列的速度達到了2400MIPS的高指標;而且,DSP芯片的價格越來越低,開發與設計手段越來越多樣化、越來越容易。越來越高的性能價格比、日漸完善的開發方式使DSP的應用范圍越來越大,已經廣泛地應用于通信、雷達、聲納、遙感、生物醫學、機器人、控制、精密機械、語音和圖像處理等領域。可以毫不夸張地說,以DSP芯片為基礎的數字信號處理技術已成為當代電子、通信和信息處理技術不可或缺的重要手段。 從全球范圍來看,生產DSP芯片的廠家主要有美國的TI公司、AD公司、Motorola公司以及Lucent公司等。其中,TI公司以其卓越的產品性能、多層次的產品系列、良好的性能價格比以及較好的售后服務,使其TMS320系列DSP芯片占據了接近一半的國際市場份額。從定點、浮點到并行,已形成了一個較為完整的產品系列,因而獲得了最廣泛的應用。 TMS320系列產品大致是沿著下面三個方向在不斷發展的: 定點DSP:C1X→C2X→C2XX→C5X→C54X→…; 浮點DSP:C3X→C4X→…; 內含多處理器的DSP:C8X→C6X…; TI公司的TMS320C2XX 系列芯片是采用靜態CMOS集成電路工藝制造的,其結構以C5X為基礎。C2XX和C5X操作靈活、速度高,這是由于采用先進哈佛結構(程序存儲器和數據存儲器具有各自的總線)、多級流水線、片內外設、片內存儲器和專用的指令集的結果。C2XX的速度高達40MIPS。C2XX產品具有以下優點: .改進TMS320的結構設計,使其性能和通用性得以提高。 .采用模塊化結構設計,可以更快地開發各種產品。 .采用先進的集成電路工藝以提高性能。 .其源碼與C1X、C2X兼容,能更快、更容易地對C1X、C2X進行升級。 .其增強型指令集適用于快速算法和適合于優化高級語言操作。 .采用新的靜態設計技術使其功耗最低。 2 TMS320F206系統設計中應注意的幾個問題 2.1 速度和時鐘 從運算速度上看,TMS320F206有20、28.5和40MIPS三個具體片種,三種芯片的價格差異較大。40MIPS的DSP可用于20MIPS的低速率,反之則不行。因此在選擇芯片時,要意識到速度的差異,應根據實際的需要選擇合適的芯片,以求獲得最優的性能價格比。 TMS320F206有32K的片內Flash Ram,可滿足大多數應用場合對程序存儲空間的需要。可執行程序代碼燒錄進Flash Ram是通過JTAG仿真測試口完成的。但必須注意的是:無論對于40MIPS,還是20MIPS或28.5MIPS的DSP芯片,程序代碼成功燒錄進片內Flash Ram的前提條件是TMS320F206工作于20MIPS,亦即CLKOUT1時鐘頻率應為20MHz/50ns?否則程序無法燒錄進DSP內的Flash Ram。所以,在設計中,如果希望TMS320F206的運算速度超過20MIPS,且把Flash Ram作為程序存儲空間,則應注意主時鐘CLKOUT1的設計。在利用外時鐘源的情況下,可利用兩個引腳DIV1和DIV2為高低電平來確定CLKOUT1與外時鐘源的對應關系。當DIV2和DIV1分別為低電平和高電平時,二者相等當DIV2和DIV1分別為高電平和低電平時,CLKOUT1兩倍于外時鐘源。所以,如果要求在程序運行時,CLKOUT1的速率超過20MHz,可采用將時鐘確定為外部時鐘模式的方法,同時使外部時鐘源的頻率不大于20MHz,然后根據程序運行或程序燒錄時所需時鐘的不同,通過跳線確定DIV1和DIV2的高低電平,從而分別滿足程序運行和程序燒錄時不同的時鐘需要。例如,希望TMS320F206的運算速度是40MIPS?可用20MHz的晶振作為外部時鐘源;在程序燒錄時,通過跳線將DIV2和DIV1分別設置為低電平和高電平,此時CLKOUT1為20MHz,可滿足程序燒錄所需的時鐘條件;在程序運行時,則通過跳線將DIV2和DIV1分別設置為高電平和低電平,此時CLKOUT1是外時鐘源的2倍,為40MHz可滿足程序運行時的時鐘條件。 2.2 中斷的使用 中斷的使用是系統設計中十分重要的問題。中斷的軟件設計,是中斷程序正常運行的關鍵;而中斷的硬件設計,有些問題也同樣不容忽視。 在TMS320F206中,中斷的使用是與三個寄存器相聯系的,即中斷標志寄存器(ifr)、中斷屏蔽寄存器(imr)和中斷控制寄存器(icr)。 16位的中斷標志寄存器(ifr)標志位于數據存儲空間內,地址是0006h。它含有所有可屏蔽中斷的標志。當可屏蔽中斷請求到達CPU時?ifr中相應的標志置為1,這表明該中斷掛起?正在等待響應。讀ifr可識別掛起的中斷,寫ifr可清除掛起的中斷。為清除中斷請求(也即將ifr標志清0),可向ifr中相應的位寫入1再將ifr當前的內容寫回ifr,即可清除所有掛起的中斷。 16位的中斷屏蔽寄存器(imr)標志位于數據存儲空間,地址是0004h。它用于屏蔽內部和外部的可屏蔽中斷。因/NMI和/RS是不可屏蔽中斷,所以它們都不包括在imr中,因而imr對這些中斷沒有影響。讀imr可以識別被屏蔽和沒有被屏蔽的中斷,寫imr可以屏蔽和不屏蔽中斷。為了不屏蔽某個中斷,應將它對應的imr中的位寫為1;為了屏蔽某個中斷,應將它對應的imr中的位寫為0。 16位的中斷控制寄存器(icr)標志在I/O空間內,地址是FFECh含有中斷/INT2和/INT3單獨的標志位和屏蔽位。它控制HOLD/INT1的引腳功能,并單獨控制/INT2和/INT3中斷。 在TMS320F206的程序空間中,0000h~003fh對應中斷向量空間,對于程序設計中沒用到的向量空間,應填零,以防止意外情況發生。若TMS320F206響應了某個硬件中斷,則會自動將其相應的中斷標志位和中斷允許位INTM置1(INTM為1?則禁止所有中斷),但在中斷服務程序結束后不會自動將二者清0。因此,在中斷服務程序結束時,應將該中斷的標志位和中斷允許位INTM清0,以保證后續中斷的正常運行。實際經驗表明,若在某個中斷的服務程序中沒將該中 斷的標志清0?則TMS320F206是無法連續正常響應該中斷的,結果是程序運行發生混亂,出現許多意想不到的結果。 在TMS320F206中,/INT2和/INT3是兩個較為特殊的可屏蔽硬件中斷,它們共享: (1)中斷標志寄存器(ifr)中的同一標志位; (2)中斷屏蔽寄存器(imr)中的同一屏蔽位; (3)同一個中斷服務程序(/INT2和/INT3都映射到程序存儲器內的中斷向量單元0004h)。 為單獨使用/INT2和/INT3,icr提供了兩個屏蔽位(MINT2和MINT3)和兩個標志位(FINT2和FINT3)。當/INT2和/INT3引腳上有中斷請求時,由MINT2和MINT3確定是否設置標志位FINT2、FINT3和INT2/INT3。為屏蔽/INT2(防止標志FINT2和INT2/INT3置1)?可將0寫入MINT2;為屏蔽/INT3(防止標志FINT3和INT2/INT3置1),可將0寫入MINT3。若想將/INT2和/INT3都屏蔽,則只需將imr中的INT2/INT3位置0 CPU接收不到中斷請求,也就不會響應中斷請求了。 當中斷標志寄存器ifr中的INT2/INT3位置1時,說明有一個或兩個中斷掛起。為區別這兩個中斷,可在中斷服務程序中測試icr中的FINT2和FINT3,然后分配到適當子程序。如果只希望響應其中的一個并執行中斷服務程序,那么可在icr中將另一個屏蔽。CPU響應/INT2和/INT3中斷時,其中斷標志位不會自動清0,因此必須在中斷服務程序中將icr和ifr中相應的中斷標志位以及中斷允許位INTM清0。 TMS320F206共有5個硬件中斷。其中,用戶不可屏蔽中斷有:復位中斷(/RS)、用戶不可屏蔽中端(/NMI);用戶可屏蔽中斷有:/INT1、/INT2、/INT3,用戶可通過設置有關的軟件寄存器,決定是否響應該中斷。 在系統設計中,若用戶沒有用到某個可屏蔽硬件中斷,一方面應通過設置中斷屏蔽寄存器(imr)將其屏蔽,另一方面也應通過設置相應的中斷引腳,將其關閉,以保證系統運行的穩定性和可靠性。 在通常情況下,用戶都會用到復位中斷(/RS),以完成程序的復位。在復位中斷電路的設計中,應注意的問題是: (1)在系統運行的初始階段,應保證/RS為低電平的時間足夠長,以使DSP能準確地響應復位中斷,從而保證程序的正常運行。 (2)在程序運行過程中,應保證/RS有良好的穩定性,以防止由于外界干擾使/RS為低電平而使TMS320F206意外復位,產生意想不到的后果。 /NMI是另一個不可屏蔽的硬件中斷,如果在設計中沒用到該中斷,務必將其對應的引腳/NMI拉高,以防止意外。經驗表明,若不將/NMI拉高,則通過JTAG將程序代碼燒錄進Flash Ram內時,會出現錯誤提示,使燒錄無法完成。 2.3 Flash Ram的使用 TMS320F206有32K的片內Flash Ram分為兩個塊:F0和F1,各占16K的程序存儲空間,二者可以單獨使用,也可以作為一個整體使用。但應注意使用片內Flash Ram的前提條件是:TMS320F206必須工作于微計算機方式,亦即MP/MC引腳必須置為低電平,從而使片內Flash Ram使能。 通過JTAG仿真測試口向Flash Ram燒錄代碼需經過以下三個環節: ①clear? 使所有位都置0; ②erase? 使所有位都置1; ③program? 將程序代碼中0所對應的位清0。 需明確的是:以上3個環節在程序燒錄時,缺一不可,且只能按①、②、③的順序進行;否則在程序燒錄過程中將出現錯誤提示,從而使程序燒錄告以失敗。在實際操作中,易犯的錯誤是不經過第1個環節而直接進行erase和program,結果是無法完成程序燒錄。 在JTAG仿真測試口中,有一個Vcc引腳,它是連接目標板上TMS320F206的電源端。在程序燒錄時,目標板上的電壓不能太低,否則也會出現錯誤提示。筆者在一個5V供電的DSP系統中,曾以4.85V給TMS320F206供電,結果無法完成燒錄。最后將電源電壓改為4.95V到5.05V的范圍內時,一切正常。 2.4 PCB制板與焊接問題 在有關DSP的PCB設計中,應遵循PCB制作與布線的通用規則。應特別注意的方面有:務必將模擬電路和數字電路獨立布線,最后單點連接電源和地;對所有的輸入信號必須有明確的處理,不能懸浮或置之不理。 TMS320F206的封裝形式只有TQFP(薄型四邊有引線扁平封裝)一種,其外形是一個邊長約為1.2厘米的正方形,每個邊上有25個引腳,排列十分密集。因此,芯片的焊接也成了一個需要注意的問題。一般在大規模的專業化生產中,有專用的設備完成諸如TQFP類貼片型芯片的焊接,但設備較為昂貴。因此,在實驗室或小規模生產場合下通常都采用手工焊接的方式。 由于TMS320F206是貼片型芯片,所以在制作PCB板時,應采取噴錫工藝,同時應注意噴錫的厚度和引腳排列的尺寸。在手工焊接時,宜采用焊頭較細的電烙鐵,筆者根據實際經驗總結的焊接過程如下: ①將TMS320F206的四邊引腳刷一層松香水; ②將其四邊引腳與PCB板上的引腳一一對齊; ③用燒熱的電烙鐵輕點四個角上的某個引腳以使芯片處于半固定; ④微調四邊引腳位置,直到確定各個引腳已完全對齊⑤用燒熱的電烙鐵對準引腳處,一一點擊,以使下面的焊錫熔化,完成焊接。應注意點擊的時間不要過長,點擊的方向盡量垂直,亦即平壓下去,而不要沿著引腳排列的方向平拉。平拉有可能因用力過大而使引腳偏離原來的位置,從而使相鄰引腳粘在一塊; ⑥用萬用表檢查引腳焊接的通斷。若有不通的引腳,則應再次點焊。 |