基于XC164CM的車(chē)燈控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
2.3 CAN控制模塊
XC164CM單片機(jī)集成了TwinCAN模塊,實(shí)現(xiàn)CAN總線通信功能。其主要特性為:1)包括兩個(gè)全CAN功能節(jié)點(diǎn),每一個(gè)CAN節(jié)點(diǎn)通過(guò)一對(duì)接收和發(fā)送引腳連接到總線收發(fā)器,可獨(dú)立工作或者通過(guò)網(wǎng)關(guān)功能交換數(shù)據(jù)幀和遠(yuǎn)程幀。2)CAN幀的發(fā)送和接收遵循CAN V2.0B(active)規(guī)范,且每個(gè)CAN節(jié)點(diǎn)都能接收和發(fā)送帶11個(gè)標(biāo)識(shí)符的標(biāo)準(zhǔn)幀和帶29位標(biāo)識(shí)符的擴(kuò)展幀。3)具有靈活和功能強(qiáng)大的報(bào)文傳送控制和錯(cuò)誤處理能力,CAN總線通信處理更加精確和方便。4)2個(gè)CAN節(jié)點(diǎn)的位定時(shí)源于外設(shè)時(shí)鐘,可以通過(guò)編程使數(shù)據(jù)速率達(dá)到1 Mbps。5)具有8個(gè)單獨(dú)的可編程中斷節(jié)點(diǎn)和適用于發(fā)送和接收的FIFO。
系統(tǒng)通過(guò)XC164CM單片機(jī)CAN總線接口與采用SJA1000控制器和82C250收發(fā)器的單片機(jī)開(kāi)發(fā)板連接測(cè)試CAN通信模塊,實(shí)現(xiàn)人機(jī)交互功能。電路圖如圖2所示。
2.4 LED驅(qū)動(dòng)器
驅(qū)動(dòng)模塊參照西工大LED驅(qū)動(dòng)電源標(biāo)準(zhǔn),信號(hào)燈選用了3~15 W功率范圍的LM3406型驅(qū)動(dòng)器,照明燈選用了20~45 W功率范圍的LM3409型驅(qū)動(dòng)器。
LM3406型驅(qū)動(dòng)器是具備寬輸入電壓范圍,低參考電壓和雙導(dǎo)線調(diào)光功能的降壓穩(wěn)壓器,可提供高達(dá)1.5 A的正向電流,是LED的理想恒流供應(yīng)源。這款芯片內(nèi)置有可確保電流平均輸出的積分電路。在轉(zhuǎn)換器采用連續(xù)導(dǎo)電模式((CCM)操作時(shí),受控導(dǎo)通時(shí)間結(jié)構(gòu)可以確保無(wú)論輸入及輸出電壓的變動(dòng)如何,開(kāi)關(guān)頻率都會(huì)恒定不變。因此LM3406的輸出電流極為準(zhǔn)確,瞬態(tài)響應(yīng)也極快,可以在不同的情況下確保開(kāi)關(guān)頻率恒定不變。
LM3409是一款降壓穩(wěn)流的P溝道MOSFET控制器,提供寬輸人電壓范圍,具有高邊電流檢測(cè)功能,采用增強(qiáng)散熱的eMSOP-10封裝。因此,LM3409是驅(qū)動(dòng)LED的理想恒流源,輸出的正向電流可高達(dá)5 A。另外,LM3409采用恒定關(guān)斷時(shí)間(COT)控制功能調(diào)整電流,確保輸出電流大小恒定,而且無(wú)需通過(guò)外置元件提供環(huán)路補(bǔ)償,可以輕易實(shí)現(xiàn)模擬及PWM調(diào)光功能,可充分發(fā)揮亮度變化高度線性以及高對(duì)比度的優(yōu)點(diǎn),并提供可編程欠壓鎖定、低功耗關(guān)斷及熱關(guān)斷等功能。
信號(hào)燈和照明燈驅(qū)動(dòng)器結(jié)構(gòu)分別采用NI公司的LM3406和LM3409作為主控芯片的BUCK電路,芯片工作的溫度范圍為-40+125℃。其電路原理如圖3所示。
3 軟件設(shè)計(jì)
程序主要采用中斷控制方式,系統(tǒng)流程主要包括主函數(shù),定時(shí)器中斷子程序,CAN接收中斷子程序3部分。具體系統(tǒng)流程圖如圖4所示。
3.1 主函數(shù)部分
1)初始化部分:設(shè)置各端口的輸入輸出狀態(tài),對(duì)各個(gè)模塊進(jìn)行初始化并開(kāi)啟定時(shí)器。
2)開(kāi)關(guān)掃描:選用6路開(kāi)關(guān)控制10路燈的開(kāi)啟和關(guān)閉。當(dāng)開(kāi)關(guān)閉合時(shí)輸出低電平,此時(shí)對(duì)應(yīng)LED燈的開(kāi)啟狀態(tài);開(kāi)關(guān)斷開(kāi)時(shí)輸出高電平,對(duì)應(yīng)LED燈的關(guān)閉狀態(tài)。
3)狀態(tài)數(shù)字量生成:狀態(tài)數(shù)字量為16位數(shù)據(jù),狀態(tài)位(高八位)表示驅(qū)動(dòng)器狀態(tài),標(biāo)志位(低八位)表示驅(qū)動(dòng)器編號(hào)。車(chē)燈的初始亮度設(shè)為6級(jí)。
4)使能全局中斷,等待定時(shí)器中斷信號(hào)和CAN總線通信中斷信號(hào),并在接收到中斷信號(hào)后進(jìn)入相應(yīng)的中斷服務(wù)程序。
3.2 定時(shí)器中斷子程序
定時(shí)器每20 ms產(chǎn)生一次定時(shí)中斷信號(hào),進(jìn)入定時(shí)器中斷服務(wù)程序。在定時(shí)器中斷服務(wù)程序中實(shí)現(xiàn)的操作有:
1)開(kāi)啟AD轉(zhuǎn)換,等待AD轉(zhuǎn)換完成,并將對(duì)AD采樣結(jié)果做歸一化處理。
2)環(huán)境亮度檢測(cè):為避免亮度信息的誤判斷,只有當(dāng)位于車(chē)身前向、側(cè)面和頂部3個(gè)方向的光敏電阻器同時(shí)檢測(cè)到亮度值變化時(shí)(且同時(shí)超過(guò)判斷門(mén)限),才認(rèn)為檢測(cè)結(jié)果有效,判斷所處環(huán)境亮度等級(jí),并將結(jié)果送至車(chē)燈亮度調(diào)整程序。若3個(gè)光敏電阻未同時(shí)檢測(cè)到亮度值變化,則認(rèn)為只是外界干擾造成的亮度差異,而行車(chē)環(huán)境的亮度未發(fā)生變化。
3)在檢測(cè)環(huán)境亮度的同時(shí),對(duì)10路LED燈的開(kāi)關(guān)量也進(jìn)行檢測(cè)和更新。
4)車(chē)燈亮度調(diào)整:將檢測(cè)到的外界環(huán)境亮度和前一次檢測(cè)到的環(huán)
評(píng)論