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