基于CAN總線的轎車車窗智能控制系統(tǒng)設(shè)計(jì)
1 引言
can總線是一種有效支持分布式控制和實(shí)時(shí)控制的串行通信網(wǎng)絡(luò),以其高性能和高可靠性在自動(dòng)控制領(lǐng)域得到了廣泛的應(yīng)用。目前在國外中高檔轎車已普遍應(yīng)用了汽車總線網(wǎng)絡(luò)技術(shù),在國產(chǎn)汽車中采用can總線技術(shù)已經(jīng)取得了一定進(jìn)展,但受制于技術(shù)和成本等問題的限制,整體水平比較落后。作為目前最具應(yīng)用潛力的車載現(xiàn)場(chǎng)總線,can總線技術(shù)可為我國汽車產(chǎn)業(yè)升級(jí)、進(jìn)一步降低成本,擴(kuò)大市場(chǎng)占用率提供支持。
現(xiàn)在各中高檔轎車都安裝了電動(dòng)車窗,按下按鈕就可以控制車窗玻璃的升降。如果車窗沒有智能,司機(jī)在沒有注意到乘客的手或物體伸出窗口,就容易被上升的玻璃夾傷。為了安全起見,現(xiàn)在很多乘用車都采用了電動(dòng)防夾車窗。在國外,電動(dòng)防夾車窗已作為強(qiáng)制性標(biāo)準(zhǔn)應(yīng)用在汽車上。與此同時(shí),司乘人員面對(duì)防搶防盜和遇難脫險(xiǎn)等意外事故時(shí)必須對(duì)車窗實(shí)行強(qiáng)制開啟或關(guān)閉。
本文是在貴州省科技廳工業(yè)攻關(guān)項(xiàng)目“汽車電動(dòng)車窗can總線控制系統(tǒng)的開發(fā)”(黔科合gy字[2008]3032)資助下,充分研究了有關(guān)can總線在汽車電子系統(tǒng)中的應(yīng)用和電動(dòng)車窗防夾方案,提出了一種基于can總線的轎車車窗智能控制系統(tǒng)的研究方案,可以實(shí)現(xiàn)車窗在正常工作模式下具有防夾控制功能和緊急情況下(異常工作模式)快速升降車窗控制功能,使在整車環(huán)境下車窗的控制管理更趨向智能化和人性化,提高汽車電子的安全性、靈活性和可靠性。
2 系統(tǒng)功能結(jié)構(gòu)
2.1 can總線通信實(shí)現(xiàn)原理
can總線屬于多路復(fù)用總線的一種,最早是由德國bosch公司研制的主要用于汽車電器系統(tǒng)控制的總線規(guī)范。它采用非破壞總線仲裁技術(shù),多種方式工作,直接通信距離最遠(yuǎn)可達(dá)10km,通信速率最高可達(dá)1mbps,幀消息采用crc校驗(yàn)和其他檢錯(cuò)措施,具有自動(dòng)關(guān)閉錯(cuò)誤嚴(yán)重的節(jié)點(diǎn)功能。can節(jié)點(diǎn)通過報(bào)文的標(biāo)識(shí)符濾波實(shí)現(xiàn)數(shù)據(jù)傳輸,有不同的優(yōu)先級(jí)滿足不同的實(shí)時(shí)要求,節(jié)點(diǎn)數(shù)取決于總線驅(qū)動(dòng)電路,通信介質(zhì)可為雙絞線、同軸電纜或光纖,選擇靈活。報(bào)文采用短幀結(jié)構(gòu),傳輸時(shí)間短,受干擾概率低,保證數(shù)據(jù)出錯(cuò)率極低。
汽車網(wǎng)絡(luò)系統(tǒng)中的總線以報(bào)文為單位進(jìn)行數(shù)據(jù)傳輸,節(jié)點(diǎn)對(duì)總線的訪問采用位仲裁方式。報(bào)文起始發(fā)送節(jié)點(diǎn)標(biāo)識(shí)符分為功能標(biāo)識(shí)符(如遠(yuǎn)程開窗命令)和地址標(biāo)識(shí)符(如控制單元節(jié)點(diǎn)地址)。
can總線系統(tǒng)共有兩種類型的節(jié)點(diǎn):不帶微控制器的非智能節(jié)點(diǎn)和帶微控制器的智能節(jié)點(diǎn)。本系統(tǒng)采用智能節(jié)點(diǎn)設(shè)計(jì),轎車車窗按can總線結(jié)構(gòu)和電器元件在汽車中的物理位置劃分為左前、右前、左后和右后四個(gè)節(jié)點(diǎn)單元,其中左前節(jié)點(diǎn)為主控制單元,除負(fù)責(zé)本地(左前)車窗的升降,還可以遠(yuǎn)程控制其他車窗的動(dòng)作。各節(jié)點(diǎn)采用獨(dú)立的帶can功能的微控制器進(jìn)行設(shè)計(jì),其can網(wǎng)絡(luò)結(jié)構(gòu)如下圖1所示。
圖1 can總線網(wǎng)絡(luò)結(jié)構(gòu)
2.2 車窗的智能控制
電動(dòng)車窗系統(tǒng)的每個(gè)車門都有一個(gè)車窗玻璃升降機(jī)構(gòu),這與傳統(tǒng)的手搖機(jī)構(gòu)很相似,只不過采用直流永磁電機(jī)來驅(qū)動(dòng)。電機(jī)的尺寸非常小,可以安裝在車門里面,并且?guī)в幸惶诇p速機(jī)構(gòu),用來增加輸出扭矩、減小輸出轉(zhuǎn)速。電機(jī)轉(zhuǎn)動(dòng)方向(即車窗的上下移動(dòng))通過改變輸入電壓的極性來實(shí)現(xiàn),車窗升降速度取決于輸入電壓的大小。
系統(tǒng)使用一個(gè)小阻值(約為1ω)的電阻作為電流傳感器,傳感電阻與電機(jī)串聯(lián),其壓降與電機(jī)的工作電流成正比,通過檢測(cè)電阻兩端的電壓來檢測(cè)流過電機(jī)的電流。在傳感電阻上的電壓未到達(dá)設(shè)定的閥值之前,電機(jī)一直工作,一旦傳感器的壓降達(dá)到閥值,電機(jī)停止轉(zhuǎn)動(dòng),此時(shí)檢測(cè)車窗位置。如果車窗位置未達(dá)到最終位置,說明車窗遇到障礙,車窗自動(dòng)退回初始位置。如果車窗位置到達(dá)行程終點(diǎn),電機(jī)電路斷開。為了完成這種操作控制,需要實(shí)時(shí)控制車窗的位置,為此在車窗導(dǎo)軌的頂部和底部各安裝一個(gè)壓電傳感器,根據(jù)壓力產(chǎn)生的電壓大小來判斷車窗是否到達(dá)事先設(shè)定的極限位置。
本文設(shè)計(jì)的車窗智能系統(tǒng)除了能滿足在正常情況下實(shí)現(xiàn)自動(dòng)防夾功能,還要求在遇到突發(fā)事件(如歹徒搶劫或乘客遇險(xiǎn)逃生等)下駕駛員可以控制車窗的強(qiáng)制關(guān)閉或打開。系統(tǒng)對(duì)每個(gè)節(jié)點(diǎn)單元都設(shè)計(jì)了三個(gè)用于車窗控制的按鍵(k1、k2和k3),其中k1用于控制車窗的上升和下降,是一個(gè)二值信號(hào)開關(guān);k2是暫停/恢復(fù)按鍵,用于車窗上升或下降途中的暫停,再次按下繼續(xù)原運(yùn)動(dòng)狀態(tài);k3是模式選擇按鍵,默認(rèn)為執(zhí)行正常工作模式(帶防夾功能),按下后執(zhí)行異常工作模式,具有最高優(yōu)先級(jí),用于快速設(shè)定的車窗上升或下降。主控節(jié)點(diǎn)單元即左前節(jié)點(diǎn)單元,除負(fù)責(zé)本地車窗的升降外,還可以控制所有節(jié)點(diǎn)單元的車窗同步動(dòng)作,在前面三個(gè)控制按鍵基礎(chǔ)上,增加了一個(gè)本地/全局控制模式按鍵k4,默認(rèn)為本地控制模式,按鍵后切換控制模式。
本文以主控節(jié)點(diǎn)單元按鍵動(dòng)作來說明車窗的智能控制過程,其結(jié)構(gòu)邏輯可表述為如圖2所示。
圖2 車窗智能控制結(jié)構(gòu)圖
3 系統(tǒng)的硬件開發(fā)
系統(tǒng)左前節(jié)點(diǎn)單元除具有全局控制外,其余節(jié)點(diǎn)單元只負(fù)責(zé)對(duì)本地車窗的控制,在硬件上僅多了一個(gè)按鍵k4,功能的不同主要在于軟件設(shè)計(jì)的差異。在本設(shè)計(jì)中,控制電路不僅要支持節(jié)點(diǎn)單元間的can總線通信,還要對(duì)壓電傳感器和負(fù)載電流等模擬量進(jìn)行檢測(cè),進(jìn)行各種邏輯判斷,通過驅(qū)動(dòng)芯片完成控制功能。
系統(tǒng)采用p8xc591作為節(jié)點(diǎn)單元主控制器。p8xc591是一個(gè)單片8位[5]高性能微控制器,具有片內(nèi)can控制器。它是從mcs-51微控制器家族派生而來,采用了強(qiáng)大的80c51指令集并成功地集成了philips半導(dǎo)體sja1000 can控制器的pelican功能。全靜態(tài)內(nèi)核提供了擴(kuò)展的節(jié)電方式。振蕩器可停止和恢復(fù)而不會(huì)丟失數(shù)據(jù)。改進(jìn)的1:1內(nèi)部時(shí)分頻器在12mhz外部時(shí)鐘頻率時(shí)實(shí)現(xiàn)500ns指令周期。
控制器p8xc591讀取按鍵信息,驅(qū)動(dòng)車窗電機(jī)按預(yù)先編制的軟件指令運(yùn)行,同時(shí)監(jiān)測(cè)傳感器的輸出電壓和負(fù)載電流,作為車窗在上升(下降)過程中與障礙物夾持時(shí)的邏輯判斷,驅(qū)動(dòng)電機(jī)做出反映。各節(jié)點(diǎn)單元相關(guān)命令和狀態(tài)通過can控制器以報(bào)文格式通過can總線完成與其他節(jié)點(diǎn)單元信息間的傳輸和共享。系統(tǒng)節(jié)點(diǎn)單元硬件設(shè)計(jì)框圖如圖3所示。
圖3 系統(tǒng)節(jié)點(diǎn)單元硬件設(shè)計(jì)框圖
電機(jī)驅(qū)動(dòng)電路采用motorola公司生產(chǎn)的專用于車身電子的電機(jī)驅(qū)動(dòng)芯片mc33486。該芯片帶有兩個(gè)雙高端開關(guān)和兩個(gè)預(yù)驅(qū)動(dòng)低端開關(guān),兩個(gè)低端開關(guān)可以外接兩個(gè)mosfet管,具有連續(xù)10a電流輸出功的能力。同時(shí)能夠采集電機(jī)的電流,利用它反饋給單片機(jī)a/d采樣模塊得到電機(jī)電流值,能夠完成電機(jī)的控制和實(shí)現(xiàn)車窗堵轉(zhuǎn)和防夾功能。
4 系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)主要包括can控制器的初始化程序、節(jié)點(diǎn)的發(fā)送接收?qǐng)?bào)文程序和主控程序。
4.1 can控制器的初始化
can控制器在上電或硬件復(fù)位后必須進(jìn)行初始化,為can通信進(jìn)行的初始化應(yīng)包括操作模式、驗(yàn)收濾波器、總線位定時(shí)、中斷和txdc輸出管腳等配置。can初始化程序如圖4所示。
圖4 can初始化流程圖
4.2 節(jié)點(diǎn)的發(fā)送接收?qǐng)?bào)文程序
報(bào)文的發(fā)送由can控制器根據(jù)can協(xié)議規(guī)范自動(dòng)完成。首先cpu必須將待發(fā)送的數(shù)據(jù)按特定格式組合成一幀報(bào)文,進(jìn)入can控制發(fā)送緩沖器中,并置位命令寄存器中的發(fā)送請(qǐng)求標(biāo)志,發(fā)送處理可通過中斷請(qǐng)求或查詢狀態(tài)標(biāo)志進(jìn)行控制。發(fā)送程序分發(fā)送遠(yuǎn)程幀和數(shù)據(jù)幀兩種,遠(yuǎn)程幀無數(shù)據(jù)場(chǎng)。
報(bào)文的接收程序負(fù)責(zé)節(jié)點(diǎn)報(bào)文的接收以及總線關(guān)閉、錯(cuò)誤報(bào)警、接收溢出等其他情況處理。報(bào)文的收發(fā)主要有兩種方式:中斷接收方式和查詢接收方式。軟件設(shè)計(jì)采用報(bào)文接收的查詢中斷控制方式和報(bào)文發(fā)送的中斷控制方式。報(bào)文的接收發(fā)送程序流程見圖5。
圖5 報(bào)文接收發(fā)送程序流程圖
4.3 主控程序
在各車窗節(jié)點(diǎn)單元中,左前節(jié)點(diǎn)單元功能最為復(fù)雜,具有最高的控制優(yōu)先權(quán)。本文詳細(xì)介紹左前節(jié)點(diǎn)單元的主控程序設(shè)計(jì)過程,其他節(jié)點(diǎn)只需稍加修改即可應(yīng)用,限于篇幅,不再另行論述。首先進(jìn)行系統(tǒng)的初始化,包括p8xc591控制器的can模塊初始化、中斷、i/o端口、定時(shí)模塊、watch dog模塊、a/d模塊和全局變量的設(shè)置,同時(shí)還要對(duì)電機(jī)堵轉(zhuǎn)時(shí)的最大電流和車窗到頂(底)時(shí)傳感器的電壓閥值寫入eprom。p8xc591將實(shí)際測(cè)得電流值與eprom中的標(biāo)定值比較來實(shí)現(xiàn)防夾功能,將電壓閥值與測(cè)得的傳感器電路電壓值比較來判斷車窗到達(dá)極限位置。初始化完成后,讀取組合按鍵信息,根據(jù)按鍵動(dòng)作實(shí)施具體的操作,同時(shí)發(fā)送can報(bào)文,完成各節(jié)點(diǎn)單元間的can通信和智能化控制。左前節(jié)點(diǎn)單元主控程序及正常工作情況下車窗上升過程子程序流程圖如圖6、圖7所示。
圖6 左前車窗單元主控程序流程圖
圖7 正常工作情況下車窗上升過程子程序流程圖
5 系統(tǒng)主要技術(shù)參數(shù)和功能
電動(dòng)車窗控制系統(tǒng)除了具有車窗自動(dòng)上升、下降和手動(dòng)暫停、恢復(fù)功能外,還有以下功能:
5.1 防夾功能
初始化后,手動(dòng)和自動(dòng)上升時(shí)都有防夾功能,而且防夾的次數(shù)不受限制。
從車窗上極限下沿40mm往下,車窗上極限上沿40mm往上的區(qū)間為防夾區(qū)間。
在室溫(22±5)℃、80mω的線間電阻、15v的工作電壓,以10n/mm的測(cè)量?jī)x測(cè)量時(shí),玻璃上升的防夾力<100n。
5.2 省電模式
在輸入信號(hào)消失120ms后,且電動(dòng)機(jī)溫度接近室溫25℃時(shí),該系統(tǒng)自動(dòng)進(jìn)入省電模式,靜態(tài)電流<300μa。當(dāng)電動(dòng)機(jī)控制單元一旦得到輸入指令就被喚醒了。
5.3 軟停止功能
為了防止車窗玻璃上升到頂或下降到底時(shí),電動(dòng)機(jī)受到?jīng)_擊堵轉(zhuǎn)而降低電動(dòng)車窗機(jī)械的使用壽命,需要有軟停止功能,并且手動(dòng)或自動(dòng)上升、下降時(shí)都有此功能。上升軟停止當(dāng)玻璃上升快到頂部時(shí),即在上升軟停止點(diǎn)時(shí),會(huì)切斷電動(dòng)機(jī)的電源使其停止工作,同時(shí)通過電動(dòng)機(jī)的慣性使玻璃上升到頂。此上升軟停止點(diǎn)為上極限位置下約2mm處。當(dāng)玻璃下降快到底部時(shí),即在下降軟停止點(diǎn)時(shí),會(huì)切斷電動(dòng)機(jī)的電源使其停止工作,同時(shí)通過玻璃下降的慣性使玻璃下降到底。此下降軟停止點(diǎn)為下極限位置上約12mm處。
5.4 電動(dòng)機(jī)保護(hù)功能
對(duì)電動(dòng)機(jī)采取保護(hù)措施,可以明顯提高電動(dòng)機(jī)和整個(gè)電動(dòng)車窗系統(tǒng)的使用壽命。在電動(dòng)機(jī)堵轉(zhuǎn)的250ms內(nèi),控制單元會(huì)切斷電動(dòng)機(jī)電源,使電動(dòng)機(jī)停止工作。在控制單元接通電源后,如果沒有進(jìn)行初始化,則電動(dòng)機(jī)的初始溫度定為80℃;如果進(jìn)行過初始化,則電動(dòng)機(jī)初始溫度定為160℃。正常情況下,如果電動(dòng)機(jī)溫度達(dá)到170℃,則輸入的指令無效,一旦電動(dòng)機(jī)溫度降低后就恢復(fù)功能;如果電動(dòng)機(jī)溫度到190℃,則立即停止電動(dòng)機(jī)的工作,一旦電動(dòng)機(jī)溫度降低后就恢復(fù)功能。
5.5自診斷保護(hù)功能
為保證系統(tǒng)的可靠性,同時(shí)提高系統(tǒng)的平均無故障時(shí)間,采用了自診斷保護(hù)措施:如果電源電壓超過16v±0.5v,關(guān)閉自動(dòng)上升功能。
5.6 系統(tǒng)抗干擾設(shè)計(jì)技術(shù)
系統(tǒng)通過濾波電容降低噪聲的耦合,收發(fā)器pca82c250與can總線之間加接光電隔離芯片6n137,并采用dc-dc變換器隔離電源。總線兩端接終端電阻以消除反射信號(hào)。軟件設(shè)計(jì)中嵌入看門狗[7],進(jìn)一步提高了系統(tǒng)的可靠性。
6 結(jié)束語
本文設(shè)計(jì)了基于can總線的轎車車窗智能控制系統(tǒng),節(jié)點(diǎn)單元以p8xc591單片機(jī)為核心,將車窗電機(jī)和電子控制部件連入系統(tǒng)中,采用can總線進(jìn)行數(shù)據(jù)之間的傳輸、共享和查詢,達(dá)到分布式控制的目的。與傳統(tǒng)的汽車電器手動(dòng)操作和點(diǎn)對(duì)點(diǎn)式互聯(lián)方式相比,采用can[8]總線技術(shù),接線明顯減少,車身系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,系統(tǒng)可靠性得以提高,更易于維護(hù)。同時(shí),系統(tǒng)通過監(jiān)測(cè)車窗電機(jī)的電流實(shí)現(xiàn)電動(dòng)車窗的防夾功能,并針對(duì)人身安全隱患設(shè)計(jì)了強(qiáng)制車窗“動(dòng)作”功能,使整車的智能化、人性化和安全性得到進(jìn)一步提高。本文所提出的方案具有較強(qiáng)的可移植性和可擴(kuò)展性,同樣也適用于汽車電氣系統(tǒng)的智能化升級(jí),開發(fā)其他功能更為強(qiáng)大的can總線智能產(chǎn)品。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。