T527 camera: AHD摄像头转MIPI

一、AHD        

        常见的摄像头接口一般有MIPI、USB、DVP等等,但是MIPI摄像头受限于高速信号的传输距离问题,导致走线不能太长,这样在安防监控领域、车载等领域,使用就很受限,因此会引入AHD,目的就是提高了传输的距离。

        AHD是模拟摄像头,因此需要AD转换芯片来转换,输出数字信号给到主控进行接收。

二、AHD转MIPI调试

同样的转接芯片的驱动也是基于V4l2框架的,本次调试的是TP系列的TP2815。

TP2815 驱动模块主要实现将 4 路的 AHD/TVI/CVBS Camera 的数据转换为 MIPI 数据,从而实现在 T527 端来对数据进行处理和送显。

三、调试方法

1、硬件接口确认

 通信接口:

IO控制口:

T527 camera: AHD摄像头转MIPI_第1张图片

 TP2845原理图连接:

T527 camera: AHD摄像头转MIPI_第2张图片

从上面原理图分析可知:
1、使用的是 MIPIA 4 lane 的模式。
2、使用的是 PE1,PE2 这一组 TWI2 的通讯接口。使用的 MCLK 是 PE0。
3、RESET 控制接口为 PK11,PWDN 控制接口为 PK23。由于 TP2815 不需要使用 PWDN,所以只需要关心 RESET 脚便可。
4、供电由主机端供给,VCC‑IO‑SOC 为 3.3V,VCC‑5V 为 5V,VCC‑3V3‑EXTSYS 为 3.3V。供电基本都是 DCDC 直接控制,无需软件单独拉起。
从规格书发现,使用的是 27MHz 的 MCLK,而且 TP2815 的设备地址为 0x88。

2、软件修改

2.1、修改设备树

(1)使能 twi2

T527 camera: AHD摄像头转MIPI_第3张图片

(2)确认使用的是 PE1 和 PE2,然后确认 twi2 是否正常使能

T527 camera: AHD摄像头转MIPI_第4张图片

(3) 确认 io 控制口

由于 PK11 默认便初始化为 mipib 的接口,所以这里需要重定义一下 mipib, 不然直接使用 PK11 会 报错。

T527 camera: AHD摄像头转MIPI_第5张图片

(4) 确认使用 mclk id

根据MCSIA-MALK硬件可知引脚为PE0

 T527 camera: AHD摄像头转MIPI_第6张图片

从 sun55iw3p1.dtsi 中得知,PE0 为 mclk0

(5)配置 sensor

T527 camera: AHD摄像头转MIPI_第7张图片

(6)配置 pipeline 通路

T527 camera: AHD摄像头转MIPI_第8张图片

这里由于默认不使用 isp ,直接使用 isp4 (空的 isp) 便可。mipi 用的是 mipiA , 直接用 0 便可。

注意: 由于 T527 pipeline 支持在线模式和离线模式,所以会有 vinc00, vinc01 … 的节点配置项。我们默 认使用在线模式,只需要对应配置 vinc00 , vinc10, vinc20,vinc30 等便可。

2.2、驱动移植

(1)移植tp2815_mipi.c到longan/bsp/drivers/vin/modules/sensor目录下
(2)修改 Kconfig
T527 camera: AHD摄像头转MIPI_第9张图片
(3)修改 Makefile
在bsp/drivers/vin/modules/sensor/Makefile 中添加

四、结果验证

烧录完成 后便会自动注册生成节点, 图像正常显示。

五、常见问题

1、twi 通讯不通
检查电源是否供电正常或者配置 twi 是否正确
2、出现 cci is null 的错误
没有打开 CCI_TO_TWI 的宏(一般不建议使用 cci)
3、驱动加载正常,但是没有出现 video 节点
dts 文件配置出错,需要重新对一下 board.dts 中的配置,可以 cat /sys/kernel/debug/mpp/vi 去 获取通路状态,根据具体情况检查修正
4、图像黑白
检查设置的帧率以及图像格式是否正确。

你可能感兴趣的:(Android,人工智能)