以为我找到了串口 - 而是破坏了嵌入式设备!帮助?

逆向工程 硬件 串行通讯 嵌入式 集成电路
2021-06-20 20:35:16

好吧,又一个周末过去了,我的修补导致另一台设备(可能)陷入困境。我一直在玩几个 Slingbox,一个 M1 和一个 500。今天是 M1。我把它拆开(很容易!)并用我的连续性和电压探头探查,结果如下几个位置(见图)。

Gnd 表示被测部件与金属屏蔽之间存在连续性。黄色电压是插入时的电压。左上角的电压波动有些不规律,尤其是在启动过程的早期。

带标签的前面板 https://dl.dropboxusercontent.com/u/23091/m1/front.jpg 上的全尺寸图片

我将一个串行连接到 USB 并在左上角注意到的“健谈”上运行 minicom 并得到一堆乱码。运行波特率并通过各种波特率设置循环,但没有找到任何有意义的东西。

波特率等等。尝试了其他标记的端口,在 minicom 上没有任何其他端口有任何“喋喋不休”。

有什么想法吗?

更新 好吧,我开始接触板上各个其他点上的读取探针。右侧的一个芯片生成了一些(但不是很多)随机数据。当我触摸较小屏蔽上方左侧芯片的插脚时,板上的 LED 熄灭,它停止产生任何输出。伤心。此时它不会重新打开或执行任何操作。仅通过触摸芯片上的两个引脚会发生这种情况吗?

任何想法如何修复这个?

假装我没有炒板,关于我可以用 minicom 做些什么不同的任何想法?

谢谢!

2个回答

炸你的板子:

只需接触芯片的单个引脚,或通过合理的高电阻电压表将其接地,通常不会炸毁电路板。但是,有一些方法可以炒板:

  • 静电。在您的计算机中插入 PCI 卡的每条指令都带有警告,这是有原因的。然而,我发现计算机非常有弹性;对于制造商来说,在他们的主板中建立一些 ESD 保护可能比处理那些炸毁硬件的 16 岁孩子的投诉和退货更便宜。但是,不打算开放的硬件更容易出现这种漏洞是合理的。

  • 反极性 - 有些芯片对连接到低于地电平的电压的引脚非常敏感,有些电路使用正负电压。地面。不过,我不希望这些出现在设备的数字部分。

  • 短路 - 很容易滑动并使探头将两个相邻的引脚连接在一起。当芯片暂时产生过多热量时,将输出引脚与 Gnd(或 Vcc)短路很有可能烧毁芯片。

所以,是的,这可能会发生,而且如果不能确定更换损坏的芯片,就没有办法修复它。(好吧,如果你幸运的话,你可以只熔断一个保险丝,但你的电路板看起来没有任何保险丝)。并且在 99% 的情况下,更换电路板的成本将低于维修电路板所涉及的人工成本。

为了测试信号是否真的是串行信号,我通常使用示波器。这些天他们不花你一条胳膊和一条腿;我目前使用的是这个(除了是一个满意的客户,我与他们没有任何关系)。要成为串行信号,您的信号应该具有尖锐、笔直的垂直边缘,并且两个上升沿之间的时间将非常恒定。从此时起,您可以确定波特率(例如,边缘之间的 ~100 µs => 每 10 位字节(8 位 + 起始位 + 停止位)~1 毫秒 => 每秒 1000 字节 => 可能为 9600波特)。

我对这个问题的回答显示了最有可能不是串行信号的信号;这是串行信号的样子(来源):

在此处输入图片说明

我必须添加一些东西才能有一个清晰的头脑(尽管另一个答案非常好并且已经得到了我的支持)。

  1. 单针接触探针可能会炸毁您的硬件。

    我的意思不是明显的静电荷,也不是出于常见原因。对于现在的芯片,一些引脚在非常特定的电压范围内运行,如果连接到错误的电压,即使是高阻抗探头也会将它们炸毁。这通常与现代MCUADC 和半模拟引脚有关它们应该由晶体管和/或二极管保护,但通常会降低成本并省略保护。

    即使在电镀“密封”设备之间使用GNDGND连接也要始终小心(有时你忘记了屏蔽,然后乐趣开始了)。

  2. 接地连接

    现在的许多芯片都将它们的引脚短接到GND,以在断电或非活动状态下保护它们,因此测量到GND电阻通常是不够的。如果可见,则遵循PCB路径更安全

  3. 四处闲逛

    如果我需要“四处看看”,我做的第一件事就是获取所有重要的或已知的IC编号,并找到它们的数据表或至少引脚(对于那些我能找到的)。然后找到电源引脚的位置(Shield,GND,Vcc,Vddio,...)并找到PCB电源路径,这样我就知道在哪里可以通过错过放置探针来避免短路(因为我很笨拙)。

    只有这样我才能找到我需要的别针。例如,您想要串行端口,然后找到具有串行传输功能IC并检查仅支持它们的引脚。示波器是一种方式,因为你会直接看到它是数字信号还是模拟信号,波特率是多少等等,而不是猜测......在工作/学校通常你只需要问......无论如何我当时没有那么幸运所以我使用声卡做SW示波器而不是链接到win32应用程序和描述可以在这里找到:

    无论如何,您需要制作某种探针硬件(分压器和/或放大器,可能是某种保护)以使其安全地与您的声卡一起使用。

    如果你想要一些非常简单和愚蠢的东西,而是使用 2 个反并联连接的LED来查看是否有交替信号(在这种情况下它们应该都发光)。

  4. 串行通讯

    如今,串行通信有许多协议甚至电压编码,只有在以下情况下才能使用简单的RS232侦听器:

    • RS232范围内的电压电平(+/-15V)通常适用于(+/-5V)某些IC,但不能保证。许多MCU具有TTL 电平的串行链路,(0/5V)甚至在连接到 PC 之前(0/3.3V)您需要像MAX232这样的电压转换器
    • 如果使用自定义协议/编码,您需要首先识别它,然后通常由某些MCU解码
    • 如果使用RS232协议,您仍然需要知道存在多少数据、奇偶校验、开始、停止位以及波特率频率和全位宽可以通过示波器测量,然后您需要设置哪些位是什么,直到您正确获得数据。
    • 您应该以字符串和十六进制形式输出数据,以便更容易地发现模式……例如,请参阅将应用程序置于客户端和服务器之间

[附注]

如果你没有把电路板炸好(有时当积聚在错误地方的电荷消失后,芯片会在一段时间后恢复),所以过几天再试一次。但请不要误会,不炸不坏并不意味着完好无损。即使在设备再次运行的情况下,其寿命通常也会显着缩短,并且通常并非所有引脚都能够正常工作。

[Edit1] 对地测量

模拟/数字混合设备中通常有更多的GND类型。通常它们都在某个点互连(通常非常接近稳定器输出)但这并不意味着它们具有相同的电压!!!

  1. 电源地

    这种具有最宽的完全填充的PCB布线,可以传输大量电流。其目的是为组件供电。您应该使用这个来衡量是否没有更好的选择。

  2. 屏蔽接地

    这个是用来消除电源上数字电路的脉冲负载。否则地面和 Vcc 会漂浮在路上,造成很多麻烦。唯一应该与此连接的是阻塞电容(1nF,10nF,100nF非常靠近每个 IC 的电源引脚)。不要用它来测量!!!

  3. 屏蔽地

    这通常是连接到屏蔽区域(那些十字/交叉填充PCB数据和之间的区域HF的部分PCB和电缆屏蔽层),以避免噪声影响电路的关键部分。不要将它们误认为PCB线圈(曲折/锯齿形图案或螺旋形),它们是完全不同的东西。不要用它来测量!!!

  4. 数字/数据地

    如果存在,应该使用这个其唯一目的是在数字接口之间提供参考电压。请注意,有时这些未连接到主GND,有时甚至在不同接口之间相互连接!!!此外,电压水平可以是任何东西,而不仅仅是 0V !!!