廉价数字式模拟示波器初探 - 续
本帖最后由 grantlu 于 2014-1-17 20:26 编辑关于这段时间实验的示波器,我只能提供单片机程序及 FPGA 编译好后的文件,如果你们感兴趣的话可以自己回去搭
接一个起来用用,功能很单一、效果和普通的模拟示波器差不多,毕竟它只是一个实验品,最近一段时间开始没空折
腾它了,所以就先这样吧。整机耗电约 4V 1.2A 左右,图片上的那个盒子已经带 9AH 3.7V 锂电,应该可工作6小时
左右。单片机程序是汇编的,哈~现在知道我为什么会有模拟示波器情节了吧,老古板~这程序
没有整理是从其它程序改动过来的,所以有些变量是无用的。
一些配件在这些商家购买的:
盒子:http://item.taobao.com/item.htm?spm=a1z09.5.0.0.pky5eD&id=35087784374
探头:http://item.taobao.com/item.htm?spm=a1z09.5.0.0.b1jP7r&id=36324032373
液晶屏:http://item.taobao.com/item.htm?spm=a1z09.5.0.0.7vZdfI&id=27271496057
R29 电阻阻值要注意,没有挂接电池时,调节该电阻使输出电压在 4.12V,即锂电池充电电压有余量的上限,
图中 U5、U7、U8、U15 目前都没有使用可以不焊接,从 U11-6 引一根线到 U13-9即可,D16 并没有布在
PCB 板上,但是一定要加焊接,R23、R24 为 300欧,R27 为 75欧。目前暂时就这样吧,等以后有时间
再折腾它。
实际效果视频:
http://www.tudou.com/programs/view/dMgJTtH7Ads/
视频上演示实际测量复合彩条信号时,使用触发延时的操作,它的功能就像模拟示波器的 MAG X 10 差不多,
通过调节旋钮实时查看不同位置的信号。
我没用过市场上带灰度的数字示波器,不知道它们实际使用的反应速度怎样,有用过的发个视频来看看。
单片机程序在家里,晚上的时候传上来。 楼主有没套件买啊。 本帖最后由 grantlu 于 2014-1-17 19:04 编辑
虽然它能使用基本的功能,但是它毕竟还只是个验证机,不完善,而且这段时间开始没空去完善它,所以无法将它当商品卖{:smile:} ,但是我保证我提供的程序和 FPGA 的编译出来的数据包是正确的,需要的人可按我提供的图纸和数据文件写入芯片,该电路一定可以正常工作,和演示的视频效果一样, FPGA 的有源晶振频率为 20MHz。
如果有几个人需要试试它,你们可以找一个人牵头一起购买器件和制作 PCB 板,费用能少很多,另外你们也可以更改成自己所习惯的单片机,或输入端的模拟电路。如果在制作过程中遇到什么问题可以在论坛上咨询我。 不错。速度很快。FPGA果然了得。 问下楼主那两种旋钮哪里买的?有空也做一个。 顶一下! zhangyidao 发表于 2014-1-17 19:25
问下楼主那两种旋钮哪里买的?有空也做一个。
脉冲旋钮: http://item.taobao.com/item.htm?id=21599543234
10K 电位器上淘宝搜:09系列 电位器。 略屌 略屌 啊!!! 不明觉厉 相当强悍啊 不错,继续搞吧 强啊,什么时候出套件? 看上去效果很不错阿
顺便传下楼主的BOM
10位105Msps的AD
相当强悍啊 本帖最后由 grantlu 于 2014-1-19 11:20 编辑
我没用过中高端的数字示波器,不知道它们的响应速度怎样,有用过的人说说看;我看了普源 DS1000Z 系列的示波器资料介绍,有些地方不太明白,为什么在有些地方它显示的似乎没有灰阶。波形看上去也较粗糙,不像模拟示波器,上个帖子里有人说我的原理应该和他们的原理一样的,但是我从波形效果上看,似乎还是有很大区别的,有没人对这方面比较熟的,互相交流借鉴一下。 厉害 LZV5,mark,加油啊,期待套件 进来一看,不顶不行啊,楼主那个液晶屏的资料有没有 mark
lz牛人 Pjm2008 发表于 2014-1-20 14:10
进来一看,不顶不行啊,楼主那个液晶屏的资料有没有
要想使用这些器件,没有资料哪成? 整机参数性能怎样,带宽, 采样率多少?
出套件的话, 成本大约多少? 带宽、取样速率和记录长度能达到多少? 本帖最后由 grantlu 于 2014-1-20 16:06 编辑
skylly3 发表于 2014-1-20 14:38
整机参数性能怎样,带宽, 采样率多少?
出套件的话, 成本大约多少?
上面有原理图,你可以自己评估价钱,做这实验的初衷请看前面一篇文章,只是为了试试让数字示波器像模拟示波器一样显示,现在的采样速率受限 AD 芯片,最高只是 100MHz,如果要将采样速率提到 500MHz 实时采样,FPGA 芯片没有什么问题,但是需要更多 IO 封装芯片,并使用 6 层板,至于存储深度是,我的原理图上用的 是 SRAM 因为我手上有现成的这种 RAM,如果使用 6层板是完全可以使用 64Bit SDRAM(时实时采样速率支持500MHz,如果要更高的速率,则需要 DDR2、3,选用 Xilinx 芯片会更合适些),中低端的 FPGA 芯片并行 IO 口速率控制在 125MHz 比较稳定些,所以要实现 1G 的实时采样率,需要 64 位宽和 AD 通讯或,16对的 LVDS 接口,至于液晶的刷新显示处理则和采样速率没有任何关系,那是因为我在 FPGA 内的画线处理逻辑本来就是并行的。做实验需要钱,做了两次 PCB 板,还有 AD 芯片、FPGA、运放等芯片购买时都是买 2 片,这次实验大约花了1千多,如果是做更高采样速率的双面板肯定不行,FPGA 芯片要用 BGA 封装得6层板,然后再买一堆的 AD芯片,每改板一次就是 2000元的制版费,完全靠兴趣爱好玩这些?还是需要一定的经济支持,是吧?所以除非是工作需要,或者它能为我带了一定的经济效益,我才会去做更高端的这类实验,我现在只是业余时间玩玩。
由于我某方面的爱好偏向,喜欢漂亮些的波形,和较好的显示屏(IPS 8Bit屏)。我想我既然选了 1024 X 600 的屏,没理由在用 8bit的 AD啊?还有一个原因让我选 10bit AD的原因是,以前用过同事买的数字示波器,调整Y轴很容易超出范围,我那时就在想为什么不用 10 BitAD呢?而且自己做实验买 1 、2 片 AD,8bit 和 10bit 价格和整体的实验成本差不了多少,所以我选了 10Bit的 AD,其实后来还是挺纠结的,要是我选 8bit 的也许就会选用 200MHz 的采样速率的。
这次实验做下来成本其实并不低,原因在于我选的器件材料,无论是 10Bit AD,示波器探头明明有便宜的,但是。。。所以关键在取舍,如果先决条件是带宽,那么选 8bit 的 AD 在相同的价钱下就能到 200MHz,在两片连级时就可以做到 400MHz 的采样速率,如果是和我想的一样,希望它 Y 轴有较大的宽裕度9Bit 是首选,但是市场很少这种芯片,所以 10 bit 成了我选择的。
哈~最后一个得提醒各位,如果想存储下这显示的波形信息,它的信息量也会比一般的数字示波器大 32 倍,除非将灰阶设置成 1 级,按普通的数字示波器显示。 刚刚和手上的Tek TDS3054B 对比了一下。
LZ的响应速度 要更快一些,时间档的调节、波形左右移动的过程。LZ的相对流畅一些。
显示效果不相上下,Tek的有波形灰度调节,感觉就是显示屏上打点的停留时间的长短。
Lz的波形比较稳定,不知道有抖动的波形下的余晖显示效果如何。 conandllu 发表于 2014-1-20 16:37
刚刚和手上的Tek TDS3054B 对比了一下。
LZ的响应速度 要更快一些,时间档的调节、波形左右移动的过程。LZ ...
{:shocked:} ,不是吧?你拿我这几百元成本的去和 TDS3054B 示波器去比较??!!我做这实验只是想证明廉价的数字示波器也能做成像模拟示波器一样效果,希望国内的示波器厂家能借鉴我的想法生产出这样的示波器,如果带宽 50MHz,显示效果和我这差不多,价格差不多 2千左右(应该还是有利润的),我愿意去买一台成品。 本帖最后由 shandian 于 2014-1-20 17:17 编辑
grantlu 发表于 2014-1-19 11:10
我没用过中高端的数字示波器,不知道它们的响应速度怎样,有用过的人说说看;我看了普源 DS1000Z 系列的示 ...
这里有一些视频,得番强看。
http://www.youtube.com/watch?v=CAnWSYg1z9A
http://www.youtube.com/watch?v=nf5QSr4zXHw
上面图片中的是64阶灰度的DS1000z系列,普源也有256阶灰度的产品,DS2000系列及以上应该就是256阶的了。 又一位做示波器的大侠,和魏坤做的有的一比,支持! 24楼应该是说的TDS的余晖,楼主可以百度找一下泰克对DPO定义的白皮书,原理很清晰。
这里有普源自家的DS1102E(DSO)与DS2102(DPO)的实测对比图,放在一起输入同一个信号源,差异一目了然
http://bbs.38hot.net/forum.php?mod=viewthread&tid=42642&extra=page%3D2 厚积薄发! grantlu 发表于 2014-1-20 17:12
,不是吧?你拿我这几百元成本的去和 TDS3054B 示波器去比较??!!我做这实验只是想证明廉 ...
同事表示除了精度 以外 都挺好的。
尤其是存储深度,优势太明显了。
支持出套件啊 又一个牛。。支持 該支持一下 貌似很厉害啊 顶一下,想和楼主学习学习, 效果很好,清晰稳定 这个应该叫“模拟式的数字示波器” {:victory:}{:victory:}{:victory:} 具备模拟示波器的效果,不是老古板,而是发展方向。
模拟示波器有着许多数字示波器无法替代的优点。 本帖最后由 autodo 于 2014-1-24 14:47 编辑
grantlu 发表于 2014-1-19 11:10
我没用过中高端的数字示波器,不知道它们的响应速度怎样,有用过的人说说看;我看了普源 DS1000Z 系列的示 ...
显然你的效果才是真正的DPO。
不看广告,看疗效。~~
楼主,你用的FPGA是什么型号?
本帖最后由 grantlu 于 2014-1-24 15:20 编辑
幸好你问了,我打开原理图看了一下,我的原理图上标 EP3C5E144,其实最终我用的是EP3C10E144。万一有网友真照着上面的器件清单购买器件就弄错了。。我想重新编辑前面的帖子,想将 FPGA 的型号备注上去,但是已经不让编辑了,希望网友们注意,如果自己要焊板组装一个玩玩,记得 FPGA 型号不是原理图上的EP3C5E144,正确的是 EP3C10E144。 很强大……我用的那个普源100M,调节旋钮,波形要延迟一会才突然跳跃式移动,把探头从信号上取下,波形还是维持一阵子才消失…… 相当好,又能自己DIY了 grantlu 发表于 2014-1-19 11:10
我没用过中高端的数字示波器,不知道它们的响应速度怎样,有用过的人说说看;我看了普源 DS1000Z 系列的示 ...
最近也在做示波器,楼主说的类似模拟示波器的只是一种显示方法,普源精电的和泰克的中高端都有,需要打开相应选项后才有。这是我之前做的想过,还有很多不足之处。 mhw 发表于 2014-1-24 15:29
很强大……我用的那个普源100M,调节旋钮,波形要延迟一会才突然跳跃式移动,把探头从信号上取下,波形还是 ...
安捷伦大存储深度机型也是这样的,请注意垂直触发点的位置。
具体请参考这个页面宝贝介绍中,示波器使用小常识http://item.taobao.com/item.htm?spm=686.1000925.1000774.13.dOwDET&id=1433236577 mhw 发表于 2014-1-24 15:29
很强大……我用的那个普源100M,调节旋钮,波形要延迟一会才突然跳跃式移动,把探头从信号上取下,波形还是 ...
是否是DPO,其实不仅仅是灰度显示就行了,关键是速度,要有与模拟示波器相当的感觉,如果等一会才显示,或等一会才消失,那是假的DPO,不是模拟示波器的感觉。
灰度显示其实不难。比如存32组数据,然后软件判断一下,按各个点上出现的次数来调节亮度,但其缺点就是慢,如同平均显示一样。
真正的模拟式的数字示波器,一定是硬件来实现灰度的判断、整合、排列和显示,这样才能高速,如同模拟示波器。
看视频,楼主的应该是硬件完成点的出现次数的判断,然后实现每个点的亮度调节的吧,否则不应该有这个速度。 本帖最后由 autodo 于 2014-1-24 20:19 编辑
原来一直奇怪,为什么国内一些数字示波器,明明照片上有灰度显示,但却不给自己DPO这个更响亮的称号,或许,和TEK的真正的DPO比,区别就在于余辉的刷新速度上。
不用硬件制造余辉,是不可能达到模拟示波器的效果的。
有了硬件余辉发生器,就没有必要切换余辉和非余辉状态了,那是速度跟不上的权宜之计。
真正的DPO,开机就是余辉显示,速度完全跟得上。 {:lol:}看起来相当棒··· 呵呵,要是可以也想搞一下个看看。{:lol:} 有人做PCB板的吗?算我一个 厉害,来观摩学习 学习学习! 记号...显示真清晰 大牛啊,有前途 不错!反应很快,触发同步很稳! 好性能,好架构。 好东西啊..看看能不能自己做一个 楼主,看了下资料,这个贴子的PCB与上个贴的PCB有改动,以后一个为准?
STC12的单片机为什么用汇编,是对时间要求很精吗?
还有就是FPGA没有程序.
ddz123abcdef 发表于 2014-6-25 11:25
楼主,看了下资料,这个贴子的PCB与上个贴的PCB有改动,以后一个为准?
STC12的单片机为什么用汇编,是对时间要 ...
BIN的就是程序,难不成你还要源程序 ?
看起来不错,有没人组织套件,大家一起玩
另外DDB 有没有人帮手转为AD格式的? holts2 发表于 2014-6-25 11:53
BIN的就是程序,难不成你还要源程序 ?
看起来不错,有没人组织套件,大家一起玩
AD不是可以转换DDB吗?
压缩包里是整个工程文件
用一个小CRT显示真正的波形和余辉,然后用一个CCD对CRT摄像,显示把CRT的图像显示到LCD上,在LCD上进行除波形外的参数进行数字显示,这总行了吧,就是上次咕大湿修的那台示波器的原理。 cu_ice 发表于 2014-6-25 13:24
AD不是可以转换DDB吗?
压缩包里是整个工程文件
嘿嘿,我装的是精减板,转DDB功能被精减了, 谢了 楼主大神请私信我,谢谢。 这示波器做得真霸气 koalaman 发表于 2014-6-25 14:23
楼主大神请私信我,谢谢。
QQ: 49548670
ddz123abcdef 发表于 2014-6-25 11:25
楼主,看了下资料,这个贴子的PCB与上个贴的PCB有改动,以后一个为准?
STC12的单片机为什么用汇编,是对时间要 ...
用汇编是因为我还不会 C51,最近才开始学 ARM 的 C 语言程序。单片机部分仅仅是显示字符、设置 FPGA 采样、设置增益。 FPGA 工程文件源代码、电路图、单片机程序源代码在这,各位高手拿去玩玩,由于花的时间不多,很多地方没有优化,希望大家不要见笑~做这实验只是测试自己的一个想法,如果用于商业请联系我。
QQ:49548670 grantlu 发表于 2014-6-25 17:41
FPGA 工程文件源代码、电路图、单片机程序源代码在这,各位高手拿去玩玩,由于花的时间不多,很多地方没有 ...
有源代码,可玩性就更强了,谢谢 grantlu 发表于 2014-6-25 17:33
QQ: 49548670
谢谢,邮件已发qq邮箱,请查收。 能否将CPU独立出来,画在另一块板上, 这样各位就可以用自己贯用的CPU编程 楼主威武.全开源了. 很强大,, 很强大! 开源的,赞一个! 楼主的余晖显示是硬件还是软件处理的? 源代码都给了,自己可以看看啊!软件处理能那么快不? 楼主高人,膜拜下。 cu_ice 发表于 2014-6-25 13:24
AD不是可以转换DDB吗?
压缩包里是整个工程文件
很奇怪,附件文件不存在 纯mark。楼主厉害!以后有时间搞搞,向您学习! 很好很强大啊 学习了 楼主,请问你那个液晶屏配套的那个FPC的座子在那里买的,有没有淘宝链接?
谢谢了 john_8 发表于 2014-7-21 10:08
楼主,请问你那个液晶屏配套的那个FPC的座子在那里买的,有没有淘宝链接?
谢谢了 ...
http://item.taobao.com/item.htm?spm=a1z09.2.9.72.f5R9K7&id=18760749475&_u=m1hltcu5187
这插座很贵,如果对液晶屏很熟悉可以选一个较便宜液晶屏和插座。 大神啊,太厉害了,外壳做得很漂亮 顶楼主,
如果有时间的话,可以呼吁一下做套件,坛子里对于定性方面手使得东东会更趋于代码在手中的; 楼主太厉害了。牛人一个! grantlu 发表于 2014-7-22 11:03
http://item.taobao.com/item.htm?spm=a1z09.2.9.72.f5R9K7&id=18760749475&_u=m1hltcu5187
这插座很 ...
恩,是有点小贵。
谢谢你的回复 不错,mark 楼主,你好,最近在看你的代码,现有一个地方不是很明白,关于ADC采集的数据转换的问题,下面是代码片段:
always @(posedge ad_main_clk)
begin
display_ren <= ~r_av;
ad_inbuf <= ad_dat;
if (ad_addoff > 11'd811) ad_buf <= 10'd511;
else if (ad_addoff > 11'd300) ad_buf <= ad_addoff - 10'd300;
else ad_buf <= 0;
triged0 <= ad_triged;
1.为什么ad_addoff的值只取811 到300之间的数据,而0-299和812到1024的值丢弃掉。
2.还有一个关于AD9214芯片转换编码的问题,我看你的硬件上AIN的负端接到了AVDD的中点电压(3.3/2=1.65v),那么我想问的是如果电压低于1.65v,那么ADC 转换后的数据应该是多少,我查看了数据手册没有相关的说明。我的猜测:是不是最高位用于符号的表示,如果最高位为1,那么这个值就是低于AIN的正端低于AIN的负端,那么后面的编码是不是反码表示,比如10 0000 0000 这个编码是表示多少电压呢,假设参考电压时内部1.25V。
3.关于模块DwMultiWave看了很久还是不很明白,里面有32个DwSingleWave是怎么组合显示的,也是看的一头雾水,楼主是否方便大概讲一下他的原理不? 本帖最后由 grantlu 于 2014-7-31 12:55 编辑
关于:
问题1:因为 屏幕的分辨率是 1024 * 600, 其中字符显示占用了一些,用来显示波形的位置我取整数 500,所以 AD 得到的值加上 偏移量 我取中间500 左右的范围用于波形显示。
问题2:其实很大一部分原因是因为我在设计这实验示波器前没有参考过其他人的设计,只是自己所想去随意的买些器件,再根据自己买的器件搭接起来,没注意到市面上有相当方便的可编程增益放大器,和专用的 AD 驱动芯片,而且很多时候是手上有什么器件,就拿来将就用用,我这种接法其实是不太匹配的,我只记得在实验过程中发现这AD 芯片量程范围是 +/-1/2 Ref(大概是吧,我现在也记得不是很清楚了) ,你注意看看图纸 AIN的负端 不是接中点电压,是大约 0.2V 的电压,这样接只是为了让量程能够往 负压方向偏移些,因为在我自己的实验板上已经取消了外置的 直流偏位调节,即 U7、U8 都没有使用,另外 U5 也被我取消了,触发信号是在 FPGA 内部完成的(不是很理想)。
问题3:这在之前就探讨过我的原理,是由 32 个波形叠加而成的,只要将一次采样的数据存入 RAM ,在 LCD 刷新时就会自动显示出这波形,最后在:
always @(posedge pixclk)
begin
dw_multi1 <= dw_00 + dw_01 + dw_02 + dw_03 + dw_04 + dw_05 + dw_06 + dw_07;
dw_multi2 <= dw_08 + dw_09 + dw_10 + dw_11 + dw_12 + dw_13 + dw_14 + dw_15;
dw_multi3 <= dw_16 + dw_17 + dw_18 + dw_19 + dw_20 + dw_21 + dw_22 + dw_23;
dw_multi4 <= dw_24 + dw_25 + dw_26 + dw_27 + dw_28 + dw_29 + dw_30 + dw_31;
end
合成。
这里的每一个 dw_xx都是一个独立的波形。而每个独立的波形是在: DwSingleWave 里完成的,而DwSingleWave里是依据
WaveDat U_waveRam(
.data (ad_dat),
.rdaddress (rd_add),
.rdclock (pixclk),
.wraddress (wr_add),
.wrclock (adclk),
.wren (wr_en),
.q (wdout));
来画波形的,只要将数据存入: WaveDat 就行。
我前面说过我只是按自己的想法来完成了我的实验示波器,可能和其它的数字余辉不一样,或许我这不叫余辉,就是我在:
http://www.amobbs.com/thread-5567039-1-1.html 帖子里说的:
xingliu 发表于 2014-1-17 14:05
32 级灰阶:32个波形,意思是不是,触发采样了32次,屏幕上从左到右,每个点都包含了32个值,每个点显示的 ...
不是平均,而是叠加!举例说明,假设屏幕上的32 个波形是完全的横线,而每根横线都在不同的位置上,那么所有的横线亮度就为 1/32 ,如果是 8 bit 的液晶屏时,那么
所有的线的亮度数值就是 8,如果有两根横线刚好在同一位置,那么重叠的那根线亮度就是 16,如果所有的横线都在同一个位置,那么它的亮度就是 最亮 255。
威武帮你顶起 楼主真心的厉害{:lol:} mark下,有时间试试 MARK{:victory:} 很大强,有空究研下 顶楼主,太感谢了,就差个示波器 没人组织套件吗 ? 楼主强悍啊,只能在此膜拜了 也不知有人做好没有 楼主很牛,膜拜 楼主威武!
页:
[1]
2