- 博客(410)
- 资源 (39)
- 问答 (1)
- 收藏
- 关注
转载 美信GMSL技术让汽车数据传输更为高效
目前,大部分车企都在其旗舰车型上配备了达到Level 2水平的自动驾驶技术,也就是高级自动驾驶辅助 ADAS系统。ADAS系统硬件主要由以下几部分组成,包括传感器、串行器、解串器、ADAS处理器等。除了ADAS系统,包括传感器融合、音视频影音娱乐、以太网控制、车身控制等都变得更为复杂,数据量的大幅增加就需要更高的带宽。据Strategy Analytics预测,从2017年到2020年,带宽需求预计提高大约25倍。更高的帧率和分辨率只会给汽车带宽带来更大的压力。然而,这是支持迅速扩张在线数据容量必不可少
2022-01-20 10:47:21 5280 2
原创 写给自己-第15天
人生不能靠心情活着,而要靠心态去生活。很多事,你越是想去弄个明白,反而越是困惑,心中一旦有了执念。就像线团,只会越扯越乱。子欲避之,反促遇之。凡事顺其自然就好。既来之,则安之,这才是生存之道。...
2022-01-19 23:28:51 451
原创 44.XDMA逻辑实战1-创建XDMA工程并在线测试
1.上期回顾前面讲解了XDMA的功能、原理及所有寄存器,我们现在开始创建 XDMA IP并生成工程,本篇也会对我们生成的工程进行下载测试,验证PCIe设备是否正常运行。2.XDMA例子功能(1)1个H2C通道和1个C2H通道;(2)使用MSI中断,并开始4个中断向量(2个DMA通道中断、2个用户逻辑中断);(3)开启用户逻辑寄存器空间。3.创建工程下面我会带着大家一步一步创建XDMA IP,文章最下面也会附带本节源代码。我们打开Vivado,点击创建工程下一步
2022-01-19 17:15:41 2576 20
原创 写给自己-第14天
如果你越来越冷漠,你以为你成长了,但其实没有。长大应该是变温柔,对全世界都温柔。成熟,是对很多事物都能放下,都能慈悲,愿以善眼望世。
2022-01-18 23:33:23 326 2
原创 43.XDMA寄存器详解7-MSI-X Vector Table and PBA寄存器组剖析及MSI-X中断详解
目录1.上节回顾2.MSI-X Table and PBA由来3.XDMA MSI-X Table and PBA寄存器4.MSI和MSI-X中断机制5.MSI和MSI-X对比6.MSI/MSI-X Capability结构6.1 MSI Capability结构6.2 MSI消息格式及发送方式6.3 MSI-X Capability结构6.4 MSI-X table查找过程7.下节内容1.上节回顾上节我们讲述了SGDMA Common寄存器组,我们这节
2022-01-18 23:29:12 2486
原创 42.XDMA寄存器详解6-SGDMA Common寄存器组剖析
1.上节回顾上节我们讲述了H2C SGDMA/C2H SGDMA寄存器组,我们今天来看SGDMA Common寄存器组,如下。2.SGDMA Common寄存器组2.1 SGDMA标识寄存器2.2 SGDMA描述符控制寄存器2.3 SGDMA描述符信用使能寄存器3.下节内容下节我们对MSI-X Vector Table and PBA相关寄存器组(最后一组)进行详解,大家继续努力。1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与
2022-01-18 22:18:54 1318
原创 41.XDMA寄存器详解5-H2C SGDMA/C2H SGDMA寄存器组剖析
目录1.上节回顾2.H2C SGDMA寄存器组2.1H2C SGDMA标识寄存器2.2H2C SGDMA描述符基地址寄存器2.3H2C SGDMA邻接描述符数量寄存器2.4H2C SGDMA描述符信用寄存器3.C2H SGDMA寄存器组4.下节内容1.上节回顾上节我们讲述了Config Block寄存器组,我们今天来看H2C SGDMA/C2H SGDMA寄存器组,如下。H2C SGDMA/C2H SGDMA寄存器组主要是用来描述每个通道DMA描述符相关的一些
2022-01-18 21:42:29 1999 2
原创 40.XDMA寄存器详解4-Config Block寄存器组剖析
目录1.上节回顾2. Config Block寄存器剖析2.1 Config标识寄存器(0x00 只读)2.2 Config设备总线ID寄存器(0x04 只读)2.3 Config最大写请求TLP有效负载寄存器(0x08 只读)2.4 Config最大读请求TLP有效负载寄存器(0x0C 只读)2.5 Config DMA 子系统ID寄存器(0x10 只读)2.6 Config MSI使能寄存器(0x14 只读)2.7 Config PCIE数据位宽寄存器(0x18 .
2022-01-18 00:07:07 1109
原创 39.XDMA寄存器详解3-IRQ Block寄存器组剖析
目录1.上节回顾2. IRQ Block寄存器剖析2.1 IRQ标识寄存器(0x00 只读)2.2 IRQ用户中断使能掩码寄存器(0x04)2.3 IRQ DMA引擎中断使能掩码寄存器(0x10)2.4 IRQ用户中断请求寄存器(0x40 只读)2.5 IRQ DMA引擎中断请求寄存器(0x44只读)2.6 IRQ用户中断挂起寄存器(0x48 只读)2.7 IRQ DMA引擎中断挂起寄存器(0x4C 只读)2.8 IRQ 用户中断向量设置寄存器(0x80-0x8C
2022-01-17 21:42:09 1303
原创 PCIe中MSI和MSI-X中断机制详解
目录1.MSI和MSI-X中断机制2.MSI和MSI-X对比3.MSI/MSI-X Capability结构3.1 MSI Capability结构3.2 MSI消息格式及发送方式3.3 MSI-X Capability结构3.4 MSI-X tavle查找过程1.MSI和MSI-X中断机制在PCI总线中,所有需要提交中断请求的设备,必须能够通过INTx引脚提交中断请求,而MSI机制是一个可选机制。而在PCIe总线中,PCIe设备必须支持MSI或者MSI-X中断请求机制,
2022-01-16 22:29:41 10823
原创 PCIe 6.0概述
目录1.PCIe 6.0新特性2.通道和PAM-43.FLIT4.新的低功耗状态5.在64GT/s下保持性能6.PHY和控制器集成7.测试和调试注意事项8.总结1.PCIe 6.0新特性PCI Express(PCIe)6.0技术即将推出,对于高性能计算、AI和存储SoC开发者来说,理解并考虑如何最好地应对即将面对的关键变化,以及由此带来的设计挑战变得至关重要。这些变化包括从非归零(NRZ)转换到脉冲幅度调制4(PAM-4)信号导致对噪声的敏感性增加,转向FLow控制
2022-01-16 19:55:26 5916
原创 38.XDMA寄存器详解2-H2C、C2H通道寄存器组剖析
目录1.上节回顾2. H2C寄存器剖析2.1 H2C通道标识寄存器(0x00)2.2 H2C通道控制寄存器(0x04)2.3 H2C通道状态寄存器(0x40)2.4 H2C通道完成描述符数量寄存器(0x48)2.5 H2C通道对齐寄存器(0x4C)2.6 H2C通道查询模式回写地址寄存器(0x88、0x8C)2.7 H2C通道中断掩码寄存器(0x90)2.8 H2C通道性能监视控制寄存器(0xC0)2.9 H2C通道周期计数性能寄存器(0xC4、0xC8)2
2022-01-16 14:54:48 3226 3
原创 写给自己-第11天
很多关系,不是老的好,也不是新的好,而是一起经历了一些事之后,你还真切的觉得对方挺好,这才是值得你去认真对待和掏心窝子的关系。
2022-01-15 23:57:06 163 1
原创 37.XDMA寄存器详解1-内部寄存器概览
目录1.XDMA寄存器Bar空间映射规则2.XDMA寄存器概览2.1H2C通道寄存器组2.2C2H通道寄存器组2.3IRQ Block寄存器组2.4Config寄存器组2.5H2C SGDMA寄存器组2.6C2H SGDMA寄存器组2.7SGDMA Common寄存器组2.8MSI-X寄存器组3.XDMA寄存器Bar地址空间访问规则4.下节内容1.XDMA寄存器Bar空间映射规则IP核默认只支持DMA(支持DMA Stream和...
2022-01-15 23:29:10 2586
原创 36.XDMA原理详解2-DMA描述符、描述符FIFO、描述符旁路详解
目录1.上节回顾2.描述符详解2.1描述符数据结构2.2描述符各个字段详解3.XDMA描述符FIFO4.XDMA描述符旁路5.下节内容1.上节回顾上节我们讲解了描述符的概念及XDMA数据传输架构,描述符其实是用来描述将要执行的内存块传输,包含DMA传输源地址、目的地址、传输长度等各种核心信息。我们这节详细讲解描述符的数据结构及含义。2.描述符详解2.1描述符数据结构一个描述符由32字节组成,数据结构如下所示。 Offset(偏移)
2022-01-14 22:14:42 3158
原创 PCIe链式DMA传输原理详解
目录1.为什么需要链式DMA2.链式DMA传输原理详解1.为什么需要链式DMAXAPP1052我们学过每一次DMA请求开始后,只能传输PC 1个连续的物理内存块,如果要传输下一个内存块,则必须重新初始化内存并配置好DMA寄存器,再次启动DMA才可以完成。我们知道驱动申请一块连续的物理内存是否成功取决于系统内存大小,应用进程的多少等等因素,所以XAPP1052一次DMA的传输的最大值是不确定的。我在测试时,主机为2GB内存、开的应用也不多的情况下申请连续的4MB内存会时常失败。我们假设我们
2022-01-13 22:58:05 5600 5
原创 35.XDMA原理详解1-DMA描述符概述及DMA数据传输架构
1.DMA Operations(DMA操作)PCIe DMA引擎通常在PC内存和FPGA内存之间移动数据,FPGA通常是外接卡。当数据从主机存储器到FPGA存储器,称为主机到卡(H2C)的传输或系统到卡(S2C)的传输。相反,当数据从fpga存储器移动到主机存储器时,它被称为卡到主机(C2H)或卡到系统(C2S)传输。C2H、H2C这些术语有助于描述数据的流动方式(而不是使用读和写,后者很快就会引起混淆)。PCIe DMA引擎只是简单地将数据移动到PCIe地址空间,或者从PCIe地址空间获取数据.
2022-01-13 22:50:30 4755 3
原创 写给自己-第8天
每个人都是独立的个体,都有属于自己的生活方式。你不可能成为别人,别人也不可能成为你。你的生活别人不能复制,别人的生活也不可能适合你。在自己的日子中发现意义、创造价值,就是最美好的事。...
2022-01-12 22:57:03 176
原创 34.XDMA功能详解3-核的功能配置及中断原理
目录1.核的功能配置2.IRQ Module中断原理2.1传统中断2.2 MSI和MSI-X中断3.下节内容1.核的功能配置IP核默认只支持DMA(支持DMA Stream和DMA MM),DMA也是必须要开启的,也就是4通达H2C/4通道/C2H,此时DMA控制和配置寄存器存在于Bar0地址空间。如果使能PCIe to AXI Lite Master,则IP核会多出一个AXI Lite Master,此接口用于访问用户逻辑寄存器,这些寄存器存在于Bar0地址空间,而DMA控制和
2022-01-12 22:29:59 3849 6
原创 PCI总线地址空间与PC地址空间的映射关系及数据传输原理
目录1.地址映射原理2. PC和PCI设备数据传输原理2.1 PC作为主机2.2 FPGA设备作为主机3.核心总结1.地址映射原理其实很多复杂的外设和简单的外设原理都很像,PCIe设备其实就是主机的一个外设,就像STM32的UART一样,STM32 DMA可以从ram把数据给UART外设,DMA也可以把数据从UART外设搬运到ram,STM32 CPU也主动可以读写UART外设寄存器到自己的ram,这里UART外设和ram具有不同的地址。对于PCIe系统来说其实类似,FPGA.
2022-01-12 10:55:20 4850
原创 33.XDMA功能详解2-XDMA概述、功能框图、应用场景
目录1.XDMA概述2.XDMA功能框图3.支持的事务4.XDMA应用场景5.下节内容以下是对pg195-pcie-dma文档的翻译。每个我都会做对应的红色字体解释。1.XDMA概述DMA/Bridge Subsustem for PCI Express IP核可以被配置为高性能直接内存访问(DMA)搬运器或者被配置为一个桥(PCIe和具有AXI接口的内存空间)。(1)DMA数据搬运器:当作为DMA时,这个IP核可以被配置为AIX4(AXI4 Memory Mapped)
2022-01-11 22:37:23 4024 1
原创 32.XDMA功能详解1-初识XDMA
1.前期回顾前期我们讲解了PIO和XAPP1052的原理及代码剖析,本期我们开始讲解XDMA的相关知识及应用。2.什么是XDMAXDMA其实是Xilinx提供给我们的一个IP核,全程为DMA/Bridge Subsustem for PCI Express IP core,与前面讲解的XAPP1052功能类似,该IP核可以实现通过PCIe链路与PC进行DMA大数据传输,与XAPP1052不同的是该IP核不提供内部实现代码,我们只能去应用它。3.为什么要学习XDMA相比于XAPP1052,
2022-01-10 22:02:23 5815
原创 31.XAPP1052乱序分析及处理
目录1.XAPP1052乱序分析2.XAPP1052乱序处理2.1乱序处理方法选择2.2 XAPP1052乱序处理代码详解3.XAPP1052乱序处理后的波形分析3.1发送引擎3.2接收引擎4.XAPP1052乱序处理后的带宽测试5.下期内容1.XAPP1052乱序分析首先先给大家讲解下什么是PCIe的乱序。在PCIe系统中,乱序就是主机发送的TLP序列ID为1、2、3、4到从机,从机接收到的可能不是1、2、3、4。主机和从机如果都不解决乱序的问题,就会导致从机接
2022-01-09 12:43:27 1138 1
原创 写给自己-第4天
放下你的浮躁,放下你的懒惰,放下你的三分钟热度,放空你禁不住诱惑的大脑,放开你容易被任何事物吸引的眼睛,放淡你什么都想聊两句八卦的嘴巴,静下心来做你该做的事就好。
2022-01-08 23:13:57 313
原创 30.XAPP1052驱动实战2-DLL动态链接库应用
目录1.上节回顾2.创建MFC应用程序3.拷贝库文件到工程目录4.添加库文件到工程5.测试界面及代码设计6.源代码下载7.下节内容1.上节回顾上节课我们利用Windriver现有的函数封装了自己的PCIe DLL。本节我们要开发一个MFC应用程序,通过调用我们自己封装的DLL实现对DMA读写速度测试,界面如下图所示。2.创建MFC应用程序(1)打开VS2010,点击新建,我们创建MFC应用程序,如下图。(2)点击确定后会跳出以下界面,我们按照下面的
2022-01-08 22:52:53 379
原创 29.XAPP1052驱动实战1-DLL动态链接库封装
1.上节回顾上节课我们学习了virtex5_diag.exe应用程序完成DMA读写并实现中断响应的详细流程及源代码,这节我们利用Windriver现有的函数开始封装我们自己的PCIe DLL。2.安装VS2010我们这里使用的VS2010编译器,大家安装即可。3.封装DLL动态链接库代码我已经提前写好了,前面大家有了一定的基础肯定都可以看懂,这里只讲述整个封装DLL的流程及MFC使用方法。大家跟着我一步一步走即可。(1)创建以下文件夹用来存放我们的dll工程,课程中前缀aec代表a_
2022-01-08 01:03:44 426
原创 VS2010出现Warning C4996解决方法
1.项目->属性->配置属性->C/C++ -> 预处理器 -> 预处理器定义,增加_CRT_SECURE_NO_DEPRECATE。2.将原来的旧函数替换成新的Security CRT functions。sscanf---> sscanf_s
2022-01-07 22:35:25 587
原创 28.XAPP1052驱动详解-WinDriver DMA读写流程
目录1.上节回顾2.PC DMA读写流程图3.PC DMA读写源代码详解3.1 VIRTEX5_DMAGetMaxPacketSize详解3.2 VIRTEX5_DMAOpen详解3.3 VIRTEX5_DMADevicePrepare详解(核心)3.4 VIRTEX5_DmaIntEnable详解3.5 VIRTEX5_IntEnable详解3.6 DMA缓冲区初始化3.7 VIRTEX5_DMAStart详解4.下节内容1.上节回顾上节课我们给XAPP
2022-01-06 14:49:14 1242 4
原创 写给自己-第1天
每个人的心里,都藏着一个了不起的自己,只要你不颓废,不消极,一直悄悄酝酿着乐观,培养着豁达,坚持着善良,只要在路上,就没有到达不了的远方!
2022-01-05 20:15:53 237
原创 27.XAPP1052源码实战2-DMA读写在线波形分析
1.上节回顾上节课我们对XAPP1052源代码寄存器读写、DMA读写进行测试,本节课给加硬件逻辑分析仪,在线查看寄存器读写、DMA读写的波形。2.添加硬件逻辑分析仪ila2.1生成IP核如下操作添加IP。2.2接收引擎添加信号我们在接收引擎代码的最下面添加要观察的信号,注释非常清晰,这里不多说了,上节我给大家的代码也都已经添加好了。2.3发送引擎添加信号我们在发送引擎代码的最下面添加要观察的信号。添加完成后,点击生成bit流、烧写、重启电脑。3..
2022-01-05 15:30:08 2724
STM32 ST-LINK Utility3.9
2016-09-23
CPPTooltip VC++源代码及库文件
2016-09-11
MCUISP STM32串口下载工具
2016-09-03
STM32 F4 开发板 官方例程(经典)
2016-09-02
多进程编程实现浏览器 MuiltiProcess
2016-09-01
学习OpenCV(中文版).pdf
2016-08-29
VC6.0显示PNG图片
2016-08-29
GDI+库以及使用方法
2016-08-29
《数学之美》
2016-08-19
基于MFC的ActiveX控件开发(VC2005).pdf
2016-08-19
在指定位置画可拉伸的图片(用CMemDC封装).
2016-05-31
MFC制作闪烁灯、绘制彩色文字源代码
2016-05-30
xilinx DDS博客源代码
2020-12-02
vcvarsqueryregistry.bat
2020-04-10
VGA时序标准.zip
2020-02-18
老罗Android开发视频教程(第一季全部)
2017-11-13
MAX9285和MAX9296调试
2022-01-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人