FPGA实现CAN接口(SJA1000)

FPGA实现CAN接口(SJA1000)学无止境,善于积累,每天积累一点点,成功就在眼前,加油!1CAN总线简介CAN(ControllerAreaNetwork,控制器局域网)总线是一个多主机异步串行总线,也是国际上应用最广泛的现场总线之一。在现场总线中,它是惟一被ISO国际标准化组织批准的现场总线。由于其成本低、容错能力强、支持分布式控制、通信速率高等优点在汽车、工业控制、航天等领域得到广泛应用。特别是由于CAN总线具有…

大家好,又见面了,我是你们的朋友全栈君。

学无止境,善于积累,每天积累一点点,成功就在眼前,加油!
1 CAN总线简介
CAN(Controller Area Network,控制器局域网 )总线是一个多主机异步串行总线,也是国际上应用最广泛的现场总线之一。在现场总线中,它是惟一被ISO国际标准化组织批准的现场总线。由于其成本低、容错能力强、支持分布式控制、通信速率高等优点在汽车、工业控制、航天等领域得到广泛应用。特别是由于CAN总线具有抗干扰性强、高数据传输率及低成本等优点,在小卫星和微小卫星中得到了越来越广泛的应用。
2 CAN硬件设计
传统的CAN通信系统通常采用MCU + SJA1000 + CAN总线收发器的架构,但是单片机速度较低、资源较少,当受到强电磁干扰便很容易出现程序跑飞。本文基FPGA + SJA1000 + CAN总线收发器的CAN总线通讯如图1所示。与传统方案相比,其优点在于可扩展性好,稳定性高,减轻了重量、体积和功耗。注意:对于FPGA而言,接口电平不支持5V I/O标准,如果与5V I/O标准的器件直接相连,将可能导致FPGA管脚流过极大电流,造成器件锁死或者烧毁。电平转换器就是为了防止FPGA损坏。
(图略,请下载原文查看)
图1 CAN硬件框图
3 CAN逻辑设计
FPGA对CAN总线通讯模块的控制主要包括3部分:CAN总线节点初始化、报文发送和报文接收。
1)CAN读写时序图
略,查看原文件。
2)CAN工作模式选择
SJA1000控制器支持两种模式,分别是Intel和Motorola模式。
3)CAN总线节点初始化
CAN初始化属于CAN程序设计的难点,按照手册正确的配置相关寄存器的值很关键。如果初始化失败,设备不能识别波特率

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148289.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月29日 上午10:00
下一篇 2022年6月29日 上午10:00


相关推荐

  • ym——Android从零开始(9)(ContentProvider内容提供者)(新)

    ym——Android从零开始(9)(ContentProvider内容提供者)(新)ContentProvider内容提供者ContentProvider 进程间通讯,进程间数据的访问/对外共享数据用优点:提供了统一的访问方式原理分析图实现抽象类ContentProvider  安卓应用实现抽象类ContentProvider,并实现对本地数据库增删查改的四个方法,且在清单文件注册该ContentProvid

    2022年6月22日
    32
  • 清华大学团队:人脸识别爆出巨大丑闻,15分钟解锁19款手机

    清华大学团队:人脸识别爆出巨大丑闻,15分钟解锁19款手机1清华大学的RealAI团队15分钟解锁19款手机刚刚,清华大学的一条重大发现,利用人脸识别技术的漏洞,“15分钟解锁19个陌生智能国产手机”的事件,引发无数网友关注。据悉,清华大学的RealAI团队共选取了20款手机,其中1款是国外的,另外19款都是我们国产的智能手机,居来自排名前五的国产手机品牌,每一品牌下选取了3-4款不同价位的手机型号,覆盖低端机到旗舰机。1)测试步骤如下:第一步,清华大学的测试人员,把19部国产手机,人脸识别全部绑定为旁边的“1号同学”;

    2022年6月5日
    142
  • 【PMP】项目浮动的三种时间「建议收藏」

    【PMP】项目浮动的三种时间「建议收藏」自由浮动时间不影响后续工作最早可以开始时间的前提下,这项工作可以拖延的时间叫做自由浮动时间。总浮动时间不影响项目总工期的情况下活动可以拖延的总时间。项目浮动时间在已经排好的总工期的基础上,领导或者甲方

    2022年8月1日
    9
  • java.io.outputstream_java input

    java.io.outputstream_java inputio流概述:IO流用来处理设备之间的数据传输,上传文件和下载文件,Java对数据的操作是通过流的方式,Java用于操作流的对象都在IO包中。IO流分类按照数据流向输入流读入数据输出流写出数据按照数据类型字节流字符流什么情况下使用哪种流呢?如果数据所在的文件通过windows自带的记事本打开并能读懂里面的内容,就用字符流,其他用字节流。如果你什么都…

    2026年2月12日
    10
  • cad2016新手入门教程_cad制图初学入门教程

    cad2016新手入门教程_cad制图初学入门教程关注公众号,免费获取资料​​适用人群没有基础却想要学习CAD的学员课程概述课程目标:快速学习CAD绘图设计课程特色:完全脱离理论与书,纯实例教学章节1:开篇课时1重要的开篇01:02章节2:AutoCAD软件介绍课时2软件介绍06:12章节3:AutoCAD界面布局课时3界面布局介绍06:22章节4:AutoCAD操作步骤课时…

    2022年8月29日
    6
  • 豆包大模型如何切换其他大模型详细教程

    豆包大模型如何切换其他大模型详细教程

    2026年3月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号