查看: 1172|回复: 0
收起左侧

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

[复制链接]

  离线 

  • TA的每日心情
    奋斗
    2022-6-21 08:23
  • 签到天数: 2 天

    [LV.1]

    发表于 2021-12-11 20:35:12 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 塞巴斯蒂安 于 2021-12-11 20:34 编辑

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

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

    第一,CAN总线分层结构

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

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

    第二、CAN总线分为哪几层

    根据《FPGA和USB3.0通信-USB3.0协议介绍》中总线、协议、接口关系可知:
    国外芯片技术交流-【科普】CAN总线介绍及FPGA实现方案简介risc-v单片机中文社区(1)
    CAN总线内容整体比较简单(相对),肯定没有USB、PCIe协议这种复杂,也就是说CAN总线的分层结构不会超过三层;但是相对UART这种又复杂些,分层结构肯定大于一层。

    我们大致判断CAN总线差不多是两层左右的分层结构,由于是总线,所以会规定物理层和数据链路层。从官方协议中可知:CAN结构划分为两层:数据链路层和物理层。
    国外芯片技术交流-【科普】CAN总线介绍及FPGA实现方案简介risc-v单片机中文社区(2)
    国外芯片技术交流-【科普】CAN总线介绍及FPGA实现方案简介risc-v单片机中文社区(3)
    为什么要介绍分层结构

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

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

    最后就是当你要用这种总线或者接口时方便制作方案,比如现在我要用FPGA实现CAN通信,我们需要根据FPGA的特点选择各种方案,各种方案的区别就是其他厂商在制作IC时制作了哪一层的芯片,下图中就是我们实现CAN通信的整体方案:
    国外芯片技术交流-【科普】CAN总线介绍及FPGA实现方案简介risc-v单片机中文社区(4)
    CAN总线拓扑图 改编自官方总线协议

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

    FPGA实现方案简介
    国外芯片技术交流-【科普】CAN总线介绍及FPGA实现方案简介risc-v单片机中文社区(5)
    还是这张拓扑图,因为CAN总线的物理层包含模拟电路部分,所以CAN收发器一般使用外挂;而CAN控制器是可以利用数字电路实现,所以我们在设计方案时可以根据上述特点实现我们的方案。

    第一种:FPGA+CAN收发器

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

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

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

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

    上面就是Digilent出品的PMOD CAN模块,原理图可以参考。
    国外芯片技术交流-【科普】CAN总线介绍及FPGA实现方案简介risc-v单片机中文社区(6)
    CAN总线协议

    关于协议这里就不过多介绍了,分享官方文档的中文翻译。
    国外芯片技术交流-【科普】CAN总线介绍及FPGA实现方案简介risc-v单片机中文社区(7) can总线协议CAN2.0 .pdf (375.75 KB, 下载次数: 0)






    上一篇:优秀的 Verilog/FPGA开源项目介绍(七)- CAN通信
    下一篇:优秀的 Verilog/FPGA开源项目介绍(八)- HDMI
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条



    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-4-24 17:28 , Processed in 0.696518 second(s), 48 queries .

    快速回复 返回顶部 返回列表