基于C8051F550的CAN总线智能节点的设计
CAN总线的驱动器采用隔离CAN总线收发器CTM1050,通信速率1Mbps,至少可连接110个节点。内部集成的电气输入级隔离电路,可隔离高达2 500V的直流电压。输入级兼容3.3V和5V的CAN控制器,输出级驱动具有温度保护,内部TVS管可防止总线过压功能。与传统的PCA82C250总线收发器相比,主要优点是无需外加光耦可直接使用,外围电路简单,安全,可满足工业现场恶劣条件的使用。图2所示为C805117550与CTM1050的接口电路。本文引用地址:https://www.eepw.com.cn/article/155931.htm
3 智能节点软件设计
图1中三个节点与上位机的通信方式采用的是节点1、3与上位机实现点对点通信工作方式。节点1、3的微处理器C8051F550上电复位后,自动采集模拟电压信号,通过C8051F550内部集成的12位A/D转换,将数字量发送到上位机。上位机实时进行数据监控,如果收到的数据出现错误,可以通过CANtool软件,发送自定义的错误数据标识给两个节点,两节点收到该数据后,停止A/D采样工作。节点1、3与节点2是主从工作方式。当节点2的开关量有按键按下时,1、3节点将实时采集到的数据在发送给节点2,并在节点2的LCD上显示。
3.1 初始化CAN控制器
C8051F550上电复位后,控制寄存器CANOCN的INIT位和CCE位置‘1’。允许寄存器初始化并写入设置信息。需要写入的寄存器主要包括位定时寄存器和扩展寄存器,命令掩码寄存器。主要完成时序参数的配置和消息对象的初始化。本设计中,使用晶振频率为11.05MHz,位定时设置为996.65~1000ns。初始化程序如下:
评论