ZYNQ进阶之路12--自定义AXI-FULL IP实现PL端向DDR3写数据和PS端实现高速通讯
导语
之前一段时间博主事情实在太多没能实现博客一周一更新的梦想,哎,梦想总是会被现实打败!可能以后都不能保持一周一更新了,但是一旦有时间一定会继续更新,给大家带来优质的博客内容(自己认为还是比较优质的,哈哈哈)。好了进入正题,之前的章节中我们讲解了如何自定义AXI-Lite IP实现PWM,AXI4-Lite是一个轻量级的,适用于吞吐量较小的地址映射通信总线,本章节中我们讲解如何通过自定义AXI-FULL IP实现PL端写数据到DDR3中并和CPU共享内存数据,实现数据的高吞吐量传输。但是苦于博主手上没有高速的外设设备可以使用,所以我们用低速的串口来验证总线通讯的真确性。虽然用的是串口实现,但是也会充分反映开发的流程和高速通讯的正确性。根据官方数据手册说明AXI4-Lite的理论带宽能达到600MB/s,而AXI-FULL/AXI-Stream能达到其两倍以上,但是因为AXI-GP接口只能单数据传输,而AXI-HP接口能批量传输数据,所以实际运行时的带宽可能是AXI4-Lite的好几倍甚至更高。
配置PS端
新建工程
首先新建工程如下:
按照如下步骤配置PS端
选通AXI-GP和AXI-HP接口:
选通QSPI接口和UART1接口
设置PL时钟频率为100MHz
设置DDR型号