基于ARM的汽車電子控制系統單元設計
在使用發送函數時有一點必須注意,因為在啟動發送數據的命令后,can控制器要將緩沖區內的數據發送完畢后,才會將該幀數據是否發送成功的狀態返回。這樣如果在函數里一直等待數據發送完畢,會使整個微處理器的性能下降。為了避免這種情況,該函數在啟動發送后便立即返回,通過發送中斷或者利用查詢tcs狀態位判斷是否發送成功。
3.3 接收數據程序
本設計中,我們采用中斷的方式進行can總線上的數據接收。當lpc2119的can控制器出現內部中斷時,我們先識別中斷寄存器的ri位,判斷是否為接收中斷,然后讀取接收緩沖區的內容。其接收流程圖如圖6所示。
4 結論
實踐證明,基于can總線技術,帶arm7內核的汽車電子控制系統單元空間小,實效性高。特別是它的數據通信具有很強的實時性、更高的可靠性和更好的抗干擾能力,即使在重負荷下也不會出現網絡癱瘓的情況,但投入實用化仍需要進一步的研究和改進,且程序的通信處理能力、糾錯和容錯能力有待進一步的提高。
參考文獻
1. sja1000datasheethttp://www.dzsc.com/datasheet/sja1000_609075.html.
2. pca82c250datasheethttp://www.dzsc.com/datasheet/pca82c250_542618.html.
3. lpc2119datasheethttp://www.dzsc.com/datasheet/lpc2119_454520.html.
4. tja1050datasheethttp://www.dzsc.com/datasheet/tja1050_649182.html.
5. emcdatasheethttp://www.dzsc.com/datasheet/emc_2342312.html.
6. mc33888datasheethttp://www.dzsc.com/datasheet/mc33888_1124272.html.
7. mc33887datasheethttp://www.dzsc.com/datasheet/mc33887_1077298.html.
8. bc7281datasheethttp://www.dzsc.com/datasheet/bc7281_1134245.html.
9. 74hc164datasheethttp://www.dzsc.com/datasheet/74hc164_99185.html.
10. 74ls595datasheethttp://www.dzsc.com/datasheet/74ls595_1134750.html.
11. 80c51datasheethttp://www.dzsc.com/datasheet/80c51_103447.html.
12. 鄔寬明.can總線原理和應用系統設計.北京:北京航空航天大學出版社,1996
13. 周立功.增強型80c51單片機速成與實踐. 北京:北京航空航天大學出版社.2003
14. 葛林.can通信網絡在汽車中的應用研究. 汽車技術 2000;(11);1-4
評論