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总线的物理层包含模拟电路部分,所以CAN收发器一般使用外挂;而CAN控制器是可以利用数字电路实现,所以我们在设计方案时可以根据上述特点实现我们的方案。

第一种:FPGA+CAN收发器

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

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

这种方案最简单。常见的芯片方案Microchip MCP25625(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

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

    关注

    1656

    文章

    22292

    浏览量

    630433
  • CAN总线
    +关注

    关注

    145

    文章

    2020

    浏览量

    134705
  • CAN
    CAN
    +关注

    关注

    58

    文章

    3013

    浏览量

    471541
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    三格电子CAN总线通信原理及在消防领域中的应用

    多个节点(最多可达110个),实现设备间稳定、高效的双向通信。在消防系统中,烟感、温感、报警器、灭火设备等都可以挂载在CAN总线上,形成可靠的火灾监控和联动控制网络。  CAN转光纤原
    的头像 发表于 09-02 15:11 816次阅读
    三格电子<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>通信原理及在消防领域中的应用

    120Ω的秘密:CAN总线终端电阻的重要性

    CAN总线作为一种广泛应用的工业通信协议,其终端电阻的作用不容忽视。本文将详细探讨CAN总线终端电阻的重要性及其在通信中的关键作用。CAN
    的头像 发表于 08-08 11:35 798次阅读
    120Ω的秘密:<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>终端电阻的重要性

    广成科技CANFD转CAN总线GCAN-418的优势

    作为CAN总线的升级产品,CANFD相较于传统的CAN总线,拥有如下几个方面的优势。
    的头像 发表于 08-05 11:47 907次阅读
    广成科技CANFD转<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>GCAN-418的优势

    CAN 总线遇强干扰时,隔离式收发器如何实现信号 “免疫”?

    本文介绍了CAN总线及其优点,包括抗干扰能力、低延迟和高速数据传输性能等。同时,文章提到了隔离式CAN收发器作为连接CAN控制器(MCU)与总线
    的头像 发表于 07-04 14:49 1917次阅读
    <b class='flag-5'>CAN</b> <b class='flag-5'>总线</b>遇强干扰时,隔离式收发器如何<b class='flag-5'>实现</b>信号 “免疫”?

    CANape中记录总线报文及生成BLF文件的培训视频#CANape #汽车CAN总线 

    CAN总线
    北汇信息POLELINK
    发布于 :2025年03月06日 11:40:27

    CAN总线的电路保护器件,通过二极管阵列的工作原理实现了对CAN总线的高效保护

    CAN总线的电路保护器件,通过二极管阵列的工作原理实现了对CAN总线的高效保护。它具有高速响应、低电流泄露、低电压降和高温工作的
    的头像 发表于 03-03 13:26 886次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的电路保护器件,通过二极管阵列的工作原理<b class='flag-5'>实现</b>了对<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的高效保护

    CAN/CANFD 总线干扰仪TESTBASE-BDI

    总线干扰仪是CAN/CANFD总线一致性测试中必不可少的重要设备,用于实现采样点以及故障注入等测试项配合桌面式车载网络自动化测试系统TESTBASE-DESKNAT以及基于VBA的
    的头像 发表于 12-26 11:24 1413次阅读
    <b class='flag-5'>CAN</b>/CANFD <b class='flag-5'>总线</b>干扰仪TESTBASE-BDI

    CAN总线模拟器的使用指南 CAN总线网络的安全性分析

    CAN总线模拟器的使用指南 CAN总线模拟器(如ICSim)是一种用于模拟CAN总线通信的工具,
    的头像 发表于 12-23 09:16 3676次阅读

    CAN总线在工业自动化中的作用

    CAN(Controller Area Network)总线在工业自动化中发挥着至关重要的作用。它是一种高效的现场总线系统,以其高速、可靠和灵活的特点,成为连接工业自动化系统中各种设备
    的头像 发表于 12-23 09:12 1943次阅读

    如何使用Arduino实现CAN总线通信呢

    的硬件模块实现CAN总线通信。 硬件需求 Arduino板 :任何支持Arduino IDE的板子都可以,例如Arduino Uno、Mega等。 CAN
    的头像 发表于 12-23 09:06 2827次阅读

    CAN总线的扩展功能及其应用

    的通信协议,它允许多个节点共享同一通信介质(如双绞线)。CAN总线的主要特点包括: 多主控制 :任何节点都可以在任何时间发送消息,无需中央控制。 差分信号传输 :提高信号的抗干扰能力。 非破坏性
    的头像 发表于 12-23 09:04 2263次阅读

    基于Xilinx的A7系列FPGACAN总线协议开发

    过多”、“通过多个 LAN ,进行大量数据的高速通信”的需要。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。 CAN控制器根据两根线上的电位差来判断总线电平。
    的头像 发表于 12-21 14:49 3082次阅读
    基于Xilinx的A7系列<b class='flag-5'>FPGA</b>的<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>协议开发

    使用CAN总线进行数据采集的方法

    使用CAN总线进行数据采集的方法通常涉及一系列步骤,这些步骤确保了数据的准确采集、处理和存储。以下是一个详细的方法指南: 一、了解CAN总线系统 首先,需要对
    的头像 发表于 12-20 18:18 3473次阅读

    CAN总线工作原理分析 CAN总线在汽车工业中的应用

    CAN总线工作原理分析 1. 概述 CAN总线是一种串行通信协议,由Bosch公司在1986年开发,主要用于汽车电子系统中。它允许多个设备共享同一通信线路,
    的头像 发表于 12-20 17:33 4499次阅读