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