并口采集的AD数据(接收处理都自己写句子完成),在上位机上实时显示波形。欲求此波形频率? 我的设想: 想实现精确计算时间,必须有高精度定/计时装置。PC的软方法一般都不快(记得有个系统API能精确1MS的计算??)没太大实用价值。或者可以用硬触发方式,比如微控制器或555定时器之类发出精度PWM信号触发AD每隔一定时间采次数据。 每次采得的数据若直接传给PC,可能会因为PC的CPU此时刚好在执行另一个进程而不能接收到数据(虽然我们的程序让它一直执行接收指令),应此需要在下位机建立个缓冲区暂存采集到的数据,当数据达一定程度(比如缓冲区大小的一半)就一次性传给PC。 或者还有另一种接收下位机数据而不丢失的方法是缓冲区建在上位机上:在上位机开辟了一个缓冲数组,然后用一条“工作者线程”不停的接收数据传给此缓冲区,主程序再在有空时从中取数计算并实用显示。不过我用的VB,只能想想,不会做。。。。。。 综合而言用个微控制器是最合算的(能精确发出几M的触发信号,还有内部RAM可以当缓冲区)。 当然,上面这些还只是我一厢情愿的纸上谈兵(我只做了波形显示的),不知道成熟的产品是怎么实现虚拟示波器的频率显示功能的(比如几百兆频率的,难道它还用了个几百兆的MCU???),这里都是身经百战阅器无数的大侠,提前感谢给我捷径的好人大侠,让我早点做出属于我的示波器! |