zbh-avr 发表于 2009-5-7 00:18:55

又来请教了,魏坤和DIY示波器的高手,我想只用AVR内部的AD,不用外部的FIFO模块,做个示波

外部的FIFO模块和外部的AD在工作时都是独立于单片机的,单片机只要读出数据,然后处理数据在送给液晶显示就可以了,但如果在内部建立一个模拟的FIFO模块和使用一个内部的AD,他们都不能独立于单片机,就是说在AD进行转换的时候,单片机是什么都不能做的,就是说不能读取数据?所以想请教一下大家,有没有什么好的方法能解决这个问题呢?
1.定义一个计数器(该变量放在ADC的完成中断里,每转换完一次就加1),用来计算缓冲数组的数据是否已经是存储满的

如果是存储满的话,就关闭掉AD。

2.处理AD所转换的这240个数据,送液晶显示;

3.显示完成后,计数器清零,开启AD在重新在读取新的数据;

不知道这样行不行?实时性会不会很差呢?

fsclub 发表于 2009-5-7 08:04:50

主要问题是AD太慢。

zldiy 发表于 2009-5-7 14:37:05

楼上有道理。

不过我想如果用TI 的DSP做AD采样怎么样呢?TITMS320F2808做采样?速度是否可以满足?

zbh-avr 发表于 2009-5-7 14:59:00

之所以用内部AD,是因为我们只需要测量信号的频率很低,请给位高手。。帮帮忙。。给点思路

gzhuli 发表于 2009-5-7 17:01:12

这个问题你来错区了吧,去STM8手持示波仪区吧,那里就是用STM8的ADC直接采数据的,资料比较适合你参考。

lin0119 发表于 2009-6-28 21:36:49

楼主的思路是对的,只是单片机的转换速度太慢,用AVR只能看10k以下的波形。AD采样与送显示可以同步进行。不是互相排斥的。

powerint 发表于 2009-6-29 10:28:42

用TI的2812我做过,显示个100K内的波形还是不错的,完全用软触发!

2nd090215 发表于 2009-10-29 23:32:20

思路是错的,这样你的波形是乱的

ywl0409 发表于 2009-10-30 19:15:17

1) 要有一个定时器,定时去打开ADC.在定时器里面加一个计数器,等计数器满了以后去显示,并且清零.

huatong 发表于 2009-12-2 19:15:31

顶7楼

s3c44b0 发表于 2010-1-11 22:19:11

总结:
1、一般A/D的采样频率和示波器的带宽比为5-10,也就是说,要想做一个5M的示波器,要25-50M的A/D.
2、图像混乱的问题不是没法解决,可以采用编程实现触发

aydali 发表于 2010-1-15 11:33:50


    做个低频信号的粗误差显示,可以看到大致样子。要求不高的话,用AVR做练习玩玩也是可以的。

heguang 发表于 2010-1-28 15:42:23

ATXMEGA的AD转换速度可以到2M,看样子直接用的话也有点实用性了。

fsclub 发表于 2010-1-28 18:10:12

坛上有M8的,还有开源。
我也试过用m128.
开320个字节的数组作缓冲,AD完成可以查标志位或者中断。

tdyy 发表于 2010-1-28 18:45:26

这个网上的开源资料很多,用AVR内部A/D采集波形数据,需要处理好触发条件,才能显示稳定的波形,软件触发
不是太理想,对单次脉冲容易漏触发,最好弄个硬件触发的.
页: [1]
查看完整版本: 又来请教了,魏坤和DIY示波器的高手,我想只用AVR内部的AD,不用外部的FIFO模块,做个示波