TTL串口设计
TTL串口设计
在许多处理器直接引出来的串口叫做USART或者UART,有没有"S"取决于这个串口有没有同步时钟信号,USART也可以用作UART。
常用的UART电路设计有:三线串口设计,TTL串口防护设计,电流倒灌问题,串口隔离。
三线TTL串口设计
处理器直接引出3线TTL串口原理图,如下图:

加入上拉电阻的原因以及注意事项:
1、串口空闲状态是高电平,一般在软件内部会设置默认高电平,但是软件设置的高电平比较弱,所以我们最好在硬件上设置上拉电阻。
2、这个硬件上拉的电平一定要是与处理器IO电平保持一致。
3、上拉电阻1~10K都可以。
TTL接口滤波退耦设计
TTL接口滤波退耦电路原理图,如下图:

为什么要做种处理呢?这是因为有时候串口通信时,会受到很多干扰,最常见的就是EMC实验,上图这种设计就是最简单的加入磁珠的Π型滤波。
说明:
1:上拉的电源电平和处理器 IO电平保持一致。
2:上拉电阻 1K-10K都 OK。
3:磁珠选择 100Ω/100M,电容 100pF以内,用于退耦滤波,降低信号线和 GND上的高频干扰,有利于辐射骚扰测试。
TTL接口防倒灌设计
在我们电路设计中,难免会出现两端串口的直连,这个时候很大可能会出现两个串口的电源域不同(相同电压但是上电时间不同;不同电压,存在压差)这个时候就会出现串口倒灌的现象,我们要避免这种情况的发生,所以我们需要设计防倒灌电路。
串口防倒灌电路设计我们可以:
1、使用串口转换芯片。(最稳定的方式)
2、使用三级管或者MOS管进行电平的转换。(大部分可以使用)
3、直接在串口线上串联二极管。(针对电源域不同做防倒灌,电压相同或者压差不宜过大)
这里我们详细讲解第三种,直接串联二极管方式的电路,因为篇幅原因第一,第二种不在此处讲解。
我们简单举个例子,原理图如下:

看到这个原理图设计,我们一般会有以下问题:
1、为什么RX是二极管的阳极,TX是二极管的阴极,通俗点就是,为什么二极管只防TX往RX?
答:
一般这种设计只需要防止TX往RX倒灌电流即可,因为RX是接收端,一般的处理器没有驱动能力;再加上实际测试中也证实这样的设计没有问题。
2、串联肖特基二极管后,串口的高低电平是怎么发送接收的?
答:
①TX发送“1”时,此时二极管截止,所以RX接收的“1”是由外部上拉来的,从而实现“1”的传输。
②TX发送“0”时,此时二极管导通,由于二极管特性,二极管会将电压钳位在自身导通压降电压,所以此时RX接收的“0”数据就是这么来的。此时RX引脚上的电压一般为0.1~0.3V大部分处理器都可以将做识别为低电平。如果使用肖特基处理器依旧将认为不定态电平,那么只能使用电平转换芯片。
3、这个二极管怎么选型?为什么选择这种二极管?
答:
选择肖特基二极管。肖特基的优点:1:反向恢复时间短,ns级;2:正向导通电压低,0.1-0.2V;3:漏电流低。
①因为串口总是发送010101这种数据,所以对于二极管的反向恢复时间的要求比较高。(普通二极管大于:500ns、快恢复二极管:500ns以内、肖特基二极管:20ns以内)
②假如TX发送“0”的数据给RX,此时二极管导通,由于二极管特性,二极管会将电压钳位在自身导通压降电压,所以此时RX接收的“0”数据就是这么来的。如果换做其他压降比较大的二极管,TX发送“0”数据,RX接收到的就是0.7V左右,这种一般的处理器也可以将做识别为低电平,但是部分处理器可能会认作为不定态,所以要使用低压差的二极管。
③肖特基漏电流小,如果这个二极管漏电流大的话,TX的电流直接通过二极管的漏电流流入RX,那我们的设计将没有意义。
TTL接口ESD防护
TTL接口ESD防护原理图,如下:

这个设计与TTL接口滤波退耦电路很相似,将两个47pF的电容换成了两个TVS管。需要注意的是:TVS管的选型以及放置的位置。
1、此处的TVS管应该放置于靠近连接器的位置,这样才会有足够的距离给TVS保护处理器。
2、TVS的选型:
①反向工作电压:这里我们将串口的电平认为为3.3V。所以我们选择TVS的反向工作电压应该≥3.3V,但是不能超过3.3V很多,我们最优的选择就是方向工作电压为3.3V或者3.6V的TVS管。
这里我们会有疑惑,为什么我们会有选择3.3V的TVS管呢?这不是一工作就保护了吗?其实我们看器件手册,其中还有个重要参数Vbr完全反向击穿电压(以图中的TVS管为例),这个TVS管的工作电压为3.3V,完全反向击穿电压为3.8V,所以串口在工作时,这个TVS管就会开始起保护作用,只要串口一出现电平状况,TVS就可以立马响应进而保护处理器。
②防护等级:满足 IEC 61000-4-2------Air discharge:±30kv Contact discharge:±30kv
尽量往防护等级高的选,多留点余量,防护安全系数高。
TTL串口隔离
我们最常用的就是光耦隔离,首先我们需要了解串口的传输速率的计算,才能明白光耦应该怎么选型。
115200 = 115200bit/s 1bit(位)的传输时间 = 1/115200 = 8.68us
如果我们选择的光耦传输速率大于我们计算的这个值的话,,就会出现串口拉不低或者拉不高的情况,这个很好理解。所以我们需要选择高速光耦,来满足我们传输速率要求。
光耦隔离原理图设计,如下:

首先我们看到ISO是隔离的意思,所以有ISO的信号都是隔离出来向外连接的信号。
看到这个原理图设计,我们一般会有以下问题:
1、为什么不用一个双路的光耦进行隔离而是用两个单路的光耦进行隔离?
答:
如果使用一个双路的光耦,在信号的隔离中,我们看着好像是可以的,但是我们发现此时这个光耦就只有一个电源,所以这个时候我们就不能进行电源和地的隔离了,这不是我们想要的,所以我们使用两个单路的光耦进行隔离。
2、为什么只上拉两个信号,而且都是TX的信号?这个电路的工作模式是什么?
答:
这个首先我们要看这个光耦的芯片手册,在光耦这个内部是有逻辑门的。LED亮的时候(TX为低)输出是低电平;LED不亮的时候(TX为高)输出为高电平。这正好满足我们串口的需求,TX发“1”RX接收到的也为“1”,TX发“0”RX接收到的也为“0”,并且将TX默认拉高之后,RX在光耦的作用下也默认为高电平,所以在此电路设计中,我们只需要拉高TX即可。
3、这个电源的隔离是怎么做的?C7的作用是什么?
答:
这里的电源隔离使用的是磁珠做简单的隔离。
C7的作用是:
众所周知电容有两个特性:①通交阻直;②通高频阻低频。
所以在信号地与外壳地之间加一个电容就形成了一个通高频阻低频的通道。所以板内的高频信号就会通过该通道从信号地泄放到外壳地(EMC高频信号)。从EMC的角度来讲,信号地与外壳地最好直接连接,这样信号地与外壳地就可以被称为比较好的可靠的连接。但是从ESD的角度来讲,我们给外壳打个静电,静电又不能串联到我们的信号地上来,不然就会对我们的板卡的IC造成影响,或者损坏。所以我们通常会加一个比较大的额定电压的电容。这里我们加的是耐压2000V的电容。
注:具有成本预算的话,也可以使用专门的电源隔离,详细设计可自行查阅一下,这里不多讲述。
结束
至此,有关TTL串口设计简单分享到这,希望能对各位有帮助,有疑惑的部分,可以评论以及私信询问,一起学习相互进步,祝大家都能成为一名优秀的硬件工程师。
更多推荐



所有评论(0)