PIC單片機在汽車(chē)電動(dòng)車(chē)窗控制器中的應用
3 CAN控制器硬件電路設計
對電動(dòng)車(chē)窗控制器硬件電路設計的總體要求是系統簡(jiǎn)單、容易實(shí)現、性能穩定可靠,在滿(mǎn)足要求的情況下盡量降低成本。
CAN通信系統硬件電路主要由三部分組成[3]:PIC18F258單片機、6N137高速光電耦合器、PCA82C250總線(xiàn)收發(fā)器。電路原理如圖3所示。本文引用地址:http://dyxdggzs.com/article/197656.htm
PIC18F258是美國Microchip公司生產(chǎn)的內部嵌有CAN總線(xiàn)控制器的高性能PIC系列單片機,由于其超小型、低功耗、低成本、多品種的特點(diǎn),其應用范圍十分廣泛。PIC18F258是集成了CAN模塊的微控制器,有著(zhù)先進(jìn)的精簡(jiǎn)指令集構架、增強型內核、32級堆棧,片內具有Flash程序存儲器、EEROM數據存儲器、自編程功能、在線(xiàn)調試器(ICD)和多種內部、外部中斷源,并采用了程序和數據空間完全分開(kāi)的“哈佛”結構。這種結構大大降低了PIC微控制器的總體成本,同時(shí)提高了運行效率。在電路中,PIC18F258單片機是CAN總線(xiàn)接口電路的核心,主要完成CAN總線(xiàn)上數據的發(fā)送和接收,實(shí)現串行數據的分解及組合,保證通信的正常暢通。
PCA82C250是Philips公司的CAN總線(xiàn)接口芯片,是CAN控制器與物理總線(xiàn)之間的接口,提供對總線(xiàn)的差分發(fā)送和接收的功能,它與ISO11898標準完全兼容,有三種不同的工作方式,即高速、斜率控制和待機,可以根據實(shí)際情況加以選擇,在本方案中選擇高速工作方式。該芯片引腳少,使用簡(jiǎn)單。CAN總線(xiàn)采用PCA82C250芯片作為與總線(xiàn)之間的接口,PCA82C250的CANH、CANL引腳各自通過(guò)一個(gè)電阻與CAN總線(xiàn)相連,電阻可以起到一定的限流作用,保護PCA82C250免受過(guò)流的沖擊。另外,CANH和CANL與地之間并聯(lián)兩個(gè)小電容,可以濾除總線(xiàn)上的高頻干擾和防電磁輻射。光電耦合器采用General Instrument公司生產(chǎn)的高速邏輯門(mén)輸出光電耦合器6N137,它的最大傳輸延遲時(shí)間是75 ns,典型值是46 ns,采用6N137高速光電耦合電路可以很好地實(shí)現總線(xiàn)上節點(diǎn)之間的電氣隔離,同時(shí)可提高系統的抗干擾能力和傳輸信號的能力。使用時(shí),光電耦合器的兩個(gè)電源VCC和V′CC必須采用電源隔離電路進(jìn)行完全隔離。
4 CAN通信系統軟件設計流程
軟件設計是系統設計的關(guān)鍵。使用開(kāi)發(fā)軟件MPLAB IDE、仿真器ICD 2,以及靈活簡(jiǎn)便的C語(yǔ)言。為了提高可靠性和可理解性[4],內部軟件設計采用了模塊結構,主要包括主程序、系統初始化子程序、數據發(fā)送子程序、數據接收子程序和電機控制子程序。此外,還應有中斷服務(wù)子程序、A/D采樣子程序、故障診斷子程序和終端子程序等。這里主要對系統初始化子程序和電機控制子程序進(jìn)行探討。
系統初始化子程序是系統設計工作中極為重要的部分,它是CAN總線(xiàn)系統正常工作的前提,關(guān)系到整個(gè)CAN系統能否正常工作。因此,初始化設計是一個(gè)重點(diǎn),主要包括CAN模塊工作方式的配置、接收濾波器的設置、接收屏蔽寄存器設置、波特率參數設置、發(fā)送優(yōu)先級設置和中斷允許寄存器設置等。初始化子程序流程如圖4所示。
評論