版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_46621272/article/details/118242161?

PCIe to CAN 网卡的设计FPGA Verilog/Linux 驱动/源代码/软硬件调试/详细说明

  • 采用 本文中的代码,能很容易的实现 网卡的设计。
  • 只是给大家提供一个思路、知识点,嵌入式 CPU 功能越来越强大,PCIE 是一些高端 CPU 的标准配置。用 PCIE + FPGA 扩展 CAN/网卡/串口 等多个多种常用端口很方便。
  • 本方案里,只采用 1 片 SJA1000 实现 1 路 CAN 。可以通过简单的修改 实现多路 CAN 。
  • 本方案采用 海思 Hi3531D + FPGA + SJA1000 实现 PCIe to CAN,Vivado 工程,IP 参数设置, Verilog 代码,约束文件,Linux 内核定制,Linux 驱动,调试记录、全套代码。
  • 在 Linux 驱动调试说明中介绍一些软硬件的知识点。
  • CSDN 下载需要积分,很讨厌,这里的代码都给大家贴出来,复制粘贴大家都会吧。
  • CAN 为什么选 SJA1000 ?其实从硬件设计上看,XILINX 有个 AXI CAN 的 IP , Linux 也有驱动(没调试验证过),没授权也就没采纳该方案。查看市场上 PCIE CAN 卡多数都是用 PCIE 桥片 + SJA1000 芯片 实现,查看当前 Linux CAN 驱动芯片列表 SJA1000 芯片占一大项,芯片好买,参考代码多,为减少软件驱动编写开发的难度决定采用该芯片。
  • 在我们做产品设计时,linux 驱动是个很头疼的事,公司开发人员不是万能的奥特曼,不是什么驱动都会编写,总有知识盲点。在做产品方案时,linux 驱动移植编写能力是首先需要考虑的。有些时候硬件采用成熟的大公司的贵的芯片做产品设计时就是考虑降低软硬件调试的难度。先做出产品来,在有产品批量、功能已经完善、时再考虑降低产品的成本,有针对的选择一些性价比高的芯片。
  • 有技术问题可以联系 708907433@qq.com

PCIE_CAN 原理图
PCIE_CAN FPGA 工程详细说明
PCIE_CAN Linux 驱动详细说明
PCIE_CAN 硬件调试过程记录(好大的坑,还好爬出来了)
源码 FPGA Verilog: pcie_can_root.sv
源码 FPGA Verilog: pcie_can_root.xdc
源码 FPGA Vivado: pcie_can_bd.bd
源码 Linux drivers: oem_pcie.c

FPGA + SJA1000 实现 <PCIe to CAN> 网卡的设计相关推荐

  1. FPGA实战操作(2) -- PCIe总线(协议简述)

    目录 1. PCIe基础知识 2. 事务层协议 2.1 数据包结构 2.2 帧头含义详述 3. 报文举例 3.1 寄存器读报文 3.2 完成报文 4. 机制简述 4.1 Non-Posted和Post ...

  2. FPGA调试笔记~PCIE之XDMA(一):一些概念性介绍

    目录 XDMA引荐 PCIE介绍 历史渊源 通信拓扑结构 地址映射与管理 加载与初始化过程 总结 XDMA引荐 XDMA是Xilinx系列FPGA中官方自带的PCIE"高级"IP, ...

  3. 基于FPGA实现PCI-E接口和DMA控制器设计

    随着网络的飞速发展,人们可获取的信息量日益增长,数据的处理及存储速率的要求也越来越高.万兆网(10Gb以太网)的普及,高速存储设备的应用(如DDR2,传输速率可达800M)对系统带宽带来极大的挑战. ...

  4. 计算机组成原理认识fpga,计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现_精品.doc...

    计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现_精品 目录 前言2 第一章 课程设计内容2 1.1 实验要求2 1.2 实验目的2 第二章 实验原理及方案2 2.1 实验 ...

  5. 《FPGA入门教程》看书随笔——RTL设计

    1.使用verilog进行RTL设计一般可归纳为3种基本的描述方式: (1)数据流描述:采用assign连续赋值语句 (2)行为描述:使用always语句或initial语句块的过程赋值语句 (3)结 ...

  6. (35)FPGA打两拍、打三拍设计(第7天)

    (35)FPGA打两拍.打三拍设计(第7天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)FPGA打两拍.打三拍设计(第7天) 5)技术交流 6)参考资料 2 ...

  7. FPGA零基础学习:IIC协议驱动设计

    FPGA零基础学习:IIC协议驱动设计 本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的"傻瓜式"讲解,让电子.信息.通信类 ...

  8. FPGA零基础学习:LED流水灯设计

    FPGA零基础学习:LED流水灯设计 本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的"傻瓜式"讲解,让电子.信息.通信类专 ...

  9. Linux网卡驱动设计

    Linux网卡驱动设计 Linux网络体系结构 Linux的优点之一在于它丰富而稳定的网络协议栈.其范围从协议无关层到各种具体的网络协议实现. 协议层次对比图 网络接口层提供访问物理设备的驱动程序,对 ...

最新文章

  1. python主要运用于-Python八大主要应用领域,你都知道吗?
  2. 30天敏捷结果(2):用三个故事驱动你的一周
  3. Centos7 使用Docker 部署Nginx+mysql+tomcat+调试联通_03
  4. (三)C语言之九条语句
  5. php iframe js加载不上,js iframe的onload事件不去作用的原因及解决办法
  6. React 组件的生命周期详解
  7. php 日历哪个好,简单的PHP日历
  8. 从淘宝第1位程序员, 到阿里合伙人,20多年了,非科班出身的他还在编程,程序员的榜样
  9. winform + INotifyPropertyChanged + IDataErrorInfo + ErrorProvider实现自动验证功能
  10. linux yum提示Loaded plugins: fastestmirror, security错误的解决方法
  11. csrf防御 php,跨站请求伪造CSRF的防御实例(PHP版本)
  12. 画法几何及工程制图考试卷A卷
  13. 市政管网检测机器人收费标准_疏通市政管道 市政管网检测 机器人管道检测价格...
  14. Word 2013新建文档默认使用自己设置的样式
  15. setMinDate出现java.lang.IllegalArgumentException: fromDate:xxx does not preced toDate: xxx异常的简单解决办法
  16. 人人都是产品经理02-08章摘要
  17. Win10如何高效压缩卷,亲测有效
  18. 项目配置文件----.eslintignore,eslint在做风格检查的时候忽略 dist 和 vender(第三方库) 不去检查。
  19. kali-linux-2022 下载/系统/权限/中文/配置/换源等问题一次解决
  20. 拉勾网企业招聘信息分析报告

热门文章

  1. 树莓派驱动1.44寸TFT液晶并实时显示摄像头图像
  2. 认知网络知识点及例题总结
  3. color demura原理_AMOLED中的补偿技术之外部光学补偿(Demura)
  4. Oracle 回滚详解(rollback)
  5. numpy.random.randint()函数生成随机坐标点
  6. window脚本介绍
  7. 电子科技大学计算机初试分数,电子科技大学计算机,我的分数出来了,考研感受!...
  8. 《机器学习实战》— k-近邻算法
  9. 马尾综合征的患者常用的药物
  10. Wifi密码 (10分)