CANOPEN主站开发研究:基于散列表和非抢占式任务调度

5星 · 超过95%的资源 需积分: 21 26 下载量 195 浏览量 更新于2024-07-31 收藏 3.65MB PDF 举报
"宋威的北京工业大学硕士学位论文,主题为'CANOPEN现场总线应用层协议主站的开发与实现',重点探讨了CANOPEN在汽车电子产业中的应用,特别是针对电动汽车和混合动力汽车控制网络。论文提出了一种基于散列表的对象字典设计和非抢占式任务调度机的CANOPEN主站协议栈设计方法,提高了数据处理速度和协议栈的实时性、可移植性。" 这篇硕士论文深入研究了CAN(Controller Area Network)总线在汽车电子领域的应用,特别是在CANOPEN协议的背景下。CAN总线因其低成本、高可靠性和实时性能而被广泛用于汽车内部控制网络。CANOPEN作为CAN总线的一种应用层协议,因其灵活性和可配置性而成为汽车电子系统,尤其是电动汽车和混合动力汽车的理想选择。 论文的焦点在于开发一个满足高实时性、多环境控制需求的CANOPEN主站。作者宋威提出了两个关键创新点: 1. **基于散列表的对象字典设计**:传统数组型对象字典在可配置性上存在局限,而散列表通过动态存储和快速查找功能,解决了这一问题。通过实时排序散列表的溢出表,进一步提升了对象字典的读取效率,这对于快速响应的汽车控制系统至关重要。 2. **基于标准C语言的非抢占式任务调度机**:这种设计为CANOPEN事件的并行处理提供了高效平台,确保了协议栈的实时性能。非抢占式调度机制保证了任务的连续执行,避免了中断导致的延迟,同时由于使用标准C语言编写,具备良好的跨平台移植性。 在实际网络测试中,该CANOPEN主站设计达到了5kHz的数据更新率,远超开源协议栈的表现。严格的代码组织结构进一步增强了其移植能力。 关键词涵盖了控制器局域网、CANOPEN应用层协议、实时系统、调度算法和可移植性,强调了研究的焦点和技术难点。论文的贡献不仅在于理论分析,还在于提出并验证了实际可行的解决方案,对CANOPEN协议主站的开发提供了重要的指导价值。