0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CAN通信软件设计

h1654155971.8456 来源:YXQ 2019-08-12 18:01 次阅读

网关的软件设计采用嵌入式操作系统μC/OS-Ⅱ,它具有较小的内核结构,开发成本小,执行效率高,移植也容易。初始化文件通过JTAG下载到网关并保存在FLASH中。

该设计的关键是编写CAN驱动程序,主程序通过调用CAN驱动程序实现接口数据的收发,驱动程序包括CAN控制器的初始化、接收数据、发送数据和总线异常处理。

CAN控制器的初始化

初始化操作包括硬件使能CAN、软件复位、设备报警界限、设置总线波特率、设置中断工作方式、设置CAN验收过滤器工作方式、设置控制器的工作模式和启动CAN等。

LPC2294片内外设与引脚的连接由引脚连接模块控制。CAN控制器的硬件使能就是通过软件设备GPIO寄存器来控制多路开关,将特定的引脚与CAN控制器连接起来。

数据的接收与发送

LPC2294的每个CAN控制器中有3个发送缓冲区,发送数据时先查询CANSR寄存器是否空闲,若空闲才能写入数据,然后判断报文的类型,根据报文类型调用相应的发送函数,即对数据进行封装并写入发送缓冲区,最后调用发送命令。

为了提高效率,接收数据采用中断方式,首先在CANopen的初始化程序中要使能接收中断,当有中断发生,读取CANICR寄存器,判断接收中断标志是否置位。

异常处理

在总线发生严重故障的情况下,CAN节点脱离总线,此时下述寄存器位被置位为CANSR的BS位、CANIR的BEI位和EI位(如果使能)和CAN-MOD的RM位。

RM将许多CAN控制器功能复位和禁止。软件下一步必须置零RM位。发送错误计数器将递减计数总线释放条件(11个连续的隐性位)的第128个错误。

以太网通信软件设计

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2725

    浏览量

    463465
  • 通信软件
    +关注

    关注

    0

    文章

    12

    浏览量

    6994

原文标题:西安站 | EDA365·电子硬件技术研讨会精彩回顾

文章出处:【微信号:eda365wx,微信公众号:EDA365电子论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CAN原理和通信软件推荐

    看过一些资料还是不太理解这个CAN通信CAN通信的原理是什么?尤其是CAN的分类和数据结构,CAN
    发表于 03-23 22:49

    基于Labview的多路TCP通信GUI软件设计

    我的毕设题目是基于Labview的多路TCP通信GUI软件设计 不太懂啊 平时没好好学 现在着急了
    发表于 03-20 15:59

    软件设计师全书

    软件设计师全书有软件设计师教程,软件设计师考试辅导,考点精讲,例题分析,强化训练,软件设计课程课件等内容。
    发表于 10-29 17:45 0次下载
    <b class='flag-5'>软件设计</b>师全书

    基于CAN总线的多ECU通信平台设计

    介绍CAN 总线及其通信协议J1939, 并设计基于CAN 总线的多ECU 通信平台的硬件结构; 阐述节点ECU 通信
    发表于 04-15 09:49 22次下载

    基于CAN 总线的多ECU 通信平台设计

    介绍CAN 总线及其通信协议J1939, 并设计基于CAN 总线的多ECU 通信平台的硬件结构; 阐述节点ECU 通信
    发表于 05-16 14:19 28次下载

    基于CAN总线的多ECU通信平台设计

    摘要:介绍CAN总线及其通信协议J1939,并设计基于CAN总线的多ECN通信平台的硬件结构;阐述节点ECN通信
    发表于 03-11 13:21 1769次阅读
    基于<b class='flag-5'>CAN</b>总线的多ECU<b class='flag-5'>通信</b>平台设计

    FPGA实现CAN总线通信节点设计

    基于对CAN 总线控制器的功能分析, 并应用Verilog语言进行软件设计, 从而实现CAN节点之间的通信功能。
    发表于 04-28 09:56 1.5w次阅读
    FPGA实现<b class='flag-5'>CAN</b>总线<b class='flag-5'>通信</b>节点设计

    CAN总线通讯软件的设计及在航空领域的应用研究

    本文在分析CAN总线航天应用的基础上,从硬件原理设计、CPU与CAN总线接口实现以及CAN总线通信软件设计等方面进行了论述。
    的头像 发表于 11-19 07:45 3277次阅读

    MVB-CAN通信网关的硬件设计框图、软件设计和系统性能测试详细介绍

    基于对MVB和CAN通信协议的深入分析,从而实现一种MVB—CAN的网关设 计,有效地完成了两种协议之间的数据通信。本文着重讨论了MVB-CAN
    发表于 10-11 08:00 43次下载
    MVB-<b class='flag-5'>CAN</b><b class='flag-5'>通信</b>网关的硬件设计框图、<b class='flag-5'>软件设计</b>和系统性能测试详细介绍

    基于CAN总线接口卡的软件设计

    硬件部分主要包括主控制器、CAN总线控制器、CAN总线收发器以及与计算机的RS 232通信接口芯片等。系统的总体结构如图1所示。主控制器通过CAN总线接口接收和缓存数据。根据PC机的命
    发表于 03-26 13:56 1618次阅读

    CAN总线的原理、通信接口设计及在航天卫星中的应用研究

    本文在分析can总线航天应用的基础上,从硬件原理设计、cpu与can总线接口实现以及can总线通信软件设计等方面进行了论述。
    发表于 04-02 09:53 3468次阅读
    <b class='flag-5'>CAN</b>总线的原理、<b class='flag-5'>通信</b>接口设计及在航天卫星中的应用研究

    UART通信CAN通信配置软件

    本文档的主要内容详细介绍的是UART通信CAN通信配置软件
    发表于 03-01 08:00 37次下载
    UART<b class='flag-5'>通信</b>转<b class='flag-5'>CAN</b><b class='flag-5'>通信</b>配置<b class='flag-5'>软件</b>

    基于FPGA的CAN总线通信节点设计

    节点的硬件接口电路。基于对CAN 总线控制器的功能分析, 并应用Verilog语言进行软件设计, 从而实现CAN节点之间的通信功能。 0 引言 CA
    的头像 发表于 06-18 11:15 2889次阅读

    基于VB的CAN总线测试软件设计

    电子发烧友网站提供《基于VB的CAN总线测试软件设计.pdf》资料免费下载
    发表于 10-13 11:39 0次下载
    基于VB的<b class='flag-5'>CAN</b>总线测试<b class='flag-5'>软件设计</b>

    基于VB6.0的串行通信工控软件设计及实例

    电子发烧友网站提供《基于VB6.0的串行通信工控软件设计及实例.pdf》资料免费下载
    发表于 10-31 09:33 1次下载
    基于VB6.0的串行<b class='flag-5'>通信</b>工控<b class='flag-5'>软件设计</b>及实例