Electronics 版 (精华区)

发信人: dsp (Z族@ Z~笨笨), 信区: Electronics
标  题: [合集]计数不稳定原因(转载)
发信站: 哈工大紫丁香 (2003年12月16日15:21:45 星期二), 站内信件


────────────────────────────────────────
 yhhgirl (嫣然一笑)                   于 2003年12月09日15:53:19 星期二 说道:

  我测了一下
  用maxplus仿真的时候 计数是稳定的 是不是意味着是dsp控制程序的问题?

────────────────────────────────────────
 ghl (量子)                           于 2003年12月09日16:59:35 星期二 说道:

仿真只能验证逻辑上的正确,除非你在示波器上看到正确波形,
不要认为仿真正确,实际电路就一定没问题。

────────────────────────────────────────
 peterzmh (Issac)                     于 2003年12月09日17:53:38 星期二 说道:

用示波器看dsp出来的信号,对不对

────────────────────────────────────────
 alphame (spring是春天)               于 2003年12月09日19:33:03 星期二 说道:

nod
不过,看到了波形也不是就说明电路一定没问题了,尽管可能性很小,呵呵

────────────────────────────────────────
 yhhgirl (嫣然一笑)                   于 2003年12月10日07:35:05 星期三 说道:

 我要看的是计数的结果
怎么看啊?

────────────────────────────────────────
 yhhgirl (嫣然一笑)                   于 2003年12月10日07:39:40 星期三 说道:

我的电路是把一个频率送到cpld里面计数
 用74vc245锁存后
 在控制dsp 用读pa5口的方式把计数结果读到辅助寄存器ar5中来
结果我发现我读进来的计数结果总是不稳定 变化范围很大

────────────────────────────────────────
 ghl (量子)                           于 2003年12月10日09:29:01 星期三 说道:

                            ~~~~~~~~~~对呀,计数时,每一位计数器的输出不就是
                                      输入时钟频率的1/2^n吗? 
            ~~~~锁存时刻是什么时刻呢?
                            ~~~~~~~~~~~~我断定你的问题不在DSP

────────────────────────────────────────
 yhhgirl (嫣然一笑)                   于 2003年12月10日10:04:42 星期三 说道:

 为什么呢?
 你的意思是说问题应该是在verilog程序里面么?
 锁存时刻 就是对频率计数满了12ms后将计数结果送到74vc245锁存啊

────────────────────────────────────────
 alphame (spring是春天)               于 2003年12月10日10:17:00 星期三 说道:

                  什么叫把一个频率送到cpld,是用这个频率的一个信号做时钟
                  么?他是一个固定的频率么?你是怎么技术的啊,是简单的技术
                  分频么?
                  这个片子我没用过,他是电瓶所存还是边沿所存啊
                  你的所存信号和被所存的数据是什么时序关系?
                    一直没高清楚你是对什么技术啊,如果是对上面说的”频率“
                   分频的话,你的技术结果就是再边的啊
如果你的哪个频率是示波器可以看的,用示波器看看cpld的输入和输出是不是完成了
你所说的技术功能,
然后在看看所存器前后的信号是不是一样的,
//如果能把问题说的十分的详细,那在好不过了,重要的是要人家知道你要完成什么
怎么完成的,有什么问题出现

────────────────────────────────────────
 yhhgirl (爱情绝缘体)                 于 2003年12月10日13:01:54 星期三 说道:

 是将一个固定的频率送到cpld中
 在cpld中对此频率进行计数12ms 比如1khz的频率就会记的结果为12 
 计数结果由16位I/O口输出表示位0000000000001100
 经过锁存器送到dsp中

────────────────────────────────────────
 dsp (Z族@ Z~笨笨)                    于 2003年12月10日13:43:00 星期三 说道:

我觉得,可以把整个系统分成几个部分来调试,从而确定问题出在什么地方。
1. 信号产生部分。首先要肯定的是输入信号的稳定性。
如果你用的是比较好的信号发生器,那么这个问题可以排除。
如果是自己产生的信号,最好用示波器看一下波形,看信号稳不稳。
2. CPLD计数部分。根据你的叙述,应该是这样一个流程:在CPLD内部对输入信号进行计
数,计数的时间长度是12ms,然后通过一个16位的I/O口输出到245芯片锁存。
这儿有几个问题:
(1)CPLD里的计数程序对不对。
(2)12ms的时间长度是通过什么方式产生的,精确度如何。
(3)得到计数结果之后,在送给245锁存的时候,245能不能及时的响应。这个可以用万用
表挨个测245的输入和输出管脚,看计数的结果是不是正确的从I/O口输出给245了,
以及这个结果是不是正确的锁存了。
3. DSP读取计数结果。这部分有问题的可能性最小。如果你用万用表测的245的输出和
dsp读入的数据是一致的,就可以肯定dsp的读取程序没有问题。那么问题就是出在CPLD计
数部分。
需要作的就是一步步的缩小问题的范围,找到问题的根源。
Good Luck ^_^

────────────────────────────────────────
 yhhgirl (爱情绝缘体)                 于 2003年12月10日14:36:23 星期三 说道:

 谢谢 感激不尽
我使用的自己产生的信号
 用示波器、显示还是很稳定的 跳变范围在1%左右吧
对于那个用监测锁存器管脚的方法
我想知道
在dsp读了数据之后锁存器的管教上信号会不会发上变化 变成高阻状态什么的

────────────────────────────────────────
 alphame (spring是春天)               于 2003年12月10日16:19:08 星期三 说道:

问题的难点是怎么完成12ms的定时
你用的是门的延时来做的,很不可靠
建议用一个更告诉的时钟源

────────────────────────────────────────
 yhhgirl (爱情绝缘体)                 于 2003年12月10日17:13:18 星期三 说道:

不是根据门延时啊
是syn来产生定时啊

────────────────────────────────────────
 dsp (Z族@ Z~笨笨)                    于 2003年12月10日22:51:07 星期三 说道:

锁存器的输出管脚的状态是由它的控制引脚决定的,也就是你自己控制的。
如果不能肯定锁存器的输出正不正常,可以直接测cpld的输出,看16位输出信号和计数结
果是不是一致的。

────────────────────────────────────────
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.352毫秒