草庐IT

AXI协议详解(4)-突发传输

突发传输本章介绍AXI突发类型以及如何计算突发内传输的地址和字节通道。它包含以下部分:寻址选项突发长度突发大小突发类型突发地址4.1关于寻址选项AXI协议是基于突发的,Master通过驱动传输控制信息和传输中第一个字节的地址来开始每个突发。随着突发事务的进行,Slave负责计算突发中后续传输的地址。突发不得跨越4KB边界,以防止它们跨越Slave之间的边界并限制Slave内所需的地址增量器的大小。4.2突发长度AWLEN或ARLEN信号指定每个突发内发生的数据传输次数。如表4-1所示,每个突发的传输长度为1-16。Table4-1Burstlengthencoding对于回环突发,突发的长度必

【正点原子FPGA连载】第二十一章AXI DMA环路测试 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

1)实验平台:正点原子MPSoC开发板2)平台购买地址:https://detail.tmall.com/item.htm?id=6924508746703)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-340252-1-1.html第二十一章AXIDMA环路测试DMA(DirectMemoryAccess,直接存储器访问)是计算机科学中的一种内存访问技术。它允许某些计算机内部的硬件子系统可以独立地直接读写系统内存,而不需中央处理器(CPU)介入处理。DMA是一种快速的数据传送方式,通常用来传送数据量较多的数据块,很多硬件系统会使用DMA,包括硬

STM32-单通道ADC采集(DMA读取)实验

关于ADC的一些原理和实验我们已经有了2篇笔记,链接如下:关于ADC的笔记1_Mr_rustylake的博客-CSDN博客STM32-ADC单通道采集实验_Mr_rustylake的博客-CSDN博客实验要求:通过ADC1通道1(PA1)采集电位器的电压,并显示ADC转换的数字量和换算后的电压值。我们通过下表可以知道DMA1通道1的外设对应的就是ADC1的读取。首先确定我们的最小刻度,Vref=3.3V,所以0V接下来确定转换时间。采样时间239.5个ADC时钟周期为例,可以得到转换时间为21us。时间转换公式参考如下公式:Tcvtmin=(12.5+X)周期=(12.5+X)/(12MHz)

AXI总线协议

目录AXI协议简介通道结构基本传输读burst示例连续读burst示例 写burst示例传输顺序握手过程写地址通道写数据通道写响应通道读地址通道读数据通道通道之间的关系通道握手信号的依赖关系关于寻址选择burst长度burst大小burst类型 地址固定的burst地址递增的burst地址卷回的burst响应信号简介响应类型正常访问成功独占访问从设备错误译码错误AXI协议简介AMBA-AXI协议以高性能,高频系统设计为目标,提供了很多适合高速亚微型系统互连的特征。最新的AMBA接口的目标是:        适合高带宽、低延迟的设计        不使用复杂桥的情况下能够进行高频的操作适应多部件

FT2004(D2000)开发实战之网口stmmac报错调试(Failed to reset the dma)

一报错信息概述主芯片为飞腾FT2004,网口MAC为stmmac,phy芯片为ar8035,工作接口为RGMII接口具体报错信息如下所示:[21.870860]IPv6:ADDRCONF(NETDEV_UP):eth0:linkisnotready[21.951300]Atheros8035ethernetstmmac-0:04:attachedPHYdriver[Atheros8035ethernet](mii_bus:phy_addr=stmmac-0:)[22.064603]stmmaceth2820c000.eth:Failedtoresetthedma

STM32F103:ADC采样——定时器触发+DMA传输

实现ADC多通道采样,采用DMA传输,采样由定时器触发初始化代码:voidAdc_Init(void){ GPIO_InitTypeDefGPIO_InitStructure; DMA_InitTypeDefDMA_InitStructure; ADC_InitTypeDefADC_InitStructure; TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure; TIM_OCInitTypeDefTIM_OCInitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Per

通过修改HAL_UART_Transmit_DMA()函数,解决串口发送DMA只能发送一次的问题

参考文章:1. http://t.csdn.cn/FT6Mg         2. http://t.csdn.cn/ejFIQ今天用STM32F1的HAL库开发遇到一个奇怪的问题,在主函数循环调用中用串口1的DMA请求,将内存中的数据发送给串口,无论延迟Delay开了多大,始终只能发送一次DMA数据。后来在网上查阅大佬的资料终于有了思路。废话不多说,先上代码:在stm32f1xx_hal_uart.c文件中找到HAL_UART_Transmit_DMA()函数实现,在解锁操作__HAL_UNLOCK;后添加代码:huart->gState=HAL_UART_STATE_READY; 编译以后

【STM32CubeIDE入门】(三)USART的配置及使用(DMA)

目录一、基础配置二、USART配置 1、通用配置 2、DMA设置三、printf重定向四、熟悉USART常用函数 1、有关Timeout设置问题 2、HAL_UART_GetState()函数 3、HAL_UART_Transmit_IT()函数 4、HAL_UART_TxCpltCallback()函数 5、HAL_UART_Receive_IT()函数& HAL_UART_RxCpltCallback()函数 6、HAL_UART_Receive_DMA()函数四、普通收发模式 1、发送示例 2、接收示例五、DMA收发模式        如果不知道如何创建工程文件的可以参考我之前写的一篇文

【ARM AMBA AXI 入门 5 - AXI 协议中的 QoS信号及User信号介绍 】

文章目录1.1QoS信号(QoSSignaling)1.1.1QoS信号的意义1.1.2QoS在芯片设计中的使用1.1.3AxREGION信号1.1.4USER信号上一篇:ARMAMBAAXI入门4-AXI协议中的Out-of-Ordertransferandinterleave介绍下一篇:ARMAMBAAXI入门6-AXI3协议中的锁定访问之AxLOCK信号1.1QoS信号(QoSSignaling)1.1.1QoS信号的意义QOS信号实际上没有明确的定义,但协议中推荐大家使用QOS信号来展示transaction的优先级,该标识符AxQOS[3:0]表示服务的优先级。在AXI协议中,常常用

STM32定时器DMA连续传送功能示例

在STM32定时器应用中,定时器事件配合DMA连续传输可对定时器的多个寄存器进行读写访问。定时器事件可以请求DMA,分为以下几种;并不是所有定时器都支持以下事件,高级定时器是支持的。其他定时器按功能部分支持,例如基础定时器因为没有输出输入通道,所以只有更新事件。TIM_DMA_Update:TIMupdateInterruptsourceTIM_DMA_CC1:TIMCaptureCompare1DMAsourceTIM_DMA_CC2:TIMCaptureCompare2DMAsourceTIM_DMA_CC3:TIMCaptureCompare3DMAsourceTIM_DMA_CC4:T