基于FPGA芯片的CAN控制器系统设计

描述

CAN 是 Controller Area Network 的缩写,是ISO国际标准化的串行通信协议。CAN总线协议已成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。为了满足应用需求,紫光同创基于自研FPGA芯片可提供符合CAN协议标准的解决方案。

FPGA

CAN控制器系统架构

can_reg:通过用户接口管理配置,控制CAN寄存器的寻址。向位时序模块、can发送模块和can接收模块提供配置信息和操作指令,并接收来自can接收模块的状态信息。

can_btl:监视串行CAN总线并处理总线相关位时序,完成硬件同步和在同步。用于补偿CAN网络上的物理延迟和因时钟频率偏差、传送延迟等所产生的误差。

can_tx:向CAN总线发送数据信息。同时完成CAN节点的仲裁判定、填充位增加、CRC位计算和插入等功能。

can_rx:接收CAN总线上的信息。同时完成CAN节点的错误检测、ACF过滤、CRC检测校验、填充位删除等功能。

FPGA

方案演示开发板

基于紫光同创FPGA芯片,外接CAN透传模块(实现差分电平转换),可实现和第三方调试器USB CAN的通讯。

CAN信息发送帧

CAN信息接收帧

FPGA侧向第三方调试器发送信息帧,第三方软件正常接收信息帧,通过第三方调试软件可以观察接收到信息帧的打印,对比得第三方调试器接收信息帧类型、数据帧数据内容与FPGA发送一致。

第三方调试器向FPGA侧发送信息帧,此时通过FPGA侧串口读取缓存的信息帧,对比得FPGA侧接收信息帧类型、数据帧数据内容与第三方调试器发送一致。

基于紫光同创FPGA芯片的CAN控制器符合CAN2.0协议标准,目前已经覆盖公司全系列产品,可支持从125kbps至1Mbps的通信速率,支持所有类型的错误检测等等,广泛应用于工业自动化、医疗设备等场景的应用。

审核编辑:汤梓红

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分