在之前七章已经做到了将IMX222摄像头的数据进行HDMI显示,这一章就做一个阶段性的总结,简单说明一下总体的架构以及重要信号的作用
1.总体架构
2.数据走向
- 进行IMX222初始化,使用SPI总线,SPI总线是ZYNQ核以EMIO引出,在vitis中进行配置
- IMX222初始化完成之后开始rgbin_clk,bayer_data就会有数据进来,这个数据通过bayer2rgb模块将Bayer格式转换为rgb格式,这个模块的复位信号是通过spio引出,复位之后开始等待无效行,这样保证了输出的rgb数据是是从一帧的开始到一帧的结束
- baye2rgb模块输出的数据给到DMA_WR模块,这个模块一直等待着fv拉高,当fv拉高之后才把行有效的数据送入wr_fifo中,然后在fifo中的数据大于一个突发256的时候就开始进行AXI突发传输将fifo中的数据传送到DDR中
- DMA_RD模块当内部fifo的写数据小于1920个的时候开始读ddr内存数据,当内部fifo的读数据大于1920的时候拉高vga_start信号,表示vga_control模块开始工作,因为axi时钟是200M,vga_control模块的时钟hdmi的1x时钟才148M,所以不会造成fifo空的情况
- vga模块将fifo中的数据转换成vga的格式输出给HDMI模块进行输出