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核就生成了。