第三章 环境搭建与连接:逻辑分析仪驱动安装、探针连接、CAN收发器选型与接线
好,咱们开始动手了。
前两章聊了不少理论,我知道你肯定手痒了。这一章,咱们就把设备搭起来,让信号真正跑起来。环境搭建这事儿,说简单也简单,说坑也多。我这些年调试下来,至少有一半的“疑难杂症”,最后发现都是连接问题。
3.1 逻辑分析仪的驱动安装
先说说驱动。不同厂家的逻辑分析仪,驱动安装方式差别挺大。我主要用 Saleae 和梦源这两家,就拿它们举例。
Saleae Logic 系列
这个最简单。去官网下个 Logic 2 软件,安装包自带驱动。插上设备,系统会自动识别。Windows 下如果没反应,八成是驱动签名问题。我遇到过几次,Win10 强制签名,老版本驱动装不上。
梦源逻辑分析仪
梦源的驱动稍微麻烦点。它用的是 libusb 驱动,需要手动安装 Zadig 工具。步骤其实不复杂:
- 插上设备,打开设备管理器,找到“未知设备”
- 运行 Zadig,选择这个设备
- 驱动选 WinUSB 或 libusb-win32,点 Install
嗯,这里要注意:千万别选错了设备。我有个同事,把鼠标的驱动给换了,结果鼠标动不了,折腾了半天才发现。
3.2 探针连接与信号完整性
驱动装好了,接下来是物理连接。很多人觉得,拿个杜邦线怼上去就行。其实不然,探针连接的质量,直接决定了你能不能抓到正确的波形。
探针选择
逻辑分析仪自带的探针,一般有两种:
- 杜邦线探针:便宜,但容易松动。适合低速、临时调试
- 排线探针:带夹子或钩子,接触可靠。我建议长期调试用这个
我个人习惯,手边常备一套带钩子的探针。夹在芯片引脚上,稳得很。杜邦线嘛,插面包板还行,直接怼芯片引脚,一碰就掉。
接地问题
这是个大坑。逻辑分析仪的地,必须和被测电路的地共地。不共地,波形全是毛刺,根本没法看。
我见过有人用一根长杜邦线接地,结果信号反射严重,波形都变形了。正确的做法是:用最短的线,把逻辑分析仪的 GND 和板子的 GND 连在一起。最好是直接焊个地线环,或者用鳄鱼夹夹在板子的地平面。
3.3 CAN 收发器选型与接线
逻辑分析仪只能抓数字信号,但 CAN 总线是差分信号。所以,你需要一个 CAN 收发器,把差分信号转成单端信号,才能喂给逻辑分析仪。
选型建议
市面上常见的 CAN 收发器芯片,有这几个:
| 型号 | 工作电压 | 速率 | 特点 |
|---|---|---|---|
| TJA1050 | 5V | 最高 1Mbps | 经典款,耐操,我用了好多年 |
| SN65HVD230 | 3.3V | 最高 1Mbps | 适合 3.3V 系统,低功耗 |
| MCP2551 | 5V | 最高 1Mbps | 便宜,但容易发热 |
我个人推荐 TJA1050。为什么?因为它皮实。我曾在一次项目中,不小心把 CANH 和 CANL 接反了,TJA1050 愣是没烧,只是不工作。换回来就好了。要是 MCP2551,估计已经冒烟了。
接线方法
接线其实很简单。收发器一般有这几个引脚:
- VCC:接电源(5V 或 3.3V,看芯片)
- GND:接地
- RXD:接收输出,接逻辑分析仪通道
- TXD:发送输入,一般悬空(我们只监听)
- CANH:接总线 CANH 线
- CANL:接总线 CANL 线
你想想看,我们只是解码,不需要发送数据。所以 TXD 悬空就行。RXD 接逻辑分析仪的一个通道,比如通道 0。
完整接线示例
假设你用 TJA1050 模块,接线如下:
TJA1050 模块 逻辑分析仪
VCC ----> 5V 电源
GND ----> GND(共地)
RXD ----> 通道 0
TXD ----> 悬空
CANH ----> 总线 CANH
CANL ----> 总线 CANL
嗯,就这么简单。接好后,打开逻辑分析仪软件,设置通道 0 为 CAN 解码,波特率选 500k(或者你总线的实际波特率)。然后抓一下,应该就能看到数据了。
好了,环境搭好了,探针接上了,收发器也连好了。下一章,咱们就正式开始抓波形、解码数据。到时候我会教你,怎么从一堆乱码中,找到真正有用的信息。