关于这个问题, 我看不能简单说有没有问题来判断,我对这个问题做了还算比较深入的试验。并将其应用于 38.4Kbps 的串行通信中,事实上,由于普通光耦的特性,往往开关的延迟时间是不同的。
普通应用中(典型电路), 开通时间 2~3uS, 关断时间为 30uS 以上, 这样, 按30uS 差距计算, 不超过半个 bit 时间, 应该是16.6Kbps。如果, 通信两节点间的波特率有误差, 那么这个值还要降低! 但是, 经过合理选择驱动电路, 可以将这两个时间差距缩小, 便可以提高波特率了。我已经将这个时间缩到 2uS 以内。这样, 理论上可以达到200Kbps以上了。
“事实上, 由于普通光耦的特性, 往往开关的延迟时间是不同的。普通应用中(典型电路), 开通时间 2~3uS, 关断时间为 30uS 以上, 这样, 按30uS 差距计算, 不超过半个 bit 时间, 应该是16.6Kbps。”
实际上,还不能“不超过半个 bit 时间”,很多单片机等芯片是在3/8、1/2和5/8个bit时检测,如果考虑到抗干扰的要求,只能不超过3/8个bit时间,这样可用的波特率就更低一些。
要想工作在较高波特率也很简单,逐个调整前向电流即可,57600没有问题。但大量生产时绝对不允许这样做。如果采用固定的一次限流电阻和二次上拉电阻,考虑到521的参数分散性(注意:电流传输比从50%到600%),要在全部允许温度范围内可靠工作,波特率不应该大于9600,否则就可能出现这一批芯片工作正常,下一批芯片不正常的现象。
光耦能够用到多高波特率,取决于三个时间:
1、开通时间。 2、存储时间。 3、关断时间。
影响最大的是存储时间,它使脉冲变形,从而造成传输错误。
存储时间是由于三极管进入饱和而产生的。饱和程度越大,存储时间越长。如果能够刚好不进入饱和(线性区边缘)则存储时间几乎为零。但这很难办到,除非一个一个地调整驱动电流,使三极管刚好不进入饱和。即使调整好了,温度变化也可能改变电流传输比,使三极管进入饱和,或是离开线性区边缘(三极管输出幅度减小),电路工作不正常。
能否改进驱动电路,使得芯片工作在更高的波特率?当然可以。驱动电路使开通延迟而关断不延迟即可。如果延迟时间刚好等于存储时间,那么从波形上看,无非是脉冲延迟了,但没有变形(暂不考虑上升和下降时间),所以不会产生传输错误。但这里又产生了新的问题:成本上是否合算?高速光耦如6N135比TLP521并贵不了太多,如果改驱动电路而增加的成本大于6N135与TLP521价格之差,那是不上算的。在设计工作中,这个成本因素必须时刻考虑到。
改进驱动电路并不能减少开通时间和关断时间,调整驱动电流也不能减少开通时间和关断时间。因此存储时间即使为零,最终波特率也要受这两个时间的限制。
如果把TLP521当做数字器件,让TLP521工作在非线性区的饱和、非饱和两个极端(即:加个上拉就可以产生高、低电平),用它来做通讯隔离10Kbps就开始产生误码了。
如果,我们能充分认识到光藕的特性,在TLP521输出之后加一级放大整形电路,利用TLP521的线性区电流传输比的增益特性,通过一个带有+25db电压增益的类施密特双三极管放大器放大、整形,就可以让所传输信号的上升、下降沿的实时延时降低到1uS,如果使用单管放大整形传输50Kbps是决无问题的,成本不过增加了几分钱。
如果,高速光藕取消掉接收管内部放大整形电路,那么它的速度比TLP521也就高不了多少了。
9600没有问题
9600是没有问题的,我用的是PC817,9600bps 5V,1kom传输比较稳定。另外两边加开关管2N4401/3加速(整形)的话38.4kbps传输也很稳定。
脉冲的上升下降沿可以通过施密特电路整形,但上升下降沿再好,光耦关断的延迟时间不解决,照样传输错误。
“如果,高速光藕取消掉接收管内部放大整形电路,那么它的速度比TLP521也就高不了多少了。”
这句说得就更是没边没沿了,设计高速光耦的工程师听见要上吊。
但是,如果把光藕定位为模拟器件情况就完全不同了,所以我表达的是:光藕工作在线性区,经过线性放大、数字整形混合设计的带线性电压增益的电路,(线性放大特性+施密特特性的双管电路)。不是完全意义上的施密特电路,设计时适当的调整好工作点(包括发射电流),对元件要求不是很严格的,批量时也不存在一致性问题。再加一个管,驱动能力可以做得很强,可以用来直驱大功率的IGBT、VDMOS等。
此类电路是高速光藕贵的年代设计的,一直都用得很好,建议去做一下试验。
关于高速光藕的问题,我是拿相近档次的的诸如6N135和TLP521来比较,你也可以试一试,如果不用6N135里的三极管加速,6N135的表现比TLP521真的好不了多少,当然差距也是很明显的。说这句的目的是想告诉大家,如何正确理解光藕的设计方法。