发明名称 一种基于DSP28335的CANopen主站实现方法
摘要 本发明公开一种基于DSP28335的CANopen主站实现方法,包括,CanOpen协议从栈系统,状态机模块、CAN通信管理模块、对象字典管理模块、网络管理模块、计时器管理模块、通信对象管理模块。有益效果是,采用DSP28335平台经过简单配置即可布置成功能完善的CANopen主站的方法,在DSP28335平台上实现了具有针对性优化的CANopen从节点功能可以经过简单修改移植到同系列CPU下;标准C语言编写具有良好的可移植性;代码可裁减、对系统资源占用少、实时性高。C语言编写与其它用户程序契合度高可实现程序间的无缝链接与嵌入;可应用性强,开发成本少,维护与功能扩展方便,利于产品的小型化。
申请公布号 CN103997450A 申请公布日期 2014.08.20
申请号 CN201410233898.7 申请日期 2014.05.28
申请人 天津瑞能电气有限公司 发明人 谷兴华;问虎龙;陈海彬
分类号 H04L12/40(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L12/40(2006.01)I
代理机构 天津才智专利商标代理有限公司 12108 代理人 杨宝兰
主权项 一种基于DSP28335的CANopen主站实现方法,其特征在于,包括以下步骤;步骤一、基于DSP28335的片内自带CAN2.0模块作为底层的物理层与数据链路层,用C语言编写开发的状态机模块、CAN通信管理模块、对象字典管理模块、网络管理模块、计时器管理模块和通信对象管理模块的CanOpen协议从栈系统;步骤二、状态机模块用来提供整体从节点CANopen模块运行状态的控制功能;主要负责节点启动后的工作状态转换,为其它模块的工作状态提供限定条件;步骤三、CAN通信管理模块主要用来初始化底层CAN2.0硬件模块,为高层功能提供发送、接收数据及硬件状态管理的通信接口,对底层硬件数据及通信状态进行管理;步骤四、对象字典管理模块主要用来为高层协议提供物理层与数据链路层的功能;初始化底层CAN2.0硬件模块,为高层功能提供发送、接收数据及硬件状态管理的通信接口,对底层硬件数据及通信状态进行管理;步骤五、网络管理模块主要用来提供NMT message的产生与处理功能;主要包括NMT 模块控制、MNT 节点保护、NMT Boot‑up;NMT 模块控制功能主要为从网络获得NMT命令,为状态机模块提供切换中断源与切换命令;并且在系统需要的情况下提供波特率自动分配功能(LSS);步骤六、计时器管理模块计时器管理模块主要为CANopen模块提供微秒级别精度的周期性中断与时基;主要负责系统计时器的初始化及管理;CANopen节点的定时中断控制,为每个服务功能提供微秒精度的定时中断服务源;为其它模块提供时基查询功能;步骤七、通信对象管理模块的CanOpen协议从栈系统,通信对象管理模块主要实现PDO、SDO、Emergency Object三个主要通信对象处理与产生,实现CIA协议中301协议功能,并可选择性加载401、402等通信子协议功能,CANopen协议的对象字典是通过OD生成工具进行生成,有良好的通用性和灵活性,所实现的对象字典具有良好的扩展能力,主站可动态的通过SDO改变字典中所有R/W数据。
地址 300385 天津市西青区西青经济开发区兴华七支路1号