CAN总线的特点和FPGA实现

这里我们先逆推一下can总线的一些特点。
第一,can总线分层结构
我们根据can总线具有的一些特性可知:can总线肯定具有分层结构,而且参考osi模型(osi参考模型介绍)是肯定的,我们可以看一下相关的文档可知:can遵从osi模型。
上面这一点大部分人都是熟知的。
第二、can总线分为哪几层
根据《fpga和usb3.0通信-usb3.0协议介绍》中总线、协议、接口关系可知:
can总线内容整体比较简单(相对),肯定没有usb、pcie协议这种复杂,也就是说can总线的分层结构不会超过三层;但是相对uart这种又复杂些,分层结构肯定大于一层。
我们大致判断can总线差不多是两层左右的分层结构,由于是总线,所以会规定物理层和数据链路层。从官方协议中可知:can结构划分为两层:数据链路层和物理层。
为什么要介绍分层结构
经常看我文章的应该知道,不管哪种协议我都会首先介绍这种结构的分层结构,那么很多人都会疑问:装什么b,好好介绍协议不行吗?
从各种协议的官方而言,他们遵循osi参考模型是为了方便自己协议的维护和扩展,不然他们也不会傻到遵循一个参考模型(又不是强制规定)。对我们而言,这种分层结构更容易理解,不管简单协议还是复杂协议我们都可以根据前一个理解的协议去理解下一个协议(每一层的功能类似),不会让我们初识一种接口或者协议就要抱着协议或者spec啃几个月才能理解。
最后就是当你要用这种总线或者接口时方便制作方案,比如现在我要用fpga实现can通信,我们需要根据fpga的特点选择各种方案,各种方案的区别就是其他厂商在制作ic时制作了哪一层的芯片,下图中就是我们实现can通信的整体方案:
can总线拓扑图 改编自官方总线协议
这张拓扑图其实是参考can总线的分层结构,主要分为数据链路层和物理层,这种方案主要是分局目前市场上存在的can相关ic(ic的设计肯定是根据can总线的spec,存在的原因也是基于此)。
fpga实现方案简介
还是这张拓扑图,因为can总线的物理层包含模拟电路部分,所以can收发器一般使用外挂;而can控制器是可以利用数字电路实现,所以我们在设计方案时可以根据上述特点实现我们的方案。
第一种:fpga+can收发器
控制器使用数字电路实现即可。
第二种:fpga+can控制器+can收发器(收发+控制可以放在一起芯片内)
这种方案最简单。常见的芯片方案microchip mcp25625(spi转can)
上面就是digilent出品的pmod can模块,原理图可以参考。
can总线协议
关于协议这里就不过多介绍了,分享官方文档的中文翻译。


饮食业油烟浓度在线监测系统的应用
功放机和音箱的功率如何匹配
LED企业雷曼正站在上市后新十年的起点
三星布局车载芯片,引发行业大动荡
机器人系统的模块化设计和仿真研究
CAN总线的特点和FPGA实现
智能太阳能国际:热并用聚光太阳能电池效率超过40%
探析中国半导体产业投资的浮夸与不足
高频变压器与EMI之间的关系是怎样的
我国新能源汽车换电行业第一个并购案例落地了
228亿+70亿 三安的碳化硅“野心”
ttl电平是什么意思
设计团队设计出一款名为Pleurobot的机器人,模仿娃娃鱼脊髓,外形逼真吓人
厦门大学OpenHarmony技术俱乐部开创“1+N”新模式,加速推动产学研融合
三维光学轮廓仪的测试方法
串行通信协议和我们的RS-485的完整指南
聚灿光电Mini LED 已有小批量出货
飞荣达与华为、中兴等建立合作关系 加快5G发展脚步
在应用时如何选择线性LED驱动IC,应用注意哪些方面
天风证券分析师郭明錤:iPhone未来1年出货量上看2.4亿 立讯精密受益