串行信号中的噪声(与电容有关?)


11

“执行摘要”图片:

串行信号似乎混乱了

向麦克风供电3.3V,探测平板电脑的TX

我想解码平板电脑的耳机插孔发出的串行信号。这是一些手机和平板电脑中存在的某种怪异的“ hack”:基本上,如果您在TRRS插头的麦克风输入中提供3.3V电压,则左右声道变为串行TX / RX。

我使用Raspberry PI TRRS-to-TV电缆(如第二张图片所示)访问所需的4个位置:GND,MIC,L,R。该电缆除了裸露外不应做任何其他事情三种相应的电缆(红色,白色,黄色)中的3个信号(MIC,L,R-与GND配对)。

我使用BitScope的探头在TX(第二张图片中的白色电缆尖端)和公共GND(第二张图片底部的棕色探头)之间进行探测。我还使用了两个探针(红色和蓝色一个)将USB / TTL芯片(插入笔记本电脑的PL2303HX)中的3.3V电压“馈入” MIC(红色)尖端。

重新启动平板电脑后,我的确确实看到了一个毫无疑问的串行信号,即115200(峰峰值为8到9us),但是电容很大(视频)

所以,我的问题-在我上线订购TRRS插头,电缆和电烙铁之前-我看到的电容是由于...

  • 1米长的TRRS-to-TV电缆,或使用探头代替焊接电缆

要么

  • 探针和电缆实际上不能解决这么大的电容,我之所以看到这是因为平板电脑的耳机插孔根本不是设计来发出此信号的(即,我所看到的确实是从插孔中发出的信号) 。

您可能会猜到,我对这种事情非常陌生。我是一名软件专家,一周前购买了BitScope,并且希望通过“乐趣和获利”来访问平板电脑的系列产品(窃取Bootloader内容,为其编译Cyanogenmod等)。

我很想知道这是否是一个丢失的原因(即电缆不能解释这么大的电容),所以我不胜感激。

在此先感谢您的帮助/建议。


1
信号对我来说看起来很正常。您不喜欢它什么?RCA电缆的大容量电容可能约为1000pF,因此边缘变慢也就不足为奇了。
Ale..chenski '16

“您不喜欢它什么?”-我认为边缘太慢了(我的PL2303HX-即我的USB / TTL-没有解码任何内容)。
ttsiodras

(1)确保电缆小于3米(10英尺);(2)如果仅用插孔即可获得无电缆的一部分,则将其插入平板电脑并在没有电缆的情况下对其进行测量,以查看信号的“质量”;(3)降低波特率。
2013年

@匿名-我尝试过; 在下面发布了我的结果。
ttsiodras

1
@AliChen:您说得对,队友-我使用了BSS138并解码了信号(请参见下面我的答案的附录)。太棒了-没想到这一点。
ttsiodras '16

Answers:


10

因此,我听取了两位发表评论的好心人的建议...这是结果。

  1. 阿里·陈(Ali Chen)指出,缓慢的边缘可以归因于RCA电缆的电容。和“匿名”建议使用没有电线的插孔直接连接到板上。我遵循了他们的建议,将平板电脑剥下以露出PCB,插入裸露的插孔并进行了探测-但不幸的是结果是一样的:非常缓慢,由电容驱动的边缘非常缓慢。这不是RCA电线 -相反,似乎设计平板电脑的人并不在乎耳机插孔发出的串行信号(可能使用了其他方式与主板连接)。我确实尝试在整个PCB上进行探测,以期找到更清晰的串行信号,但失败了。

  2. 匿名人士还建议降低波特率;不幸的是,没有记录的方法可以影响平板电脑的启动过程,从而配置u-boot期间使用的波特率(这是我感兴趣的)...

但它可以这样做开机后完成后,由亚行外壳内-因为我已经成功地编译我自己的内核并成为root

所以我能够做到这一点...

$ su
# stty -F /dev/ttyHSL0 9600
# while true ; do echo UUUUUUU > /dev/ttyHSL0 ; sleep 0.1 ; done

实际上,结果要好得多:

9600更好

我很确定,如果使用移位器(此信号为1.8V,因此我的3.3V USB-TTL仍然无法解码),则该信号可以正确解码。

因此,可以得出结论:平板电脑的“耳机插孔内的串行端口”只能在启动完成后才能真正使用,并且UART的速度降至9600波特;不幸的是,因为引导过程中最需要串行输出(如果出现某些故障),并且在此期间,UART速度以115200波特的硬编码在我的平板电脑的引导代码中。

PS我还尝试了一个朋友的建议,在耳机插孔发出的串行信号中使用3.3K上拉至3.3V供电轨-无济于事。

3天后更新

我坚持不懈:-)

遵照克里斯·斯特拉顿的建议-即使这样的信号也能应付自如,我买了电烙铁,BSS138,面包板和一堆电缆。在可能是有史以来最糟糕的焊接工作之后,我设法焊接了BSS138上的排针,然后将其连接到面包板上,并造成了这种混乱的情况:

面包板和我的BSS138

我没想到的是,在产生minicom并发出“ fastboot reboot”之后,令我惊讶的是,我看到了:

串行信号解码!

令人难以置信的是-在BSS138将信号从1.8“提升”到3.3V之后,实际上可以解码出这个痛苦的,电容缠结的信号!我终于可以明白为什么我的平板电脑无法启动了。

您好,小平板电脑-我现在拥有您:-)


1
虽然很可能可以使用设计良好的电平转换器对原始信号进行解码,但出厂时音频输出电路的带宽也可能比此数字信号的理想带宽小很多。消费类产品需要通过发射干扰测试,并且耳机放大器本身可能是一种开关设计,因此在板边缘可能会有LC滤波器来抑制发射,而该滤波器主要是为了通过音频而设计的。
克里斯·斯特拉顿

但也要考虑一下,如果您的性能范围相对较低或您正在使用的设置可能会错误地表示信号,那么最好以相同的波特率比较一下pi或USB串行转换器的输出,以进行比较。范围如何使外观看起来如何。
克里斯·斯特拉顿

@ChrisStratton关于干扰过滤器:如果不打算使用我发现的功能(通过耳机插孔串行连接),则不知道,但听起来很合理。最初,我在阅读Nexus设备时发现了这一点-并对平板电脑的响应方式感到好奇,于是决定尝试一下。关于检查示波器:当然,这是我购买时要做的第一件事-在Raspberry PI2的TX GPIO引脚上显示115200处的晶方脉冲。我现在很确定这不是我,也不是我的范围-这是平板电脑的硬件。
ttsiodras '16

@ChrisStratton:“ ...可以使用设计良好的电平转换器解码”-您是否有任何特定的芯片?
ttsiodras '16

@ChrisStratton:胜利!BSS138解码了信号-我增加了答案,并提供了证明:-)感谢您为我指明了正确的方向。
ttsiodras '16

0

您的DSO是否有足够的带宽@ 524ksps,甚至可以以115.2kbps的数据速率显示方波?我确实是这样。仅供参考。我可能是错的。

也许您使用了较慢的分辨率。


哇,没有爱这个小家伙!可怜的BitScope :-)严重的-但是,BitScope探针对我的Raspberry PI发出的115200波特进行了罚款,显示出清晰清晰的方波...类似于从平板电脑的耳机插孔发出的信号所显示的内容(i.stack .imgur.com / WAw6J.png)。我正在准备一个移位器(从1.8到3.3)和一个逻辑分析仪,所以也许移位器会清除它。等着瞧!
ttsiodras '16

做好了!BSS138对信号进行解码。
ttsiodras '16

BSS138的Vgs阈值较低,为1.3V {0.8min,1.5max},而不是Vcc / 2 +/-?或2.5V +/-?因此较低的阈值做到了。这就是74HCTxx可以在5V逻辑上很好地接受3.3V信号的方式
Tony Stewart Sunnyskyguy EE75

现在,Jiffies溢出到底是什么?越野车的Linux盒子?或只是正常的启动延迟时间
Tony Stewart Sunnyskyguy EE75 '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.