胡 寧,李斌斌 Hu Ning,Li Binbin
基于CAN總線的智能車燈設計
胡 寧,李斌斌 Hu Ning,Li Binbin
(長安大學 汽車學院,陜西 西安 710064)
為引起行人對夜間行駛過程中汽車的注意,避免造成車燈晃眼而引發交通事故,提出了一種結合90C51單片機和汽車CAN總線的智能車燈控制系統,首先通過安裝在汽車前端的激光雷達來檢測前方是否有行人,并且可以通過連續接收的雷達間隔時間結合汽車車速判斷行人的行走方向,以此決定車燈的變換。智能車燈設計系統關鍵在于可以通過自動檢測使車燈自動變換,而不需要人為長時間手動控制車燈,進一步降低交通事故的發生率和減少駕駛疲勞,保證行車安全。
激光雷達;CAN總線;單片機;智能車燈
近幾年來,交通事故的發生率居高不下,每年因為交通事故死亡的人數一直占據很大的比重,而事故的原因大多數是由駕駛員錯誤操作或行人不留意道路車輛而引起。夜間駕駛員很難辨別遠處是否有行人,常常會由于剎車不及時而釀成交通事故。為了減少駕駛人的駕駛疲勞,及時發現行人提前做出反應,設計中利用激光傳感器提前檢測行人以及行人的行走方向和速度,綜合自身速度利用遠近光連續變換來提醒行人,最終會根據行人運動方向而開啟遠光燈或者近光燈,減少燈光對行人眼睛的刺激,大大降低事故的發生率,避免更大的人員傷亡。
如今,CAN總線廣泛應用在汽車上已經有近十年的歷史。利用CAN總線可以方便快捷地獲取各節點想要獲取的數據,并且節點本身的數據可以通過CAN總線發送到其他任意節點,CAN總線是汽車智能化,包括無人駕駛技術以及汽車輔助駕駛技術的基礎。以CAN總線為基礎設計的智能車燈控制系統具有很好的前景,如今各大車企都試圖與IT企業合作開發,汽車安全會被放在越來越突出的位置,這體現了基于CAN總線的智能車燈控制系統的價值以及良好的前景。
設計采用90C516BD+單片機控制車燈的開啟和關閉,利用現今廣泛應用的汽車CAN總線作為傳播媒介,通過安裝在汽車前方的激光雷達傳遞過來的時間結合汽車CAN總線的車速節點請求數據信號判斷行人的行走方向,經MCU分析后做出決策,進一步控制車燈的遠近光。
系統首先判斷前方行人的行走方向,當汽車檢測到行人同汽車同向時,單片機控制車燈遠光燈開啟0.5 s,近光燈開啟0.5 s,這樣閃爍5 s的時間,為了保證汽車的行車安全,最終汽車繼續開啟遠光燈;當汽車檢測到行人同汽車逆向時,單片機控制車燈遠光燈開啟0.5 s,近光燈開啟0.5 s,這樣閃爍5 s的時間,為了防止車燈對行人眼睛的刺激,最終汽車繼續開啟近光燈。
系統設計基于未來的實際應用,運用模塊化的設計思路,系統的主要模塊有電源模塊,感知模塊,控制模塊,通信模塊和核心處理器模塊。
1.1 核心處理器
設計的核心處理器采用51系列的單片機90C516BD+,即89C51的升級版本。90C516BD+作為新一代高速低功耗單片機,指令代碼與傳統51單片機完全兼容,內部集成專用復位電路MAX810,當晶振為12MHz以下頻率時,復位腳可直接接地。90C516BD+單片機內置8位中央處理單元,有3個16位定時/計數器和5個兩級終端結構,其內部數據存儲器采用的字節數為512,90C516BD+包括4個I/O口[1]。除此之外,此單片機也可以在低功耗模式工作,可以工作在空閑或者掉電模式,當單片機處在空閑模式時,即使單片機的CPU停止工作,但其定時器、串口和中斷將繼續維持其功能;在掉電模式下,RAM的數據保存,其他的功能模塊將會停止工作。在此設計中,51單片機的P0口被用來控制汽車CAN通信以及數據的輸入輸出。
1.2 電源模塊
設計的電源采用7.2V的直流電源經過LM7805穩壓芯片調整為5.0V的電壓,單片機以及傳感器模塊、CAN通信模塊都可以在5V電壓基礎上經過處理后正常工作。電源模塊電路如圖1所示。
1.3 通信模塊
設計的通信模塊主要是由CAN總線構成,CAN總線是世界上最廣泛的現場總線之一,主要負責51單片機與汽車各節點之間的雙向通信,CAN總線在1991年9月由德國BOSCH公司制定發布,目的是解決汽車各個控制器件之間頻繁的數據交換,該技術規范包括A和B兩部分[2]。CAN2.0A協議規定標準幀格式,標準幀中報文的識別為11位,報文總計11個字節,其中包括幀信息1個字節,幀ID 2個字節,數據幀8個字節[3];與標準幀不同的是,CAN擴展幀的幀ID為4個字節。CAN是一種多自主總線,通信介質可以是雙絞線、光纖或者同軸線。CAN總線的傳播速度最高可以達到1 Mbps,實現了ISO 11898標準的物理層要求;當傳輸速率為5 kbps時,傳輸距離可以達到10 km。設計采用MCP2515CAN控制器用于網絡中的數據傳輸控制,對于一般模式,增加了Pelican新模式;CAN收發器采用TJA1050作為控制器與總線之間的電壓轉化器件。
1.4 傳感器模塊
因設計需要采集前方是否有行人以及行人的行走方向,所以采用的傳感器模塊為激光雷達傳感器,激光雷達是以發射激光束探測目標的位置、速度等特征量的雷達系統。從工作原理上講,與微波雷達沒有根本區別,但是探測的距離范圍比微波傳感器遠得多,向目標發射探測信號,然后將接收到的從目標反射回來的信號與發射信號進行比較,適當處理后,可以獲得目標的有關信息,如目標距離、方位、高度、速度、姿態、甚至形狀等,從而對飛機、導彈等目標進行探測、跟蹤和識別[4]。傳感器探測的信號通過電信號傳遞給單片機,作為整個智能系統的認知部分。
1.5 輸出模塊
輸出模塊主要是對車輛的近光燈和遠光燈分別用2個LED燈進行模擬,因為LED燈使用比較方便,易于操作,并且完全可以達到模擬的效果。在設計中用紅色LED燈代表汽車近光燈,綠色LED燈代表汽車遠光燈,直接與單片機的I/O口連接。
在智能車燈設計中,處理器對激光雷達采集的時間信號進行處理分析后,輸出對應信號控制汽車遠光燈和近光燈,判斷依據為:
1)當傳感器檢測到前方有行人時,會向單片機發出高電平,觸發單片機的外部中斷,這時單片機輸出控制紅燈和綠燈閃爍,即為汽車遠近光燈的交替變化;
2)在1)的基礎上,激光傳感器再次發送脈沖信號,通過與1)中發送脈沖信號接收時間的對比,結合自身汽車車速信息,判斷行人的行走方向。
當行人與汽車同向時,單片機向綠色LED燈發送高脈沖,這時汽車遠光燈亮起,保證汽車的行車安全;當行人與汽車行駛方向相反時,單片機向紅色LED燈發送高脈沖,這時汽車的近光燈亮起,防止車燈對行人眼睛的刺激而引發交通事故。
CAN控制器中MCP2515和90C516BD+的地址線和數據線是共用的,直接連接就可以,但是為了區分某個時間段發送的是數據還是地址,單片機必須要連接地址鎖存信號ALE,單片機直接與控制器MCP2515的讀寫信號相連,設計中采用MCP2515的RST復位端直接與90C516BD+的I/O口連接,單片機向I/O口輸送高電平使控制器硬復位。90C516BD+的中斷管腳與單片機的INT1連接,當收到數據時通知單片機。
控制器的TXCAN和RXCAN分別與收發器TJA1050的TXD與RXD連接,而收發器CAN_H、CAN_L管腳分別連接至CAN總線的CAN_H與CAN_L,控制器的SPI總線模塊直接與單片機I/O口連接,這樣就組成了整個設計,如圖2所示。
設計中采用紅色LED燈與綠色LED燈對汽車的遠近光燈進行模擬,單片機的高電平為5V左右,所以可以將燈直接連接在單片機上,使用起來特別方便,并且容易控制,只需單片機給管腳高電平即可點亮LED燈,如圖3所示。
CAN總線節點要快速、實時地完成通信任務,軟件的設計起到至關重要的作用,利用程序的結構化設計,具有較好的模塊性、可理解性和移植性等特點[5]。
設計的軟件部分主要包括主程序、發送程序和接收程序,軟件主要包括1個主節點和2個從節點。激光雷達作為從節點將采集到的數據經過驗收濾波器和屏蔽濾波器傳至主節點,另外主節點發送遠程幀向汽車的車速從節點發送請求車速報文,該從節點接收到主節點的請求信號,會立即做出響應,向主節點發送帶有車速信息的報文,這樣主節點的單片機接收到2個從節點傳遞來的數據進行分析,判斷行人的行走方向,然后主節點的單片機分別向代表汽車遠光燈的綠燈和代表汽車近光燈的紅燈發送高電平信號,通過LED燈的顯示信息可以方便快捷地實現智能車燈的控制。整個控制流程如圖4所示。
CAN總線發送請求的擴展幀信息見表1。
表1 汽車擴展幀信息發送內容
標識符IDPC1MODEPID測試內容 0X18DB33F1(擴展幀)0X020X010X0C發動機轉速 0X020X010X0D行車速度 0X020X010X05冷卻液溫度 0X020X010X0F進氣溫度
由表1可以看出,請求汽車車速信息的主節點發送的報文標識符ID為18 DB 33 F1共4個字節,數據幀為02 01 0D 00 00 00 00 00共8個字節,當車速節點收到此報文后,會自動做出反應,回復帶有車速信息的報文給主節點。此過程中報文發送程序流程如圖5所示。
報文接收程序流程如圖6所示。
基于CAN總線的信息傳遞,設計了智能車燈控制系統,可有效防止外界的干擾;并且當其中1根CAN線破壞時不影響系統的正常工作,具有很好的穩定性。既可以降低駕駛員因駕駛疲勞而引發交通事故,還能人性化提醒路邊行人,防止因行人不注意而造成傷亡。系統通過激光雷達傳感器檢測路上是否有行人,再與汽車自身車速的對比分析判定行人的行走方向,進而控制車燈,可以有效地方便駕駛員的操作,減少傷亡的發生。
[1]李朝青. 單片機原理及接口技術[M]. 北京:北京航空航天大學出版社,2005:17-21.
[2]龍志強,李曉龍,竇峰山. CAN總線技術與應用系統設計[M]. 北京:機械工業出版社,2013:3-8.
[3]周立功. iCAN現場總線原理與應用[M]. 北京:北京航空航天大學出版社,2006:24-28.
[4]王化祥,張淑英. 傳感器原理及應用[M]. 天津:天津大學出版社,2014:52-54.
[5]李正軍. 現場總線及其應用技術[M]. 北京:機械工業出版社,2005:64-66.
2016-11-15
1002-4581(2017)02-0043-04
U463.75
A
10.14175/j.issn.1002-4581.2017.02.011