姓名:刘保阔
学号:19021210887
【嵌牛导读】
赛灵思公司(Xilinx)推出的行业第一个可扩展处理平台Zynq系列。旨在为视频监视、汽车驾驶员辅助以及工厂自动化等高端嵌入式应用提供所需的处理与计算性能水平。Zynq-7000可扩展处理平台是采用赛灵思新一代FPGA(Artix-7与Kintex-7FPGA)所采用的同一28nm可编程技术的最新产品系列。可编程逻辑可由用户配置,并通过“互连”模块连接在一起,这样可以提供用户自定义的任意逻辑功能,从而扩展处理系统的性能及功能。不过,与采用嵌入式处理器的FPGA不同,Zynq-7000产品系列的处理系统不仅能在开机时启动,而且还可根据需要配置可编程逻辑。采用这种方法,软件编程模式与全功能的标准ARM处理SoC毫无二致。
原文链接:https://blog.csdn.net/q774318039a/article/details/88075706
【嵌牛正文】
1.选择芯片,新建工程,写好自己的底层module。
2.Create Block Design,拉出1个zynq。
3.双击这个system ZYNQ,弹出配置界面,配置顺序没有要求,我习惯先配置Peripheral I/O Pins。
4.一般来说,要配置Ethernet,SD,UART,用SPI flash启动就配置spi。参照原理图,勾好引脚。注意选择BANK0 和BANK1的电压。这个步骤和stm32cube 配置是一样的,就是勾选PS的ARM核所属的专用引脚。
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。按实际和需求设置。
8.设置DDR3和PL-PS中断。
9.设置完成。点确定退出ZYNQ配置。在原理图界面点run block automation。
10.拉出来 AXI Direct Memory Access 和AXIS DATA FIFO。双击打开DMA, 只勾选写通道,S2MM是说stream to memory map,就是fifo到ddr3。双击fifo,修改下深度8192,勾选tlast,tkeep信号。axis fifo的输入是自己写时序的,tkeep根据位宽保持相应宽度的高电平即可,tlast根据需要赋值。
11.设置好后,run connection automation。再右键自己写的底层模块,Add module to design block,连接好时钟,复位,信号线,zynq核就生成了。