打印

利用单片机控制ad采样及lcd显示的框架问题

[复制链接]
4995|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
王居士|  楼主 | 2008-12-27 21:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
 

利用12m晶振的单片机控制,如果ad芯片利用中断的方式触发单片机接收数据,那么问题就很多:
如果ad芯片的采样率为4-5倍的信号频率,那么计算中考虑单片机中断入栈,出栈的时间,以及数据传输到片内ram的时间,大约要8个机器周期,那么可采集的最大信号频率是否仅为12m/(12*8*5)=25k的频率呢? 太低了吧????

我采用的lcd是256线的,那么我采用内部开辟了256大小数组存数,如果等到数组满了之后再启动lcd显示,是否延迟太多呢?
另外,lcd显示的期间又占用了系统的时间,采样是否应暂停呢?
三个问题,望有人帮忙,,,,, 
 

相关帖子

沙发
ayb_ice| | 2008-12-27 21:55 | 只看该作者

51想要处理这样的任务

显然不是51能做的,更何况还要显示,数据处理,只能说你MCU选错了.

使用特权

评论回复
板凳
ljm810010| | 2008-12-27 22:01 | 只看该作者

先确定你期望的采样率和还有多少其它作务

时间分配得当,还是可以处理过来的。

使用特权

评论回复
地板
walnutcy| | 2008-12-27 22:22 | 只看该作者

同意楼上的,先确定需求,然后再考虑实现

使用特权

评论回复
5
红心j| | 2008-12-28 10:56 | 只看该作者

提高时钟频率;选择单时钟指令周期的MCU

使用特权

评论回复
6
ayb_ice| | 2008-12-28 12:10 | 只看该作者

25K频率

对于标准51也就是执行40条单周期指令,就是处理显示的数据也有问题....

使用特权

评论回复
7
王居士|  楼主 | 2008-12-28 22:17 | 只看该作者

回楼上各位

1 如果我的数据最高速率为25k,那么我扩展外部ram,对于较快信号,等2k的ram满后现在调显示程序,可以吗?

2 对于大于16k数据,用内部256的数组, 如果我采数据用了8us*256的时间,那么我显示时占用tk=4us*256的时间,中间tk的时间停止采数,显示失真不可接受吗?

使用特权

评论回复
8
王居士|  楼主 | 2008-12-28 22:20 | 只看该作者

还有

如果我直接显示那么显示函数占4个周期,接受采样数据是8周期,信号频率在1m/(8+4)/5=16k,那么信号小于16k时,处理应该没问题吧?

使用特权

评论回复
9
王居士|  楼主 | 2008-12-28 22:22 | 只看该作者

解释

上面的直接显示函数在接收中断中。

使用特权

评论回复
10
ljm810010| | 2008-12-28 22:29 | 只看该作者

关键是所采集的数据的用处

如果采集后只是送到显示,那么25K的数据率根本没多大用处,显示屏也只是60Hz的刷新率。
这是一个系统性的问题,不能从单方面去分析,你需要的是对整个系统的各种任务进得合理的时间分配。
如果你想得到更多的帮助,你要更详细地说明你的项目。

使用特权

评论回复
11
王居士|  楼主 | 2008-12-28 22:31 | 只看该作者

回楼上

做一个小的示波器,信号《25k,用lcd显示u

使用特权

评论回复
12
王居士|  楼主 | 2008-12-28 22:40 | 只看该作者

10楼

示波器要计算其周期和幅制,同时按键可选择是否存储数据

使用特权

评论回复
13
王居士|  楼主 | 2008-12-28 22:50 | 只看该作者

用2k的外部RAM做缓存,显示访问外部ram应该解决了60hz的问题吧

使用特权

评论回复
14
ljm810010| | 2008-12-28 23:18 | 只看该作者

能否一边采集一边送显示?

不知你LCD的刷新方式,如果能并行处理,将大大提高采集频率。

使用特权

评论回复
15
王居士|  楼主 | 2008-12-29 09:27 | 只看该作者

谢谢

如果并行处理的话
中段函数中加直接显示函数那么显示函数占4个周期,接受采样数据是8周期,信号频率在1m/(8+4)/5=16k,了

使用特权

评论回复
16
ayb_ice| | 2008-12-29 20:54 | 只看该作者

中断如果较复杂的话

还会有保护寄存器操作,然后可能还有中断嵌套....
什么显示函数占4个周期,调用返回都不止4个周期...

使用特权

评论回复
17
ljm810010| | 2008-12-29 21:52 | 只看该作者

正有此问。调用返回都不止4个周期

使用特权

评论回复
18
王居士|  楼主 | 2008-12-29 22:00 | 只看该作者

回楼上

不用嵌套不行吗,直接操作

使用特权

评论回复
19
王居士|  楼主 | 2008-12-29 22:08 | 只看该作者

请问ljm810010

对于周期信号最大25k,我只采样一段,然后用60hz的lcd显示,同时在1/60的时间间隔,计算其幅值,或进行简单的滤波可以吗?

使用特权

评论回复
20
ljm810010| | 2009-1-2 14:42 | 只看该作者

要看实际用途而定

就算你AD速度足够快,MCU处理也足够快,如此大量的信息送往显示屏,人眼也反应不过来。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

26

帖子

0

粉丝