在摸索了一段时间的Zynq后,自己制作了一块XC7Z020板子,板子到手后考虑使用中的总体框架。基本确定使用Ethernet为PC和board之间的通讯方式,DDR3作为PL端的大数据存储单元,并且划出一些寄存器用于PS和PL间的指令下达和状态返回用途。PL大数据传输例化DMA_IP core,连接DDR3。编写带AXI_lite接口的自定义IP_Core任意读存DDR3,兼顾PL扩展IO用途。在Ethernet使用中,PS SDK编写使用LWIP协议,并开放UART接口方便调试。
基本框架如下:
Firmware 编写思路:
1. 在Vivado中编写用户自定义function_IP with AXI_lite;
2. 在Vivado中想调用ZYNQ7 processing system,AXI_DMA模块,并做相关设置;
3. 调用用户自定义function_IP with AXI_lite 模块;
4. 自动连线,并手动连接必要信号;
5. 导出到SDK工程后,开始PL SDK编写,准备使用裸奔程序;
6. 其主要思路为初始化-等待-命令-执行-反馈-等待,是和PC互动过程;
7. 上位机编写待续;
具体工作待续,后期补充。。。