李慧慧,范文兵
(1.河南廣播電視大學(xué);2.鄭州大學(xué),河南 鄭州 450000)
數(shù)字信號處理器(DSP)是電子信息領(lǐng)域的新型高科技產(chǎn)品,已成為傳統(tǒng)微控制單元和昂貴的多片MCU設(shè)計的一種廉價替代品。TMS320C54x系列是隸屬于TMS320家族的定點(diǎn)數(shù)字信號處理芯片,具有低功耗、高性能等優(yōu)點(diǎn),廣泛應(yīng)用于傳真、個人通信和語音編碼等無線通信系統(tǒng)中??紤]到系統(tǒng)設(shè)計的通用性和性價比,該實(shí)驗(yàn)系統(tǒng)選擇TMS320VC5410(簡稱VC5410)作為處理器芯片。本文主要介紹基于VC5410的微型實(shí)驗(yàn)系統(tǒng)硬件電路各模塊設(shè)計方案及在軟件調(diào)試過程中遇到的若干問題及其解決方案。
微型實(shí)驗(yàn)系統(tǒng)主要為滿足DSP教學(xué)常規(guī)實(shí)驗(yàn)而開發(fā)的。該系統(tǒng)以VC5410芯片為核心,外圍電路由時鐘電路、電源電路、復(fù)位電路和片外程序/數(shù)據(jù)存儲器等部分構(gòu)成。實(shí)驗(yàn)系統(tǒng)硬件框圖如圖1所示。在設(shè)計中選用了以下芯片:
處理器芯片VC5410:具有3.3VI/O電壓和2.5V核電壓。
電壓轉(zhuǎn)換芯片TPS73HD325:主要為實(shí)驗(yàn)系統(tǒng)提供穩(wěn)定的+3.3V和+2.5V電源。
存儲芯片SST39VF400(VF400):系統(tǒng)中的FLASH芯片,用于存放BOOT表和提供外擴(kuò)的存儲空間。
外部 RAM芯片 IDT71V016SA15PH:64K×16bit的高速SRAM,主要用來存儲大量數(shù)據(jù)。
DSP系統(tǒng)中,時鐘電路占有至關(guān)重要的地位,其性能好壞直接影響到系統(tǒng)能否正常運(yùn)行。時鐘電路設(shè)計原則如下:
(1)系統(tǒng)中要求多個不同頻率的時鐘信號時,首選可編程時鐘芯片,這樣有利于時鐘信號的同步。
(2)單一時鐘信號時,一般的應(yīng)用建議選擇晶體時鐘電路。
(3)多個同頻時鐘信號時,可選擇有源的晶振作為時鐘電路。
(4)盡量使用DSP片內(nèi)的PLL,降低片外時鐘頻率,提高系統(tǒng)的穩(wěn)定性。
(5)C6000、C5510、C5409A、C5416、C5420、C5421 和 C5441等DSP片內(nèi)無振蕩電路,不能用晶體時鐘電路。
(6)VC5401、VC5402、VC5409 和 F281x 等 DSP 時鐘信號的電平為1.8V,建議采用晶體時鐘電路。
依據(jù)以上設(shè)計原則,在筆者設(shè)計的微型實(shí)驗(yàn)系統(tǒng)中,采用的是晶振電路,它與內(nèi)部振蕩器一起產(chǎn)生參考時鐘信號。其電路簡單、體積小、頻率范圍寬(1Hz~400MHz)、驅(qū)動能力強(qiáng),可為多個器件使用。系統(tǒng)中所使用晶振的頻率為10MHz,經(jīng)DSP倍頻后工作頻率可以達(dá)到100MHz。需要注意的是,在使用晶振時,輸出信號電平一般為5V或3.3V。VC5410的CPU有三個時鐘模式選擇引腳CLKMD1、CLKMD2、CLKMD3,為了操作方便,可將這三個引腳的值由DIP開關(guān)控制,這樣增強(qiáng)了時鐘晶振選擇的靈活性。
直流穩(wěn)壓電源供電為標(biāo)準(zhǔn)的5V直流電,而VC5410要求3.3V的I/O電壓和2.5V核電壓,因此必須進(jìn)行電壓轉(zhuǎn)換。常用的電源解決方案有以下兩種:(1)單電源輸出;(2)雙電源輸出。在該系統(tǒng)設(shè)計中由于采用的是雙電源輸出方案,選用TPS73HD325作為電壓轉(zhuǎn)換器,典型輸入電壓為+5V,輸出為3.3V和2.5V,設(shè)計原理圖略。
對于TMS320C54x而言,復(fù)位是不可屏蔽的外部中斷,也是優(yōu)先級別最高的中斷。一般在加電后芯片處于未知狀態(tài)時對其復(fù)位。每次復(fù)位后系統(tǒng)重新運(yùn)行初始化程序。根據(jù)對復(fù)位源的不同操作,TMS320C54x的復(fù)位方式可分為三種,即上電復(fù)位、手動復(fù)位和軟件復(fù)位。前兩種是通過硬件電路來實(shí)現(xiàn)復(fù)位,后一種則通過軟件編程實(shí)現(xiàn)。上電復(fù)位即復(fù)位引腳RS產(chǎn)生一個低電平脈沖信號,使芯片復(fù)位。芯片完成對硬件的初始化并從0000H單元開始執(zhí)行第一條指令,通常這里是一條分支到系統(tǒng)初始化程序的跳轉(zhuǎn)指令。為使芯片初始化正確,一般應(yīng)保證復(fù)位端(RS)低電平至少持續(xù)6個時鐘周期,即當(dāng)時鐘為20MHz時為300ns。在該微型實(shí)驗(yàn)系統(tǒng)設(shè)計中,為了調(diào)試電路方便,特意在電路板設(shè)置手動復(fù)位鍵(如圖2)。手動復(fù)位時,SW1按鈕按下,以后過程同上電復(fù)位過程是一樣的。
VC5410含有一個專用仿真口來支持由IEEE1149.1標(biāo)準(zhǔn)規(guī)范的JTAG仿真,該端口由仿真器直接訪問,以實(shí)現(xiàn)在線仿真、程序下載等軟件調(diào)試,它可實(shí)時地訪問目標(biāo)板上CPU的存儲器、寄存器以及I/O口等內(nèi)容。當(dāng)仿真頭和JTAG目標(biāo)芯片之間的距離超過6英寸時,仿真信號需要緩沖,若小于6英寸,不必加緩沖。圖3是一個不加緩沖的仿真器連接圖,也即是實(shí)驗(yàn)系統(tǒng)中的連接方案,其中的EMU0和EMU1信號必須通過上拉電阻連接高電平,提供少于10us的信號上升時間,推薦的上拉電阻為4.7或10。
VC5410片上具有 16KW 的 ROM,8KW 的 DARAM,56KW的SARAM,但在需要大容量存儲器時,就需進(jìn)行片外擴(kuò)展。片外存儲器的擴(kuò)展有多種方式,程序存儲器和數(shù)據(jù)存儲器可以分開設(shè)計,也可以混合設(shè)計。為了不增加系統(tǒng)設(shè)計的復(fù)雜度,提高存儲器利用率和可擴(kuò)展性,微型實(shí)驗(yàn)系統(tǒng)中,存儲器的擴(kuò)展方式為:FLASH用作程序存儲器,SRAM用作數(shù)據(jù)存儲器。
(1)該系統(tǒng)設(shè)計中采用VF400作為FLASH,用于存放BOOT表和提供外擴(kuò)的存儲空間;該芯片是一個低功耗FLASH,工作在2.7~3.6V下,存儲容量為256KW (1KW=16bit),可重復(fù)編程次數(shù)達(dá)10萬次。VF400在讀模式時,/CE和/OE是邏輯低電平,并且/WE是邏輯高電平;在編程/擦除模式時,/CE和/WE是邏輯低電平,而/OE是邏輯高電平。
(2)該系統(tǒng)設(shè)計中,VC5410工作在100MIPS下,所以外部RAM可以考慮選擇15ns的IDT71V016SA15PH。設(shè)計中將DSP設(shè)置為微機(jī)工作方式 (MP/MC=0),8000~0BFFFh映射到外部存儲器上,故而SRAM的地址線A15必須邏輯置1。FLASH和SRAM的讀寫信號邏輯關(guān)系如圖4所示。
其中,DSP_MSTRB#、DSP_R/W#為 VC5410的/MSTRB和R/W管腳,/WE、/OE同時用作FLASH和 SRAM的/WE、/OE 邏 輯 ,VC5410 的/PS+DSP_MSTRB#、/DS+DSP_MSTRB#邏輯分別用于FLASH和SRAM的/CE、/CS邏輯。
/WE=DSP_MSTRB#+DSP_R/W#;
/OE=DSP_MSTRB#+! DSP_R/W#;
/CE=/PS+DSP_MSTRB#;
/CS=/DS+DSP_MSTRB#。
電路板設(shè)計中,無論是否有專門的地層和電源層,都必須在電源和地之間加上足夠的并且分布合理的電容。一般在電源和地的接入端放一部分多種容值的電容,再將其余的大電容均勻地分布在電源和地的主干線上??梢栽陔娫慈肟谔幗右粋€大容量的電解電容或鉭電容,一般10-100uF都可以,濾去低頻噪聲。另外,還應(yīng)該并聯(lián)一些小容量的高頻電容,一般在0.01-0.1pF范圍內(nèi)都可以,它們的值可以不同,以分別濾去不同頻率的高頻噪聲。
時鐘信號頻率越高,其布線要求也就越高。本系統(tǒng)設(shè)計中采用的是10MHz的晶體振蕩器,布線時應(yīng)該注意如下幾點(diǎn):
(1)時鐘源和負(fù)載的連線應(yīng)盡量短,線應(yīng)較寬。
(2)在時鐘芯片的電源入口處放一個容量為10~100uF的鉭電容,具體可根據(jù)實(shí)際情況而定,為了防止高頻干擾,還應(yīng)在大容量電容后并聯(lián)一個0.1uF的小電容。
(3)不要在時鐘芯片的下面布線,以防時鐘芯片的輸出產(chǎn)生抖動。對于時鐘走線而言,最好都從內(nèi)層走,以減少干擾。
處理器芯片VC5410的四個外部中斷引腳READY、/BIO、/NMI、/HOLD需通過4.7的上拉電阻接高電平。在對系統(tǒng)上電前要仔細(xì)檢查元件是否可靠地焊牢,管腳間、電源和地之間是否短路,元器件、電容的安裝方向是否正確。上電后,要先檢查10MHz的晶振是否正常工作,能否硬件復(fù)位。上電后可用示波器測量DSP的時鐘輸入和時鐘輸出波形。通常情況下,DSP內(nèi)部可以對不滿意的時鐘進(jìn)行整形,因此,只要輸出時鐘CLKOUT波形合格,就說明時鐘正常工作。如果仿真器不能啟動,原因可能是多方面的,具體可以參閱相應(yīng)的仿真器說明手冊。如果設(shè)計成功,接上電源后能夠順利進(jìn)入系統(tǒng)仿真環(huán)境。可編寫一段控制XF管腳的測試程序,觀察到XF管腳上拉的發(fā)光管閃爍,也可以用示波器直接測試波形。部分測試程序代碼如下。
基于DSP的微型實(shí)驗(yàn)系統(tǒng)充分利用了數(shù)字信號處理功能,采用最簡潔可靠的硬件電路形式來滿足數(shù)字信號處理教學(xué)的基本要求。本系統(tǒng)具有良好的通用性和開放性,也可以直接作為一個多功能的DSP研發(fā)和調(diào)試平臺,以方便進(jìn)行功能的擴(kuò)展和二次開發(fā),具有廣闊的前景。
[1]劉佳,張奕黃.TMS320LF2407 的復(fù)位問題分析[J].微特電機(jī),2004(7):46-47.
[2]張勇.TMS320C5000系列 DSP匯編語言程序設(shè)計[M].西安:西安電子科技大學(xué)出版社,2004:80-108.
[3]孫光,趙志敏.數(shù)字信號處理器TMS320F206復(fù)位問題研究[J].電子技術(shù)應(yīng)用,2002(11):67-69.
[4]王立華,劉志軍.DSP 系統(tǒng)中時鐘電路的設(shè)計[J].電子世界,2005(5):29-30.
[5]王麗娟,趙恒,甄姬娜.McBSP及其在實(shí)際中的應(yīng)用[J].微計算機(jī)信息,2007,23(29):146-147.