基于CAN控制器P8xC591和傳感器實(shí)現(xiàn)車窗智能控制系統(tǒng)的設(shè)計(jì)
1、引言
目前.以微控制器為代表的汽車電子在整車電子系統(tǒng)中應(yīng)用廣泛,汽車控制正由機(jī)電控制系統(tǒng)轉(zhuǎn)向以分布式網(wǎng)絡(luò)為基礎(chǔ)的智能化系統(tǒng)。CAN總線是一種支持分布式和實(shí)時控制的串行通信網(wǎng)絡(luò),以其高性能和高可靠性在自動控制領(lǐng)域廣泛應(yīng)用。作為目前最具應(yīng)用潛力的現(xiàn)場總線之一,CAN總線技術(shù)為我國汽車產(chǎn)業(yè)升級、降低成本,擴(kuò)大市場占用率提供支持。
現(xiàn)在各中高檔轎車都安裝有電動車窗,按鈕控制車窗玻璃的升降。如果車窗無智能,司機(jī)在沒有注意到乘客的手或物體伸出窗口的情況下按下按鈕,乘客容易被車窗夾傷。為了安全,很多乘車都采用電動防夾車窗。在充分研究有關(guān)CAN總線在汽車電子系統(tǒng)中的應(yīng)用和電動車窗防夾方案的基礎(chǔ)上,提出一種基于CAN總線的轎車車窗智能控制系統(tǒng)的設(shè)計(jì)方案,實(shí)現(xiàn)車窗在正常工作模式下防夾控制功能和緊急情況下(異常工作模式)快速升降車窗控制功能。
2、 系統(tǒng)功能結(jié)構(gòu)
2.1 CAN總線通信實(shí)現(xiàn)原理
CAN總線屬于多路復(fù)用總線的一種,最早是由德國Bosch公司研制的主要用于汽車電器系統(tǒng)控制的總線規(guī)范。它采用非破壞總線仲裁技術(shù),多主方式工作。直接通信距離最遠(yuǎn)可達(dá)10 km,通信速率最高可達(dá)1 Mb/s,幀消息采用CRC校驗(yàn)和其他檢錯措施,具有自動關(guān)閉錯誤嚴(yán)重的節(jié)點(diǎn)功能。CAN節(jié)點(diǎn)通過報(bào)文的標(biāo)識符濾波實(shí)現(xiàn)數(shù)據(jù)傳輸,不同優(yōu)先級滿足不同實(shí)時要求,節(jié)點(diǎn)數(shù)取決于總線驅(qū)動電路,通信介質(zhì)可為雙絞線、同軸電纜或光纖,選擇靈活。報(bào)文采用短幀結(jié)構(gòu),傳輸時間短,受干擾概率低,保證數(shù)據(jù)出錯率極低。汽車網(wǎng)絡(luò)系統(tǒng)中的總線以報(bào)文為單位傳輸數(shù)據(jù),節(jié)點(diǎn)對總線的訪問采用位仲裁方式。報(bào)文起始發(fā)送節(jié)點(diǎn)標(biāo)識符分為功能標(biāo)識符和地址標(biāo)識符。CAN總線系統(tǒng)節(jié)點(diǎn)分為不帶微控制器的非智能節(jié)點(diǎn)和帶微控制器的智能節(jié)點(diǎn)。該系統(tǒng)采用智能節(jié)點(diǎn)設(shè)計(jì),轎車車窗按CAN總線結(jié)構(gòu)和電器元件在汽車中的物理位置劃分為左前、右前、左后和右后4個節(jié)點(diǎn)單元。其中左前節(jié)點(diǎn)為主控制單元,除負(fù)責(zé)本地(左前)車窗的升降,還可以遠(yuǎn)程控制其他車窗。各節(jié)點(diǎn)采用獨(dú)立的帶CAN功能的微控制器設(shè)計(jì),其CAN網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
2.2 車窗的智能控制
電動車窗系統(tǒng)每個車門都有一個車窗玻璃升降機(jī)構(gòu),與傳統(tǒng)的手搖機(jī)構(gòu)相似,只不過是采用直流永磁電機(jī)驅(qū)動。電機(jī)尺寸非常小,可以安裝在車門里面,并且?guī)в幸惶?u>減速機(jī)構(gòu),用來增加輸出扭矩、減小輸出轉(zhuǎn)速。電機(jī)轉(zhuǎn)動方向(即車窗的上下移動)通過改變輸入電壓的極性來實(shí)現(xiàn),車窗升降速度取決于輸入電壓的大小。
系統(tǒng)使用一個小阻值(約1Ω)的電阻作為電流傳感器,傳感電阻與電機(jī)串聯(lián),其壓降與電機(jī)的工作電流成正比,通過檢測電阻兩端的電壓檢測流過電機(jī)的電流。在傳感電阻上的電壓未到達(dá)設(shè)定的閾值前,電機(jī)一直工作,一旦傳感器的壓降達(dá)到閾值。電機(jī)停止轉(zhuǎn)動,檢測車窗位置。如果車窗位置未達(dá)到最終位置。說明車窗遇到障礙,車窗將自動退回初始位置。如果車窗到達(dá)行程終點(diǎn),電機(jī)電路斷開。為了完成該操作控制,需要實(shí)時控制車窗位置,為此在車窗導(dǎo)軌的頂部和底部各安裝壓電傳感器,根據(jù)壓力產(chǎn)生的電壓來判斷車窗是否到達(dá)預(yù)先設(shè)的極限位置。
該系統(tǒng)設(shè)計(jì)除了在正常情況下實(shí)現(xiàn)自動防夾功能,還要求在突發(fā)事件(如歹徒搶劫或乘客遇險(xiǎn)逃生等)時司機(jī)能夠控制車窗的強(qiáng)制關(guān)閉或打開。系統(tǒng)對每個節(jié)點(diǎn)單元都有3個用于車窗控制的按鍵(K1、K2和K3)。其中Kl用于控制車窗的上升和下降,是一個2值信號開關(guān);K2暫停/恢復(fù)按鍵用于車窗上升或下降途中的暫停,再次按下K2將繼續(xù)運(yùn)動;K3模式選擇按鍵,其默認(rèn)為執(zhí)行正常工作模式(帶防夾功能),按下K3后執(zhí)行異常工作模式(不帶防夾功能),具有最高優(yōu)先級,用于快速設(shè)定車窗上升或下降。主控節(jié)點(diǎn)單元即左前節(jié)點(diǎn)單元,除負(fù)責(zé)本地車窗的升降外,還控制所有節(jié)點(diǎn)單元的車窗同步動作,在前3個控制按鍵基礎(chǔ)上,增加了本地/全局控制模式按鍵K4,默認(rèn)為本地控制模式,按鍵后切換控制模式。以主控節(jié)點(diǎn)單元按鍵動作說明車窗的智能控制過程,其結(jié)構(gòu)邏輯如圖2所示。
3、 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)左前節(jié)點(diǎn)單元除具有全局控制外,其余節(jié)點(diǎn)單元只負(fù)責(zé)控制本地車窗,硬件設(shè)計(jì)僅多一個按鍵K4,主要在于軟件設(shè)計(jì)。該系統(tǒng)設(shè)計(jì)的控制電路不僅支持節(jié)點(diǎn)單元間的CAN總線通信,還要檢測壓電傳感器和負(fù)載電流等模擬量,判斷各種邏輯,通過驅(qū)動器實(shí)現(xiàn)控制功能。
該系統(tǒng)采用片內(nèi)含有CAN控制器的P8xC591作為節(jié)點(diǎn)單元主控制器。P8xC591采用強(qiáng)大的80C51指令集;內(nèi)部集成有SJAl000 CAN控制器的PeliCAN功能;全靜態(tài)內(nèi)核提供了擴(kuò)展的節(jié)電方式:振蕩器停止和恢復(fù)而不丟失數(shù)據(jù);改進(jìn)的1:l內(nèi)部時鐘分頻器在12 MHz外部時鐘頻率時實(shí)現(xiàn)500ns指令周期。
控制器P8xC2591讀取按鍵信息,驅(qū)動車窗電機(jī)按預(yù)先編制的軟件指令運(yùn)行,同時監(jiān)測傳感器的輸出電壓和負(fù)載電流,作為車窗在上升(下降)過程中與障礙物夾持時的邏輯判斷,然后驅(qū)動電機(jī)。為了防止車窗玻璃上升到頂部或下降到底部時,電動機(jī)受到?jīng)_擊堵轉(zhuǎn)而降低電動車窗機(jī)械的使用壽命,該系統(tǒng)設(shè)計(jì)具有軟停止功能,并且手動或自動上升、下降時都有此功能。當(dāng)玻璃上升(下降)快到頂(底)部時,在上升軟停止點(diǎn)切斷電動機(jī)的電源使其停止工作,通過電動機(jī)的慣性使玻璃上升(下降)到頂(底)部。
各節(jié)點(diǎn)單元相關(guān)命令和狀態(tài)通過CAN控制器以報(bào)文格式由CAN總線完成與其他節(jié)點(diǎn)單元信息間的傳輸和共享。系統(tǒng)節(jié)點(diǎn)單元硬件設(shè)計(jì)框圖如圖3所示。
電機(jī)驅(qū)動電路采用汽車電子專用的電機(jī)驅(qū)動器MC33486。該器件帶有兩個雙高端開關(guān)和兩個預(yù)驅(qū)動低端開關(guān),其低端開關(guān)可外接兩個MOSFET管,可連續(xù)輸出10 A的電流。同時能夠采集電機(jī)電流,利用它反饋給單片機(jī)A/D轉(zhuǎn)換采樣模塊得到電機(jī)電流值,完成電機(jī)控制,實(shí)現(xiàn)車窗堵轉(zhuǎn)和防夾功能。系統(tǒng)通過濾波電容降低噪聲的耦合,收發(fā)器PCA82C250與CAN總線之間加接光電隔離器6N137,采用DC—DC變換器隔離電源,總線兩端接終端電阻以消除反射信號。
4、 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)目主要包括CAN控制器初始化、節(jié)點(diǎn)發(fā)送接收報(bào)文和主控程序3個模塊。
4.1 CAN控制器初始化
CAN控制器上電或硬件復(fù)位后必須初始化,包括操作模式、驗(yàn)收濾波器、總線位定時、中斷和配置TXDC輸出引腳。
4.2 節(jié)點(diǎn)發(fā)送/接收報(bào)文
報(bào)文的發(fā)送由CAN控制器遵循CAN協(xié)議規(guī)范自動完成。首先CPU必須將待發(fā)送的數(shù)據(jù)按特定格式組合成一幀報(bào)文,進(jìn)入CAN控制發(fā)送緩沖器中,并置位命令寄存器中的發(fā)送請求標(biāo)志,發(fā)送處理可通過中斷請求或查詢狀態(tài)標(biāo)志進(jìn)行控制。其發(fā)送程序分發(fā)送遠(yuǎn)程幀和數(shù)據(jù)幀兩種,遠(yuǎn)程幀無數(shù)據(jù)場。
報(bào)文的接收程序負(fù)責(zé)節(jié)點(diǎn)報(bào)文的接收以及總線關(guān)閉、錯誤報(bào)警、接收溢出等其他情況處理。報(bào)文的收發(fā)主要有中斷接收方式和查詢接收方式。軟件設(shè)計(jì)采用報(bào)文接收的查詢中斷控制方式和報(bào)文發(fā)送的中斷控制方式。報(bào)文的發(fā)送/接收程序流程如圖4所示。
4.3 主控程序
在各車窗節(jié)點(diǎn)單元中,左前節(jié)點(diǎn)單元功能最復(fù)雜,具有最高控制優(yōu)先權(quán)。這里以左前節(jié)點(diǎn)單元為例,詳細(xì)介紹其主控程序設(shè)計(jì)。首先初始化系統(tǒng),包括P8xC591控制器的CAN模塊初始化、中斷、I/0端口、定時模塊、看門狗模塊、A/D轉(zhuǎn)換器模塊和設(shè)置全局變量,還要將電機(jī)堵轉(zhuǎn)時的最大電流和車窗到頂(底)時傳感器的電壓閾值寫入EPROM。P8xC591將實(shí)測電流與EPROM中的標(biāo)定值比較,實(shí)現(xiàn)防夾功能,比較電壓閾值與測得的傳感器電路電壓值判斷車窗到達(dá)極限位置。初始化完成后,讀取組合按鍵信息,根據(jù)按鍵動作實(shí)施具體操作,同時發(fā)送CAN報(bào)文,完成各節(jié)點(diǎn)單元間的CAN通信和智能化控制。圖5為左前節(jié)點(diǎn)單元主控程序流程。
5 、系統(tǒng)主要技術(shù)參數(shù)和功能
電動車窗控制系統(tǒng)除了具有車窗自動上升、下降和手動暫停、恢復(fù)功能外,還有以下功能:
(1)防夾功能 初始化后,手動和自動上升時都具有防夾功能,防夾次數(shù)不受限制;從車窗上極限下沿40mm往下,車窗上極限上沿40 mm往上的區(qū)間為防夾區(qū)間:在室溫(22±5)℃、80 mΩ的線間電阻、15 V的工作電壓,以10 N/mm的測量儀測量時,玻璃上升的防夾力小于100 N。
(2)省電模式 在輸入信號消失120 ms后。且電動機(jī)溫度接近室溫25℃時,系統(tǒng)自動進(jìn)入省電模式.靜態(tài)電流小于300μA。當(dāng)電動機(jī)控制單元一旦得到輸入指令就被喚醒。
(3)軟停止功能 上升軟停止點(diǎn)為上極限位置約2 mm處,下降軟停止點(diǎn)為下極限位置上約12 mm處。
(4)電動機(jī)保護(hù)功能對電動機(jī)采取保護(hù)措施,提高電動機(jī)和電動車窗系統(tǒng)的使用壽命。在電動機(jī)堵轉(zhuǎn)的250 ms內(nèi),控制單元切斷電動機(jī)電源,電動機(jī)停止工作。在控制單元接通電源后,如果沒有初始化,則電動機(jī)的初始溫度定為80℃;如果初始化,則電動機(jī)初始溫度定為160~C。正常情況下,如果電動機(jī)溫度達(dá)到170℃,則輸入的指令無效,一旦電動機(jī)溫度降低后就恢復(fù)功能;如果電動機(jī)溫度到190℃,則立即停止電動機(jī)的工作,一旦電動機(jī)溫度降低后就恢復(fù)功能。
(5)自診斷保護(hù)功能 為保證系統(tǒng)的可靠性,同時提高系統(tǒng)的平均無故障時間,采用自診斷保護(hù)措施:如果電源電壓超過16 V±0.5 V,關(guān)閉自動上升功能。
(6)系統(tǒng)抗干擾設(shè)計(jì)技術(shù)軟件抗干擾以其設(shè)計(jì)靈活、節(jié)省硬件資源、成本低等優(yōu)勢得到廣泛應(yīng)用。該系統(tǒng)的軟件設(shè)計(jì)嵌入看門狗,進(jìn)一步提高系統(tǒng)的可靠性。
6、 結(jié)語
設(shè)計(jì)了基于CAN總線的轎車車窗智能控制系統(tǒng),節(jié)點(diǎn)單元以P8xC591單片機(jī)為核心,將車窗電機(jī)和電子控制元件接入系統(tǒng)。采用CAN總線傳輸、共享和查詢數(shù)據(jù),實(shí)現(xiàn)分布式控制。與傳統(tǒng)汽車電器手動操作和點(diǎn)對點(diǎn)式互聯(lián)方式相比.采用CAN總線技術(shù),布線明顯減少,車身系統(tǒng)結(jié)構(gòu)簡單,系統(tǒng)可靠性高,更易于維護(hù)。同時,系統(tǒng)通過監(jiān)測車窗電機(jī)的電流實(shí)現(xiàn)電動車窗的防夾功能,并針對人身安全隱患設(shè)計(jì)了強(qiáng)制車窗“動作”功能,使整車的智能化、人性化和安全性得到進(jìn)一步提高。目前,該系統(tǒng)設(shè)計(jì)已在國內(nèi)某轎車上安裝試行.反映效果良好。所提出的方案具有較強(qiáng)的可移植性和可擴(kuò)展性,同樣也適用于汽車電氣系統(tǒng)的智能化升級,開發(fā)其他功能更為強(qiáng)大的CAN總線智能產(chǎn)品。