联系电话:
021-68580866
博客
希望我们能与您分享和探讨成长中的点点滴滴
硬件逆向工程101: 电路板基础知识
分享到
想象一下,您手中拿着一个神秘的黑盒子,它的内部工作原理被层层硅片、焊料和软件锁住,神秘莫测。这就是硬件逆向工程的精髓——好奇心、技术技能和侦探工作的迷人融合。无论您是要深入研究汽车电子产品、消费类小工具还是工业系统,了解基础知识都是成功的关键。让我们深入了解硬件逆向工程101,透过汽车电子控制单元(ECU)的视角,揭开硬件逆向工程第一步和基本概念的面纱吧。
第一印象:工程师的直觉
第一眼看到电路板,就像看到了悬疑小说的开头。它究竟隐藏着什么秘密?逆向工程始于观察和推理。首先要识别显而易见的东西:
• 连接器:大型填充式连接器通常是用于车载通信的CAN(控制器局域网)等信号接口。未填充的连接器可能隐藏着JTAG等调试接口,只要正确探测,就会发现其中的秘密。
• 标记和布局:丝印标记、引脚标签和布局本身往往暗示着功能。引脚密集的区域可能包含电源管理,而分组引脚可能属于通信接口。
电源电路:电路板的心脏
电源电路是任何PCB(印刷电路板)的生命线。在汽车ECU中,DC-DC降压稳压器是标准配置,由系统基础芯片(SBC)管理,通常可处理多个电源域。通过以下元件可以找到电源电路的位置:
• 大型电感器:大型电感器在电源区域占主导地位。电感器既可用于滤波输入电源电流,也可用作降压稳压器电路中的组件。
• 大型电容器:每个电源轨上都装有电解电容,以平滑电压。通常,最大的电容器连接到稳压器的输入引脚和输出端。
• 保护二极管:串联或并联(通常两种都有)配置可确保电压浪涌不会烧毁电子元件。与电源并联的TVS齐纳二极管可将任何异常电压短路,从而打开可恢复保险丝并保护ECU,而与电源线串联的整流二极管则可防止电流流向错误的方向。
了解电源的连接位置至关重要,尤其是当您在使用没有附带原理图或硬件的二手未知ECU时。与其他引脚相比,电源引脚通常较大,连接的线路也较粗。接地引脚通常直接连接到淹没PCB周围的接地区域。
请注意左上方的接地引脚缺少与地线绝缘的深色环,左下方的电池电源引脚连接到粗线上(探测到大型输入保护二极管时显示连续性)。
变压器
汽车印刷电路板(PCB)上的变压器通常起着信号滤波器而非电源管理的作用。不同种类的变压器通常很容易在印刷电路板(PCB)上看到。找到通信中使用的变压器有助于跟踪相关接口必须连接到哪些引脚。
ECU上最常见的变压器类型是共模扼流圈,这是一种4引脚变压器,两侧匝数相等。它用于抑制CAN、FlexRay和汽车以太网等差分信号协议中的噪声。这些共模扼流圈连接到两个差分对:一个连接到外部连接器,另一个连接到相应的收发器。
有时,您还会在印刷电路板(PCB)上发现普通的以太网变压器。这些变压器不是汽车以太网,而是标准的IEEE 802.3以太网,通常安装在与OBD连接器相连的网关ECU上。
解码集成电路(IC):系统的大脑
集成电路是实现功能的关键,但识别集成电路需要耐心和智慧。下面介绍如何完成这项任务:
• 零件号:在网上搜索打印的零件号或标记。如果直接匹配没有结果,请尝试各种字符串组合。
• 勘误文件:即使芯片上没有写明实际的零件号,也会写明批次号,有时会在勘误表中报告批次号,从而揭示真正的零件号。
• 专有组件:有些集成电路,如汽车微控制器(MCU),是为汽车制造商定制的。对于这些集成电路,可能不存在公开的数据表,但通过跟踪连接可以发现它们的作用。
收发器:通信转换
收发器(又称PHY)在逻辑电平和总线协议之间转换信号。以下是汽车系统中常见的类型:
CAN收发器
它们将逻辑电平信号(RX、TX)与差分总线信号(高、低)桥接起来。常见的例子包括:
• Microchip MCP2551: 8引脚高速CAN收发器,可用于许多老式ECU和 Arduino/Raspberry Pi CAN屏蔽。波特率高达1Mbps。
• NXP TJA1441: CAN FD(灵活数据速率)收发器,支持高达5 Mbps的波特率。引脚布局与MCP2551相同。
• NXP TJA1059: 两个CAN收发器采用相同的14引脚封装,可在大多数德国ECU中找到。
其他协议
• 汽车以太网:在MAC层与以太网相同,但物理接口不同,只有2根导线,可靠性更高。根据配置的不同,半双工或全双工速度可达1000 Mbps。
• FlexRay: 差分协议旨在取代CAN,但实际上,它只是在需要额外速度的应用中对CAN进行补充。速度可达 10 Mbps。
• LIN: 单线总线协议,通常用于简单的传感器和执行器。在逻辑级方面与UART极为相似。速度约为20 Kbps。
• SWCAN: CAN的单线慢速版本,主要用于通用汽车。速度通常为33.3 Kbps。特殊的SWCAN收发器可以发送12V的尖峰电压来唤醒ECU。除此之外,普通的CAN收发器也可用于SWCAN通信(CAN低电平与接地信号相连,CAN高电平与总线相连)。
非易失性存储器
印刷电路板(PCB)上的存储芯片可存储固件和配置。识别这些组件并与之交互,可以获得有价值的见解:
• 在一些现代ECU上有时会发现NAND闪存,用于存储某些片上系统(SoC)的固件。通常,这是在运行多用户操作系统(如Android或QNX)的大功率处理器中实现的。只需在电路板上焊接一些导线并使用SDIO协议,就能轻松转储这些固件。更现代的ECU使用UFS闪存芯片,这需要专门的转储器。
• 与NAND闪存相比,EEPROM内存的存储容量更小,但写入周期更长,可靠性更高。这些存储器通常用于存储ECU的配置或记录数据(也包括里程表值)。个人脚注:在EEPROM中模糊数据并查看ECU如何反应可能会很有趣。
系统基础芯片(SBC):多任务奇迹
系统基础芯片(SBC)在单个芯片中集成了多种汽车功能。集成功能的一些示例包括:
• 电源管理(例如DC-DC调节、低功率域电压调节、多功率域电压调节)
• 通信收发器(LIN、CAN):当系统基础芯片(SBC)用作收发器时,通常会像其他收发器一样连接一个共模扼流圈。
• 硬件监控(如果MCU行为不正确,则重置它)
有些系统基础芯片(SBC)是现成的组件(如TLE9461ES),有些则是为特定应用定制的。对这些芯片进行全面检查可为ECU的功能提供路线图。
结论
逆向工程硬件就像一层层剥开的洋葱,揭示出一个由互连、组件和设计理念组成的网络。有了适合的工具、好奇心和知识,即使是最令人生畏的印刷电路板(PCB)也能成为一本打开的书。
如果您遭遇挑战,我们的专业培训和研讨会可为您提供所需的专业知识和支持,让您自信地驾驭逆向工程。