新闻中心

EEPW首页>嵌入式系统>设计应用> C8051F040的车用CAN总线智能节点设计

C8051F040的车用CAN总线智能节点设计

作者: 时间:2010-12-05 来源:网络 收藏


为了限制传导干扰,电源模块使用电磁干扰(EMI)滤波器CXDB2来抑制电源输入中的传导噪声。输入电源经过滤波后送入2个独立的电源模块PWB2405中获得3组5 V电源。5V-2为模拟信号输入与A/D转换电路提供电源,5V-1向CAN总线供电,5VG为模拟电源,地。VCC为采用5 V电压的数字电路提供电源,同时向三端稳压器模块AMSlll7提供电源。AMSlll7将VCC转换为2组3.3 V电源,3.3 V-1为C8051F040内部A/D转换器提供电源和参考电压,3.3V-2为单片机最小控制电路提供数字电源。

3 软件设计
3.1 主程序

主程序流程如图8所示。智能节点上电后,主程序首先完成系统初始化,主要内容包括:初始化I/0口、A/D转换器、SPI总线、LCD、CAN总线等,然后进入循环工作状态。程序采用扫描方式完成模拟信号采集和开关信号采集。采集得到的数据经过滤波、补偿等方式处理后,通过CAN通信子程序发送到CAN总线。此外,循环工作过程中,系统还会通过LCD子程序显示相关信息。


3.2 信号采集程序
智能节点信息采集量较大,如何实现对多种、多路信号实时采集是系统设计的关键。电气系统典型信号主要包括模拟信号、开关信号等。
采集模拟信号时,利用外部12位A/D转换器,采用软件查询的方式采集模拟信号并进行数字滤波处理。由于所要采集的模拟信号较多,因此必须实现采集通道动态切换;采用定时扫描C8051F040数字I/O口的方法采集数字信号。
3.3 CAN通信程序
C8051F040内部的CAN控制器集成了用于接收及发送的所有硬件,与使用外部CAN控制器相比,可以大大减少占用CPU的时间。CAN总线接收采用中断方式完成,发送采用查询方式完成。CAN总线接收和发送的流程如图9所示。



4 结论
本文提出了一种基于C8051F040单片机的CAN总线智能节点设计方案。通过该智能节点能够实现设备的数据采集与控制,而且根据需要加入适当算法后,还可以实现智能控制和故障诊断等功能。该智能节点已应用于某型车辆的模拟教学平台中,通过由16个节点组成的CAN控制网络完成了对整个平台设备的综合控制,性能良好。


上一页 1 2 3 下一页

关键词:收发器

评论


相关推荐

技术专区

关闭