论文部分内容阅读
CAN总线体系结构只包括物理层和数据链路层,在实际应用中需要制定相应的应用层,CANopen协议就是CAN应用层协议标准之一,其诞生于欧洲,广泛应用在汽车电子、医疗设备和航空航天等众多领域。因为CANopen协议在国内刚刚起步,且应用难度比较大,很多企业和科研机构在应用CAN总线的时候,针对具体应用自定义应用层协议,这样重复低水平劳动,造成大量人力物力的浪费。有鉴于此,本课题基于CANopen协议,设计了CANopen应用抽象层,并在此基础上实现了一整套软硬件解决方案,主要包括CANopen通讯板、应用抽象层以及组态软件,旨在降低CANopen协议的应用难度,促进CANopen协议在国内的发展。本文主要介绍该抽象层和软硬件解决方案的设计与实现,论文完成的主要工作包括:
首先介绍了CAN总线的传统应用模型以及基于CANopen的CAN总线应用模型,然后提出基于CANopen应用抽象层的CAN总线应用模型。由于CANopen应用抽象层运行在CANopen协议之上,本文详细分析了CANopen协议的体系结构,包括对象字典,通讯对象、状态机以及预定义连接集。然后描述了CANopen通讯板的各个组成部分,主要包括核心模块、按钮、LED以及CAN控制器MCP2510;并在此基础上移植了eCos操作系统,设计了MCP2510驱动,然后分别在eCos操作系统和Windows操作系统上移植了CANopen协议栈的开源实现——CanFestival。
论文最后基于通用IO模块和智能电池模块,提炼出CANopen的应用共性,设计了CANopen应用抽象层和组态软件的体系结构。其中应用抽象层主要包括:对象字典生成函数库、从节点框架函数库、动态配置函数库以及网络参数配置函数库。在组态软件中,为了达到通用的目的,引入了Python脚本,除此之外,组态软件主要包括功能器件库、对象字典生成向导、所见即所得编辑软件以及网络监控软件。通过对功能节点构建、监控节点构建以及实时监控的测试,验证了CANopen应用抽象层和组态软件的可行性和实用性,达到了预期的目的。