进击的ZYNQ【0】——搭建ZYNQ内核

时间:2024-03-15 08:33:40

1.选择芯片,新建工程,写好自己的底层module。

2.Create Block Design,拉出1个zynq。

进击的ZYNQ【0】——搭建ZYNQ内核3.双击这个system ZYNQ,弹出配置界面,配置顺序没有要求,我习惯先配置Peripheral I/O Pins。

进击的ZYNQ【0】——搭建ZYNQ内核

4.一般来说,要配置Ethernet,SD,UART,用SPI flash启动就配置spi。参照原理图,勾好引脚。注意选择BANK0 和BANK1的电压。这个步骤和stm32cube 配置是一样的,就是勾选PS的ARM核所属的专用引脚。

进击的ZYNQ【0】——搭建ZYNQ内核

5.本教程最终的目的是底层模块采集数据,存到axis fifo,达到一定条件后,产生中断给ps,ps用dma读取fifo内容,并运行lwip udp传送出去。zynq启动是先启动arm,再配置pl,并输出时钟给pl。依次配置。

6.PS-PL Configuration。general下配置uart波特率115200,HP Slave AXI interface下勾选HP0,是High performance slave axi,dma通过这个通道可以将fifo数据直接写到ddr3上。

7.Clock configuration下配置时钟,输入时钟50MHz,CPU 650MHz, DDR 525MHz,FCLK_CLK0   150MHz输出给PL。按实际和需求设置。

进击的ZYNQ【0】——搭建ZYNQ内核

8.设置DDR3和PL-PS中断。

进击的ZYNQ【0】——搭建ZYNQ内核

进击的ZYNQ【0】——搭建ZYNQ内核

9.设置完成。点确定退出ZYNQ配置。在原理图界面点run block automation。

进击的ZYNQ【0】——搭建ZYNQ内核

10.拉出来 AXI Direct Memory Access 和AXIS DATA FIFO。双击打开DMA, 只勾选写通道,S2MM是说stream to memory map,就是fifo到ddr3。双击fifo,修改下深度8192,勾选tlast,tkeep信号。axis fifo的输入是自己写时序的,tkeep根据位宽保持相应宽度的高电平即可,tlast根据需要赋值。

进击的ZYNQ【0】——搭建ZYNQ内核

11.设置好后,run connection automation。再右键自己写的底层模块,Add module to design block,连接好时钟,复位,信号线,zynq核就生成了。

进击的ZYNQ【0】——搭建ZYNQ内核