【Hi3566V100】Serdes 的配置

一、前言

        上一篇博文介绍了 OV2775 的移植,本篇继续来介绍 Serdes 的配置,使用的 Serdes 是 THCV241A-THCV242 ,完成这一步即可点亮 OV2775 了。

二、添加 serdes

2.1 编译 serdes

       (1) 在 amp/a7_liteos/drv/extdrv/serdes 中修改 Makefile,将 serdes type 修改为 241a242, 具体修改如下:

      

      

       (2) 在 amp/a7_liteos/drv/extdrv 下 make clean 后再 make all,会在 serdes 目录下生成   thine_241a242_serdes.o, 具体如下:

三、使用 VdesignTool 工具

       Thine 的 serdes 可以直接通过其提供的 VdesignTool 工具来生成对应寄存器配置,这里主要介绍如何生成 Defensor 板上的 THCV242 及 THCV241a 的可用配置,具体操作如下。

3.1 分析

       由于 Defensor 板上的解串器只接了一路 Camera,而且通过手册及原理图可以得出 THCV241A 的设备地址为 0x34,

THCV242 的设备地址为 0x0B,而且由于 ov2775 是 1080p30,且传输的图像格式为 RAW12,通过推导这里选择的是 720Mbps。

3.2 使用操作

       (1) 进入 System Configuration,选择 Camera 个数

        

       (2) 进入 Select Tx device,填写THCV241a 设备地址

      

       (3) 进入 Select Rx device,填写 THCV242 设备地址

      

       (4) 进入 Set MIPI CSI-2 values for Tx ,填写 bitrate 以及 lane num

      

       (5) 进入 Set MIPI CSI-2 value for Rx,填写 lane num

      

       (6) 进入 Set Reference Clock Input,填写 CKI

      

       (7) 进入 set V-by-one HS value,设置 v-by-one lane num 以及 format

      

       (8) 进入到 Use of Sub-Link ,这里我们选择如下:

      

       (9) 进入到 Set I2C Clock and Target ID,这里按照默认选择便可

      

       (10) 进入到 Set GPIO for Tx and Rx,这里按照默认选择便可

      

       (11) 进入到 Select Target Environment,这里也是按照默认配置便可。

      

       (12) 最后进入到生成文件的界面,可以按照自己的需求选择,我这里选择的是 Command Only。

      

       点击 Generate 后,会让你选择保存路径,保存下来后,便会弹出下面对应配置的文本。

      

       然后按照对应寄存器的配置去写入 amp/a7_liteos/drv/extdrv/serdes/thine_241a242_serdes.c 中便可。

       这里需要注意,0x0040 和 0x0041 需要填入的是 sensor 的 7 bit 地址,而生成的文件中一般默认都是 0 ,



这里我们使用的 ov2775 的 7 bit 地址是 0x36。这里还需要注意的主要是 PLL 的配置,这里比较容易配置出问题。

四、调试验证

       将上面修改后的 sdk 重新编译生成固件,然后烧录进 Defensor 板中,可以使用 i2ctool 先验证是否正确读出 thine serdes 以及 sensor 的地址,如果正常后,便可以验证能否正常读写 serdes 和 sensor,如果没有问题,便证明 i2c 操作完成,可以开始验证是否初始化 sensor,如果在 liteos 端 cat /proc/umap/mipi-rx 可以发现第二个 dev 可以 detect 到宽高,那便可以证明初始化 sensor 成功,如果没有,可以检查是否有 mipi data 信号,如果有,可能是 serdes 配置问题,可以尝试修改 mipi data rate 重新配置 serdes,如果没有,有可能是 i2c 写 sensor 没成功,需要排除一下 i2c 读写问题,或者是 sensor 地址写错,也有可能是 serdes 配置中 gpio 的问题。

       如果一切都验证没有问题,正常 cat/proc/umap/mipi-rx 应该如下:

       可以获取到画面如下:


五、参考文档
【1】《HiMobileCam V2.0参考设计开发指南.pdf》
【2】《Camera Sensor V2.0 适配指南.pdf》

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论

yans

yans

1 个月前
大佬 能问下无法通过242访问241的问题有遇到过吗