优秀的 VeRilog/FPGa开源项目介绍(七)- can0、can总线介绍
《》
can总线有两个ISO国际标准:ISO11898 和 ISO11519。其中:
ISO11898 定义了通信速率为 125 kbps~1 Mbps 的高速 can 通信标准,属于闭环总线,传输速率可达1Mbps,总线长度 ≤ 40米。
ISO11519 定义了通信速率为 10~125 kbps 的低速 can 通信标准,属于开环总线,传输速率为40kbps时,总线长度可达1000米。
ISO 11898 文档在这里
链接:提取码:PR9t复制内容打开和彩云Pc客户端,操作更方便哦
3、【小梅哥FPGa】使用FPGa实现can通信的例子(nIOS+can IP)❝
❞
这是小梅哥FPGa开发板上的实例,之所以放到第一个是因为这是目前FPGa实现can通信的比较完美的解决方案,单纯使用硬件描述语言的IP,会有一些不可预知的bug,但是使用软核处理器是比较完美的。
❞
can总线作为工业和汽车领域最常用的通信总线,具有拓扑结构简洁、可靠性高、传输距离长等优点。can总线的非破坏性仲裁机制依赖于帧ID,can2.0a和can2.0B分别规定了11BIt-ID(短ID) 的标准帧和29BIt-ID(长ID) 的扩展帧,另外,还有远程帧这种数据请求机制。关于can总线的更多知识可以参考这个科普文章。
can总线的复杂机制决定了控制器设计的复杂性。本库实现了一个轻量化但完备的can控制器,特点如下:
设计相关的4个文件在 RTL 文件夹中,各文件功能如下表。你只需将以上4个文件包含进工程,就可以调用can_top.sv进行更高层次的can通信业务的二次开发。
此项目非常完整,项目由中文说明,完备的TB及测试方案。
❞
项目没有任何介绍,看文件结构,是基于QuaRtus II建立的,结构和上一项目完全没什么区别。整个项目应该是完备的,有兴趣可以看看。
6、sja1000❝
❞
这个就是VeRilog编写的外挂SJa100的驱动程序,这里就不过多介绍了。
❞
这是McP25625(控制器+收发器集合)的SPI驱动(aRM单片机的)。
❝
❞
这个项目和这个功能一样,就不展开描述了。
因为本期没几个开源项目,所以这里在推荐几个开源的USB-can方案,大部分都是可以直接打板使用的。
❞❝
❞❝
❞
ta有完全开源的软硬件及上位机支持,支持windos和linux Stock can并且都免驱哦。且支持python。
上述的方案某宝上也有成品。
二、KS22方案❝
❞
相关文档及上位机:
❞
文档很完备。
该项目是基于 aTMega32U2 和 McP2515 SPI canBus 控制器的 USB 转 canBus 接口。
最后,还是感谢各个大佬开源的项目,让我们受益匪浅。后面有什么感兴趣方面的项目,大家可以在后台留言或者加微信留言,今天就到这,我是爆肝的碎碎思,期待下期文章与你相见。