canopen_现场总线应用层协议主站的开发与实现

上传人:n**** 文档编号:88889598 上传时间:2019-05-12 格式:PDF 页数:95 大小:1.34MB
返回 下载 相关 举报
canopen_现场总线应用层协议主站的开发与实现_第1页
第1页 / 共95页
canopen_现场总线应用层协议主站的开发与实现_第2页
第2页 / 共95页
canopen_现场总线应用层协议主站的开发与实现_第3页
第3页 / 共95页
canopen_现场总线应用层协议主站的开发与实现_第4页
第4页 / 共95页
canopen_现场总线应用层协议主站的开发与实现_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《canopen_现场总线应用层协议主站的开发与实现》由会员分享,可在线阅读,更多相关《canopen_现场总线应用层协议主站的开发与实现(95页珍藏版)》请在金锄头文库上搜索。

1、 工学硕士学位论文 CANopen 现场总线应用层协议 主站的开发与实现 宋 威 北京工业大学 2008 年 5 月 分类号: TP336 单位代码: 10005 学 号: S200502115 密 级: 公开 北京工业大学硕士学位论文北京工业大学硕士学位论文 题题 目目 CANOPEN 现场总线应用层协议主站的开发与实现现场总线应用层协议主站的开发与实现 英文并列英文并列 题目题目 THE DESIGN AND IMPLEMENTATION OF A MASTER OF THE APPLICATION LAYER FOR CANOPEN 研究生姓名: 宋 威 专 业: 检测技术与自动化装置研

2、究方向:现场总线技术与嵌入式系统应用 导 师 姓 名 : 方穗明 职 称: 副教授 论文报告提交日期 2008 年 5 月 学位授予日期 授予单位名称和地址 北京工业大学 北京市朝阳区平乐园 100 号 独 创 性 声 明 独 创 性 声 明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其它 人已经发表或撰写过的研究成果, 也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名: 日期: 关于论文使用授

3、权的说明 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其它复制手段保存论文。 (保密的论文在解密后应遵守此规定) 签名: 导师签名: 日期: 摘 要 - I - 摘 要 汽车内部电子控制器件的不断增加使网络化的汽车整体控制成为当前汽车 电子产业的主要发展方向之一。CAN(Controller Area Network)总线由于其低 成本、高可靠性、高抗干扰能力和高实时性等特点,成为汽车内部控制网络的 主要载体。作为 CAN 总线的应用层协议之一,C

4、ANopen 具有高度的灵活性和 可配置性,成为电动汽车和混合动力汽车控制网络的首选协议。 根据汽车系统的高实时性要求、 多样的控制环境和 CANopen 协议本身的特 点,建立 CANopen 网络的首要任务是建立一个实时运行、并行处理、灵活配置 和可移植的 CANopen 主站。 为了实现上述目标, 本文提出了基于散列表的对象 字典设计和基于标准 C 语言非抢占式任务调度机的 CANopen 主站协议栈设计。 基于散列表的对象字典有效地克服了传统数组型对象字典可配置性差的问 题。同时通过对散列表的溢出表实施实时排序,大大加快了对象字典的读取速 度。 基于标准 C 语言的非抢占式任务调度机为

5、 CANopen 事件的并行处理提供 了良好的平台, 并天生具有良好的可移植性。 在此之上建立的 CANopen 主站协 议栈具有良好的实时性、高度的功能独立性和可移植性。 经过实际网络测试, 该 CANopen 主站设计实现了最高 5kHz 的数据更新率, 协议的完整度大大超过了开源协议栈。严格的代码结构也保证了较高的移植能 力。 关键词 控制器局域网;CANopen 应用层协议;实时系统;调度算法;可移植 北京工业大学工学硕士学位论文 - II - ABSTRACT The trend to replace the mechanical parts in vehicle by microc

6、ontrollers makes the networklized systematic controlling an important research field in current vehicle research domain. As one of the main network platforms, CAN (Controller Area Network) bus is cheap, highly reliable, nosie-tolerant and real-time. Among the existed high level protocols based on CA

7、N, the CANopen application layer protocol possesses excellent flexibility and configuration capability. Thus it is the first choice of nowadays control networks in electric vehicles and hybrid vehicles. Since the internal network of vehicle is extremely a real-time and comprehensive control system,

8、and CANopen protocol works in a extremely flexible way, the most important task to build a CANopen network is to design a real-time, parallel working, flexibaly configurable and transplantable CANopen master. To implement this master, an object dictionary architecture based on hash algorithm and a C

9、ANopen master protocol stack design based on a non-preemptive task scheduler are proposed. In the architecture of object dictionary, the hash algorithm provides dynamic configuration capability, while traditional array based algorithms are impossible for run time configuration. By keeping overflow t

10、able in order, reading speed of the hash table is not obviously slower than that of array based methods. Non-preemptive task scheduler provides a perfact platform to parallelly process multiple CANopen events, and it is inborn transplantable because the only requirement is the standard C library. Th

11、erefore, the CANopen master stack built on this possesses excellent real-timing, code independency and transplanting performance. Proved by practical network, the CANopen master works at a maximal 5kHz data updating rate, provides more protocol compatibility. The rigidly partitioned source code also

12、 guarantees the easy transplanting to other platforms. Keywords controller area network; CANopen application layer protocol; real-time system; scheduling algorithm; transplantable capability 目 录 - III - 目 录 摘 要 I ABSTRACT.II 第一章 绪 论1 1.1 课题的研究背景.1 1.1.1 现场总线与汽车电子.1 1.1.2 CAN 总线与 CANopen 应用层协议2 1.2 课

13、题的任务、难点及意义.4 1.3 论文结构.5 第二章 CAN 总线及 CANopen 应用层协议7 2.1 简介.7 2.2 CAN 现场总线协议.7 2.3 CANopen 应用层协议.10 2.4 CANopen 主站.13 2.5 本章小结.14 第三章 对象字典的设计和分析15 3.1 简介.15 3.2 对象字典的特点.15 3.3 基于散列表的实现方法.16 3.3.1 传统的实现方法.16 3.3.2 基于散列表的方法.17 3.3.3 性能分析及速度优化.25 3.4 本章小结.29 第四章 任务调度机的设计与分析30 4.1 简介.30 4.2 任务调度方法的提出.30 4

14、.2.1 任务调度的必要性.30 4.2.2 调度算法的选择.33 4.3 任务调度机的实现.34 4.3.1 任务的抽象.34 4.3.2 调度算法.36 4.4 性能分析.41 4.5 本章小结.43 北京工业大学工学硕士学位论文 - IV - 第五章 基于调度机的 CANopen 主站协议栈设计 .44 5.1 简介.44 5.2 协议栈的整体结构.44 5.3 驱动与报文队列.45 5.4 同步报文的生成.47 5.5 紧急报文处理.49 5.6 PDO 报文处理.50 5.6.1 PDO 报文的接收.50 5.6.2 同步 PDO 报文的发送.50 5.6.3 异步 PDO 报文的发

15、送.51 5.7 SDO 报文处理.52 5.8 节点状态的维护.53 5.8.1 心跳报文机制.53 5.8.2 节点保护机制.53 5.9 网络启动过程.54 5.9.1 CANopen 主站的启动 55 5.9.2 通讯配置.55 5.9.3 从节点启动过程.56 5.10 本章小结.58 第六章 CANopen 主站的实现及测试 59 6.1 简介.59 6.2 主站测试平台.59 6.2.1 基于 WindowsXP 的 CANopen 主站设计59 6.2.2 线程间的数据通讯.60 6.3 测试数据分析.63 6.3.1 实时性.63 6.3.2 WindowsXP 平台上 CA

16、Nopen 主站的速度64 6.3.3 WindowsXP 平台上 CANopen 主站的内存占用65 6.3.4 节点启动检查.66 6.3.5 协议支持的完整性.68 6.4 关于可移植性的考虑.69 6.5 本章小结.71 结 论72 参考文献73 附 录77 CATALOG - V - 附录 1 初始对象字典.77 附录 2 新建从节点所需要的对象字典项.78 附录 3 对象字典散列算法搜索时间计算函数.79 附录 4 动态内存分配的简单实现.80 攻读硕士学位期间所发表的学术论文83 致 谢85 第一章 绪 论 - 1 - 第一章 绪 论 1.1 课题的研究背景 1.1.1 现场总线与汽车电子 上个世纪 70 年代,借助于数字计算机的发展,产生了基于集中控制的计算 机控制系统。 不过, 集中控制系统需要收集所有设备的状态信息并分发控制信息, 存在通讯延时较大、控制系统

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号