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