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

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

3天内不再提示

CAN总线的特点和FPGA实现

OpenFPGA 来源:OpenFPGA 2024-01-05 09:40 次阅读

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

第一,CAN总线分层结构

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

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

第二、CAN总线分为哪几层

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

75189944-ab62-11ee-8b88-92fbcf53809c.png

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

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

75284b96-ab62-11ee-8b88-92fbcf53809c.png

为什么要介绍分层结构

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

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

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

76d24316-ab62-11ee-8b88-92fbcf53809c.png

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

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

FPGA实现方案简介

76d24316-ab62-11ee-8b88-92fbcf53809c.png

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

第一种:FPGA+CAN收发器

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

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

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

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

76fa5ca2-ab62-11ee-8b88-92fbcf53809c.png

CAN总线协议

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

审核编辑:汤梓红

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

    关注

    1625

    文章

    21655

    浏览量

    601540
  • CAN总线
    +关注

    关注

    145

    文章

    1928

    浏览量

    130609
  • 接口
    +关注

    关注

    33

    文章

    8479

    浏览量

    150784
  • 总线协议
    +关注

    关注

    0

    文章

    115

    浏览量

    14837

原文标题:【科普】CAN总线介绍及FPGA实现方案简介

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于FPGACAN总线通信系统

    基于FPGACAN总线通信系统为了克服单片机固有的缺陷, 满足航天控制的需求, 文章提出了如何利用FPGA采用查询的方式控制CAN控制器S
    发表于 08-11 11:55

    CAN总线是什么?CAN总线具有哪些特点

    端口复用和端口重映射是一回事吗?CAN总线是什么?CAN总线具有哪些特点
    发表于 11-08 06:48

    CAN总线特点

    CAN特点CAN 协议具有以下特点。(1) 多主控制在总线空闲时,所有的单元都可开始发送消息(多主控制)。最先访问
    发表于 07-19 21:23 4365次阅读

    基于CAN总线的变频设备远程监控系统的实现

    基于CAN总线的变频设备远程监控系统的实现 CAN总线介绍: CAN
    发表于 10-10 08:56 754次阅读
    基于<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的变频设备远程监控系统的<b class='flag-5'>实现</b>

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

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

    基于FPGACAN总线通信系统

    基于FPGACAN总线通信系统,下来看看。
    发表于 05-10 11:47 35次下载

    FPGA实现CAN总线控制器源码

    Xilinx FPGA工程例子源码:FPGA实现CAN总线控制器源码
    发表于 06-07 14:13 91次下载

    基于FPGA的VME总线CAN总线之间的传输转换方案设计

    为了扩展VME总线CAN总线的应用范围,充分利用两种总线的不同传输特点,采用了模块设计方法,提出一种基于
    发表于 07-17 10:11 3698次阅读
    基于<b class='flag-5'>FPGA</b>的VME<b class='flag-5'>总线</b>和<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>之间的传输转换方案设计

    如何使用FPGACAN控制器MCP2515实现惯导系统的CAN总线接口的设计

    CAN 总线是国际上应用最广泛的现场总线之一,它广泛应用于工业自动化监控网络中。为了灵活使用CAN 总线,本文提出了一种新的
    发表于 01-27 15:52 17次下载
    如何使用<b class='flag-5'>FPGA</b>和<b class='flag-5'>CAN</b>控制器MCP2515<b class='flag-5'>实现</b>惯导系统的<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>接口的设计

    CAN总线的双绞线及光纤传输

    对信号源时钟提取的要求以及CAN总线的非破坏性总线仲裁的特点,设计了一种CAN总线信号编解码方法
    发表于 04-20 10:24 33次下载

    CAN总线的8个特点

    CAN总线的8个特点介绍说明。
    发表于 04-20 13:58 7次下载

    CAN总线特点FPGA实现

    【科普】CAN总线介绍及FPGA实现方案简介 这里我们先逆推一下CAN总线的一些
    的头像 发表于 11-18 16:35 5885次阅读
    <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>

    如何用FPGA实现CAN总线通信控制器

    CAN 总线插卡可以任意插在 PC AT XT 兼容机上,方便地构成分布式监控系统。因此,用 FPGA 实现 CAN
    发表于 07-29 09:43 2710次阅读

    基于FPGACAN总线控制器的设计

    今天给大侠带来基于FPGACAN总线控制器的设计,由于篇幅较长,分三篇。今天带来第一篇,上篇,CAN 总线协议解析以及
    的头像 发表于 05-18 09:21 1266次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>控制器的设计

    基于FPGACAN总线通信节点设计

    点击上方 蓝字 关注我们 摘要:以FPGA 代替传统的单片机和外围扩展芯片, 给出了CAN 总线通信节点的详细设计方案。其中以SJA1000为CAN
    的头像 发表于 06-18 11:15 2835次阅读