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

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

3天内不再提示

Verilog/FPGA开源项目介绍

OpenFPGA 来源:OpenFPGA 作者:碎碎思 2021-11-17 11:19 次阅读

优秀的 Verilog/FPGA开源项目介绍(七)- CAN0、CAN总线介绍《【科普】CAN总线介绍及FPGA实现方案简介》

1、CAN权威文档CAN总线有两个ISO国际标准:ISO11898 和 ISO11519。其中:

ISO11898 定义了通信速率为 125 kbps~1 Mbps 的高速 CAN 通信标准,属于闭环总线,传输速率可达1Mbps,总线长度 ≤ 40米。

ISO11519 定义了通信速率为 10~125 kbps 的低速 CAN 通信标准,属于开环总线,传输速率为40kbps时,总线长度可达1000米。

ISO 11898 文档在这里

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

3、【小梅哥FPGA】使用FPGA实现CAN通信的例子(NIOS+CAN IP)

https://bbs.elecfans.com/jishu_1385802_1_1.html

这是小梅哥FPGA开发板上的实例,之所以放到第一个是因为这是目前FPGA实现CAN通信的比较完美的解决方案,单纯使用硬件描述语言的IP,会有一些不可预知的BUG,但是使用软核处理器是比较完美的。

上图就是整个项目的系统方案,也很好理解,就不过多赘述了。

SJA100就是CAN控制器

VP230就是CAN收发器

PS:代码在上诉链接中。

4、liteCAN

https://github.com/WangXuan95/liteCAN

基于 FPGA 的轻量级CAN总线控制器

此项目实现的是CAN控制器,CAN收发器还是需要外挂。

简介CAN总线作为工业和汽车领域最常用的通信总线,具有拓扑结构简洁、可靠性高、传输距离长等优点。CAN总线的非破坏性仲裁机制依赖于帧ID,CAN2.0A和CAN2.0B分别规定了11bit-ID(短ID) 的标准帧和29bit-ID(长ID) 的扩展帧,另外,还有远程帧这种数据请求机制。关于CAN总线的更多知识可以参考这个科普文章。

CAN总线的复杂机制决定了控制器设计的复杂性。本库实现了一个轻量化但完备的CAN控制器,特点如下:

本地ID可固定配置为任意短ID。

发送 : 仅支持以本地ID发送数据长度为4Byte的帧。

接收 : 支持接收短ID或长ID的帧,接收帧的数据长度没有限制 (即支持 0~8Byte ) 。

接收帧过滤 : 可针对短ID和长ID独立设置过滤器,只接收和过滤器匹配的数据帧。

自动响应远程帧 : 当收到的远程帧与本地ID匹配时,自动将发送缓存中的下一个数据发送出去。若缓存为空,则重复发送上次发过的数据。

平台无关 :纯 RTL 编写 (SystemVerilog),可以在 Altera 和 Xilinx 等各种 FPGA 上运行。

设计文件说明

设计相关的4个文件在 RTL 文件夹中,各文件功能如下表。你只需将以上4个文件包含进工程,就可以调用can_top.sv进行更高层次的CAN通信业务的二次开发。

此项目非常完整,项目由中文说明,完备的TB及测试方案。

5、CAN-fpga

https://github.com/AlxyF/CAN-fpga

项目没有任何介绍,看文件结构,是基于Quartus II建立的,结构和上一项目完全没什么区别。整个项目应该是完备的,有兴趣可以看看。

6、sja1000

https://github.com/zhaotliang/sja1000

这个就是Verilog编写的外挂SJA100的驱动程序,这里就不过多介绍了。

7、Click_MCP25625

https://github.com/MikroElektronika/Click_MCP25625

这是MCP25625(控制器+收发器集合)的SPI驱动(ARM单片机的)。

https://github.com/UberLambda/CANnuccia

这个项目和这个功能一样,就不展开描述了。

USB-CAN(调试利器)因为本期没几个开源项目,所以这里在推荐几个开源的USB-CAN方案,大部分都是可以直接打板使用的。

一、stm32f0 + CAN收发器TJA1051/3

https://canable.io/

https://codechina.csdn.net/mirrors/HubertD/candleLight?utm_source=csdn_github_accelerator

https://github.com/HubertD/candleLight/blob/master/export/v1.1/pdf/candleLight-v1.1.pdf

ta有完全开源的软硬件及上位机支持,支持windos和linux Stock can并且都免驱哦。且支持Python

上述的方案某宝上也有成品。

二、KS22方案

http://bbs.eeworld.com.cn/thread-491860-1-1.html

相关文档及上位机:

三、open-usb-can

https://github.com/fabiobaltieri/open-usb-can

文档很完备。

该项目是基于 ATMega32U2 和 MCP2515 SPI CANBus 控制器的 USB 转 CANBus 接口

最后,还是感谢各个大佬开源的项目,让我们受益匪浅。后面有什么感兴趣方面的项目,大家可以在后台留言或者加微信留言,今天就到这,我是爆肝的碎碎思,期待下期文章与你相见。

责任编辑:haq

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

    关注

    1629

    文章

    21736

    浏览量

    603241
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2747

    浏览量

    463671
  • 通信
    +关注

    关注

    18

    文章

    6032

    浏览量

    135982

原文标题:优秀的 Verilog/FPGA开源项目介绍(七)- CAN通信

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

收藏 人收藏

    评论

    相关推荐

    Verilog 测试平台设计方法 Verilog FPGA开发指南

    Verilog测试平台设计方法是Verilog FPGA开发中的重要环节,它用于验证Verilog设计的正确性和性能。以下是一个详细的Verilog
    的头像 发表于 12-17 09:50 195次阅读

    凌蒙派OpenHarmony开源项目荣获本期Gitee官方推荐

    近日,我司凌蒙派OpenHarmony开源项目荣获本期Gitee官方推荐。本期Gitee官方推荐不仅是对凌蒙派OpenHarmony开源项目的高度认可,也是对我司在推动
    的头像 发表于 11-20 01:04 271次阅读
    凌蒙派OpenHarmony<b class='flag-5'>开源</b><b class='flag-5'>项目</b>荣获本期Gitee官方推荐

    开源ISP(Infinite-ISP)介绍

    公开,都是给一堆函数自己调用调试。因为厂商将 ISP 算法视为保持市场竞争力的独特秘诀。虽然之前介绍了很多开源ISP项目(优秀的 Verilog/F
    的头像 发表于 11-18 10:21 421次阅读
    <b class='flag-5'>开源</b>ISP(Infinite-ISP)<b class='flag-5'>介绍</b>

    Verilog vhdl fpga

    岗位职责 1.负责FPGA的架构设计、代码编写、仿真等; 2.协同软、硬件工程师完成系统联调和测试; 3.负责项目FPGA设计的相关文档编写及维护;任职要求 1.硕士及以上学历,电子、通信、计算机
    发表于 11-12 16:40

    如何自动生成verilog代码

    介绍几种自动生成verilog代码的方法。
    的头像 发表于 11-05 11:45 308次阅读
    如何自动生成<b class='flag-5'>verilog</b>代码

    FPGA加速深度学习模型的案例

    名称 :DE5Net_Conv_Accelerator 应用场景 :面向深度学习的开源项目,实现了AlexNet的第一层卷积运算加速。 威廉希尔官方网站 特点 : 采用了Verilog语言进行编程,与PCIe接口相集成,可以直接插入到
    的头像 发表于 10-25 09:22 222次阅读

    基于FPGA实现数码管显示

    本文介绍数码管显示译码基本工作原理及Verilog HDL驱动代码编写,进一步熟练掌握FPGA入门基础知识。
    的头像 发表于 10-24 14:44 928次阅读
    基于<b class='flag-5'>FPGA</b>实现数码管显示

    基于FPGA的JPEG-LS图像压缩器介绍

    现在来看一下GitHub上面一个开源的JPEG LS算法的Verilog实现
    的头像 发表于 10-15 17:27 395次阅读
    基于<b class='flag-5'>FPGA</b>的JPEG-LS图像压缩器<b class='flag-5'>介绍</b>

    ElfBoard开源项目|“智慧光伏”开源项目威廉希尔官方网站 文档

    最大化地捕捉和利用。下面就和各位小伙伴详细介绍一下这一开源项目是怎样实现的。环境说明1.开发环境操作系统:Ubuntu18.0464位版2.交叉编译工具链:arm-
    的头像 发表于 10-11 15:52 401次阅读
    ElfBoard<b class='flag-5'>开源</b><b class='flag-5'>项目</b>|“智慧光伏”<b class='flag-5'>开源</b><b class='flag-5'>项目</b>威廉希尔官方网站
文档

    【招聘】verilog vhdl FPGA

    1.熟悉FPGA架构及应用,熟悉图像算法的FPGA实现。 2.熟悉verilog vhdl,熟悉Xilinx或Intel等开发工具。 3.有AI算法 fpga实现经验优先。 4.本科及
    发表于 09-02 15:50

    哪有FPGAverilog编程基础知识?

    没接触过FPGA开发,那个verilog编程有什么入门基础知识学习的?
    发表于 04-29 23:09

    FPGA开源项目Verilog常用可综合IP模块库

    所有代码在典型的 FPGA 和主流 FPGA 供应商中都具有高度可重用性。 可以出于任何目的对文件进行重新混合、转换和构建,甚至是商业用途。
    发表于 03-29 11:31 986次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>开源</b><b class='flag-5'>项目</b>:<b class='flag-5'>Verilog</b>常用可综合IP模块库

    fpga是用c语言还是verilog

    FPGA(现场可编程逻辑门阵列)开发主要使用的编程语言是硬件描述语言(HDL),其中Verilog是最常用的编程语言之一。而C语言通常用于传统的软件编程,与FPGA的硬件编程有所区别。
    的头像 发表于 03-27 14:38 1995次阅读

    FPGA? 开搞!

    。 该工具链使用 Yosys 和 OpenFPGALoader 等开源工具,并与 Cologne Chip 合作开发实施和比特流生成工具。在设计输入方面,工程师可以使用 Verilog、VHDL(通过
    发表于 01-11 00:52

    关于FPGA开源项目介绍

    Hello,大家好,之前给大家分享了大约一百多个关于FPGA开源项目,涉及PCIe、网络、RISC-V、视频编码等等,这次给大家带来的是不枯燥的娱乐项目,主要偏向老的游戏内核使用
    的头像 发表于 01-10 10:54 1457次阅读
    关于<b class='flag-5'>FPGA</b>的<b class='flag-5'>开源</b><b class='flag-5'>项目</b><b class='flag-5'>介绍</b>