调试,是一件有挑战的事情

如果你不是工程师,你应该享受不到加班调试的乐趣吧,我记得在大学的时候,我第一次调试I2C时序,当时用的芯片是24C02的RTC芯片,用51单片机模拟I2C时序,怎么整也整不出来,时序这个东西,一通百通,一不通那就是几个通宵熬夜都有可能。

先量电压,量电压了看波形,波形反反复复的看了之后,就是没有从设备的应答信号,再去看看硬件设计,该上拉电阻的地方有没有接上上拉电阻。

关于上拉电阻和下拉电阻这个自行百度,可以理解为一个默认的能力把,就像弹簧默认是有一个力的,你需要一个>弹簧的默认力才能驾驭弹簧,上拉和下拉就是保持它的默认能力。

作为一个电子工程师,调试通信时序应该是基本操作,就好比,如果你是一个厨师,那么你会做蛋炒饭应该也是默认的能力。

我在TCL的时候,我就跟欢哥用一个单片机调试TVP5150的时序,那叫一个头疼,我们整整调试了一周。

如果你是一个app端的开发码农,哪里有问题,就在哪里加日志,但是如果你是一个驱动工程师,如果你是一个单片机工程师,很多时候,你是没有办法加日志调试的,可以了就满声欢喜,不行就埋头苦干,即使是工作很多年的工程师,也只能给你一些建议,但是解决问题,还是需要你自己上阵杀敌。

如果你调试过很多低速的通信时序,经过多年的积累,慢慢有了经验,就觉得调试没什么意思了,那么你可以试试去调试下mipi时序看看。

好了,这里应该很多读者都是干这个的,你可能心里会想,调试mipi也是一把过,没有遇到什么非常棘手的问题,那么恭喜你,你此生路途平坦,没有遇到什么难事,可以说在工作上,没有遇到太难的事情,可能这也是一种缺憾,你享受不到加班孤独的快感,你也享受不到末班地铁的速度,你应该找点有挑战性的项目给自己的人生添砖加瓦。

……………………………………

这几天在调试一个mipi屏,刚开始一点头绪都没有,折腾了很久,一点图像也没有显示,我们量了电压,mipi供电的每一路电压,没有发现有什么不对的,而且,mipi通路,我们得出来的结果也是正确的,因为我们买的是开发板来验证开发,用我们的mipi时序init code驱动开发板的LCD,虽然显示不正确,但是是有图像出来的,从这个现象可以知道,mipi是工作了,主控应该通过mipi把一些鬼东西传送到了开发板的mipi屏幕上。所以也可以验证mpi这个通路是正常的。

经过一个晚上的折腾和排不了忧愁也解不了困难,我们一致把问题定位在发送指令的组包格式上。

mipi的长包和短包前面的包头都是不一样的。

mipi有两种组包模式

一种是DCS,一种是Generic模式,分别如上图所示。

不同的组包方式,发送的格式都不同,比如DCS模式,长包的包头是0x39,但是是Generic模式的话,长包的包头是0x29。

给大家看看mipi的波形,以及对应的解析

这个波形我相信很多人都没有见过

……………………………………

注意

第一个波形是无效的,所以不要记录第一个波形。

解析出来的下面111000……后,每个字节,低位在前,高位在后

第一个字节一定是0x87,所以每个包的mipi波形都是一样的。

我们一直想让屏厂IC的FAE给我们说明清楚他们用的是哪种格式,或者我们需要适配哪种格式的时序给屏IC,屏才能正常工作起来。但是屏厂的FAE不是很配合,他一直纠结是平台这边没有发送正确的时序给屏,但是是哪里没有正确,或者说需要发送什么正确的格式过去,他也不能给出一个肯定的回复。

我们后面,想到的两个思路就是

1、用一个已经点亮这个屏的平台过来,跟这个屏对接,用示波器抓取波形,再修改我们发送的指令时序。

2、跟屏厂借一个主板,可以跟屏模组调试时序的,用那个主板可以给屏发送指令,然后我们再用示波器抓波形,按照这个波形发送指令给屏。

3、屏IC的FAE过来支持我们,如果直接有工程师过来支持,我们就可以当面沟通,有问题也可以很快的解决了。

我们后来冷静下来开会梳理了下

1、复位脚,这个是很多屏都需要的,我们刚开始也花费了很长时间在复位脚上,最后终于搞定了复位脚,可以正常开机复位了,所以这部分不是问题了。

2、使能脚,我们的屏没有这个,默认用硬件供电使能了,所以也排除了,但是rockchip的同学说有遇到其他屏使能脚上电时序不对亮不了的。

3、初始化参数,我们初始化参数是屏厂提供的,刚开始因为mipi模式不对,和屏厂不同,后面调整后和屏厂对应的,而且我们发现屏厂的IC是可以同时兼容两种模式的,我猜想他们也是想匹配所有的mipi模式。

4、11 29 指令,这个指令是用来开启屏幕的,就是所有初始化结束后,延迟几毫秒后就写入 1129 ,这个是mipi屏通用的指令,我们测量了波形,是正常的,但是屏幕还是没有任何东西。

5、mipi 时钟,这个因为我们用的是开发板,开发板驱动的也是mipi屏,这个应该没有问题,通过测量也没有问题。

6、屏对应的各路电压,这个前面pin to pin确认了好多次,也没有发现异常。

……………………………………

最后的最后,软件这边实在没有办法了,硬件在一次常规排查后发现屏有一路供电没有,硬件修改后,我拿到手上,说出了那句说了无数次的话,这是见证奇迹的时刻了,然后,看到android界面缓缓升起的时候,心中那个嗨啊~

所以,根本的问题是接线口的一个位置,焊接员没有焊接好导致电压没有传到屏上。

ps:感谢rockchip林工对我们的大力支持。


扫码或长按关注

回复「 篮球的大肚子」进入技术群聊

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

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

相关文章

make 命令_make考点总结(建议中、高考学生收藏)

考点一、“make宾语宾语补足语”结构1、这个结构表示“ 使…… 处于某种状态”“ 使……怎么样”。其中宾语的补足语,通常是表示情感的词(happy, sad)或者是表示状态的词(rich, strong, ill)。比如,Make your room clean.“使你的房间干净”,…

如何通俗易懂的解释PWM?

学过电力电子的小伙伴们都知道…交流电“整流”为直流电(a)…直流电“逆变”为交流电(b)…交流电“变压”为交流电(c)…直流电“斩波”为直流电(d)…“变压”(c&#xff…

一个前辈总结的思考

文章是一个互联网的前辈写的,但是我觉得技术应该不分什么互联网不互联网,里面说到的一些内容,值得我们借鉴,分享给大家,希望大家能有一些认知上的收获,比较接地气,内容中讲到送外卖的部分也是真…

东南大学计算机学院张敏灵,东南大学张敏灵教授来我校作学术报告

10月24日下午,在南校区怀德楼B410会议室,东南大学计算机科学与工程学院张敏灵教授作题为“偏标记学习的研究”学术报告。报告由信息工程学院院长陈荣主持,信息学院师生聆听报告。张敏灵教授介绍了偏标记学习及相关研究工作的展开。偏标记学习…

我准备毕业了,怎么规划我的职业生涯?

昨天,微信上收到一个读者的留言,想咨询一下职业规划,碰巧的是,他非常喜欢驱动相关的工作,刚好碰巧的是,我有这方面的经验,所以很耐心的解答了下,发出来给更多的人看看,希…

计算机音乐奔跑,跑起来!100首最适合跑步的音乐

原标题:跑起来!100首最适合跑步的音乐喜爱跑步、健身的人,都喜欢一边听音乐一边运动,而且会比没有音乐时燃烧脂肪速度要快,提高新陈代谢的能力!小乐君今天给大家盘点100首全球最受欢迎的跑步音乐&#xff0…

危难时刻,每个人都应该站出来

转发一条同济医院发的我来给大家减轻一下恐慌。说实话目前这个肺炎传染性的确很强,但是重症发生率并不高,多出现在有基础疾病身体状况不好的老年人。一般患者就是自行隔离休息是最好的处理方式,一周也就恢复但是隔离需要14天,隔离…

Maven整合Spring3.0+Mybatis3.2+Struts2.3+查找坐标+jar包依赖(五)

依赖传递 只添加了一个struts2-core依赖&#xff0c;发现项目中出现了很多jar&#xff0c;这种情况 叫 依赖传递 查找坐标 依赖版本冲突的解决 1、 第一声明优先原则 <dependencies><!-- spring-beans-4.2.4 --><dependency><groupId>org.springfra…

再见了,唠嗑

先是武汉&#xff0c;突然又是科比&#xff0c;真是难受&#xff0c;麻痹的&#xff0c;这世界是怎么了&#xff1f;开始看篮球就是从黑科比开始&#xff0c;后来&#xff0c;慢慢喜欢科比&#xff0c;这其中的转变&#xff0c;真的是因为他是一个勤奋刻苦的人&#xff0c;指引…

尊重钟南山,但请也给我们哀悼科比

今天疫情更加严重了&#xff0c;睡了一觉&#xff0c;早上起来看到确诊人数又多出一千多人&#xff0c;按照这个增长速度&#xff0c;情况岌岌可危&#xff0c;想到我们这个小山村&#xff0c;刚好可以躲避疫情。早上我妈还跟我说&#xff0c;想去河池飞机场看看&#xff0c;辛…

计算机不断自动重启,电脑不断自动重启怎么办_解决电脑不断自动重启的方法...

有不少网友经常遇到电脑经常自动重启的情况&#xff0c;但是又不知道是什么原因造成的&#xff0c;很是困惑。同时也很是影响我们使用电脑&#xff0c;那我们要怎么解决这一问题呢&#xff1f;下面小编就来为大家分享解决电脑不断自动重启的方法。解决方法如下&#xff1a;1、在…

疫情发展,大年初六

今天天气很好&#xff0c;早上看了肺炎的病情如下图这个是丁香医生的统计数据&#xff0c;腾讯也出了一份统计数据&#xff0c;截止到写这篇文章的时候&#xff0c;已经确诊人数为 7766 人&#xff0c;但是我觉得丁香医生里面的截图内容比较多&#xff0c;也没有一些诱导二维码…

string contains不区分大小写_String基础复习

01-字符串的常量池Stringpackage com.practise.string.heima.StringBase;/* java.lang.String类代表字符串。 API当中说&#xff1a;Java 程序中的所有字符串字面值&#xff08;如 "abc" &#xff09;都作为此类的实例实现。 其实就是说&#xff1a;程序当中所有的双…

程序员35岁职业危机

今天是第一天上班&#xff0c;有的在家里上班&#xff0c;有的在办公室上班&#xff0c;因为有一个wx群讨论疫情太多&#xff0c;暂时被停止使用&#xff0c;今天开始&#xff0c;写一些和职场和技术有关的东西。这篇文章是转的&#xff0c;但是作者是认识的&#xff0c;我觉得…

[转载]我的WafBypass之道(upload篇)

现在位置&#xff1a; 首页 > 文章 > Web安全 > 正文 我的WafBypass之道&#xff08;upload篇&#xff09; 2016 /11/30 15:204,901沙发0x00 前言 玩waf当然也要讲究循序渐进&#xff0c;姊妹篇就写文件上传好了&#xff0c;感觉也就SQLi和Xss的WafBypass最体现发散性…

吕布是不是英雄?

马中赤兔&#xff0c;人中吕布 如果要说什么马跑得最快&#xff0c;最久&#xff0c;那一定是赤兔马&#xff0c;但是要能和赤兔马能匹配的&#xff0c;当时那个时期就一定是吕布了&#xff0c;自古美女配英雄&#xff0c;好马配好鞍&#xff0c;好马也一定要有一个好的主人&am…

浙江省计算机二级aoa成绩,浙江省计算机二级AOAEXCEL函数列表

函数名 DAY功能 计算参数中指定日期或引用单元格中的日期天数。 从一个文本字符串的第一个字符开始&#xff0c;截取指定数 LEFT 目的字符。 仅当所有参数值均为逻辑“假(FALSE)”时返回结 OR 果逻辑“假(FALSE)”,否则都返回逻辑“真 (TRUE)”。 返回在指定方式下与指定数值匹…

Linux kernel中常见的宏整理

0x00 宏的基本知识// object-like #define 宏名 替换列表 换行符 //function-like #define 宏名 ([标识符列表]) 替换列表 换行符替换列表和标识符列表都是将字符串 token 化以后的列表。区别在于标识符列表使用,作为不同参数之间的分割符。每一个参数都是一个 token 化的列表。…

统计app用户在线时长_「云工作普及系列」2.如何实时统计工作时长,提高工作效率

记上节我们讲了【1.如何注册云工作平台】之后&#xff0c;接下来一起探索下该平台提供的各个产品功能。今天主要讲一下如何它的实时统计工作时长是怎么实现的&#xff1f;我们先来了解一下它的工作时长实时统计的功能。一&#xff0c;从web端的统计情况来看&#xff0c;用颜色代…

GPIO 使用 — Rockchip

昨天跟同事调试GPIO&#xff0c;用的就是Rockchip的板子&#xff0c;我们想把一个gpio口设置成阻塞状态&#xff0c;刚开始一直没有成功&#xff0c;然后我问了连总&#xff0c;连总是我原来的同事&#xff0c;是一个大牛&#xff0c;他跟我说&#xff0c;只要把gpio口设置成输…