基于FPGA的板级双目工业相机系统设计
简介
基于FPGA的板级双目工业相机系统 使用XC7A50T-1FTG256IFPGA采集双目MIPI摄像头图像(SC130GS),通过USB3.0传输图像至PC上位机
简介:基于FPGA的板级双目工业相机系统 使用XC7A50T-1FTG256IFPGA采集双目MIPI摄像头图像(SC130GS),通过USB3.0传输图像至PC上位机开源协议
:GPL 3.0
描述
1.需求分析
本项目旨在设计一款小而美的USB3.0双目工业相机
2.硬件设计
2.1 器件选型
2.1.1 FPGA选型
本次设计采用了XC7A50T-1FTG256I,首先该封装体积小,引脚间距大,方便焊接,其内部逻辑资源完全足够。
2.1.2 USB控制器选型
本次设计采用了FT601Q USB3.0 FIFO芯片作为 数据传输接口,回环实测速度在350MByte/S。
2.1.3 图像传感器选型
本次设计采用了MIPI接口的黑白SC130GS图像传感器,1280*1024分辨率,4um像元尺寸,帧率240hz,4laneMIPI接口。
2.1.4 电源芯片选型
电源芯片采用了集成电感的DCDC TPS82130SILR,可以节省一些面积,但是提高了焊接难度。对于这种封装,手动焊接方法如下:
(1)每个焊盘均匀上锡
(2)抹一层助焊剂,放芯片
(3)热风枪加热焊接
FPC座子焊接也可以参照上述过程。
2.2 方案设计
2.2.1 BANK功能划分
(1)BANK14 BANK34 两组包含了USB3.0 按键 指示灯 以及MIPIC MIPID接口的控制信号,电压为固定3.3V
(2)BANK15 用于连接DDR3,电压为固定1.5V
(3) BANK35 用于连接四个MIPI接口和MIPIA MIPIB接口的控制信号,电压为固定2.5V
2.2.2 摄像头采集方案
SC130GS MIPI接口在实际使用过程中,发现MIPI仅有HS信号,没有LP信号,因此本次设计中未使用电阻网络或者电平转换芯片(MC20901),对于其他型号的MIPI接口sensor,如果不加电阻网络或者MIPI转LVDS的电平转换芯片,会有大问题。
对于本次设计的SC130GS摄像头板,控制信号主要包含PWDN,I2C_SCL,I2C_SDA,Trig0。电平均为1.8V,因此在FPGA主控板必须要增加四个四通道电平转换芯片,匹配两端的电平,MIPIA MIPIB这一组接口采用2.5V转1.8V,MIPIC MIPID这一组接口采用3.3V转1.8V。
2.3 原理图设计
FPGA主控板原理图主要包含四部分,FPGA最小系统设计(含按键 LED)、DDR3设计、USB3.0控制器设计、摄像头接口设计。详见工程原理图。
摄像头原理图主要为图像传感器外围电路设计、接口电路设计以及电源电路设计。
除此之外还设计了xilinx下载器及转接板、FPC转HDMI转接板。
2.软件设计
2.1 FPGA开发
FPGA设计中主要包含图像采集模块,摄像头控制模块,图像缓存模块,图像传输模块。MIPI采集可使用github的开源mipi源代码,也可以使用奥唯思 XC7A100T板卡资料中的MIPI网表。USB3.0数据采集控制使用了米联客 FT601Q的FDMA采集方案。
第一次使用USB3.0,必须要配置FT601Q进入到245FIFO模式。使用FT600ChipConfigurationProgUtility该软件操作。
2.2 上位机开发
本次设计基于米联客 FT601Q的FDMA采集方案中的上位机进行二次开发,增加了摄像头曝光时间及增益控制功能。
2.3 焊接完成效果
(1)FPGA主控
(2)FPC转HDMI
(3)使用了CNC外壳的版本
3.系统测试
(1)原始图像显示效果
(2)水平翻转显示效果
(3)垂直翻转显示效果
(4)扩大增益显示效果
(5)FT601Q回环测速
(7)FT601Q 4路视频流采集显示
详细文档可以参考上传的使用说明文档。
版本说明:
V1.0为初始版本
V1.1版本变更记录
1.DDR3_D9引脚从H12修改为G15
2.DDR3_DM1引脚从G12修改为H12
3.DDR3_A4引脚从D9修改为D10
4.留出DDR_VREF引脚接到外部0.75V,当使用xc7a50tftg256-3 芯片时,DDR3速度可以到达1066MBPS,此时必须选用外部VREF
5.增加G11引脚作为LED输出
6.V1.0版本可实现任意双目(2560X1024)图像采集以及任意三目(3840X1024)图像采集,当采集全画幅四目图像时,由于DDR3有效带宽不足,无法正常缓存图像
因此在V1.1版本,FPGA可以选用-3等级的型号,同时在MIG IP核中将DDR3数据速率设置到1066MHZ,以此来增加DDR3有效带宽,四目采集(2560*2048/5120*1024)已验证
V1.2版本变更记录
1.去掉所有摄像头FPC接口,使用BTB连接器更为通用,可以根据个人需求设计各类子卡连接。
2.BANK15 所有IO均做了差分等长
3.BTB引出1.5V 1.8V 2.5V 3.3V 5V 五组电平
4.使用单端IO时,注意其电平
评论