4、I/O接口抗干扰:光耦隔离原理、数字隔离器选型、I/O口滤波电容计算、ESD防护设计

4.1 光耦隔离原理——我踩过的最深的坑

光耦隔离,说白了就是「用电转光,再用光转电」。输入侧是LED发光,输出侧是光敏三极管接收。中间没有电气连接,全靠光传递信号。

我在点钞机项目里吃过一次大亏。当时用了某款便宜光耦,结果电机一启动,计数信号就乱跳。查了三天才发现——光耦的CTR(电流传输比)在高温下衰减了40%。

为什么会这样?因为光耦的LED老化很快,尤其是长期工作在额定电流附近。我建议你选型时留出至少2倍的CTR余量。

光耦选型核心参数:

  • CTR(电流传输比):输入电流与输出电流之比,建议选100%-600%范围
  • 隔离电压:点钞机一般要求≥3750Vrms
  • 响应速度:普通光耦几μs,高速光耦几十ns
  • 共模抑制比(CMR):这个容易被忽略,我吃过亏

嗯,这里要注意。光耦的输入侧要加限流电阻。我习惯这样算:

// 输入电流计算示例
// 假设LED压降1.2V,输入电压3.3V,目标电流10mA
R = (3.3V - 1.2V) / 0.01A = 210Ω
// 实际取220Ω,留点余量

我的小技巧:输出侧的上拉电阻别太小。太小了功耗大,太大了速度慢。我一般取4.7kΩ-10kΩ,配合高速光耦用2.2kΩ。

4.2 数字隔离器选型——什么时候该换掉光耦?

光耦有个硬伤:速度上不去。点钞机现在用高速传感器,信号频率动不动几MHz。这时候就得用数字隔离器。

数字隔离器分三种:电容耦合、磁耦合、巨磁阻(GMR)。我个人偏好电容耦合的,比如TI的ISO72xx系列。为什么?因为功耗低,而且不容易受外部磁场干扰。

你想想看,点钞机里电机一启动,磁场多强。磁耦合隔离器有时候会误触发。我遇到过两次,换了电容耦合的就好了。

类型 速度 功耗 抗磁场干扰 典型应用
光耦 ≤10Mbps 高(mA级) 低速开关量
电容耦合 ≤150Mbps 低(μA级) SPI、UART通信
磁耦合 ≤100Mbps 差(易受电机干扰) 隔离电源反馈
GMR ≤50Mbps 极好 工业现场总线

警告:数字隔离器的电源去耦一定要做好。我见过有人不加电容,结果隔离器自己振荡起来了。每个电源引脚至少放一个0.1μF陶瓷电容,靠近引脚放置。

4.3 I/O口滤波电容计算——别小看这几分钱的元件

点钞机的I/O口,说白了就是传感器输入和电机驱动输出。这些信号上全是毛刺。不加滤波电容?等着死机吧。

滤波电容怎么算?我教你一个实用方法:

  1. 先确定信号频率:比如传感器输出是1kHz的脉冲
  2. 确定噪声频率:电机换向噪声一般在10kHz-100kHz
  3. 选截止频率:取噪声频率的1/10,比如10kHz
  4. 套公式:f = 1 / (2πRC)
// 滤波电容计算示例
// 已知:截止频率10kHz,上拉电阻10kΩ
C = 1 / (2π × 10kΩ × 10kHz)
C ≈ 1.59nF
// 实际取1nF或2.2nF,留余量

我习惯在每根I/O线上都加一个100pF-1nF的电容。为什么?因为PCB走线本身就有寄生电感,不加电容的话,高频噪声会直接灌进芯片。

实战经验:点钞机的传感器接口,我建议用RC低通滤波加施密特触发器。R取1kΩ-10kΩ,C取100pF-1nF。施密特触发器用74HC14或NC7SZ14,一个封装里好几个,不占地方。

4.4 ESD防护设计——我曾经烧掉三块板子

说到ESD,我就心疼。刚入行那会儿,点钞机的USB接口没加防护,插拔几次就烧了。后来才知道,人体静电轻松达到15kV,芯片能扛到2kV就不错了。

ESD防护的核心思路就一句话:给静电一条低阻抗的泄放路径

具体怎么做?我总结了三板斧:

  1. TVS管:放在接口处,选双向的。点钞机I/O口一般用5V或3.3V,TVS的击穿电压选6V-7V。
  2. 串联电阻:在信号线上串一个10Ω-100Ω的电阻。静电来了,电阻先扛一下。
  3. 共模扼流圈:对付高频ESD特别有效。我习惯在USB和以太网接口上加。

选型建议:TVS管别只看功率,要看钳位电压。我吃过亏,选了功率够大的,但钳位电压太高,芯片还是坏了。推荐用PESD系列或SESD系列,钳位电压低,响应快。

嗯,还有一个细节。ESD防护元件的布局很重要。TVS管要尽量靠近接口,走线要短。我见过有人把TVS放在芯片旁边,中间隔了5cm走线——那等于没放。

避坑指南:我曾经在点钞机的按键接口上只加了电容没加TVS。结果冬天干燥,操作员手上有静电,一按按键就复位。后来每个按键都加了一个5V的TVS,再也没出过问题。

4.5 综合设计实例——点钞机传感器接口

最后给你看一个我实际用过的电路。点钞机的纸币厚度传感器,信号频率约5kHz,接口容易受电机干扰和静电影响。

// 传感器接口电路设计
// 传感器输出 → 光耦隔离 → RC滤波 → 施密特触发器 → MCU

// 光耦:PC817(CTR=200%,够用)
// 输入侧:R1=330Ω,限流约6mA
// 输出侧:R2=4.7kΩ上拉,C1=1nF滤波
// 施密特:74HC14,输出给MCU的GPIO

// ESD防护:在传感器输入端加TVS(PESD5V0S1UB)
// 注意:TVS要靠近连接器放置

这个电路我用了三年,量产了几万台点钞机。EMC测试过了,ESD测试也过了。你照着做,基本不会出大问题。

好了,这一章就讲到这里。下一章我们聊聊电源系统的抗干扰设计,那才是点钞机EMC的重头戏。