一、前言
自己画的板子,在偶尔使用到usb触摸屏时,遇到很尴尬很奇怪的事情,接入ILITEK的触摸屏时,开机都是正常的,没有问题,接入GOODIX和使用免驱板(iic转usb)时,开机触摸屏不好使,需要重新热插拔一下usb,经过几天的问题排查,资料查询,进展不是很好,没找到具体原因,后来偶然用了一块以前的板子,试了一下,发现GOODIX的触摸屏开机是可以正常识别驱动的,那么问题就只能在我后画的板子上了,但是板子能有什么问题呢,当然就是最让人头疼的走线质量问题,后画板子usb走线画的比较随意,因为没有遇到过问题,所以一直认为走线只要是差分线等长就行,也没有考虑距离和屏蔽的事,这回踩坑了,很艰难的才爬出来,以后更要举一反三了。
二、环境
linux+usb触摸屏
三、正文
先看一下原来板子的usb走线,质量不合格,开机后使用lsusb查看usb挂载,设备号不是正常的,重新插拔一次才是正常的设备号。
可以看到,usb走线经过了两个过孔,这就是导致开机才运行速率很快的情况下,未能自动识别usb挂载驱动,认为是一个信号极差的usb设备,未识别成触摸屏。
改进usb走线后,插入usb设备,开机,lsusb查看usb挂载,设备号正常,触摸屏正常。
尴尬的是一开始我还怀疑厂家,自信满满的说,你们这个免驱板有问题,我用ILITEK的触摸屏,插入usb线开机触摸屏就好使,使用你们这个GOODIX的触摸屏+usb免驱板,开机触摸屏不好使,设备号不对,重新插拔一次才好使。
而且后来我还加了一个引脚去控制usb供电,让他硬件模拟重新插拔(因为使用usb软复位没有用)。
PS:后续继续研究,发现问题不只是出现在pcb上面,但是也要注意特殊信号走线,问题出现在软件驱动上面,因为系统配置问题导致TWI信号与芯片出现混乱,导致usb错误,这个使用环境是A40i核心板,等具体问题研究明白解决了,在下面更新。
20221021:准备结束本篇文章(或许后续还会有机会使用),由于芯片本身使用的是G911芯片,本身两种方案可以选择,一是使用USB免驱板,二是使用TWI总线,一开始每调试,但无奈USB总是不好使,硬着头皮调试TWI驱动触摸屏,后续终于不负我,见调试触摸屏贴子吧
四、结语
再次记录自己的踩坑,也发出来提醒看到的工程师们,在设计时千万不要投机取巧,认为随便一弄就行,任何一个信号都是有其最严格的标准的。
PS:我这不够专业,比不上大厂大牛,此问题正常不应该出现在一个合格的pcb工程师身上,只是为了提醒和记录此问题,希望能帮助到大家。
任何地方都缺少不了严谨。