1、前置摄像头
高级驾驶员辅助系统中的摄像头系统可以分析视频内容,以便提供车道偏离警告(LDW)、自动车道保持辅助(LKA)、远光灯/近光灯控制和交通标志识别(TSR)。在前视黑白摄像头中,图像传感器会向配备DSP扩展的双核MCU提供传入视频帧,以进行图像处理。其他系统要求包括提供适当的物理通信接口、电源、可选的DRAM以及可降低系统成本的嵌入式闪存。
2、后置摄像头
智能后视摄像头可在本地对视频内容进行分析,以实现物体与行人侦测。此外,它们还支持全面的本地图像处理及图形叠加创建。它们能够测量物体距离,并触发制动干预。这种功能可以帮助驾驶员安全倒车,方便他们停入车位。
3.环视泊车辅助系统
多摄像头环视泊车辅助系统可以采集车辆四周的图像,并以虚拟俯视图的形式在屏幕上显示。视角会根据行车轨迹而动态移动,提供车辆四周360度的画面。高级系统通常采用LVDS或快速以太网等经济高效型链路,部署4到5个高动态范围(HDR) 100万像素摄像头。可以使用视频压缩来减少所需的通信带宽并降低布线要求(例如,可以使用非屏蔽双绞线或同轴电缆)。
多camera组成的360环视辅助驾驶硬件系统方案:
单camera模组方案:
串口解串芯片器件选型:
TI公司的DS90UB964-Q1是多功能摄像头集线器,可通过FPD-Link III接口连接4个独立视频数据流所收到的串行摄像头数据,与DS90UB913A/913Q串行器相结合时,可接收来自100万像素图像传感器的数据,并在30Hz或60Hz帧速率下支持720p/800p/960p分辨率,主要用在汽车ADAS系统如环视系统,照相机监视系统,传感器融合以及安全和监视系统
FPGA器件选型:
camera sensor与串行/解串+FPGA组成的硬件系统:
camera模组系统结构图:
双摄像头组成的硬件系统:
OV2715-1E芯片的参数:
OV2715-1E芯片的内部结构图:
控制类:
IICSDA – IIC总线的数据线
IICSCL – IIC总线的时钟线
数据传输类:
CAMRST – 复位CMOS摄像头模块
CAMCLK – 摄像头模块工作的系统时钟(24MHz)
CAM_HREF – 行同步信号
CAM_VSYNC – 帧同步信号
CAM_PCLK – 像素时钟
CAMDATA0~7– 数据线
调试问题:
static Xuint8 iicData[][2] =
{
{0x4C,0x01}, //Enables write enable for Port 0
{0x58,0x58}, //I2C passthrough enabled and back channel frequency select
{0x5C,0xB0}, //Sets serializer alias to B0
{0x5D,0xD8}, //Sets slave ID for imager to (0x6C << 1)
{0x65,0xDA}, //Sets slave alias for imager to (0x6D << 1)
{0x6D,0x7E}, //Configures port to coax mode and FPD III to RAW10 mode
};
ZYNQ芯片通过IIC配置了934芯片后,继续配置0V2715,为什么用示波器无法探测到OV2715的I2C信号?
解答1:
ZYNQ有没有时钟拉伸的功能?
FPDlink的串行器和主控芯片通信的时候,可以通过IIC直接解决。
但是当主控芯片读远端的解串器和下游设备通信的时候,需要通过FPDlink的芯片解码实现,也就是在从主机给下游的设备通讯的时候,在获取acknowledge这个信号的时候,需要等待,也就是主控芯片需要能接受时钟拉伸的功能。
可以解决的方法有两个:
1. 设置I2C的通信速度较慢,可以尝试小于30kHz
2. 编辑FPGA的IIC通讯程序,让它能接受时钟拉伸的功能。
时钟拉伸相关资料请参考FPDlink数据手册。
解答2:
ZYNQ和 0V2715通信,需要配置Slave ID[0]和Slave Alias [0]这两个寄存器。即0X5D和0X65.
0X5C serializer alias是指的host和 remote seralizer(DS90UB933)通信需要配置的寄存器。
把这行 {0x5C,0xB0}, //Sets serializer alias to B0去掉试试呢?