<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于XC164CM的車燈控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

          基于XC164CM的車燈控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2014-01-22 來(lái)源:網(wǎng)絡(luò) 收藏
          度變化而改變;溫度監(jiān)控電路使用熱敏電阻MF58構(gòu)成分壓電路,將溫度值的變化轉(zhuǎn)換為電壓值的變化;狀態(tài)監(jiān)控電路通過(guò)電阻分壓網(wǎng)絡(luò)分別采樣10路LED驅(qū)動(dòng)器的輸出電壓,并以此判斷LED燈的工作狀態(tài)。

          本文引用地址:http://www.ex-cimer.com/article/226720.htm

          2.3 CAN控制模塊

          單片機(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ò)單片機(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)。車燈的初始亮度設(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)位于車身前向、側(cè)面和頂部3個(gè)方向的光敏電阻器同時(shí)檢測(cè)到亮度值變化時(shí)(且同時(shí)超過(guò)判斷門限),才認(rèn)為檢測(cè)結(jié)果有效,判斷所處環(huán)境亮度等級(jí),并將結(jié)果送至車燈亮度調(diào)整程序。若3個(gè)光敏電阻未同時(shí)檢測(cè)到亮度值變化,則認(rèn)為只是外界干擾造成的亮度差異,而行車環(huán)境的亮度未發(fā)生變化。

          3)在檢測(cè)環(huán)境亮度的同時(shí),對(duì)10路LED燈的開(kāi)關(guān)量也進(jìn)行檢測(cè)和更新。

          4)車燈亮度調(diào)整:將檢測(cè)到的外界環(huán)境亮度和前一次檢測(cè)到的環(huán)



          關(guān)鍵詞: XC164CM 車燈控制系統(tǒng)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();