基于AT90CAN128的开关量控制单元设计
时间:11-03
来源:互联网
点击:
3.3 软件设计
CAN总线节点要有效、实时地完成通信任务,软件的设计是关键。CAN总线节点的软件设计主要包括CAN控制器的初始化、数据接收和数据发送程序。主程序通过调用函数来实现数据的接收和发送。
3.3.1 CAN初始化
为了正确地实现通信,这一部分要对波特率,标识码寄存器CANIDT、标识码屏蔽寄存器CANIDM,发送与接收Mob的页号,数据长度、中断开启、Mob使能等内容作出设置。本设计采用CAN2.0A协议,即标识符为11位。将标识码寄存器CANIDT1设置为开关量控制单元的地址Addr,其余的标识码寄存器设置为0。该地址只使用一个8位寄存器,因此标识码屏蔽寄存器只需设置CANIDM1为0xFF,其余的标识码屏蔽寄存器设置为0。
由4个标识码寄存器CANIDT、标识码屏蔽寄存器CANIDM组成验收滤波器,信息只有通过它的验收滤波才能被接收。所有验收屏蔽寄存器为0的位,验收码寄存器和CAN信息帧对应位必须相同才能验收通过;而所有验收屏蔽寄存器为1的位,验收码寄存器对应位的验收滤波功能则被屏蔽。本例中只接收ID为Addr的信息。
3.3.2 发送子程序
发送时只需将待发送的数据按特定格式送入发送缓存区中,然后启动发送即可。
3.3.3 接收子程序
消息的接收采用中断方式实现。首先要关闭接收中断,然后设置CANPAGE寄存器来指定接收的页数,随后由CANCDMob寄存器来控制接收动作。当有消息到达时,将触发CANSTMob寄存器中的RXOK中断,消息中的数据将被装载到CANMSG寄存器中。
结 语
本文详细介绍了以AT90CAN128微控制器为核心的开关量控制单元的主要软硬件设计。与目前同类型的单片机相比较,AT90CAN128由于内置CAN控制器,因而可大大降低设备成本,简化硬件结构,提高通信效率、安全性以及可靠性。实践证明,开关量控制单元在计算机联锁系统中运行稳定,能够很好地实现预期的功能。
CAN总线节点要有效、实时地完成通信任务,软件的设计是关键。CAN总线节点的软件设计主要包括CAN控制器的初始化、数据接收和数据发送程序。主程序通过调用函数来实现数据的接收和发送。
3.3.1 CAN初始化
为了正确地实现通信,这一部分要对波特率,标识码寄存器CANIDT、标识码屏蔽寄存器CANIDM,发送与接收Mob的页号,数据长度、中断开启、Mob使能等内容作出设置。本设计采用CAN2.0A协议,即标识符为11位。将标识码寄存器CANIDT1设置为开关量控制单元的地址Addr,其余的标识码寄存器设置为0。该地址只使用一个8位寄存器,因此标识码屏蔽寄存器只需设置CANIDM1为0xFF,其余的标识码屏蔽寄存器设置为0。
由4个标识码寄存器CANIDT、标识码屏蔽寄存器CANIDM组成验收滤波器,信息只有通过它的验收滤波才能被接收。所有验收屏蔽寄存器为0的位,验收码寄存器和CAN信息帧对应位必须相同才能验收通过;而所有验收屏蔽寄存器为1的位,验收码寄存器对应位的验收滤波功能则被屏蔽。本例中只接收ID为Addr的信息。
3.3.2 发送子程序
发送时只需将待发送的数据按特定格式送入发送缓存区中,然后启动发送即可。
3.3.3 接收子程序
消息的接收采用中断方式实现。首先要关闭接收中断,然后设置CANPAGE寄存器来指定接收的页数,随后由CANCDMob寄存器来控制接收动作。当有消息到达时,将触发CANSTMob寄存器中的RXOK中断,消息中的数据将被装载到CANMSG寄存器中。
结 语
本文详细介绍了以AT90CAN128微控制器为核心的开关量控制单元的主要软硬件设计。与目前同类型的单片机相比较,AT90CAN128由于内置CAN控制器,因而可大大降低设备成本,简化硬件结构,提高通信效率、安全性以及可靠性。实践证明,开关量控制单元在计算机联锁系统中运行稳定,能够很好地实现预期的功能。
总线 AVR 单片机 Atmel 电路 CAN总线 MIPS ADC 振荡器 看门狗 仿真 电子 电流 继电器 收发器 电压 IDT 滤波器 相关文章:
- 基于MSP430系列单片机的CAN总线接口转换卡设计(01-17)
- 各种通讯总线介绍(01-18)
- I2C总线原理及应用实例 (01-18)
- I2C总线在多机通信中的应用(01-17)
- 基于SPI总线的电能计量芯片ATT7022及其在配电监测终端的应用(01-18)
- CAN总线—PROFIBUS-DP总线网关的实现方法(01-17)