搜索
bottom↓
回复: 33

[分享]&[求助]用LCM24064+Mega16做的简易“示波器”,问题多多,欢迎大家讨论!

[复制链接]

出0入0汤圆

发表于 2006-7-22 11:51:23 | 显示全部楼层 |阅读模式
最近将一片TOPWAY的LM24064(LM6065)LCD模块调试成功,就利用M16上的A/D采样做了一个很EASY的示波器,现在将初步实现的图片贴出来,原理图和原代码随后整理后贴出。欢迎大家指正



    原来设想得很简单,核心思想就是“打点绘线”,但是这样做出的效果很头疼,基本上都是离散的点,输入信号的频率高一些了就是满篇的点,什么也看不出来。上图右边的三张就是这种思想下的“产物”;

     改进之,在Y轴落差大的地方,人为的“补”竖线,看左图中的方波信号,效果很明显。

*******

问题:速度是最大的问题,在做之初,也想过,速度应该不会很快,能采到1K的信号应该还是可以的,但是做出来的结果却令人失望,现在我能采到的最高频率只有50HZ,(硬件参数:M16-8PI,外部16MHz,与LCM采用并行方式通信)图片中测量的信号为7.2Hz/4.8V。

    分析起来,问题可能出在向LCM写数据的速度,而一直担心的A/D采样速度到目前位置应该还不是瓶颈,由于在LCM的PDF中没有找到由硬件提供的清屏指令,所以现在所有的“清屏”动作全是写“0”,这需要写1.92K的数据,势必导致速度降低;还有一个问题,LCM没有提供硬件的写数据“或”操作,我只好在代码中先将指定段的数据先读出来,在和新数据“或”操作后写入。端口方向的改变也需要几个时钟周期,也可能降低了速度。

    最后,欢迎大家讨论,指正!

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2006-7-22 11:56:14 | 显示全部楼层
好东西啊

出0入0汤圆

发表于 2006-7-22 12:16:32 | 显示全部楼层
有LCM24064的资料吗,能否也传上来?我这拣了一块,没找到资料

出0入0汤圆

 楼主| 发表于 2006-7-22 18:35:17 | 显示全部楼层
TOPWAY LM24064,现在更名为LM6065

TOPWAY LM24064

出0入0汤圆

 楼主| 发表于 2006-7-22 19:16:34 | 显示全部楼层
已经加你了,我的QQ:33406382

出0入0汤圆

 楼主| 发表于 2006-7-22 21:46:04 | 显示全部楼层
资料基本整理了一下,供大家参考:

原理图&C原码&照片

出0入0汤圆

 楼主| 发表于 2006-7-23 21:23:11 | 显示全部楼层
今日尝试了一下AVR单片机的“超频”,用不同的晶振来做时钟源。很奇怪,时钟不是越高越好,当我加上了33MHZ的晶振时,运行速度似乎还变慢了,当晶振升到40MHZ以上的时候,单片机甚至不工作了。现在我的时钟是21.463MHZ,运行速度确实要比原先的16MHZ快了一些,目前可以采集到100HZ左右的波形。我的单片机是AT MEGA16-8PI,说明书上写的是只能跑到8MHZ。真不知道换上16PI的会怎么样,可惜没钱啊,哎~~等段时间再说了~~~

出0入0汤圆

 楼主| 发表于 2006-7-23 21:32:22 | 显示全部楼层
今晚对测试算法做了一个改进,即,将A/D采集的数据先放入缓冲区(221个数据),再显示出来。这样,对LCD的刷新速率的要求就降低了一些,目前可以测试的最大频率为2K。哈哈,虽然离实用还有很大距离,但是性能天天都有提升,呵呵

出0入0汤圆

发表于 2006-7-24 09:06:07 | 显示全部楼层
支持.

不要把采到的数据实时写上去,我觉得只需要根据视觉的特点,定时刷新就行了.

出0入0汤圆

发表于 2006-7-24 09:14:24 | 显示全部楼层
支持!!!!

出0入0汤圆

 楼主| 发表于 2006-7-24 11:30:07 | 显示全部楼层
同意fsclub的观点, 用这种方法,我已经采集到了2.5K的不失真频率,目前的瓶颈已经转移到AVR上的A/D转换速率。如果想进一步提高采集频率,只有采用外部的高速A/D转换器了。今天查了一下MAXIM的网站,打算申请一块8BIT高速A/D芯片,不料他们的东西太多了,很多的外围元件也比较复杂,哪位兄弟朋友们用过比较好用的?帮我选个型啊,谢谢了

出0入0汤圆

发表于 2006-7-24 14:08:22 | 显示全部楼层
MAX1448/1446如何?
-----此内容被fsclub于2006-07-24,14:16:01编辑过

出0入0汤圆

发表于 2006-7-24 16:06:53 | 显示全部楼层
好東西啊,頂!!!

出0入0汤圆

发表于 2006-7-24 20:09:00 | 显示全部楼层
能不能贴个128*64的驱动你这个"示波器".

出0入0汤圆

发表于 2006-7-24 21:31:50 | 显示全部楼层
那个小日本做的音频频谱分析怎么做那么高频率的,还做上了FFT啊。

出0入0汤圆

 楼主| 发表于 2006-7-25 10:37:14 | 显示全部楼层
To:diannaoza 天比

很不好意思,12864现在没在我手上,很早以前弄过的,和这个24064屏比较相似,只是这个屏少了12864的那种麻烦的左右屏操作。其实做好两个函数就可以了,一个是绘点函数Point(x,y,state).另一个是读取指定点数据的函数ReadData(x,y)。在上面我传的代码里有类似的可供参考;

To:bg6agb

看了小日本的那个东西,我也很吃惊,不晓得他是怎么操作的,准备这几天花点时间把他的文档和代码看了再说,对我的设计可能有很多帮助。

PS:看你的签名,你是个HAM吧,哈哈……我也是,呼号:BG8AYE,只是现在做数电方面,很久没碰那些机器了,中继台了很久没上了,哎,鱼和熊掌不能兼得啊,以后有空交流

出0入0汤圆

发表于 2006-7-25 17:43:49 | 显示全部楼层
不错!

出0入0汤圆

发表于 2006-11-29 12:06:47 | 显示全部楼层
先把采样出来的数据,放在一个数组里面,采样完后再从LCD显示出来,速度会快很多

出0入0汤圆

发表于 2006-11-29 12:22:32 | 显示全部楼层
to E-mC2



这里HAM不少呀。老兄是四川的吗?我一个朋友在那里,是BD8EE。我的呼号是BG1REN。

出0入0汤圆

发表于 2006-11-29 13:16:20 | 显示全部楼层
换 个 并行 接口液晶。

出0入0汤圆

 楼主| 发表于 2006-11-29 14:04:42 | 显示全部楼层
BD8EE?呵呵都是老火腿拉~呵呵,好久没上绵阳的中继台逛了。最近太忙了,好多火腿的应急通信会都没有去参加,呵呵~~~基本改行做单片机这边了。



TO CN.Cn AVR菜鸟:

我用的就是并行接口的LCD,TOPWAY公司的LM6065。我分析了一下速度慢的原因,可能是我没有读取LCD的BUSY信号,直接等待N个NOP时间。

出0入0汤圆

发表于 2006-11-29 16:22:11 | 显示全部楼层
应该加缓冲,AD不停地做,存入BUFFER,后来的覆盖先来的,LCD定时刷新.

我想示波的关键是怎么样搞好触发.

出0入0汤圆

 楼主| 发表于 2006-11-29 16:38:31 | 显示全部楼层
是的,我现在也是这么想,已经在弄SYPRESS的62256了(32K SDRAM),用于扩充M128的内存。有结果再在网上SHOW哈  :)

出0入0汤圆

发表于 2006-11-29 17:21:20 | 显示全部楼层
我也在着手这样的波型显示,可以做成简易的示波表,我不打算把波形做太大了.用32*64,别的做文字显示.当然波形的刷得做到内存上.

出0入0汤圆

发表于 2006-11-29 17:38:46 | 显示全部楼层
应该用缓冲区,我以前用19264,缓冲区是1536字节,不过那时用了DSP做AD,先算好一屏数据,然后告诉单片机,单片机就读出来刷新,上到1MHZ都没问题



现在技术发展了,可以考虑用更好的液晶,我有时也想做个手持示波器用呢,老是扛着大示波器测有时太麻烦了

出0入0汤圆

发表于 2006-11-29 18:19:49 | 显示全部楼层
用过这款液晶,不过这个液晶有个致命缺点,抗干扰能力太差。



原来打算用这个液晶做个带ASCII码显示的菜单结果这个液晶不争气,显示ASCII码时抗干扰能力奇弱,一做EMC试验就花屏,没办法只能放弃显示ASCII了,全都上汉字显示,并且定时刷新,不过这样就有个缺点,这个液晶屏反映太慢,刷新就能看到屏闪,而且有时候干扰强了也花,搞的我是一点脾气没有啊,最后干脆加了个屏保上去,隔一段时间不操作就把液晶屏关闭,有操作就重新初始化一遍液晶屏,并且加了手动复位液晶屏和自动复位液晶屏的功能上去,才勉强合格。



总体来说RA8802这个芯片还是不错的,功能很强,就是台湾厂家的水平比日本的还差那么一点,如果在抗干扰能力上有改善的话相信市场能更好的,另外这种液晶模块普遍的耐高低温能力不行,常温下显示正常超过55度以上显示就明显变色了,低于零度反映就变的很慢,估计是这种液晶的通病了,工业场合用着不放心啊。不过试验过一些TFT的屏效果就不错。

出0入0汤圆

发表于 2006-11-29 18:48:19 | 显示全部楼层
真不错。。。

好好学习。。。。

向楼主致以崇高的敬意!!!!!!!!!!!!

佩服!!!!!!!!!!!

有源码吗??

给偶一份。。

那就太谢谢了。。。。。

出0入0汤圆

 楼主| 发表于 2006-11-29 21:08:33 | 显示全部楼层
TO thomas_top 汤:

源码及整理好的资料都放在6楼了



RAIO公司的RA8802做得还是不错,至抗干扰性,确实没做过,现在也没那个条件啊。不过您说的变色问题确实发现了,现在冬天,感觉确实比夏天的颜色暗淡了一些;而且我还发觉LCM对电源的要求还是蛮高的,电压低了一点,屏幕就暗了下来,还得调对比度电位器。

PS:最近做电子设计又用到了它,感觉在一个高速的系统中对这样耗时间的外设确实很麻烦。不过我看见LCM后面有一个32.768KHZ的CRISTAL,是否适当的改动一下它的值就可以提高速度呢?还望大家指教

出0入0汤圆

 楼主| 发表于 2006-11-29 21:25:03 | 显示全部楼层
想做好示波器,用CPLD比较好。

我想了下基本思路:CPLD产生高速A/D的时钟和写入SRAM的时序,高速A/D采样后的结果直接写入SRAM,写满后再通过AVR、甚至51读取出来显示在LCD上。可惜我几乎不会弄CPLD那东东。

看来想自制示波器的朋友还不少,要不大家一起来弄弄?下学期做毕业设计,基本没什么事,刚好来弄弄这个东西 ,还有不少的东西要学

出0入0汤圆

发表于 2006-11-29 21:30:14 | 显示全部楼层
22楼:fsclub

    FIFO方式AD采集,直接定时刷新LCD是有问题的,定时刷新时需要对数据做显示的同步判断,得让这次刷新的波形同步于上次,否则看起来就是乱的。比如采样方波,上次上升沿对应FIFO buf的0x23地址处,而这次的上升沿对应0x33处的话,那就必须将本次数据向前挪16个位置(对应LCD上位置不同,不是真正意义上的挪动),最前面的16个数据补充在之后。





28楼:E-mC2

LCD的对比度随温度变化是正常现象,解决办法是:

1.手动调节电位器(软件调节数字电位器也可以),

2.温度补偿(可以软件,也可以硬件自动)。

出0入0汤圆

发表于 2006-11-29 21:36:27 | 显示全部楼层
另外,示波器的触发同步电路是非常关键的,很多时候并不需要实时采样,自动触发时就抓出数据让其重显在上次屏幕位置就可以了。



条件触发就主要在触发捕捉电路(或软件)上了,能抓出触发条件并对数据采样并保存,之后LCD显示都还好。

出0入0汤圆

发表于 2006-11-30 08:57:04 | 显示全部楼层
呵呵,又看到这个帖子了,发现HAM还是不少啊~~~

不知道LZ现在做出什么样的了?

出500入0汤圆

发表于 2011-6-12 00:21:54 | 显示全部楼层
回复【7楼】E-mC2
-----------------------------------------------------------------------

我最近也在玩这个……

我是先采样……

放在缓存区……

缓存区满了之后再显示……

现在大概可以显示10khz的方波……

晶振使用的30Mhz有源晶振……

使用320240tft显示

不过我不会把离散的点连接起来……

看看楼主的资料
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 08:18

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表