摘要:

探讨在数据传输时经济型(非高速)光耦的性能极限,以及以光耦器件手册提供的各项数据为依据找到合适的工作参数。

关键词:

数传;光耦EL2501;串口速率115200bps。

引言

由于光耦电路在我司的产品中大量使用,而曾经发现采用光耦隔离的485电路在9600bps速率时通信效果就不能令人满意。当时有几位工程师专门研究过,由于混合了485电路的发送和接收,情况相对复杂,最终虽然解决了9600bps速率下的通信问题,但是一旦速率高于9600bps时问题还是存在。目前串行通信速率上限一般在115200bps,还在普通光耦的传输参数范围内,而我们常用的速率不过是19200bps,完全没有必要使用高速光耦,这使我认为这个问题有必要重新研究,聚焦问题的关键、搞清楚为什么,才有可能从根源上找到解决问题的方法。

案例介绍

我司常用的光耦电路如图1所示,前面提到的速率高于9600bps时会出现问题的就是图1中标示的输入输出参数,由于牵涉到产品的前后级电路,我们不讨论图1以外的其它形式的光耦电路。

光耦的通道数(光耦数传性能探讨)(1)

图1

目前所有产品上选用的都是EL2501K这个基础光耦,其特点是基础参数可以接受、市场用量大、采购方便、价格便宜,简单说就是性价比非常高,适用于有一定性能要求又讲究成本,并且大批量生产的产品,它的基本参数如表1所示。

表1

光耦的通道数(光耦数传性能探讨)(2)

实验数据

在研读了EL2501K的资料后,重新估算了光耦原端和副端配置电阻的参数。图2~图6是相同品牌型号批次的EL2501K、相同的电路(图1)、不同的电路参数(公司在用电路参数和我们计算的参数)时输出波形(等比码)的对比验证。

说明:示波器3号探头(淡紫色图样)为计算机串口输出数据源的波形;1号探头(黄色图样)为目前公司主要产品上在用电路上光耦输出的波形;2号探头(蓝色图样)为改变电路参数后的光耦输出的波形。图中所示的两根水平虚线分别表示2.5V(高电平门限)和0.6V(低电平门限),以此来估算上升沿和下降沿的时间。

光耦的通道数(光耦数传性能探讨)(3)

图2

图2是9600bps速率截图,黄色信号高电平2.6V左右,蓝色信号高电平3.7V左右,展开波形可以测量到上升沿t黄=9μs、t蓝=2.7μs;下降沿t黄=8.7μs、t蓝=5μs。黄色信号高电平持续约90.8μs、低电平持续约98.8μs,蓝色信号高低电平各持续约100.8μs。

光耦的通道数(光耦数传性能探讨)(4)

图3

图3是19200bps速率,黄色信号高电平2.6V左右,蓝色信号高电平3.7V左右,上升沿t黄=10μs、t蓝=2.8μs;下降沿t黄=9.2μs、t蓝=4.4μs。黄色信号高电平持续约39.6μs、低电平持续约45.8μs,蓝色信号高电平持续约48.8μs、低电平持续约48.4μs。

光耦的通道数(光耦数传性能探讨)(5)

图4

图4是38400bps速率截图,黄色信号高电平2.6V左右,蓝色信号高电平3.7V左右,上升沿t黄=10μs、t蓝=2.7μs;下降沿t黄=9.2μs、t蓝=4.8μs。黄色信号高电平持续约14.7μs、低电平持续约19.2μs,蓝色信号高电平持续约23μs、低电平持续约21.8μs。

光耦的通道数(光耦数传性能探讨)(6)

图5

图5是57600bps速率截图,黄色信号高电平在2.5V左右,蓝色信号高电平为3.6V左右,展开波形可以测量到上升沿t黄=9.6μs、t蓝=2.6μs;下降沿t黄=9μs、t蓝=4.7μs。黄色信号高电平持续约6.2μs、低电平持续约10.1μs,蓝色信号高电平持续约14.5μs、低电平持续约13μs。现有电路已经无法正常通信了,产生大量误码;而改进的电路无误码。

光耦的通道数(光耦数传性能探讨)(7)

图6

图6是115200bps速率截图,黄色信号高电平在2.2V左右、低电平在0.5V左右,蓝色信号高电平为3.3V左右、低电平在0.3V左右,由于高电平未达到2.5V所以上升沿测量达到最高电平点,展开波形可以测量到上升沿t黄=7.6μs、t蓝=2.8μs;下降沿t黄=8.6μs、t蓝=4.4μs。黄色信号高电平持续约0μs、低电平持续约1.3μs,蓝色信号高电平持续约5.8μs、低电平持续约4.4μs。

从图2~图6中可以看到现有的电路在信号(速率不大于57600bps)通过光耦后高电平只能维持在2.6V左右,改变参数后高电平可以达到3.6V以上。速率达到115200bps时,现有电路完全无法正常工作了,而改变参数后,高低电平时间不平衡超过25%,出现误码。

光耦的通道数(光耦数传性能探讨)(8)

图7

当然如果继续改变原端和副端的参数,可以进一步优化上升沿和下降沿的时间,如图7中上升沿2μs、下降沿2.84μs,高低电平持续时间均是6.24μs;图8中上升沿1.88μs、下降沿2.5μs,高低电平持续时间均是6.56μs。继续改变参数,上升沿时间基本不会低于1.8μs、下降沿不低于2.4μs。

光耦的通道数(光耦数传性能探讨)(9)

图8

这个光耦上升沿和下降沿的典型值是3μs和5μs,我们测试到极限是1.9μs和2.5μs左右,应该是这型光耦的极限,是由光耦内部电路和工艺造成的。按照正常优化时2.8μs和4.7μs已经优于典型值了,这可能是因为将高电平定在2.5V,低电平定在0.6V的缘故。

原理分析

同一型号同一批次的器件,采用不同的电路参数会导致高电平差异,上升沿下降沿用时差距较大呢?要搞清楚这些,先要重新认识光耦。

光耦的图形符号(图12)在原端是一个发光二极管(不同类型的光耦工艺不同:低端的采用是发光三极管,特性和发光二极管基本一致,区别是延时和响应为μs级;高端的采用发光二极管,响应时间是ns级,原理特性参照发光二极管),在副端是一个没有基极引出线的NPN三极管,这个三极管比较特殊,其基极为光敏器件,是靠感应接收光照强度来控制CE之间的电流的,而光照的强度是由原端的发光二极管(以及生产工艺)控制的,所以只要控制发光二极管的发光量就能控制光耦副端输出电流的大小。

发光二极管的特性类似于二极管,其有一个电压阈值,当所加电压超过这个阈值后,二极管导通,这点是众所周知的。但是有一件事需要注意,通常用发光二极管目的是示意电路的工作状态,人眼能明显观察到发光二极管点亮,这时的电流非常小,通常1~2mA就够了。如果我们在光耦的原端(发光二极管端)也是这么做的,光耦工作的功耗是够小了,其结果就是在光耦内部的发光器件慢慢亮起来(类似呼吸灯的效果),而且亮度不是很高,这就导致了副端基极的光敏器件感应到的光通量不够,需要积累才能使其CE之间电流缓慢增加(很小)。这就是我们看到的上升沿耗时较长的根本原因。当传输速率提高后,导致基极还没感应到足够的光通量,原端的发光管就已经熄灭了。验证这点相当方便,只要固定副端的输出电阻不变,改变原端的限流电阻,每次测量上升沿的时间,就可以知道,原端限流电阻越小,副端输出波形的上升沿越陡峭、时间也越短。

要改变这个状况只有一个办法,就是增大原端的电流,即减小原端的限流电阻,让原端的发光管快速发光,副端三极管基极能快速感应到足够的光通量。实际的效果就是减小上升沿下降沿所消耗的时间。

设计依据和方法

至于原端和副端的电流多少合适,是不是越大越好,如何设计光耦电路,就需要先准确抓住光耦数据手册(见表2)中明白表达的意思和推荐建议(暗示)使用的参数。

表2

光耦的通道数(光耦数传性能探讨)(10)

粗略地解读一下表2:

VF是光耦原端发光二极管的压降,典型值是1.2V,但是这里有个关键容易被忽视,就是测得这个值的前提条件,即原端的电流IF=10mA。那么实际使用时IF不是10mA时,这个压降就可能不是1.2V,具体是多少要看相关曲线——图9。

我们在开始估算时,这个值是不确定的,需要通过假定——估算——对比曲线图——修正假定——重新估算来逐渐逼近真实值的,直到误差控制在容忍范围内。当这个值确定了,其原端的电流值也完全确定了。

光耦的通道数(光耦数传性能探讨)(11)

图9

VCE最大值是0.3V,前提条件是原端的电流IF=10mA,副端电流IC=2mA。在其它条件下是多少需要看数据表里的曲线——图10。这张图在整个设计中非常关键,是副端电流大小确定的依据。

光耦的通道数(光耦数传性能探讨)(12)

图10

CTR是光耦的传输比,这里有一点需要说明,表2中这项里表明最小是300%,最大是600%,很多人会错误的理解为这是CTR的范围,实际上并不是这样的,它不是指CTR的值的最小值和最大值,而是指CTR最大值的最小值和最大值(即CTR最大值的大小范围),这又是由于光耦生产工艺所产生的问题,原端和副端之间的光敏器件对距离角度等比较敏感,不同批次生产不容易控制一致性,所以在成品后进行测试和筛选,根据最大值大小不同范围进行分类,所以就出现了CTR最大值范围的概念,通常使用时CTR取值只要低于CTR最大值的下限就没有太大的风险了。这个参数实际指出光耦输出的电流放大能力。

光耦的通道数(光耦数传性能探讨)(13)

图11

对于CTR我们还要关心的一点是温度对其的影响,光耦数据手册中只提供了不同IF时归一化的曲线,参见图11。从中我们可以发现我们需求的-40℃~ 70℃范围内,其波动较大。如果以常温 25℃时的值为基准,观察图11会发现在-15℃~0℃范围CTR出现最大正向偏离,在 70℃出现最大负向偏离。

在图11上进行作图并计算,可以得出:IF=5mA时,-15℃正偏6.7%, 70℃负偏20%;IF =10mA时,-5℃正偏2.9%, 70℃负偏16.1%;IF =20mA时,0℃正偏2.82%, 70℃负偏12.67%。在正偏时IC最大输出能力增大,我们设计的IC必定在最大输出电流范围内,因此不受影响。在负偏时需要计算或通过实验验证其影响是否在可容忍的范围内。

上升沿时间tr和下降沿时间tf,这两个参数的典型值是3μs和5μs,测量条件是副端工作电压VCC=10V、电流IC=2mA、负载电阻RL=100Ω。前面实测地图2~图8也已经展示出,在充分优化参数挖掘其性能后,极限值是可以低于数据表提供的典型值。图12是厂方提供的测试电路及测试规则。

光耦的通道数(光耦数传性能探讨)(14)

图12

前面已经将数据手册中明白表达的意思解读过了,现在来说说数据手册中隐晦的暗示。

再认真看一下表2、图9、图10、图11,希望会有意外的发现。

——仔细看表2,会发现大多数数据的测试条件是IF=10mA;

——图9,IF=5~10mA在整幅图的第一眼位置,让读图者首先关注到,此图的作用是提供原端参数的设计依据;

——图10,IF=5mA和IF=10mA居于整幅图的中间位置,而其它IF值的曲线在边缘,很容易让人忽视,此图的作用是提供副端参数的设计依据;

——图11,IF=2mA、IF=5mA和IF=10mA也是居于整幅图的中间位置,此图作用是检验CTR值在高温时是否符合设计要求。

如果了解一些心里学,就能猜到IF=5mA、IF=10mA等几根曲线必定比较重要。这其实是通过数据图表暗示:光耦原端IF最佳工作状态应该在5mA~10mA附近,也就是当IF=5~10mA左右时光耦处于较佳的工作状态和有较大冗余区间。10mA是首选而临近10mA的其它曲线的取值也是次优的选择。

也许你不信,但是通过实验已经证实了,当IF=10mA时是性能和其它因素最平衡的,当IF超过10mA,性能还能提升,但是已经非常少了,付出的代价是功耗的急剧增加。而非常讲究功耗时可以选择次优的IF=5mA,但是其高温性能会跌落的多一些。

还是通过前面的案例来说明这个问题。这里先估算一下原电路的各项参数,IF=(3.3V-1.2V)/750Ω=2.8mA,通过查看图9,可以发现VF大约时1.125V,重新计算IF≈(3.3V-1.125V)/750Ω=2.9mA左右,IC=(5V-0.3V)/620Ω=7.58mA,CTR=IC/IF≈2.61,就是前图2~图6中黄色的波形曲线。明显IF距离推荐的10mA有较大差距,距离5mA的次优选择也有距离,因此我们在改变电路参数时先选择了IF=5mA。就是图2~图6中蓝色曲线。前面已经对比过了在57600bps及以下速率有明显改善;但当达到115200bps时波形变差(图6,蓝色),继续改变IF=10mA,对应图7中蓝色的波形;进一步提升IF=13mA,对应图8中蓝色的波形。

总结一下:根据上面的实验数据可以认为,IF=10mA时光耦在性能和功耗取得较好的平衡,随着IF电流的增加,光耦性能(主要是上升沿和下降沿时间)还能有所改善,但提升并不明显了,而付出的代价是需要更大的电流,在不追求极限性能的场合,选取IF=10mA是比较合适的,在较为讲究功耗并且对速率要求不高的场合用IF=5mA也是可以接受的。

如前所述,在选定原端电流值和匹配的副端电流值后,需要通过图11计算一下在产品使用温度范围内有没有不可容忍的偏差。按照目前产品-40℃~ 70℃的温度范围,以本研究中的实验参数计算。正偏时IC最大输出能力增大,设计的IC在最大输出电流范围内,不受影响。负偏时,IF=5mA的CTR最大只有240,低于了我们设计值,导致IC达不到预设,引起输出高电平跌落7.7%;IF=10mA的CTR最大有252,大于(包含)我们的设计值;IF=20mA的CTR最大有262,也大于我们的设计值。

需要说明一下,输出端均是以 5V为电源,理论上高电平应该是5V,但是为了保证信号高低电平的占空比的一致,在可接受的范围内需要牺牲一些高电平,在不同的速率下高电平也略有差异,实验里最低的高电平约3V。

另外我们还做了一些额外的对比试验,相同的输入输出参数,换用不同品牌同型号或不同品牌不同型号的光耦,其输出波形和占空比都不尽相同,经过参数调整,其输出波形(边沿及占空比)都能达到最佳,而此时的输入电流均是相关数据资料中的首选值。

验证

为了进一步验证我们实验参数的有效性,在参与对比的现用设备上将参数改为实验参数(黄色波形),再与实验板进行波形(蓝色波形)比较(图13)。再对比图3,图3和图13速率均是19200bps,可以看到上升沿和下降沿的陡峭程度明显改善,高电平也更高,高低电平持续的时间也延长了,而高低电平的占空比能很好的保持在50%。图14是38400bps的波形,对比一下图4,可以看到改善更加显著。

图13、图14中的蓝色波形和黄色波形存在一些差异(例如高低电平),这是由于光耦参数的离散性造成的,但是从上升沿、下降沿、占空比以及CTR等方面观察并不影响波形的传输,只在高低电平略有影响,而此影响完全在设计容许的误差范围之内,因此还是可以接受的。

光耦的通道数(光耦数传性能探讨)(15)

图13

光耦的通道数(光耦数传性能探讨)(16)

图14

通过上述对比,可以证明本研究中给出光耦的参数建议是有效的和实用的。

经验教训

在整个研究过程中,我们走过不少弯路。起初研究现有电路及参数时,我们在9600bps速率和19200bps速率看过输入输出波形,认为是可以接受的,把主要精力放在高电平及占空比上;而当逐步提高速率后,发现上升沿和下降沿的延时才是影响速率提升的关键,这才认真研读光耦的数据手册;当解决边沿问题后也确认了对CTR的错误理解,需要指出的是对同型号不同后缀光耦的进行选择时只要关注CTR的最小值就可以了,最大值在实际中意义不大,原因是光耦生产时的离散性确定的,后期筛选时将不同CTR值分档到80/100/130/150/200/300这几个档次(表3),使用相应档次后缀的光耦只需要保障满足最小值,这完全是基于商业利益的操作;另外要关注CTR温度特性的重要性,特别是高温特性。

表3

光耦的通道数(光耦数传性能探讨)(17)

研究总结

通过对光耦EL2501K的研究,可以认为在使用这类非高速常规光耦时必须对原厂提供的数据做仔细的研读,找到其最佳工作的条件,并结合自身所用的电路进行必要的验证。由于光耦电路接法众多,如果一一试验太费时费力,而其中又有不少电路形式是我们不认可、不推荐的,因此这里只给出我们产品中常用的电路的原端反向接法、副端正向接法(图1),使用条件是输入端电源 3.3V,输出端电源 5V,输入端提供足够的低电平驱动,并且常态为不工作状态。鉴于功耗的限制,原端选用次优的IF=5mA,限流电阻取430Ω,副端的限流电阻取360Ω。这个参数配置能满足至少19200bps速率的通信,并有更高的38400bps速率的裕量。当希望将速率提高至57600bps时,建议选用IF=10mA;而速率达到115200bps时,建议选用IF=20mA,并且都需要增加简单的整形电路。

本研究中的光耦电路及相应的配置参数,在其它场合(例如脉冲采集等,当最小脉宽不小于26μs时)也能适用,如果在没有太大的成本压力的情况下,更可以在光耦输出级增加如三极管、门电路、比较器等器件,对光耦输出进行整形,其输出波形将得到极大的改善。

附加研究

前面已经讨论了原端反向接法、副端正向接法的电路(整体效果是反向),这里我们拓展一下原端反向接法、副端也是反向接法的电路(整体效果是同向)。电路参看图15。

光耦的通道数(光耦数传性能探讨)(18)

图15

如果按照前面的研究结论,图15的参数配置应该不是原端2K、副端750Ω、IF≈2mA(图16,低电平0.48V),如果采用IF=5mA,这时会出现副端输出的低电平在0.84V左右的现象(图17),而随着速率的上升,低电平会继续升高达到2V左右。这个现象会导致后级电路中无法识别低电平,在现有如图15所示参数下,占空比和低电平均能满足要求,而略有缺失的是上升沿和下降沿不够陡峭用时较大,达到12.5μs左右,并且会随着温度和速率的变化而继续恶化(图18),目前只能保障9600bps的通信。当速率提升到19200bps并且温度上升到 70℃时,就无法正常通信了。

光耦的通道数(光耦数传性能探讨)(19)

图16

光耦的通道数(光耦数传性能探讨)(20)

图17

光耦的通道数(光耦数传性能探讨)(21)

图18

导致低电平不低的原因我们可以查看图10中的曲线找到答案,由IF和IC的值能很容易找到相应曲线上的点,相应的VCE值也能找到,可以发现此时的工作点已经比较接近放大区了,随着IC的增大VCE急剧增大,导致副端输出的低电平低不下去。这个问题并不能简单的通过外加电路来整形调整。所以只能采用减小IF的方法,牺牲上升沿下降沿时间、牺牲速率,保证最基本的低电平需求。

仔细研读这个现象其实是和前面的研究结论相吻合的。还记得前面提到过的高电平达不到5V的情况吗,因为那个电路整体效果是反向,所以反映在高电平跌落上,而对于高电平的跌落,我们的容忍力明显比低电平不低要强很多,毕竟二极管三极管开启门限都是在0.7V左右,只要高电平大于1V,就能轻松的用二极管三极管整形修正,但低电平不低会导致二极管三极管没办法正常关闭,很难用简单的电路来修正。

结论

鉴于光耦需要较大的驱动电流,因此光耦电路我们推荐低电平驱动,即原端反向接法,当对速率要求不高时,可以选用副端正向接法或反向接法,其速率限制在9600bps,所用参数见研究总结和图15。当要求19200bps及更高速率(115200bps)时,建议适当增加成本,光耦负责信号的传输占空比、边沿陡峭以及低电平的有效性,后级整形电路负责调整高电平匹配和波形的修正。

本研究对光耦数传特性的探讨,旨在如何使光耦在电路中既能提供较优的性能,又不用增加额外的成本(即用最简电路及合理的参数),在设计的源头上降低复杂性、增加可靠性。本研究只针对光耦EL2501K给出了推荐,但是如采用其它型号光耦,需要重新计算相应的参数,并通过实验验证。

鉴于本人水平有限,在研究中和行文中难免存在错误及差错,恳请各位专家、读者不吝赐教和指正,余将不胜感激。

参考文献

[1]EL2501xxxx-G Series datasheet rev3,亿光电子(Everlight Electronics Co., Ltd.),2010-12-29。

本文非原创,如有侵权请联系删除。

,