推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于ARM的CAN总线与J1939协议应用与研究

更新时间:2020-03-20 23:44:35 大小:7M 上传用户:gsy幸运查看TA发布的资源 标签:armcan总线j1939协议 下载积分:3分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

控制器局域网(CAN)总线己经成为全球范围内最重要的总线之一。根据国际标准化组织(ISO)定义的OSI模型,CAN协议定义了物理层与数据链路层规范。如果需要建立完善的通信系统,还需要在CAN的基础上选择合适的应用层协议。目前,J1939是卡车和客车中应用最广泛的高层协议,但其商业协议栈的价格十分昂贵,不利于J1939规范的推广。为了研究J1939协议通信网络的软硬件实现,本文基于高性能32位ARM9微处理器S3C2410设计J1939协议通信系统,主要成果如下:

  (1)以S3C2410为ARM微处理器、以嵌入式Linux为操作系统,搭建了Linux-ARM开发平台。阐述了适合本课题需求的U-boot、嵌入式Linux内核和根文件系统详细制作过程;描述了平台搭建过程中实现应用程序自启动的方法:首先在嵌入式Linux内核制作过程中,将CAN总线驱动程序静态编译到内核,然后在根文件系统制作中加入J1939协议栈和用户应用程序文件,最后修改系统初始化函数;

  (2)在深入分析CAN2.0B协议的基础上,使用USB虚拟示波器捕获Polo车CAN总线试验台的CAN数据帧,分析得出Polo车CAN总线的帧结构;

  (3)编写了基于单片机的CAN总线驱动程序,详细描述了驱动程序具体实现的过程。其中包括CAN总线通信波特率设置的具体实现、以图文和程序的方式描述驱动程序如何操作CAN控制器MCP2510的寄存器、实现驱动程序对CAN扩展帧的支持等;

  (4)在基于嵌入式Linux操作系统的CAN总线驱动程序编写中,添加了对100kbps波特率的支持和对CAN扩展帧的支持。描述了嵌入式Linux操作系统下驱动程序的具体调用过程和实现方法;

  (5)为稳步实现J1939通信网络,本文由简单到复杂,先实现了一个波特率为100kbps、自定义应用层协议、由ARM开发板、Polo车CAN总线试验台和监测节点组成的简单CAN总线通信网络。验证了该网络通信功能的正确性;

  (6)深入研究了J1939协议内容,编写了具有基本功能的J1939协议栈。该协议栈主要包括的内容有J1939协议数据链路层的实现和网络管理层的实现,能实现的功能有地址声明消息、请求地址声明消息、地址冲突处理...

部分文件列表

文件名 大小
基于ARM的CAN总线与J1939协议应用与研究.pdf 7M

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载