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