徐濤,史增勇,熊國民
(1.河南科技學院,河南新鄉(xiāng) 453003;2.新鄉(xiāng)銀行,河南新鄉(xiāng) 453003)
基于CAN總線的雙模塊汽車車燈控制系統設計
徐濤1,史增勇1,熊國民2
(1.河南科技學院,河南新鄉(xiāng) 453003;2.新鄉(xiāng)銀行,河南新鄉(xiāng) 453003)
設計了基于CAN總線的汽車車燈控制系統,采用雙模塊分別控制車身不同位置和功能的車燈,具有通用性和可擴展性.利用開關輸入信號來模擬車燈控制信號,由AT89C52單片機進行處理,CAN模塊進行報文的發(fā)送和接收,通過CAN總線進行通信,可實現對每個車燈的控制.系統布線簡單,采用CAN總線提高了系統的可靠性和智能性.
單片機;CAN總線;汽車車燈;模塊化設計
車燈控制系統是保障汽車安全行駛的重要系統之一.隨著科技的發(fā)展,車燈的數目一直在增加,而采用傳統的繼電器控制,會使車內的線束過多且布線復雜,導致嚴重的電磁干擾,進而降低了系統的可靠性.同時人們對汽車整體性能和用途的要求不斷更新和提升,使目前汽車車身除了車燈、儀表盤等傳統控制對象外,新加入的控制對象越來越多,且還在不斷增長,因此就在車身內部出現了各種各樣的電子控制系統,各個系統之間的通信數據類型及對可靠性的要求各不相同,由多條總線構成的情況很多,會使線束繼續(xù)增加[1].
將CAN總線引入車身控制系統,利用其分布式控制的特點為各節(jié)點之間實時、可靠的數據通信提供了保障,而且能夠有效地降低成本[2].本文主要介紹了基于CAN總線的汽車車燈控制系統的設計,采用雙模塊的構成方式,大大提高了系統的通用性和可擴展性.CAN總線上的節(jié)點沒有主從之分,數據經單片機處理,并發(fā)出控制指令,交由CAN控制器和收發(fā)器發(fā)送,經CAN總線傳輸,各節(jié)點通過報文濾波確定是否對該數據做出反應,能夠很好地對各個車燈進行控制.本設計為模塊式打包設計,不影響車身其他控制系統的運行,并且提供了通用接口,可以方便地和其他控制系統實現互聯.
系統采用CAN總線來實現汽車車燈控制,主要包括信號輸入模塊、車燈模塊1和車燈模塊2,各個模塊掛在CAN總線上.下面將總框圖和3個模塊的框圖分別敘述.
總框圖如圖1所示,信息由開關控制節(jié)點處理然后輸入,經CAN總線傳輸,車燈模塊1和車燈模塊2根據報文內容,確定是否對該報文做出相應的反應.
圖1 系統總框圖Fig.1 The system outline
信號輸入節(jié)點框圖如圖2所示,該部分由開關控制電路、光線采集電路、微處理電路、CAN控制器電路和CAN收發(fā)器組成.模塊主要由開關控制各個車燈的信號輸入,由光線采集電路判斷光線的亮暗,數據經由AT89C52單片機進行處理,然后輸入CAN控制器SJA1000,最后由CAN總線收發(fā)器PCA82C250發(fā)送到CAN總線上進行數據傳輸[1].
圖2 信號輸入節(jié)點Fig.2 Theoutlineofsignal inputnodes
第2部分和第3部分為車燈節(jié)點(見圖3).該部分主要由微處理電路、CAN控制器電路、CAN收發(fā)器、LED車燈驅動電路和LED車燈組成.在車燈模塊中信息經CAN總線輸入,由CAN收發(fā)器PCA82C250接收,傳輸到CAN控制器SJA1000進行報文濾波,而后輸入單片機處理,由單片機發(fā)送給LED車燈驅動電路,從而驅動汽車LED車燈.
圖3 車燈節(jié)點Fig.3 The outline ofautomobile lampsnodes
硬件電路設計分為3個部分.
第1部分為信號輸入電路,如圖4所示,利用開關量來模擬各種信號的輸入.該電路中一共有6個單刀開關、1個雙刀單柄開關以及上拉電阻組成.開關左側全部接地,右側接單片機P1口,上拉電阻接5 V電源,用于開關斷開時向P0口提供高電平.開關用來控制各車燈(分配見表1)的信號輸入,當開關處于打開狀態(tài)時,P1口的輸入為高電平;當開關閉合時,P1口的輸入為低電平.
圖4 信號輸入電路Fig.4 Signal inputcircuit
表1 開關分配Tab.1 Switchesassignation
第2部分為CAN總線節(jié)點電路(見圖5).該部分設計是本設計的重點,直接決定了通信功能能否正常實現.采用89C52單片機作為微控制器,SJA1000作為CAN控制器,PCA82C250作為CAN收發(fā)器.另外,CAN總線采用雙絞線,總線兩端接抑制反射的120Ω左右的終端匹配電阻,使得數據通訊的抗干擾性及可靠性大大提高[3-5].
圖5 CAN總線節(jié)點電路Fig.5 CAN busnodescircuit
第3部分為車燈驅動電路(見圖6).采用MAX16823芯片作為車燈驅動芯片[6],該款芯片非常適合要求高電壓輸入的汽車應用場合,并能承受高達45 V的負載電壓.車燈系統需要實現的控制功能包括遠光燈控制、近光燈控制、轉向燈控制、制動燈控制、霧燈控制、閱讀燈控制、踏步燈和頂燈的控制.車燈方波信號由引腳DIM1、DIM2和DIM3輸入,由引腳OUT輸出到LED燈.在車燈模塊1中,一共采用兩個車燈驅動電路,輸入引腳DIM依次接單片機的P1.0~P1.7口.在車燈模塊2中,采用一個車燈驅動電路,引腳DIM依次接單片機的P1.0~P1.2口.車燈分布如表2所示.
圖6 車燈驅動電路Fig.6 Automobile lamp driving circuit
表2 車燈分布Tab.2 Automobile lamp distribution
系統的軟件設計思路為系統上電后,首先對微處理器AT89C52和CAN控制器SJA1000進行復位,復位后AT89C52才能對自身和SJA1000正確的進行初始化.之后對于信號輸入節(jié)點和各車燈節(jié)點要設計不同的程序.信號輸入節(jié)點主要進行發(fā)送控制信號到CAN總線,各車燈節(jié)點負責從CAN總線上接收信號[4].
CAN報文的發(fā)送是采用的中斷控制,由CAN控制器自動完成,用戶只需要將采集和診斷后的數據轉移到發(fā)送緩沖器當中,然后將報文對象的編碼寫入命令請求寄存器啟動發(fā)送即可,而發(fā)送由硬件完成.
CAN報文的接收也采用的中斷控制,由CAN控制器自動完成的,接收程序只需從接收緩存器中讀取要接收的數據,在進行相應的處理即可,其基本方法與發(fā)送程序一致.車燈節(jié)點接收主流程圖見圖7.
圖7 車燈節(jié)點接收流程Fig.7 Signalnodes sending flow
在汽車車燈控制中,當光線較暗時,近光燈、閱讀燈、頂燈和踏步燈會隨著車門打開而接通.當車門關閉后,近光燈與閱讀燈根據開關的狀態(tài),決定是否打開車燈或關閉車燈.而遠光燈、左右轉向燈、霧燈、制動燈不需要根據光控電路,只按開關的狀態(tài)決定是否打開車燈或關閉車燈.當開關閉合時,打開遠光燈、制動燈、霧燈和左右轉向燈.當程序開始后,首先檢測車門開關是否打開,如果車門打開檢測有無光照,無光照時,接通近光燈、閱讀燈、頂燈和踏步燈.當車門閉合或有光照時,掃描車燈相應開關,如果開關閉合接通相應的車燈,如果沒有閉合結束本次掃描.流程圖見圖8.
圖8 汽車車燈控制主流程Fig.8 Automobile lamp node receiving flow
按照上述設計方案,在實驗室完成系統的設計后,通過反復試驗和修改相關參數,系統運行穩(wěn)定,達到控制要求.通電實際運行后,采集到CAN-H和CAN-L的波形圖如圖9所示.可以看出兩者波形基本對稱,在保證通信穩(wěn)定的基礎上,抗干擾性大大加強,滿足設計要求.
圖9 試驗測得CAN-H和CAN-L的波形Fig.9 Automobile lamp controlling chief flow
設計了基于CAN總線的汽車車燈控制系統,分為1個控制節(jié)點和2個車燈驅動節(jié)點.在控制節(jié)點中,采用開關來模擬車燈信號,而光線的采集依靠光敏二極管電路,報文由節(jié)點負責發(fā)送.報文由CAN總線傳輸至車燈驅動節(jié)點,節(jié)點根據報文濾波,選擇是否對報文做出反應.本設計降低了傳統汽車線束繁多和布線復雜的問題,在可靠性、抗干擾方面也得到了提高.由于CAN總線的靈活性,所有節(jié)點都掛在CAN總線上進行通信,在CAN總線上可以繼續(xù)添加節(jié)點,能夠滿足更高級車型中更多車燈控制對象的需求,具有較好的工程應用前景.
[1]滕敏,張雷,王朝文,等.智能報警器的設計[J].河南科技學院學報:自然科學版,2012,40(4):75-79.
[2]倪障,范鑫,潘茂輝,等.基于CAN總線的電動汽車車燈控制系統設計[J].傳感器與微系統,2011(12):82-84.
[3]鄔寬明.CAN總線原理和應用系統設計[M].北京:科學出版社,1998.
[4]肖相春.基于CAN總線技術在汽車中的實際應用[J].裝備制造技術,2011(8):85-87,91.
[5]宋清昆,蔣繼成.基于AT89C52單片機CAN總線節(jié)點的設計[J].自動化技術與應用,2009(5):55-58,68.
[6]邵鋒,翟洪軒.基于單片機的智能鍋爐控制儀[J].河南科技學院學報:自然科學版,2007,35(4):67-68.
Design of double-module automobile lam ps controlling system based on CAN bus
Xu Tao1,Shi Zengyong1,Xiong Guomin2
(1.Henan InstituteofScienceand Technology,Xinxiang453003,China;2.Bank of Xinxiang,Xinxiang 453003,China)
A design of automobile lamps controlling system based on CAN bus are introduced in this paper.Its innovation point focuses on that the double-module is adopted to control the lamps in different places and with different functions in automobiles,characterizing on university and expandability.The switch input signals are used to simulate the lamps controlling signals which are processed by AT89C52 SCM,and then CAN module goes to send and receive themessage.And finally the design can achieve the controlling to every lamp in the automobile through the communication of CAN bus.It is simple wiring this system,and the reliability and intelligence are improved by using CAN bus.
MCU;CAN bus;automobile lamps;modularization design
TP273
A
1008-7516(2013)01-0067-06
10.3969/j.issn.1008-7516.2013.01.017
2012-12-26
河南省教育廳自然科學研究項目(2011A120005)
徐濤(1981-),男,河南新鄉(xiāng)人,碩士,助教.主要從事嵌入式開發(fā)、智能控制研究.
盧奇)