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

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

3天内不再提示

CAN总线特点及FPGA的实现

OpenFPGA 来源:OpenFPGA 作者:碎碎思 2021-11-18 16:35 次阅读

科普CAN总线介绍及FPGA实现方案简介

这里我们先逆推一下CAN总线的一些特点。

第一,CAN总线分层结构

我们根据can总线具有的一些特性可知:CAN总线肯定具有分层结构,而且参考OSI模型(OSI参考模型介绍)是肯定的,我们可以看一下相关的文档可知:CAN遵从OSI模型。

上面这一点大部分人都是熟知的。

第二、CAN总线分为哪几层

根据《FPGA和USB3.0通信-USB3.0协议介绍》中总线、协议、接口关系可知:

98dae496-4416-11ec-b939-dac502259ad0.png

CAN总线内容整体比较简单(相对),肯定没有USB、PCIe协议这种复杂,也就是说CAN总线的分层结构不会超过三层;但是相对UART这种又复杂些,分层结构肯定大于一层。

我们大致判断CAN总线差不多是两层左右的分层结构,由于是总线,所以会规定物理层和数据链路层。从官方协议中可知:CAN结构划分为两层:数据链路层和物理层。

为什么要介绍分层结构

经常看我文章的应该知道,不管哪种协议我都会首先介绍这种结构的分层结构,那么很多人都会疑问:装什么B,好好介绍协议不行吗?

从各种协议的官方而言,他们遵循OSI参考模型是为了方便自己协议的维护和扩展,不然他们也不会傻到遵循一个参考模型(又不是强制规定)。对我们而言,这种分层结构更容易理解,不管简单协议还是复杂协议我们都可以根据前一个理解的协议去理解下一个协议(每一层的功能类似),不会让我们初识一种接口或者协议就要抱着协议或者SPEC啃几个月才能理解。

最后就是当你要用这种总线或者接口时方便制作方案,比如现在我要用FPGA实现CAN通信,我们需要根据FPGA的特点选择各种方案,各种方案的区别就是其他厂商在制作IC时制作了哪一层的芯片,下图中就是我们实现CAN通信的整体方案:

99d20550-4416-11ec-b939-dac502259ad0.png

CAN总线拓扑图 改编自官方总线协议

这张拓扑图其实是参考CAN总线的分层结构,主要分为数据链路层和物理层,这种方案主要是分局目前市场上存在的CAN相关IC(IC的设计肯定是根据CAN总线的SPEC,存在的原因也是基于此)。

FPGA实现方案简介

99d20550-4416-11ec-b939-dac502259ad0.png

还是这张拓扑图,因为CAN总线的物理层包含vwin 电路部分,所以CAN收发器一般使用外挂;而CAN控制器是可以利用数字电路实现,所以我们在设计方案时可以根据上述特点实现我们的方案。

第一种:FPGA+CAN收发器

控制器使用数字电路实现即可。

第二种:FPGA+CAN控制器+CAN收发器(收发+控制可以放在一起芯片内)

这种方案最简单。常见的芯片方案MicrochipMCP25625(SPI转CAN)

http://www.digilent.com.cn/products/product-pmodcan.html

上面就是Digilent出品的PMOD CAN模块,原理图可以参考。

9a63c3c8-4416-11ec-b939-dac502259ad0.png

CAN总线协议

关于协议这里就不过多介绍了,分享官方文档的中文翻译。

链接//caiyun.139.com/m/i?1B5C4Ohvz4ICv提取码:xHzV复制内容打开和彩云PC客户端,操作更方便哦

上面的内容就是今天的内容,关于后期的实现会在后面的文章中介绍。

责任编辑:haq

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

    关注

    1620

    文章

    21474

    浏览量

    598048
  • CAN总线
    +关注

    关注

    145

    文章

    1877

    浏览量

    130241
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2629

    浏览量

    462050
收藏 人收藏

    评论

    相关推荐

    CAN总线和EtherCAT的区别

    CAN 总线和EtherCAT是两种在工业自动化和控制领域广泛应用的通信 总线协议,它们各自具有独特的技术 特点和应用场景。以下是对 CAN
    的头像 发表于08-05 15:43 518次阅读

    can总线中断状态什么意思呢?

    过程中的中断处理机制。以下是关于 CAN 总线中断状态的详细介绍。 CAN 总线概述 1.1 CAN 总线
    的头像 发表于06-16 10:21 773次阅读

    CAN总线特点、原理及应用

    CAN 总线(Controller Area Network)是一种用于汽车和工业自动化领域的局域网技术,具有实时性、可靠性、灵活性和成本效益等优点。本文将详细介绍 CAN 总线
    的头像 发表于06-16 10:19 1049次阅读

    can总线的故障波形有哪些

    CAN 总线(Controller Area Network)是一种用于汽车和工业自动化领域的通信协议。它具有高可靠性、实时性和灵活性的 特点。然而,在使用过程中, CAN
    的头像 发表于06-16 10:04 797次阅读

    如何快速实现CAN总线故障定位?

    快速 实现 CAN 总线故障定位是汽车电子和工业自动化领域中的一个重要课题。 CAN 总线作为一种重要的通信网络,其稳定性和可靠性对于整个系统的运行至
    的头像 发表于04-09 15:46 618次阅读

    什么是CAN总线通信?CAN总线工作原理

    这意味着变送器通过 CAN收发器改变 总线电平,并将其信息传输到 CAN 总线。接收器通过监测 总线电平将 总线
    发表于02-19 14:53 3941次阅读
    什么是<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>通信?<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>工作原理

    高速CAN总线和低速CAN总线的特性

    高速 CAN 总线和低速 CAN 总线的特性 高速 CAN 总线和低速 C
    的头像 发表于01-31 14:09 1983次阅读

    IIC总线FPGA实现说明

    DE2_TV中,有关于寄存器的配置的部分,采用的方法是通过IIC的功能,这里对IIC 总线FPGA 实现做个说明。
    的头像 发表于01-05 10:16 783次阅读
    IIC<b class='flag-5'>总线</b>的<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b>说明

    CAN总线特点FPGA实现

    我们根据 can 总线具有的一些特性可知: CAN 总线肯定具有分层结构,而且参考OSI模型(OSI参考模型介绍)是肯定的,我们可以看一下相关的文档可知: C
    的头像 发表于01-05 09:40 687次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的<b class='flag-5'>特点</b>和<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b>

    CAN总线星型连接器及特点

    CAN 总线星型连接器及 特点 CAN 总线星型连接器是一种用于连接 CAN
    的头像 发表于01-04 16:59 1316次阅读

    CAN总线和电平逻辑介绍

    CAN 总线 CAN是控制器局域网络的简称,是一种能够 实现分布式实时控制的串行通信网络。 CAN 总线
    的头像 发表于11-09 18:11 1335次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>和电平逻辑介绍

    CAN总线访问与仲裁机制#汽车CAN总线

    CAN总线
    北汇信息POLELINK
    发布于 :2023年10月20日 15:33:02

    can总线为什么要用双绞线?can总线不用双绞线可以吗?

    can 总线为什么要用双绞线? can 总线不用双绞线可以吗? CAN 总线是一种数据通信协议,广泛用于
    的头像 发表于09-14 16:48 4801次阅读

    CAN总线的基本概念、工作原理、特点以及应用领域

    CAN 总线技术是一种广泛应用于汽车、工业自动化等领域的串行通信协议。它是由德国公司BOSCH开发的,全称为Controller Area Network(控制器局域网)。本文将对 CAN 总线
    发表于09-12 17:04 8121次阅读

    can总线负载率多少合理

    can 总线负载率多少合理 CAN 总线是一种控制器区域网络,它是用于在不同设备之间进行通信的技术。 CAN
    的头像 发表于09-07 15:05 3492次阅读