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