队名称:Great Bee
大家好,本团队此次分享的内容为FPGA的图像采集过程。
模块设计时写操作用了一个片内FIFO作为写缓存,并设计了向FIFO写数据模块将配置数据写入FIFO中,之后模块产生SPI时序完成一次写操作。读操作时用了一个片内RAM作为寄存器数据读缓存,每次一次性读取所有128个寄存器的值并存入RAM,RAM的存入地址即为寄存器的地址。读写模式选择通过一个开关控制,在写操作完成后会产生一个同步信号初始化下一模块以进行后续的操作。
在Vivado中通过加入ILA核对模块中引脚实时采样,采集到的SPI读写时。目的是将41号寄存器的值设置为4,16位串行数据为1(写)0101001(41)00000100(4),下图是读采样的部分截图,16位串行数据为0010100100000100,同样根据SPI时序可得到41号传感器的值已经设置为4。在一次使能过程中可将全部需要配置的寄存器配置好,之后传感器可正常工作,再将帧请求信号置高,传感器便可采集图像。