采用CAN總線的轎車車窗智能控制系統(tǒng)實現(xiàn)原理
3 系統(tǒng)硬件設計
系統(tǒng)左前節(jié)點單元除具有全局控制外,其余節(jié)點單元只負責控制本地車窗,硬件設計僅多一個按鍵K4,主要在于軟件設計。該系統(tǒng)設計的控制電路不僅支持節(jié)點單元間的CAN總線通信,還要檢測壓電傳感器和負載電流等模擬量,判斷各種邏輯,通過驅(qū)動器實現(xiàn)控制功能。
該系統(tǒng)采用片內(nèi)含有CAN控制器的P8xC591作為節(jié)點單元主控制器。P8xC591采用強大的80C51指令集;內(nèi)部集成有SJAl000 CAN控制器的PeliCAN功能;全靜態(tài)內(nèi)核提供了擴展的節(jié)電方式:振蕩器停止和恢復而不丟失數(shù)據(jù);改進的1:l內(nèi)部時鐘分頻器在12 MHz外部時鐘頻率時實現(xiàn)500ns指令周期。
控制器P8xC2591讀取按鍵信息,驅(qū)動車窗電機按預先編制的軟件指令運行,同時監(jiān)測傳感器的輸出電壓和負載電流,作為車窗在上升(下降)過程中與障礙物夾持時的邏輯判斷,然后驅(qū)動電機。為了防止車窗玻璃上升到頂部或下降到底部時,電動機受到?jīng)_擊堵轉(zhuǎn)而降低電動車窗機械的使用壽命,該系統(tǒng)設計具有軟停止功能,并且手動或自動上升、下降時都有此功能。當玻璃上升(下降)快到頂(底)部時,在上升軟停止點切斷電動機的電源使其停止工作,通過電動機的慣性使玻璃上升(下降)到頂(底)部。
各節(jié)點單元相關命令和狀態(tài)通過CAN控制器以報文格式由CAN總線完成與其他節(jié)點單元信息間的傳輸和共享。系統(tǒng)節(jié)點單元硬件設計框圖如圖3所示。
電機驅(qū)動電路采用汽車電子專用的電機驅(qū)動器MC33486。該器件帶有兩個雙高端開關和兩個預驅(qū)動低端開關,其低端開關可外接兩個MOSFET管,可連續(xù)輸出10 A的電流。同時能夠采集電機電流,利用它反饋給單片機A/D轉(zhuǎn)換采樣模塊得到電機電流值,完成電機控制,實現(xiàn)車窗堵轉(zhuǎn)和防夾功能。系統(tǒng)通過濾波電容降低噪聲的耦合,收發(fā)器PCA82C250與CAN總線之間加接光電隔離器6N137,采用DC—DC變換器隔離電源,總線兩端接終端電阻以消除反射信號。
4 系統(tǒng)軟件設計
系統(tǒng)軟件設計目主要包括CAN控制器初始化、節(jié)點發(fā)送接收報文和主控程序3個模塊。
4.1 CAN控制器初始化
CAN控制器上電或硬件復位后必須初始化,包括操作模式、驗收濾波器、總線位定時、中斷和配置TXDC輸出引腳。
4.2 節(jié)點發(fā)送/接收報文
報文的發(fā)送由CAN控制器遵循CAN協(xié)議規(guī)范自動完成。首先CPU必須將待發(fā)送的數(shù)據(jù)按特定格式組合成一幀報文,進入CAN控制發(fā)送緩沖器中,并置位命令寄存器中的發(fā)送請求標志,發(fā)送處理可通過中斷請求或查詢狀態(tài)標志進行控制。其發(fā)送程序分發(fā)送遠程幀和數(shù)據(jù)幀兩種,遠程幀無數(shù)據(jù)場。
報文的接收程序負責節(jié)點報文的接收以及總線關閉、錯誤報警、接收溢出等其他情況處理。報文的收發(fā)主要有中斷接收方式和查詢接收方式。軟件設計采用報文接收的查詢中斷控制方式和報文發(fā)送的中斷控制方式。報文的發(fā)送/接收程序流程如圖4所示。
評論