单片机在汽车电动车窗控制器中的应用
4 CAN通信系统软件设计流程 3 CAN控制器硬件电路设计 PIC18F258是美国Microchip公司生产的内部嵌有CAN总线控制器的高性能PIC系列单片机,由于其超小型、低功耗、低成本、多品种的特点,其应用范围十分广泛。PIC18F258是集成了CAN模块的微控制器,有着先进的精简指令集构架、增强型内核、32级堆栈,片内具有Flash程序存储器、EEROM数据存储器、自编程功能、在线调试器(ICD)和多种内部、外部中断源,并采用了程序和数据空间完全分开的“哈佛”结构。这种结构大大降低了PIC微控制器的总体成本,同时提高了运行效率。在电路中,PIC18F258单片机是CAN总线接口电路的核心,主要完成CAN总线上数据的发送和接收,实现串行数据的分解及组合,保证通信的正常畅通。
软件设计是系统设计的关键。使用开发软件MPLAB IDE、仿真器ICD 2,以及灵活简便的C语言。为了提高可靠性和可理解性[4],内部软件设计采用了模块结构,主要包括主程序、系统初始化子程序、数据发送子程序、数据接收子程序和电机控制子程序。此外,还应有中断服务子程序、A/D采样子程序、故障诊断子程序和终端子程序等。这里主要对系统初始化子程序和电机控制子程序进行探讨。
系统初始化子程序是系统设计工作中极为重要的部分,它是CAN总线系统正常工作的前提,关系到整个CAN系统能否正常工作。因此,初始化设计是一个重点,主要包括CAN模块工作方式的配置、接收滤波器的设置、接收屏蔽寄存器设置、波特率参数设置、发送优先级设置和中断允许寄存器设置等。初始化子程序流程如图4所示。
对电动车窗控制器硬件电路设计的总体要求是系统简单、容易实现、性能稳定可靠,在满足要求的情况下尽量降低成本。
CAN通信系统硬件电路主要由三部分组成[3]:PIC18F258单片机、6N137高速光电耦合器、PCA82C250总线收发器。
PCA82C250是Philips公司的CAN总线接口芯片,是CAN控制器与物理总线之间的接口,提供对总线的差分发送和接收的功能,它与ISO11898标准完全兼容,有三种不同的工作方式,即高速、斜率控制和待机,可以根据实际情况加以选择,在本方案中选择高速工作方式。该芯片引脚少,使用简单。CAN总线采用PCA82C250芯片作为与总线之间的接口,PCA82C250的CANH、CANL引脚各自通过一个电阻与CAN总线相连,电阻可以起到一定的限流作用,保护PCA82C250免受过流的冲击。另外,CANH和CANL与地之间并联两个小电容,可以滤除总线上的高频干扰和防电磁辐射。光电耦合器采用General Instrument公司生产的高速逻辑门输出光电耦合器6N137,它的最大传输延迟时间是75 ns,典型值是46 ns,采用6N137高速光电耦合电路可以很好地实现总线上节点之间的电气隔离,同时可提高系统的抗干扰能力和传输信号的能力。使用时,光电耦合器的两个电源VCC和V′CC必须采用电源隔离电路进行完全隔离。
4 CAN通信系统软件设计流程
软件设计是系统设计的关键。使用开发软件MPLAB IDE、仿真器ICD 2,以及灵活简便的C语言。为了提高可靠性和可理解性[4],内部软件设计采用了模块结构,主要包括主程序、系统初始化子程序、数据发送子程序、数据接收子程序和电机控制子程序。此外,还应有中断服务子程序、A/D采样子程序、故障诊断子程序和终端子程序等。这里主要对系统初始化子程序和电机控制子程序进行探讨。
系统初始化子程序是系统设计工作中极为重要的部分,它是CAN总线系统正常工作的前提,关系到整个CAN系统能否正常工作。因此,初始化设计是一个重点,主要包括CAN模块工作方式的配置、接收滤波器的设置、接收屏蔽寄存器设置、波特率参数设置、发送优先级设置和中断允许寄存器设置等。初始化子程序流程如图4所示。
汽车电动车窗 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)