lvhaow
驱动小牛
驱动小牛
  • 注册日期2001-10-31
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望35点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:2709回复:27

总线驱动电路设计求助 50分

楼主#
更多 发布于:2003-03-06 20:27

两个设备间进行并行数据传输,速度为2.5M,信号包括1个时钟,1个字同步,3位地址,8位数据。
发送设备为74ALS244(总线驱动器),接收设备也是74ALS244,中间使用约80CM长双绞线电缆连接。
接收设备所使用的74ALS244同时用作总线驱动器,直接驱动8片CPLD(EMP7128S)。
接收设备电路板上,总线布线长度约16CM,线间距50mil。

信号流为:
CPLD-->74ALS244-->80CM双绞线-->74ALS244-->总线(8*CPLD负载)

现出现如下情况,请高手指点:

一、接收设备的74ALS244输入端(双绞线接入点)没加阻抗匹配,总线终端无阻抗匹配,总线上最远端焊有一个插座,插入一片CPLD设备,该设备数据接收完全正常。

二、接收设备的74ALS244输入端(双绞线接入点)没加阻抗匹配,总线终端无阻抗匹配,总线上8个插座全焊上,但只在总线最远端插入一片CPLD设备,数据接收出现部分误码。

三、接收设备的74ALS244输入端(双绞线接入点)没加阻抗匹配,总线终端无阻抗匹配,总线上8个插座全焊上,插入4片CPLD设备,所有数据接收出现严重误码

四、接收设备的74ALS244输入端(双绞线接入点)加上由150欧电阻和500p电容组成的阻抗匹配,总线终端无阻抗匹配,总线上8个插座全焊上,在任意位置插入1片CPLD设备,数据接收出现严重误码。


交任务的时间就快到了,求各位大哥帮帮忙吧!不然饭碗就保不住了!!!!

最新喜欢:

flyingflying zheng2002zheng2...
lvhaow
llhai
驱动牛犊
驱动牛犊
  • 注册日期2002-05-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-03-06 20:56
首先,双绞线是需要平衡差分驱动的,可以用符合RS422规范的总线收发器,传几百米都可以。
既然这里你用了244,它是总线驱动器没错,但是是线路板上的总线,不是传输线。
如果改电路板已经不现实,你可以这样试试看:
1.用带状电缆代替双绞线,记住信号线需要按信号,地,信号,地。。。。这样间错的规则。
2.因为驱动力本来就不足,又带了这么多负载,所以终端阻抗匹配就算了吧,不要再增加负载了
3.可能的话,降低数据率
4.实在不行,对时钟线单独加一个驱动电路,使用电流环驱动法,终端接一个较小的环路电阻。
希望你走运,下次设计电路要多考虑实际情况。
lvhaow
驱动小牛
驱动小牛
  • 注册日期2001-10-31
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望35点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-03-06 21:25
我觉得不是双绞线的问题,双绞线本来用的就是一对线中,一条走信号另一条为地址。而且,我所列的第一种情况,数据完全正确,说明长线没问题。问题出在板上的那个244驱动的总线,就是带了8个负载的总线。
实际上,仅仅是多焊了七个插座在总线上面,数据就开始出错了。多几个插座能影响什么呢?
我查过,CPLD的IO用作输入,基本上就是容性负载,是不是可以通过换244为245,提高驱动能力来解决?

拜托!!!
lvhaow
zheng2002
驱动中牛
驱动中牛
  • 注册日期2002-04-17
  • 最后登录2004-12-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-03-06 23:05
这么远的距离
要用232或485了
244只是在板子上的信号驱动
没有用来这样传送信号的
qq:14459938 email:zheng2002@21cn.com RH9 kernel 2.4.20
lvhaow
驱动小牛
驱动小牛
  • 注册日期2001-10-31
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望35点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2003-03-06 23:10
问题不在那根长线上!!!!实验都证明过了的!

问题就在板上的那组总线!
lvhaow
X_ray
驱动中牛
驱动中牛
  • 注册日期2003-02-03
  • 最后登录2004-07-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-03-07 00:55
频率不算高,距离也不大。建议:
1,不要用74ALS244,因为CPLD的驱动能力已经够了。
2,把CPLD的输出设成慢输出驱动。(用244就不行了)
3,不需要阻抗匹配,输入也不要用244,因为CPLD有钳位二极管(满足PCI规范)
4,把双绞线改成屏蔽线,外皮单端接地。
5,单独用一根粗线做地线回路。(至少2MM2)
6,多加一些退耦电容
petz
禁止发言
禁止发言
  • 注册日期2001-03-23
  • 最后登录2015-12-19
  • 粉丝0
  • 关注0
  • 积分-22276分
  • 威望15点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-03-07 09:01
用户被禁言,该主题自动屏蔽!
llhai
驱动牛犊
驱动牛犊
  • 注册日期2002-05-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-03-07 09:27
既然说只接上8个插座后就产生数据出错,说明信号在总线,插座,以及接收板上的总线之间产生了严重的信号反射现象。
带状电缆和双绞线是不同的,同样是80cm的线,双绞线因为绞合的关系,实际长度长得多,因此信号反射会带来更严重的问题。
所以虽然未必能解决你的问题,还是建议你试一试,毕竟除了改电路之外没别的方法了。
另外给你一个比较,并口线也是类似的TTL电平驱动长线的例子,其长度可达1.5m,速率可达500khz.
最后,建议你检查一下各板子之间的供电情况,如果分别供电,地线之间可能形成了电势差干扰,会导致信号出错。
lvhaow
驱动小牛
驱动小牛
  • 注册日期2001-10-31
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望35点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2003-03-07 10:36
谢谢楼上各位的热心帮助。

上午仔细观查出错后的数据,发现只有很少的数据错误,而有大量的数据位置后移。考虑到焊上插座后就出现了数据错误现象,反射造成错误的可能性比较大。
分析认为原因可能在时钟线上:由于总线上增加了一些插座,造成总线阻抗不连续,因而在不同的插座位置上,反射信号的强度也不尽相同。在最远的一个插座上,时钟信号的边沿,由于反射而产生振铃,只要振铃信号的幅度大过CPLD的逻辑门槛(只有2V),就等于增加了额外的时钟脉冲,因此数据接收时,会收到一些不存在的数据,而正常的数据位置也就向后移动了!

上面的分析有问题否?

如果没有问题,那么有什么最简单的解决方案?仅仅在时钟输出端加个串联电阻可行吗?先加个75欧的电阻试试吧!
lvhaow
lvhaow
驱动小牛
驱动小牛
  • 注册日期2001-10-31
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望35点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
9楼#
发布于:2003-03-07 10:41
zoujie兄:
    不好意思,我没看明白您拓扑示意图,板上总线就和ISA差不多,一根传输线上存在8个分支,接8个设备。

llhai兄:
    我很同意您的看法,正在往这方面考虑解决办法,谢谢。电源不该有问题,我使用的是通过主板集中给子板供电,5V/3.3V双电压,子板插座的电源位置附近加有完整的滤波,去耦电路。
lvhaow
petz
禁止发言
禁止发言
  • 注册日期2001-03-23
  • 最后登录2015-12-19
  • 粉丝0
  • 关注0
  • 积分-22276分
  • 威望15点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-03-07 10:56
用户被禁言,该主题自动屏蔽!
lvhaow
驱动小牛
驱动小牛
  • 注册日期2001-10-31
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望35点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
11楼#
发布于:2003-03-07 11:22
zoujie兄:

布线前我还真没想太多,总以为2M多一点的速度,不会有大问题!
此外,受设备空间的限制,主板不可能做的更大,无论是星型还是菊花链式的拓扑,都很难布通线,所以......

我考虑的加串联阻抗匹配的方式可行吗?我觉得您比我有经验多了!
lvhaow
petz
禁止发言
禁止发言
  • 注册日期2001-03-23
  • 最后登录2015-12-19
  • 粉丝0
  • 关注0
  • 积分-22276分
  • 威望15点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-03-07 11:38
用户被禁言,该主题自动屏蔽!
lvhaow
驱动小牛
驱动小牛
  • 注册日期2001-10-31
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望35点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
13楼#
发布于:2003-03-07 15:56
不到万不得已的时间,我还不想破坏电路。

中午试着在时钟输出端加了一个75欧电阻,可是情况并没有什么改变!如果问题不在时钟上,我实在想不到还会在什么地方出问题。

此外,用示波器查看时钟输出端和线路终端的信号,没发现有异常,波型又漂亮又稳定。不过,我那台示波器是老掉牙的货色,就算有问题也不一定能看得到!
lvhaow
llhai
驱动牛犊
驱动牛犊
  • 注册日期2002-05-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-03-08 11:10
波形稳定的话,建议你这样试试:
1。在每个插座的总线上,套一个磁环,以消除可能的高频干扰。
2。在接收电路的时钟线上,串联一个史密特触发器对时钟进行处理。可以在74系列里面选择。

goog luck
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2003-03-08 13:37
通常时钟线的布局是星形拓扑,较长的时钟必须在源端串联电阻,同时必须考虑线路分布电容和接收端的等效电容,通常用于时钟驱动的芯片都会提供最高的驱动电容参数,如果驱动的接收端电容总和超过限制,则必须增加时钟驱动芯片,高速电路设计一般严格保证时钟驱动和接收端的一一对应,甚至要保证时钟线的长度一致,但似乎在2M的时钟下不应当有这么严重的问题.
兄弟们,给点分吧
lvhaow
驱动小牛
驱动小牛
  • 注册日期2001-10-31
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望35点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
16楼#
发布于:2003-03-08 18:18
版主大人都来了,在下十分感动。

我一直认为2M的速度不应该出什么问题,可是问题偏偏还是出了。
现在有一个新发现,长线接入端的后来安装了匹配电阻100欧和电容500P,结果没起到什么作用,于是就将电阻又拆了,但那十几个电容还在板子上,电容一端接地,另一端悬空,结果,原本只插入一个CPLD接收板时还算正常的,现在也出现了大量数据错误,但将那些电容再拆除,情况又恢复好转。
分析可能是那些电容产生了额外的寄生振荡,通过地线干扰了正常的数据传输。但是,干扰这么明显,却也是超出意料的。

关于总线出错,想来想去只有反射这个原因了。以前认为2M速度不应考虑反射的影响,也许这种认识是错误的了。反射只和驱动电路的信号边沿速度以及线路延时有关,而我用的74ALS244的边沿时间最小只有2NS,而总线长度有18CM,并且是分散负载,延时可能远大于2NS。所以,我想换个驱动电路再试试,改用74HC244,以获得更大的边沿转换时间。也许这样可以消除反射的影响。
lvhaow
lvhaow
驱动小牛
驱动小牛
  • 注册日期2001-10-31
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望35点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
17楼#
发布于:2003-03-08 18:22
llhai兄:
    每个插座有十几条线,全套磁环不太现实。原设计中,只在电源线上加了磁环。
    接收电路是独立的电路板,做成插卡的,已经定型,改不了了!
lvhaow
llhai
驱动牛犊
驱动牛犊
  • 注册日期2002-05-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2003-03-09 00:06
我不是要你在每根线上套辞环,而是像打印机并口线那样,所有线一起在一个大磁环上绕几圈。
X_ray
驱动中牛
驱动中牛
  • 注册日期2003-02-03
  • 最后登录2004-07-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2003-03-09 09:23
本人帮你提的几点就是解决振铃,线间串扰和地线干扰.
CPLD的钳位二极管能有效地吸收振铃,CPLD的慢输出是专门为解决振铃问题而设.
上一页
游客

返回顶部