环境
- FPGA采用的是高云小蜜蜂家族的GW1N-LV4QN88C6/I5
- 摄像头使用OV2640,可以配置数据为JPEG压缩后输出
- 采用DC-DC降压到3.6V再LDO降至3.3V与2.8V,OV内核和FPGA内核采用DC-DC降到1.2V使用
FPGA部分
编程流程图
- I2C驱动
- FIFO配置
- 通过I2C配置OV2640寄存器
- 获取DCMI接口数据
- JPEG找出帧头帧尾
- 把有效数据存入FIFO
- SPI读FIFO数据输出
I2C驱动
参考:正点原子OV5640驱动程序
FIFO配置
通过FIFO SC HS IP核向导生成(SC是同步的意思),在使用的时候需要查看IP核用户指南,重点要看时序部分
SPI驱动
经验总结
本次FPGA实现读取OV2640并SPI发出来的小功能,解决了低端MCU没有DCMI外设,遇到了IP核不会使用的问题,要多看手册里的时序部分。还有就是有些数据处理的时候要缓冲,加延时,否则会造成信号的错位。后面我要加强流水线结构的设计,多用并行的思想发挥FPGA的优势。