AXI总线学习

上传人:fe****16 文档编号:132558466 上传时间:2020-05-17 格式:DOCX 页数:15 大小:1.18MB
返回 下载 相关 举报
AXI总线学习_第1页
第1页 / 共15页
AXI总线学习_第2页
第2页 / 共15页
AXI总线学习_第3页
第3页 / 共15页
AXI总线学习_第4页
第4页 / 共15页
AXI总线学习_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《AXI总线学习》由会员分享,可在线阅读,更多相关《AXI总线学习(15页珍藏版)》请在金锄头文库上搜索。

1、PG021S2MM Memory Interface Signals初始值m_axi_s2mm_awaddr(C_M_AXI_S2MM_ADDR_WIDTH-1: 0)O全0写通道地址线m_axi_s2mm_awlen(7:0)O全0写地址通道突发长度数据量-1m_axi_s2mm_awsize(2: 0)O全0突发数据宽度000b = 1 byte (8-bit wide burst)001b = 2 bytes (16-bit wide burst)010b = 4 bytes (32-bit wide burst)011b = 8 bytes (64-bit wide burst).10

2、0b = 16 bytes (128-bit wide burst)101b = 32 bytes (256-bit wide burst)m_axi_s2mm_awburst(1:0)O全001b = INCR - Incrementing addressm_axi_s2mm_awaddrO写地址通道写地址有效I从设备准备好接受写地址O写数据通道数据线O字节使能信号O写数据通道最后一个数据标志O写数据通道数据有效标志I从设备准备接收数据就绪I写应答通道响应00=OK10=从设备返回错误11=地址译码错误I写应答通道应答有效标志O准备好接收应答信息寄存器空间支持Scatter/Gather0M

3、M2S DMA控制寄存器4MM2S DMA状态寄存器8MM2S 当前描述符寄存器10hMM2S尾描述符寄存器30hS2MM DMA控制寄存器34S2MM DMA状态寄存器38S2MM 当前描述符寄存器40S2MM 尾描述符寄存器不支持Scatter/Gather0MM2S DMA控制寄存器4MM2S DMA状态寄存器18hMM2S源地址寄存器28MM2S突发长度寄存器30hS2MM DMA控制寄存器34S2MM DMA状态寄存器48S2MM 目的地址寄存器58S2MM 缓冲区长度全部是小端地址模式:DMA控制寄存器:Bit0:0当前DMA操作完成后停止DMA传输或者S/G方式下未完成的命令或传

4、输都被清掉。AXI4-Stream outs are potentially terminated early. Descriptors in the update queue are allowed to finish updating to remote memory before engine halt.1启动DMA传输。Bit2:软件复位整个DMA引擎。Bit12:中段完成使能。Bit13:中段完成延时使能。简单模式下无效。Bit14:错误中断时能。Bit23:16中断阈值。最小值为1.每发生一次中断,中断阈值计数器减一,当中断阈值寄存器为0时,DMA引擎向外产生一个中断。简单模式下无

5、效。Bit31:24中断延时寄存器。用来设置中断超时时间。Interrupt Delay Time Out. This value is used for setting the interrupt timeout value. The interrupt timeout is a mechanism for causing the DMA engine to generate an interrupt after the delay time period has expired. 当中断延时寄存器失效后为了保证仍然可以差生中断。This is used for cases when the

6、 interrupt threshold is not met after a period of time, and the CPU desires an interrupt to be generated. Timer begins counting at the end of a packet and resets with receipt of a new packet or a timeout event occurs. Setting thisvalue to zero disablesthe delay timer interrupt.如果在一定的时间内,中断阈值寄存器仍然不到0

7、,而且CPU希望产生一个中断。那么在一个数据包完成后,计数器开始计数直到接收到一个新包后或者超时事件发生后复位计数器。DMA状态寄存器:Bit0:停止状态位。0=DMA运行1=DMA通道停止。从DMA控制寄存器的停止位到状态位反映出来有一段时间。Bit1:DMA通道空闲。Bit3:支持S/G方式否。Bit4:DMA内部错误。Bit5:DMA Slave错误。Bit6:DMA译码错误。Bit8:SG方式内部错误。Bit9:SG方式从设备错误。Bit12:DMA传输完成中断位。如果中断完成了并且中断阈值达到了,就会产生一个AXI DMA中断。SG方式下才有CTRL、Status STREAM,所以

8、才有APP0APP5。尾描述符里存着状态数据。如果使用了应用层状态数据,低23位必须存储RxLength必须载入尾描述符的APP4里。如果没有使用,尾描述符的APP4存储接受到的状态数据。数据结构式链表,头指针指向下一个指针,尾指针指向头指针。从获得带有TXSOF的包开始,一直获取到TXEOF的包为止。每个描述符的状态域存储了实际传输的字节数。把所有描述符的字节数累加起来就是总接收数。描述符管理DMA启动位置1;尾描述符指针指向BD12;将描述符入队直到队满;更新当前指针指向下一个描述符;只要尾指针不等于当前指针,并且队不满,描述符入队;队列更新;完成位为1的描述符被释放掉用于再分配。描述符的

9、值域被更新(包括完成位,其他控制位,缓冲区指针,缓冲区长度等)。描述符再分配后,尾指针指向最后一个再利用的指针。如果DMA暂停(遇到了初始TAILDESC_PTR指针指向的地方),当写了新的TAILDESC_PTR值后,重新启动。AXI DMA向目标器件插入了一个标志表示数据类型。对于以太网,控制标签的最高字节为A。状态FIFO填满了,AXI DMA在数据流中会插入等待周期。AXI Interconnect可以插入读/写FIFO缓冲来避免死锁。AXI DMA *_ISSUING乘以*_BURST_SIZE*_FIFO_DEPTH使用EDK的时候,为MM2s和S2MM都实例化了FIFO。中断控制器一旦接受到EOF标志的包开始计数。接收到SOF标志的包后复位。当一个延时中断发生后,延时计数器清零,直到中断服务程序中DMASR.Dly_Irq位清零后才继续计数。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号