日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

rk3288 android6.0平台bt1120信号转mipi调试

發布時間:2023/12/10 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rk3288 android6.0平台bt1120信号转mipi调试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

說明:使用龍訊LT8918芯片將bt1120信號轉換為mipi信號輸入到rk3288,不需要i2c通信.

注意:如果能正常打開任意一款mipi camera,那么kernel的配置不需要改動,否則請先找一款市面上常用的mipi攝像頭調試,然后再進行后續工作。如果kernel已配置好,那么整個調試過程只需要修改hardware。

開始調試:

????????因為傳輸的是mipi yuv信號,所以我們參照OV2685_MIPI_YUV驅動去做。該驅動所在位置/hardware/rockchip/camera/SiliconImage/isi/drv/OV2685_MIPI_YUV。

一、不用i2c,那么屏蔽掉i2c通信的地方

? ? 1./hardware/rockchip/camera/CameraHal/CameraHal_board_xml_parse.cpp

????????int camera_board_profiles::RegisterSensorDevice(rk_cam_total_info* pCamInfo)方法中

????????err = ioctl(camsys_fd, CAMSYS_I2CWR, &i2cinfo);修改為err = 0;

? ? 2./hardware/rockchip/camera/SiliconImage/isi/drv/OV2685_MIPI_YUV/OV2685_PARREL.c 中

????????OV2685_IsiCheckSensorConnectionIss、OV2685_IsiRegReadIss、OV2685_IsiRegWriteIss這三個方法直接return 0;

二、定義自己的分辨率等參數1920x1080, 30fps, 4lane, mipi freq:200M

????? ? 1.在OV2685_tables.c文件中先定義自己的分辨率,不需要操作寄存器,給個定義就行:

????????????const IsiRegDescription_t OV2685_g_1920x1080[] =
????????????{
? ? ????????????{0x0000 ,0x00,"eTableEnd",eTableEnd}//為啥只有這一行,請看其他分辨率是怎么定義的!

????????????};

????? ? 2.在OV2685_PARREL.c中設置分辨率

????????????extern const IsiRegDescription_t OV2685_g_1920x1080[];//引用上面的定義

????????????static uint16_t g_suppoted_mipi_lanenum_type = SUPPORT_MIPI_FOUR_LANE;
????????????#define DEFAULT_NUM_LANES SUPPORT_MIPI_FOUR_LANE//定義lane數

????????????OV2685_IsiGetCapsIssInternal該函數中選擇分辨率:

????????????????????if(mipi_lanes == SUPPORT_MIPI_FOUR_LANE){? ? ? ? ? ??
? ? ? ? ? ? ????????????switch (pIsiSensorCaps->Index)?
? ? ? ? ? ? ????????????{
? ? ? ? ? ? ? ? ????????????case 0:
? ? ? ? ? ? ? ? ????????????????????????{
? ? ? ? ? ? ? ? ? ? ????????????????????????????pIsiSensorCaps->Resolution = ISI_RES_TV1080P30;//我們的分辨率
? ? ? ? ? ? ? ? ? ? ????????????????????????????break;
? ? ? ? ? ? ? ? ????????????????????????}
? ? ? ? ? ? ? ? ????????????default:
? ? ? ? ? ? ? ????????????????????????? {
? ? ? ? ? ? ? ? ? ? ????????????????????????????result = RET_OUTOFRANGE;//這個值不要改
? ? ? ? ? ? ? ? ? ? ????????????????????????????goto end;
? ? ? ? ? ? ? ? ????????????????????????}
? ? ? ? ? ? ????????????????}

? ? ? ????????????????? }

????????? ? 3.OV2685_SetupOutputWindow中定義mipi freq并設置對應分辨率

????????????????????pOV2685Ctx->IsiSensorMipiInfo.ulMipiFreq = 200;//mipi freq

????????????????????switch ( pConfig->Resolution ){

????????????????????????????case ISI_RES_TV1080P30:
? ? ? ? ????????????????????{
? ? ? ? ? ????????????????? if((result = IsiRegDefaultsApply((IsiSensorHandle_t)pOV2685Ctx,OV2685_g_1920x1080)) != ????????????????????????????????????????????RET_SUCCESS){
? ? ? ? ? ? ? ? ????????????????????????????????TRACE( OV2685_ERROR, "%s: failed to set? ISI_RES_TV1080P30 \n", __FUNCTION__ );
? ? ? ? ? ? ????????????????????????????????}else{
? ? ? ? ? ? ? ? ????????????????????????????????TRACE( OV2685_INFO, "%s: success to set? ISI_RES_TV1080P30? \n", __FUNCTION__ );
? ? ? ? ? ? ????????????????????????????????}
? ? ? ? ? ? ????????????????????????????break;

? ? ? ? ??????????????????????}

? ??????????????????????}

三、配置cam_board.xml

????? ? 主要強調兩個地方,一是<SensorGpioPwen ioname="RK30_PIN2_PB1" active="1" delay="1000"></SensorGpioPwen>,power使能腳配置。二是<SensorPhy phyMode="CamSys_Phy_Mipi" lane="4"? phyIndex="0"? sensorFmt="CamSys_Fmt_Yuv422_8b"></SensorPhy>(lane數,phyIndex:0或1,根據硬件配置

只要硬件沒問題,基本上按照上述修改配置,使用系統自帶camera apk就可以打開了,注意打開的是/dev/camsys_marvin這個節點。

檢測3288是否有接收到mipi信號,可在adb或串口中輸入io -4 -l 0x100 0xff911c00

查看ff911c10: 00000000 00000000 00000000 0000001e這一行,0000002b表示isp識別到為raw ,0000001e 表示識別到yuv數據 如果其他表示識別異常。
全部調試文檔可以參照附件:源碼下載

總結

以上是生活随笔為你收集整理的rk3288 android6.0平台bt1120信号转mipi调试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。