調試接口
S3C44BOX內嵌JTAG測試電路,使得調試起來非常方便。JTAG是一種國際標準測試協議,主要用于芯片內部測試及 對系統進行仿真、調試,JTAG技術是一種嵌入式調試技術,它在芯片內部封裝了專門的測試電路TAP (Test Access Port,測試訪問口),通過專用的JTAG測試工具對內部節點進行測試。JTAG測試允許多個器件通過JTAG接口串聯在一起,形成一個JTAG鏈,能實現對各個器件分別測試。JTAG接口還常用于實現ISP(In System Programmable)功能,如對Flash器件進行編程等。
目前JTAG接口的連接有兩種標準,即14針接口和20針接口,在本設計中,采用的是14針的接口。該接口主要通過下載電路與計算機的并行口相連,在集成開發環境之下,使用相應的JTAG下載代理軟件就可以用來進行系統調試,而不需專門的仿真器,這樣可以降低開發的成本。
通信單元
在系統設計中,考慮到數據傳送、下載以及調試的方便,增加了串行通信RS-232C接口。另外,考慮到系統升級的方便,以及為了與現在流行的汽車總線接口的方便,增加了CAN現場總線的接口。
本系統中選用MAX232。MAX232可以實現TTL電平和RS-232電平之間的轉換。由于在實際應用中,器件對電源噪聲很敏感,因此MAX232的VCC引腳必須要對地加0.lmF去耦電容,另外,為提高抗干擾能力,添加了四個l0mF電容,在連接在內部電源引腳輸出端。MAX232芯片第7, 8引腳接入分別到串行口的第3, 2引腳;9, 10引腳接處理器的RXD, TXD引腳,實現與處理器的連接。
需要注意的是,MAX232是5V器件,而處理器芯片是用的是3V供電,因此需要考慮電平轉換,否則將無法正常收發數據。由于Maxim公司已經注意到這點并推出了專用3V供電的器件MAX3232C,利用它就可以無需考率3V到5V的電平轉換問題。MAX3232C與處理器的接口電路如圖5所示。
圖5 RS-232C與處理器的通信接口電路
系統軟件設計
在本系統中,主程序是整個程序的核心,擔負著系統的運行、控制的主要任務,需要對其控制流程進行仔細考慮,以完成所需的控制要求。
在程序開始時,首先對系統進行初步的初始化。之后,采集各種數據并判斷數據是否正常,如果正常,則顯示數據并等待中斷,根據中斷轉向相應的中斷服務子程序。如果數據不正常,則通過報警來提示用戶檢查數據,直到數據正常才執行其他程序。如果一切正常,且沒有剎車和啟動等控制,則可以與其他設備進行通信等操作。具體的流程見圖6所示。
圖6 系統主程序流程圖
系統的抗干擾設計
要達到良好的系統控制效果需要在系統設計中非常注意它的抗干擾性和可靠性。本系統由于采用高速ARM作為核心處理器,它的高頻信號不僅容易受到干擾,而且也會成為系統的干擾源,因此有必要對整個系統,特別是ARM部分的抗干擾及保護做更多的處理。
硬件部分,控制系統的電源及功率驅動部分抗干擾措施主要就是從防和抗兩方面入手。其總原則是:抑制或消除干擾源;切斷干擾對系統的耦合通道;降低系統對干擾信號的敏感性。抗干擾設計的具體措施包括:隔離、接地、屏蔽、濾波等常用方法。
軟件部分,本系統的軟件主要采用了以下幾種軟件抗干擾設計:
軟件陷阱法
測試系統在遇到外界干擾時,往往會導致運行程序進入程序存儲器的空白區(即無指令區),這種現象叫做程序“跑飛”。于是在各子程序之間、各功能模塊之間和所有空白處,都寫上連續3個空操作指令(nop),后接一無條件轉移指令,一旦程序跑飛到這些區域,就會自動返回執行正常程序。
程序的冗余設計
在程序存儲器的空白區域,寫入一些重要的數據表和程序作為備份,以便系統程序被破壞時仍有備份參數和程序維持系統正常工作。由于TMS320LF2407A的數據存儲以數據頁為基準,如果對不同數據頁的數據進行操作而不指定相應的數據頁,會導致程序跑飛。因此需要對程序未使用滿的數據頁進行填充,防止數據頁混亂導致的系統誤操作。
結語
加裝了能量回收再利用裝置后,當汽車在加速或重新起動初期,可以利用存儲的高壓氣體驅動汽車,不需要燃料,可以較少汽車尾氣對環境的污染。因此,該裝置不僅可以節約能源,而且有利于環保。
參考文獻:
1. 徐達等編著,現代汽車電子裝置及控制技術,人民交通出版社,1998
2. 周立功等編著,ARM嵌入式系統基礎教程,北京航空航天大學出版社,2005
3. 馬忠梅等編著,ARM嵌入式處理器結構與應用基礎,北京航空航天大學出版社,2002
評論