草庐IT

Ultra DMA CRC 错误计数 【警告】

    最近使用鲁大师体检,提示我UltraDMACRC错误计数,我第一次遇到这个问题。        因为前几天固态硬盘就意外损坏,所以这次就很担心硬盘再次损坏。于是上网查找资料!原因分析:1、可能是硬盘和主板连接的SATA数据线接触不良导致;2、软件误报3、硬盘质量问题。解决方法:1、首先尝试换一条做工质量都比较好的SATA数据线,看问题能否解决。2、用AIDA64或HDTUNE看下SMART健康值,看数值是否增加,如果增加了,就把关机下把硬盘线对调多插拔几次或和光驱线换下看是否增加,不增加了还蓝屏有有可能是其它问题。3、如果使用的是鲁大师检测出现“ultradmacrc错误计数”而电脑本

FPGA PCIE接口的Linux DMA Engine驱动

摘要英创嵌入式主板,如ESM7000系列、ESM8000系列等,均可配置标准的PCIE×1高速接口。连接NVMe模块作高速大容量数据存储、连接多通道高速网络接口模块都是PCIE接口的典型应用。此外,对于工控领域中的高速数据采集,还可采用FPGA的PCIEIP核实现PCIEEP端点,与英创嵌入式主板构成高效低成本的应用方案。本文简要介绍方案硬件配置,以及PCIE在Linux平台上的驱动程序实现。硬件设计要点Xilinx公司为它的FPGA设计有多种PCIEEP端点的IP核,针对本文的应用需求,选择DMA/BridgeSubsystemforPCIExpressv4.1(简称PCIE/XDMA)。P

【物联网】DMA传输原理与实现详解(超详细)

DMA(DirectMemoryAccess,直接内存访问)是一种计算机数据传输方式,允许外围设备直接访问系统内存,而无需CPU的干预。文章目录Part1:DMA的工作原理配置阶段:数据传输阶段:Part2:DMA数据组成Part3:DMA传输过程的实现Part4:DMA中断处理和性能优化DMA中断处理:DMA性能优化:Part5:STM32实现DMA基于标准库基于HAL库Part1:DMA的工作原理DMA(DirectMemoryAccess,直接内存访问)是一种计算机数据传输方式,允许外围设备直接访问系统内存,而无需CPU的干预。下面详细介绍DMA的工作原理:配置阶段:配置源地址(Sour

【STM32F4系列】【HAL库】【自制库】WS2812(软件部分)(PWM+DMA)

文章目录相关链接协议外设设置硬件PWM分析HAL设置DMA分析HAL设置方案设计代码实现解码函数开始发送和复位发送函数波形成品相关链接硬件介绍(PCB设计方案)模拟时序发送协议WS2812是一种异步串行通信,它每一位数据时间是ns级别的默认是高电平状态0码:220-380ns高电平+580-1600ns低电平1码:580-1600ns高电平+220-380ns低电平复位码:>280us低电平24Bit数据来代表GRB的亮度值从高位到低位发送,分别按照G->R->B的顺序发送先发送第一个灯的数据(离Dat输入直连的那个灯)例子:分别发送红绿蓝三色的数据给3个ws2812外设设置硬件PWM分析ST

GD32F4单片机实现接收超时中断+DMA实现串口的不定长接收和DMA发送

1、通常的实现方式介绍环形缓冲区+定时器超时中断的方式优点环形缓冲区可以接收多帧数据数据帧超时间隔可以设置缺点设备任务比较繁重时,使用中断接收可能会丢失数据。尤其是在长时间关闭中断或者串口中断优先级不高时频繁进出中断。在使用RTOS的系统中,每收到一个数据就会进行一次任务到中断的切换和中断到任务的切换使用串口接收空闲中断+DMA的方式优点不会频繁在任务和中断之间切换,效率会更高一般不会丢失数据缺点空闲中断的时间对于同一个波特率来说是固定的,但某些时候1个字节的接收时间太短,不能作为数据帧接收完成的标志2、接收超时中断的相关内容GD32F4系列的单片机串口除了空闲中断外,还有可配置时间的接收超时

AMBA协议AXI-Lite(AXI-Lite介绍)

文章目录一、AXI_Lite简介二、AXI_Lite系统框图三、握手协议三、AXI-Lite信号表四、AXI传输机制五、AXI读写时序总结一、AXI_Lite简介AXI_Lite顾名思义即简化版的AXI协议,是对完整的AXI协议裁剪后的AXI协议;特点:突发长度永远是1,即只能单次读写,无法连续读写,常用于配置寄存器;由于删减了逻辑,其资源也消耗较少;地址映射,相较于AXI-Stream,AXI-Lite的每个数据读写都需要对应的地址;二、AXI_Lite系统框图AXI_Lite的系统框图如下:首先,AXI_Lite的读写通道分离,即AXI是一种全双工总线,在同一时刻可以同时进行读写操作;其次

STM32+UART串口+DMA收发

目录1、cubemax端配置1.1初始化配置1.2GPIO配置 1.3UART配置1.3.1串口基础配置1.3.2DMA配置2、keil端代码设计2.1初始化配置2.2DMA接收初始化配置2.3DMA发送配置 2.4接收回调函数设置2.5回调函数内容代码编写2.5.1接收回调函数2.5.2发送回调函数2.6回调函数内容代码优化1、cubemax端配置1.1初始化配置首先通过STM32cubemax进行基础配置: cubemax基础配置1.2GPIO配置通过一个LED小灯(高电平有效)来观察效果,对PB0引脚进行GPIO配置,如下图所示: 1.3UART配置1.3.1串口基础配置1.3.2DMA

【STM32】HAL库 STM32CubeMX——DMA (串口DMA发送接收)

文章目录实验环境一、DMA的基本介绍(1)DMA的定义(2)DMA传输方式(3)DMA传输参数(4)DMA主要特征(5)DMA工作系统框图二、串口DMA通信程序设计三、使用KEIL5完成简单DMA数据发送4.总结实验环境软件:STM32CubeMXKEIL5mcuisp串口通信助手硬件:STM32F103C8Tx杜邦线,面包板,USB转TTL一、DMA的基本介绍(1)DMA的定义DMA,全称DirectMemoryAccess,即直接存储器访问。DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。我们知道系统的运作核心是CPU,CPU

STM32系列(HAL库)——F103C8T6驱动WS2812全彩RGB模块(PWM+DMA方式)

1.软件准备(1)编程平台:Keil5(2)CubeMX2.硬件准备(1)某宝买的RGB模块(4个灯珠级联)(2)F1的板子,本例使用经典F103C8T6(3)ST-link 下载器(4)杜邦线若干3.模块资料(1)模块简介:没什么比手册讲得更加清楚了,模块中文数据手册:ws2812b中文资料_数据手册_参数(2)驱动原理:         以上这是数据手册中提到的,WS2812驱动用的是单线归零码的通讯方式。不同占空比的方波代表1码或者0码,这里不同的占空比就是 0码或1码高电平时间/方波周期时间。对于本次例程,我们就是改变PWM的占空比实现0码或1码的传输。(3)PWM+DMA原理:   

【学习笔记】AXI接口

        AXI(AdvancedeXtensibleInterface)是ARM公司推出的一种高性能、低成本、可扩展的高速总线接口。它被广泛应用于数字系统中,尤其是嵌入式系统中。AXI接口具有高度的灵活性和可扩展性,可以适应不同的应用场景和系统需求。它支持多种传输类型,包括读取、写入、缓存、锁定和原子性操作,同时还支持带宽、延迟和优先级等参数的配置。此外,AXI接口还支持多个主设备和多个从设备之间的交互操作,可以方便地构建高度集成的系统。AXI接口有三种类型:AXI4、AXI4-Lite和AXI4-Stream。其中,AXI4是最完整、最全面的版本,它支持大量的高级特性,包括数据一致性