基于DSP的汽車減震彈簧故障診斷儀的設(shè)計(jì)
?。玻?DSP電路
?。模樱须娐吠瓿蓴?shù)據(jù)采集及數(shù)字濾波,利用內(nèi)置的算法完成故障診斷等任務(wù)。
本系統(tǒng)中的DSP采用美國德州儀器公司(TI)生產(chǎn)的TMS320VC5409,它是TMS320C54xx系列的一個(gè)高速、高性價(jià)比、低功耗的16位定點(diǎn)通用DSP芯片。其主要特點(diǎn)包括:改進(jìn)的哈佛結(jié)構(gòu)(1條程序存儲(chǔ)器總線、3條數(shù)據(jù)存儲(chǔ)器總線和4條地址總線),帶有專用硬件邏輯CPU,片內(nèi)存儲(chǔ)器,6級(jí)流水線結(jié)構(gòu),片內(nèi)外設(shè)專用的指令集。TMS320VC5409含16K字的片內(nèi)ROM和32K字的片內(nèi)DARAM,程序空間的尋址范圍達(dá)到8M數(shù)據(jù)和I/O空間尋址范圍分別為64K。單周期指令執(zhí)行時(shí)間為10ns,雙電源(1.8V和3.3V)供電,帶有符合IEEE1149.1標(biāo)準(zhǔn)的JTAG邊界掃描仿真邏輯。
DSP電路采用16位并行自引導(dǎo)模式,對(duì)于TMS320VC5409,用戶程序存儲(chǔ)在外部數(shù)據(jù)空間(8000H~FFFFH)中,因此外擴(kuò)了一片FLASH ROM作為數(shù)據(jù)存儲(chǔ)空間。FLASHROM采用INTEL公司的TE28F400B3T90(256K×16),它共分為15塊(8塊4K字,7塊32K字),可單獨(dú)擦寫其中的一塊。編程電壓只需3.3V,最快的讀取速度達(dá)到90ns。系統(tǒng)外擴(kuò)了一片SRAM作為外部程序空間。SRAM采用CYPRESS公司的CY7C1041BV33(256K×16),存取速度達(dá)到10ns。
2.3 A/D轉(zhuǎn)換電路
信號(hào)的采集和轉(zhuǎn)換是由AD7874完成的。AD7874是AD公司生產(chǎn)的12位A/D轉(zhuǎn)換器。系統(tǒng)要求輸入輸出信號(hào)相位要同步,AD7874內(nèi)置采樣保持器,能夠?qū)崿F(xiàn)四路信號(hào)的同步采樣。同步采樣能使系統(tǒng)的輸入輸出信號(hào)相位匹配的誤差降到最小。A/D轉(zhuǎn)換的啟動(dòng)由上升沿觸發(fā),四路信號(hào)轉(zhuǎn)換完成后,產(chǎn)生中斷信號(hào)。每一路的采樣頻率可達(dá)29kHz。由于A/D轉(zhuǎn)換后輸出的是TTL電平,而DSP工作在3.3V的信號(hào)環(huán)境,因此在A/D的輸出與DSP的輸入之間需要加入電平轉(zhuǎn)換電路。在本系統(tǒng)中采用SN74LVC245實(shí)現(xiàn)電平轉(zhuǎn)換。DSP系統(tǒng)的供電由TI公司的電壓轉(zhuǎn)換模塊TPS767D318PWP完成,能夠輸出3.3V和1.8V兩路電壓。
?。玻?單片機(jī)電路
單片機(jī)電路實(shí)現(xiàn)鍵盤輸入響應(yīng)和液晶顯示以及與PC機(jī)交互功能。
本系統(tǒng)中所用的單片機(jī)為ATMEL公司的AT89C51。鍵盤管理通過鍵盤控制器8279完成。液晶模塊選用信利公司的VPG12864T(128×64點(diǎn)陣),它內(nèi)置T6963C控制器,能夠工作在文本或圖形模式下。液晶顯示界面程序比較 大,所以外擴(kuò)了一片AT28C256作為外部程序存儲(chǔ)器。PC機(jī)的RS-232串口的電平和單片機(jī)串口的TTL電平不兼容,使用MAX232完成兩種電平之間的轉(zhuǎn)換。
?。玻?通信電路
通信電路實(shí)現(xiàn)單片機(jī)與DSP的通信。由于單片機(jī)與DSP間的數(shù)據(jù)通信量不大,因此采用了一片8位雙向鎖存器實(shí)現(xiàn)數(shù)據(jù)交換。雙向鎖存器采用TI的SN74LVC543。當(dāng)DSP向AT89C51發(fā)送數(shù)據(jù)時(shí),首先將數(shù)據(jù)鎖存在SN74LVC543中,然后向AT89C51發(fā)中斷,AT89C51響應(yīng)中斷,從鎖存器中取走數(shù)據(jù)。反之亦然。
?。?軟件設(shè)計(jì)
軟件的設(shè)計(jì)主要包括DSP編程和單片機(jī)編程。DSP程序的主要任務(wù)是初始化、管理DSP外圍電路和完成故障診斷的算法。單片機(jī)程序包括鍵盤控制程序、液晶驅(qū)動(dòng)顯示程序、與DSP及PC機(jī)通信的程序。
3.1 DSP主程序
?。模樱兄鞒绦蛄鞒虉D見圖2。
?。常?DSP程序的下載和引導(dǎo)
在本系統(tǒng)中,FLASHROM是TSOP封裝,焊接在電路板上,無法通過燒錄器燒寫,只能自己編寫擦寫程序。按照16位并行引導(dǎo)模式自舉表(見表1)的格式寫好程序代碼,編譯鏈接后通過JTAG口下載到DSP中;編寫TE28F400B3的擦寫程序,將程序下載到DSP中不同的位置。運(yùn)行擦寫程序,程序代碼就被寫入到FLASH中。要注意的是,由于FLASH的寫速度與DSP相比很慢,因此在每次寫完一個(gè)字后,要延時(shí)足夠的時(shí)間,否則就不能正常地寫入下一個(gè)字。寫完后,需要將FLASHROM重新設(shè)置為讀模式,這樣才能在開發(fā)環(huán)境CCS中看到正確的結(jié)果。TE28F400B3的最大讀取速度為90ns,而TMS320VC5409最大只能設(shè)置7個(gè)等待狀態(tài),因此設(shè)置DSP的CLKMD1、CLKMD2、CLKMD3管腳,使DSP在上電復(fù)位時(shí)的系統(tǒng)時(shí)鐘為50MHz。這樣就能保證可靠地讀取FLASH的數(shù)據(jù)。在完成引導(dǎo)過程后,必須首先將CLKMD寄存器清零,然后重新設(shè)置CLKMD寄存器,使系統(tǒng)時(shí)鐘為100MHz。 TE28F400B3的主要操作命令如表2所示。
評(píng)論