基于LPC2294的CAN总线智能节点设计
设计给出的CAN总线智能节点设计方案,它采用内置多路CAN总线控制器的LPC2294作为主控制器,采用隔离CAN收发器CTM1050T作为收发器,使得该节点体积小、功耗低、抗干扰性好,因而特别适用于汽车、工业控制以及医疗系统和容错维护总线中。
1.硬件设计
1.1 LPC2294的特点
LPC2294是PHILIPS公司推出的一款功能强大的超低功耗的具有ARM7TDMI内核的32位微控制器。内部嵌入256 KB的高速Flash 存储器和16KB静态RAM。128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率(60MHz)下运行。对代码规模有严格控制的应用可使用16 位Thumb 模式将代码规模降低超过30%,而性能的损失却很小。
由于LPC2294 的144 脚封装、极低的功耗、两个个32 位定时器、八通道10 位ADC、四路互连的CAN接口、PWM 通道(六路)以及多达九个外部中断管脚使它们特别适用于汽车、工业控制应用以及医疗系统和容错维护总线。
LPC2294 集成4路CAN 控制器。他们具有如下特性:
★ 单个总线上的数据传输速率高达1Mb/s
★ 32 位寄存器和RAM访问
★ 兼容CAN 2.0B, ISO 11898-1标准
★ 全局验收滤波器可以识别所有CAN 总线的11 位和29 位Rx 标识符
★ 验收滤波器为选择的标准标识符提供了Full CAN-style 自动接收功能
1.2 隔离CAN收发器CTM1050T
CTM1050T是一款带隔离的高速CAN收发器芯片,其主要功能是将CAN控制器的逻辑电平转换为CAN总线的差分电平,并且具有(DC 2500V)隔离功能、ESD保护功能及TVS管防总线过压功能。CTM1050T具有以下特性:
☆完全符合CAN 2.0和ISO 11898标准的CAN收发器
☆具有隔离、ESD保护功能及TVS管防总线过压功能;
☆速率最高达1Mbit/s;
☆隔离电压:DC 2500V
☆电磁辐射EME极低,电磁抗干扰EMI性极高;
☆无需外加元件可直接使用。
1.3 CAN智能节点硬件电路设计
CAN智能节点硬件电路如图1所示。
图1基于LPC2294的CAN总线智能节点硬件电路
主控制器LPC2294的晶振频率范围为1~30MHz。本设计选晶振频率为20MHz。内部256KB的高速Flash存储器用于代码和数据的存储。对于FLASH存储器,可通过内置的串行JTAG接口进行在系统编程(ISP In-System Programming),或进行在应用编程(IAP In-Application Programming)。为了便于调试和系统升级,在设计中总可以预留这些接口电路。
LPC2294采用双电源供电。CPU的供电电压范围为1.65~1.95V(1.8±0.15V),I/O供电电压范围为3.0~3.6V(3.3±03V)。
隔离CAN总线收发器CTM1050T是CAN协议控制器和物理总线之间的接口。在以往的设计方案中需要高速光耦(6N137)、DC/DC电源隔离模块、CAN收发器等其他元件才能实现带隔离的CAN收发电路,现在只需利用一片CTM1050T接口芯片就可以实现带隔离的CAN收发电路,并且隔离电压可以达到DC 2500V。
1.4硬件的抗干扰设计
在本设计所应用的场合中,产生电磁信号的设备较多,包括超短波设备、音频设备、电源等,因此抗干扰设计显得尤为重要。主要采取了以下措施:
(1)为了进一步提高CAN总线节点的抗干扰能力,保证各节点之间在电气上是完全隔离和独立的,我们采用隔离CAN收发器CTM1050T,取代传统的光耦与电源隔离模块,提高性能的同时简化电路设计。
(2)在CAN总线的两端加有两个120Ω的电阻,这两个电阻对于总线阻抗的匹配起着相当重要的作用。去掉它们会使数据通信的抗干扰性及可靠性大大降低,甚至无法通信。
(3)CANH和CANL与地之间并联了两个30pF的小电容,可虑除总线上的高频干扰并且具有一定的防电磁辐射的能力。
2.软件设计
对于一般的32位ARM嵌入式应用系统,在运行主程序前必须初始化运行环境,即编写ARM控制器启动代码。该启动代码包括异常向量表、堆栈初始化、存储系统初始化和目标板初始化等,一般用汇编语言编写。
对于该设计来说,关键的是编写CAN驱动程序。主程序只需通过调用驱动程序提供的接口来实现数据的接受和发送。驱动程序包括四部分内容:CAN控制器的初始化、接收数据、发送数据和总线异常处理。图2为主程序流程图。
图2 主程序流程图
2.1 CAN控制器的初始化
初始化CAN 控制器的操作包括:硬件使能、设置管脚连接、软件复位、设置报警界限、设置总线波特率、设置中断工作方式、设置验收滤波器工作方式、设置工作模式并启动CAN等。需要特别指出的是设置总线波特率是个难点,所有CAN节点的波特率都要相同才能正常工作,所以要正确配置VPBdiv和PLL寄存器。
CAN总线 智能节点 LPC2294 CTM1050T 相关文章:
- CAN总线镍氢电池管理解决方案(04-23)
- CAN总线在机车监控系统中的应用(04-04)
- 基于can总线技术的电子控制系统单元在汽车网络系统中的应用(07-16)
- CAN总线+单片机实现通信网络设计(08-27)
- 基于S3C2440处理器和WinCE的智能车载仪表设计(02-04)
- 基于CDMA和CAN总线的车辆远程故障诊断系统(02-20)