全志T527 适配双目tp2815_mipi

news2024/10/5 13:03:44

一、硬件信息

TP2815:

确认硬件信息:

1、通信接口:TWI2总线,引脚组为PE1 、PE2

2、RESET脚:

二、软件配置

1、设备树

t527 dtsi:

bsp/configs/linux-5.15/sun55iw3p1.dtsi

t527 uboot-board.dts

device/config/chips/t527/configs/demo_linux_car/board.dts

 &twi2 {
        clock-frequency = <400000>;
        pinctrl-0 = <&twi2_pins_default>;
        pinctrl-1 = <&twi2_pins_sleep>;
        pinctrl-names = "default", "sleep";
        /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
        twi_drv_used = <1>;
        rproc-name = "7130000.e906_rproc";
        twi-supply = <&reg_dcdc4>;
        status = "okay";
};

pinctr:
        twi2_pins_default: twi2@0 {
                pins = "PE1", "PE2";
                function = "twi2";
                drive-strength = <20>;
                bias-pull-up;
        };

        twi2_pins_sleep: twi2@1 {
                pins = "PE1", "PE2";
                function = "gpio_in";
        };

之后配置sensor信息以及video节点

配置挂载完后烧录:

cat /sys/class/video4linux/v4l-subdev0/name

在buildroot/package/auto/sdk_demo/csi_test路径下编译生成测试程序csi_test_usrptr

push到开发板运行

./csi_test_usrptr 0 0 1280 720 /usr/capture_images/ 4 20 30

检查电源是否供电正常或者配置 twi 是否正确

检查后发现tp815没供电

修改设备树,让其输出高电平:

重新编译烧录后:video能正常获取到图像(注意帧率以及图像格式)

配置后正常出图

YUYVViewer查看

第二个TP2815

1、使用的是 PE3, PE4 这一组 twi3 的通讯接口。使用的 mclk2 。

2、RESET 控制接口为 PK10, PWDN 控制接口为 PK22。

两路 sensor 同时输入,但 ISP 只有一个,此时需要开启 ISP 时分复用功能(离线模式)

tdm0、isp00、scaler00/10/20/30、vinc00/10/20/30 的work_mode 均需配置成 ,即离线模式。

注:scaler00/10/20/30的work_mode 配置成 时会出现scaler channel ID nember is lost!!!

双目TP2815场景下,可支持的video节点分别为:

sensor0:video 0/4/8/12

sensor1:video 1/5/9/13

cat /sys/class/video4linux/v4l-subdev*/name

两个驱动加载均正常

使用sensor1:video 1/5/9/13时,出现vin:[ERR]: video1 is controlling by rtos,open /dev/video1 falied的报错

找到相应报错代码:

bsp/drivers/vin/vin-video/vin_video.c:3583: vin_err("video%d is controlling by rtos\n", vinc->id);

解决办法:

CONFIG_RV_RUN_CAR_REVERSE 宏应该是快速倒车,RTOS 应该是内部的RISC MCU模块,起到快速进入倒车的作用, 关闭该宏再次进行测试。

根据log信息,PC的值是pc: sunxi_isp_sensor_type+0x0/0x40

  sunxi_isp_sensor_type:表示出错的函数;

  0x0:表示出错语句在出错函数中的偏移位置;

  0x40:表示sunxi_isp_sensor_type函数的大小;

找出函数地址:

在源码编译目录下的System.map中找到错误函数sunxi_isp_sensor_type

vi out/t527/demo_linux_car/buildroot/System.map

[ 546.395884] pc : sunxi_isp_sensor_type+0x0/0x40

aarch64-linux-gnu-addr2line -e vmlinux ffffffc008767220(ffffffc008767220+0x0)

定位到kernel/linux-5.15/include/linux/ioport.h 220行

打印信息辅助调试:

cap->pipe.sd[VIN_IND_ISP] 的值为 0000000000000000,该指针为空

最终修改video节点后解决

三、问题排查

在线模式:

sensor0:video 0/4/8/12都能正常打开

sensor1:video 1/5/9/13 ,指示 vipp0/4/8/12 正在在线模式下工作,但是 vipp1/5/9/13无法工作。

离线模式:

sensor0:video 0/4/8/12 出现scaler* channel ID nember is lost!!!

sensor1:video 1/5/9/13,能打开,但无信号select timeout,可通过示波器或者读取主控芯片输入寄存器来确认是否有接受到数据

在内核打开ISP_TDM重新编译时,八个video节点均发生错误

cat /sys/kernel/debug/mpp/vi查看链路

询问全志得知T527 同时只支持 6 路输入,不支持 8 路。还有,虚拟 isp 不支持 tdm。

取消ISP复用,修改为六路摄像头

sensor0:video 0/4/8/12

sensor1:video 16/17/

sensor1的两个节点如下:

烧录测试后sensor0的四个video节点正常出图,sensor1的两个节点应用抓图出现select timeout,无数据输入

排查如下;

确认是否正常是波形输出,mipi data ,mipi clk 都要确认

示波器测量后与正常出图的波形对比,波形正常

  1. 上面确认正确后,微调下面手段:

用 csitest 打开对应节点后,提示 select timeout 时候,动态调整一下,动态写寄存器,看看哪个寄存器值可以稳定出图

echo 0x05810318 xxxxx > /sys/class/sunxi_dump/write;修改写入的 20:24 bit ,动态测试看看,有哪个值会更稳定

写入 0x7 示范如下:

echo 0x05810318 0x00700000 > write

[20:24] 范围是 0x00-0x1f ,也就是 0x00000000 到 0x01f00000

也可以通过 echo 0x05810318 > /sys/class/sunxi_dump/dump;cat /sys/class/sunxi_dump/dump 来确认是否正常写入

写入0x01后能正常出图

echo 0x05810318 0x00100000 > /sys/class/sunxi_dump/write;

echo 0x05810318 > /sys/class/sunxi_dump/dump;cat /sys/class/sunxi_dump/dump

多次测试,写入0x01 会比较稳定

修改代码,路径:bsp/drivers/vin/vin-mipi/combo_csi/combo_csi_reg.c

修改如下:Deskew通常用于调整信号的时序,以消除因信号传输延迟而引起的问题

至此,六路摄像头正常出图,完工撒花!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1712093.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

必看丨SSL证书是什么?怎么免费申请一张?

SSL证书是一种网络安全证书&#xff0c;它能帮助网站实现数据加密传输&#xff0c;保障用户信息在浏览器和网站服务器之间的安全交流。想象一下SSL证书就像一封密信的封蜡&#xff0c;确保信件内容在途中不会被他人偷看或篡改。 SSL证书的作用主要有两点&#xff1a; 1. 身份验…

gin框架精通篇(二)

原生数据库使用 导入模块&#xff1a;go get -u github.com/go-sql-driver/mysql 安装 mysql 数据库 安装数据库可能遇到的问题&#xff1a;&#xff08;网上的方法基本可以解决&#xff09; ERROR 1045 (28000): Access denied for user ‘-root’‘localhost’ (using passwo…

【leetcode2765--最长交替子数组】

要求&#xff1a;给定一个数组&#xff0c;找出符合【x, x1,x,x-1】这样循环的最大交替数组长度。 思路&#xff1a;用两层while循环&#xff0c;第一个while用来找到符合这个循环的开头位置&#xff0c;第二个用来找到该循环的结束位置&#xff0c;并比较一下max进行记录。 …

LLVM技术在GaussDB等数据库中的应用

目录 LLVM和数据库 LLVM适用场景 LLVM对所有类型的SQL都会有收益吗&#xff1f; LLVM在OLTP中就一定没有收益吗&#xff1f; GaussDB中的LLVM 1. LLVM在华为应用于数据库的时间线 2. GaussDB LLVM实现简析 3. GaussDB LLVM支持加速的场景 支持LLVM的表达式&#xff1a…

河南道路与桥梁乙级资质升级门槛条件解读

河南道路与桥梁乙级资质升级门槛条件解读如下&#xff1a; 一、企业基本条件 法人资格&#xff1a; 企业需具备独立企业法人资格&#xff0c;能够独立承担民事责任。注册资金&#xff1a; 企业的注册资金应不少于100万元人民币&#xff0c;这一数字直接体现了企业的经济实力和…

Yann LeCun 和 Elon Musk 就 AI 监管激烈交锋

&#x1f989; AI新闻 &#x1f680; Yann LeCun 和 Elon Musk 就 AI 监管激烈交锋 摘要&#xff1a;昨天&#xff0c;Yann LeCun 和Elon Musk 在社交媒体就人工智能的安全性和监管问题展开激烈辩论。LeCun 认为目前对 AI 的担忧和监管为时过早&#xff0c;主张开放和共享。而…

【linux:基础IO】

目录 系统调用的文件接口&#xff1a; open read: write: lseek: close: 系统调用的文件接口&#xff1a; open 当文件存在时&#xff1a;int open (const char*pathname,int flags)当文件不存在时&#xff1a;int open (const char* pathname,int flags,mode_t mode) 返…

拉格朗日插值法的推导

1、插值的基本定义   设函数 y f ( x ) yf(x) yf(x)在区间 [ a , b ] [a,b] [a,b]上有定义&#xff0c;且已知它在 n 1 n1 n1个互异点 a ≤ x 0 < x 1 < . . . < x n ≤ b a\leq x_0<x_1<...<x_n\leq b a≤x0​<x1​<...<xn​≤b上的函数值 y 0 …

经典文献阅读之--SMERF(通过标清导航地图增强车道感知和拓扑理解)

Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务&#xff0c;并且需要GPU资源&#xff0c;可以考虑使用Compshare的GPU算力云平台。他们提供高性价比的4090 GPU&#xff0c;按时收费每卡2.6元&#xff0c;月卡只需要1.7元每小时&#xff0c;并附带200G…

【全开源】西陆家政系统源码小程序(FastAdmin+ThinkPHP+原生微信小程序)

打造高效便捷的家政服务平台 一、引言&#xff1a;家政服务的数字化转型 随着人们生活节奏的加快&#xff0c;家政服务需求日益增长。为了满足广大用户对高效、便捷的家政服务的需求&#xff0c;家政小程序系统源码应运而生。这款源码不仅能够帮助家政服务提供商快速搭建自己…

【VTKExamples::Utilities】第十六期 WindowModifiedEvent

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例WindowModifiedEvent,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. WindowModifi…

基于 RNNs 对 IMDB 电影评论进行情感分类

前言 系列专栏:【深度学习:算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域,讨论了各种复杂的深度神经网络思想,如卷积神经网络、循环神经网络、生成对抗网络、门控循环单元、长短期记…

Sqli-labs-master靶场1-20通关教程

目录 SQL注入基本语句 Less-1&#xff08;字符型-闭合 &#xff09; Less-2&#xff08;数字型&#xff09; Less-3&#xff08;字符型-闭合 ) &#xff09; Less-4&#xff08;字符型-闭合 ") &#xff09; Less-5&#xff08;报错注入-闭合 &#xff09; Less-…

实战教程:使用Go的net/http/fcgi包打造高性能Web应用

实战教程&#xff1a;使用Go的net/http/fcgi包打造高性能Web应用 简介理解FCGI协议FastCGI工作原理CGI与FastCGI对比其他接口对比 初步使用net/http/fcgi包设置和配置基础环境一个简单的FastCGI应用示例本地测试与调试 深入net/http/fcgi包的高级用法探索net/http/fcgi的主要功…

【贪心算法】C++ 解决算法题:买卖股票 / K次取反 / 按身高排序 / 优势洗牌

1. 前言 1.1 贪心算法介绍 贪心算法&#xff08;Greedy Algorithm&#xff09;是一种在每一步选择中都采取当前状态下最优决策的算法。贪心算法通常用来解决最优化问题&#xff0c;其核心思想是通过局部最优解逐步推导出全局最优解。 在贪心算法中&#xff0c;我们并不总是考…

探索电商ERP平台的功能架构:实现高效运营的关键

在当今数字化时代&#xff0c;电子商务已经成为了商业运营的主流模式之一。为了应对日益激烈的市场竞争&#xff0c;企业需要借助先进的技术工具来提高运营效率和管理能力。在这篇博客中&#xff0c;我们将深入探讨电商ERP平台的功能架构&#xff0c;揭示其如何成为实现高效运营…

港科夜闻|香港科大与利丰成立供应链研究院,应对多变商业环境中的挑战与机遇...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大与利丰成立供应链研究院&#xff0c;应对多变商业环境中的挑战与机遇。该研究院的成立&#xff0c;旨在推动全球供应链管理的研究与创新商业模式。研究院结合香港科大卓越研究实力及利丰于供应链管理方面的深厚行…

Dify快速接入微信

一、Dify简介 项目官网&#xff1a;Dify.AI 生成式 AI 应用创新引擎 Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务&#xff08;Backend as Service&#xff09;和 LLMOps 的理念&#xff0c;使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非…

【管理咨询宝藏116】某大型国有集团公司战略落地保障方案

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏116】某大型国有集团公司战略落地保障方案 【格式】PDF版本 【关键词】战略落地、大型国企、战略报告 【核心观点】 - 资产规模以提高资产质量、…

halcon SVM 缺陷检测分类

一、概述 训练数据 二、算子解释 compactness Halcon 算子 compactness_halcon compactness-CSDN博客 *计算输入区域的紧凑度 compactness (Region, Compactness) 原理解释 convexity 每个输入区域的凸度 Halcon 算子 convexity_halcon convexity-CSDN博客 *计算每个输…