tom_2_2 发表于 2010-12-15 12:30:56

在开发CPLD期间遇到一个奇怪问题!

程序已经写完,是采集外部电路的数据。为了开发程序我用示波器表笔,一直钩在一个pin上,程序一直运行的很正常!前天示波器被同事拿走了!发现CPLD上电的时候工作状态不对了,复位之后也工作不正常,采集的数据是错误的!我又把示波器钩上,结果程序运行的很正常,数据采集的都对!
于是我在pin和地之间加上了各种电容,电感做了很多滤波,还是没有用。
    鉴于拿去示波器后,CPLD工作就开始不正常,考虑是不是复位有问题呢?我用示波器看pin上的电位有点高,并且上面有叠加的时钟!按下复位健后
恢复低电平状态。我以前写过的程序都是上电,没按复位健就正常跑的!不知这次上电怎么就复位不行!
按下复位后程序依然不行!
我这次的程序比以前写的要复杂
谁知道其中的原因啊?请指点一下方向。

zgq800712 发表于 2010-12-15 12:37:37

你对外部的是接口,232?485?
你是不是2个地一样?发上原理图看下


你最好多准备几块板子

marker 发表于 2010-12-15 12:39:33

加个上拉电阻(做终端匹配)试试?还有你的程序可能存在竟争的现象,竟争非常有可能产生冒险。

tom_2_2 发表于 2010-12-15 12:44:21

回复【1楼】zgq800712 SEED
-----------------------------------------------------------------------

是的,我采样的数据是通过串口返回的,有于速度块之前采样的数据先存于SRAM的!光采样是没啥问题的,就是同时我把CPLD中的数据发给外面电路板的时候,采样就不对

tom_2_2 发表于 2010-12-15 12:49:58

回复【2楼】marker
-----------------------------------------------------------------------

请教如何加这个匹配电阻,呵呵...我电路在行!光采样是没啥问题的,就是同时我把CPLD中的数据发给外面电路板的时候,采样回来的数据就不对!当外面板子要返回数据的时候,我将CPLD向外面板子送数的pin置高阻w_data<=1'bz; 因为这两个线是同一个

zgq800712 发表于 2010-12-15 12:51:06

还是不知你所云,

tom_2_2 发表于 2010-12-15 12:55:40

回复【2楼】marker
-----------------------------------------------------------------------

我电路不行!为pin w_data加高阻是不是要定义inout 还是定义out也行,其实这个pin只要输出就行!为了和外面板子向CPLD送数的时候隔开,我不太确定不知能不能起隔离的作用?
如果要 避免两个pin同时对外输出时,CPLD的pin应该怎么设置

tom_2_2 发表于 2010-12-15 12:58:09

回复【5楼】zgq800712 SEED
-----------------------------------------------------------------------

就是一个CPLD采样,加上CPLD对外面电路的控制,外面电路的数据线输出输入是一起的,所以CPLD既要对外控制,同时采样,

tom_2_2 发表于 2010-12-15 13:02:19

回复【5楼】zgq800712 SEED
-----------------------------------------------------------------------

开始说的复位,是一个不正常的形象,所以我顺便请教了一下,至于是不是复位引起的不好说!要是能解决这个复位问题也是好的

zgq800712 发表于 2010-12-15 13:09:02

回复【8楼】tom_2_2
-----------------------------------------------------------------------

查下你的电路有几个地,CPLD的地和串口地是不是一个地,有没有隔离电源,地是怎么样的。

tom_2_2 发表于 2010-12-15 13:18:39

回复【9楼】zgq800712 SEED
-----------------------------------------------------------------------

CPLD地和串口地是共地的 光采样时数据完全对的,通信每问题!

tom_2_2 发表于 2010-12-15 13:19:49

回复【9楼】zgq800712 SEED
-----------------------------------------------------------------------

所有板子的电源地都是连起来的!

zgq800712 发表于 2010-12-15 13:40:28

你有几个板子,其他亚的几个多试试看看,先排除下焊接的问题。
在查电路 , CPLD 代码问题。
不知道那个不用引脚设置是不是有关系什么的。

我把示波器的第和板子的地连在一起有烧过板子。不知道为什么,示波器的探头的地夹在系统地上,后来就这样放着那块液晶板就烧了。


还有以前在上学时候是底线冒烟


网上说工厂零线和地线接一起,神医,不知道是不是。
页: [1]
查看完整版本: 在开发CPLD期间遇到一个奇怪问题!