模数混合电路的问题
我在设计一块高速采集电路板时遇到的问题:
1)板子构架:CPCI
板子组成:高速ADC(500M)+FPGA+PCI接口芯片;
2)工作流程:
AD采样的数据首先传到FPGA中,经过处理后将最终结果通过PCI桥接芯片传到主机或通过驱动芯片传到接插件上.
3)问题:
试验中我们通过FPGA内部的嵌入式逻辑分析仪分析ADC的数据,静态工作(FPGA不传任何数据给其它芯片)时,ADC的数据比较理想.但是一旦我们将FPGA与其他芯片的数据通道开启时,ADC的数据变得很差.ADC输出到FPGA为LVDS,FPGA到其它芯片之间是LVTTL电平.
印制板设计采用多层板,数字电源,模拟电源,数字地,模拟地都有单独的平面.模拟和数字分开布局.
4)初步认为问题原因:
FPGA与其他芯片传输数据时,数字噪声干扰到模拟部分了.但个人不敢完全确定
特请教各位大侠,帮忙分析一下原因!不胜感激!
仿真一下啊?
FPGA输出到接插件的速率为80bit*64MHz
这个不好说,建议先找出FPGA里的哪个模块运行时ADC数据最差,(就是一个一个模块的加载)
如果有,那分两个方面讨论,
1。FPGA内部的串扰,这个很难解决,除非你对FPGA很了解,限定模块使用的资源区域
2。板级干扰,这个也不是很好办,建议数字和模拟地不要分开,电源分开就可以,
然后在布线的时候ADC与FPGA 的线和其他数字线要有地(过孔墙)隔离
模拟线和数字部分也要用过孔墙(地)隔离----确保所有数字线不穿越模拟平面
这样没有分割地效果会比分割的好(有时TI建议)
如果FPGA 除了内部逻辑测试模块外,加载任意功能模块都对ADC数据有很大影响,则可以大致
确定为板级干扰,加载FPGA所有模块,跑全速,但是板上的数字功能芯片先不全焊接(一个区域或一个功能模块的焊接),看哪个电路影响最大,找出后研究板上的走线,看是否有改进的地方
ADC做的好的人不多,我最怕了 呵呵
期待你的结果!
非常感谢各位的建议。
特别是ut_pcb老兄的分析果然精辟。
1)第一个原因“FPGA内部的串扰”基本可以排除,因为我现在FPGA的内部逻辑用的比较少(《5%)。
但以前我曾经遇到过类似的问题,确实存在逻辑用多了,速率上不去的问题,这时可以借助逻辑锁定工具将重要部分进行锁定,避免出现资源竞争问题。
2)第二个原因,我自己也同意这个观念。
板上干扰,主要是数字开关噪声对模拟电路的干扰,这个让我郁闷了半个月了。主要是在现有设计上不太好修改。
板子布局由于构架原因可能不是最合理。三路ADC在右边,一个FPGA在左边,FPGA的输出又分别从ADC的上下两侧回到右边的接触件上。
FPGA的输出一旦有数据,ADC的性能立刻下降。
板上用了四组电源,由于不考虑成本,板子总共14层,所有电源和地平面全部没有分割,是一个完整的平面,具体叠层设计如下:
sig1
DGND(数字地)
VCCD(数字3.3V)
SIG2
HVCCA(模拟5V)
SIG3
VCCA(模拟3.3V)
AGND(模拟地)
SIG4
VCCLVDS(数字2.5V)
SIG5
VCCINT(数字1.2)
DGND(数字地)
SIG6
其中AD用了三组电源:(模拟5V)(模拟3.3V)(数字3.3V)
FPGA用了三组电源:(数字3.3V)(数字2.V5)(数字1.2v)
这样叠层是不是也存在问题啊?
看看是信号直接干扰还是通过数字地或电源的耦合干扰。可以对电源和地进行测量。如果是电源和地上的干扰的话,进行隔离。另外,模拟信号区域的数字地和电源要挖掉。
我个人认为你的叠层还是有改进的地方的
1。模拟电源和数字电源中间最好有地层隔离(另外,楼上的说模拟信号区域的数字地和电源要挖掉,是最无奈的选择,走线经过就会有阻抗不连续的情况发生)
模拟5
GND
数字3。3
平行的不同的电源层之间的干扰,(你想想线线间要3W)两个平面间你认为要多少呢 呵呵
否则数字电源的嘈声会耦合到模拟电源上,结果还不如一个电源。
2。如果真不考虑成本,就一个电源一个地的层叠,这样的俗语 三明治结构是最好的,地和电源的距离要近些,可以选5MIL。
建议你这么做12层就可以了,如果走不出可以加到14一个地 一个数字信号
TOP 模拟和数字信号1,走线区域分开 布局重来(有条件的话,没条件的话只走数字线)
数字地
数字信号层2
模拟地
模拟信号层1
模拟3。3和模拟5
模拟信号层2
模拟地
数字电源/3。3,2。5,1。2
数字信号3 数字地
数字地 数字信号3
数字信号4
数字地
BOTTOM 数字信号4 数字信号5
这样你至少有两层的模拟走线,和四/五层的数字走线,该出的了了
模拟信号线换层时要在过孔边上加模拟地过孔隔离数字信号的过孔 (过孔与过孔近的话也会耦合的哦,这个是最高要求了)
这样的层叠可以基本保证数字信号不会干扰模拟信号,此外,由于有了一个完整的地平,面做镜像,电源的不完整的影响可以减到最小,当然,夹在中间的信号最好离地(完整)的平面近点,这个要叠层厚度设计时调整一下就好(如果你板子总厚没要求的话)
还有一种个人认为比较好的方案就是不分模拟数字地,这样层叠就好设计了,只要每个电源一层就好。但是你的布局不能动的话就不行了,还有 你的ADC 有数字地和模拟地两个引脚 还是只有数字地一个引脚?若模拟和数字都有的话,可以把数字脚接到模拟地上(我忘了是数字脚接模拟地 还是模拟脚接数字地,数据跳变的幅度就会边小)TI设计手册的要求
我也是刚工作了4个多月的新人,说错了大大门轻轻的拍啊!呵呵
这样的话,估计要重新设计板子。
假设按照12层来设计,如ut_pcb推荐的如下:
TOP 模拟和数字信号1,走线区域分开 布局重来(有条件的话,没条件的话只走数字线)
数字地
数字信号层2
模拟地
模拟信号层1
模拟3。3和模拟5
模拟信号层2
模拟地
数字电源/3。3,2。5,1。2
数字信号3
数字地
BOTTOM 数字信号4
但我还有个疑问,模拟区域下面的数字地和数字电源是否要挖掉啊?
我的ADC 有数字地和模拟地两个引脚。
地不能挖,挖了数字信号的阻抗就不连续了,这里的参考面都是地,电源分割了,参考的意义就不大了。因为你的模拟信号都在模拟地里面包着,估计干扰的问题不大,关键是器件接口处的连接,这里从表面出线再走到内层,这里的附近是不能有数字线的,
还有你可以从新设计FPGA的接口,LVDS 和LVTTL 之间要有3W规则,最好中间有地过孔隔离。
