摘要:CANopen是一种基于CAN总线的应用层协议,采用了面向对象的设计思想,具有很好的模块化特性和很高的适应性.本文为了在原有的移动机器人基础上扩展嗅觉导航功能,设计了一种基于CANopen协议的传感器数据采集模块,该模块可以作为CANopen从站与机器人主站通信,满足机器人控制系统扩展的可靠性与灵活性.本设计采用飞思卡尔单片机MC9S12XS128作为主控芯片,通过AD口采集气体传感器数据,在单片机上移植CANopen开源协议栈,给出了CanFestival在单片机上的实现.经过测试,模块能够与机器人通过CAN总线正确通信,完成数据采集功能.