|
我是菜鸟,接触AVR一个多月了,最近设计制作了一个USB的逻辑分析仪器,还没有完全完成,但有些问题想请教各位大侠.
先说我的LA的大概结构,和网站上的示例相似,区别是我用的MEGA8和USB接口.
原理就是由MEGA8产生计数脉冲,4040产生计数值送到6116作为地址,外部信号通过245进入6116作为数据.
由于6116存取速度的限制(典型写周期需要150ns),因此本LA(叫LA可能有些夸张了,实际应该叫"数字信号示波器"比较贴切)最高采样频率小于6M,八通道,每通道存储深度为2048位.
我使用INT1"电平变化时触发"作为触发源,这是我想到最简单的办法,虽然功能不强但在简易调试过程中通过多设一个"调试触发口"来看波形还是比较实用的:)
现在碰到一个棘手的问题是采样结果中的毛刺问题,手上没有示波器,非常困惑.
请看附图,这是我采样由51产生的计数信号的P3.0和P3.2脚的结果.
51的程序:(省略了头文件等)
void main()
{
unsigned char key=0;
while(1)
{
P3=key;
key++;
}
}
可以看出上面的脉冲周期是下面的4倍,这说明是LA工作是大体正确的.但是其中却有如此之多的"毛刺信号",
我想问大家的是:
1.这些是51的毛刺还是外界的干扰?
2.现在我是将245的外部入口全部加了100K的下拉电阻,请问我还需要什么措施来减轻干扰吗?
3.是否应该在上位机程序中加上软件滤波消除这些干扰? (因为我觉得软件滤波后似乎就不是真实信号了..茫然..)
望大侠不吝赐教! |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|