打印

求助,关于AD转换速度和MCU执行语句时间的讨论及问题。

[复制链接]
4102|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lidake|  楼主 | 2012-5-31 14:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lidake 于 2012-5-31 14:32 编辑

我以前一直用STC产品。

最近用STC的一款12C5A60S2(1T单片机),做将近100个AD转换。

意思就是我程序完成一周,要转换100次AD,还要加上别的一些比较的语句。

我做完,产品的晶振为24MHz,程序周期在670us,太宽了。

我们的要求,最好在20us。

所以,我就想单片机的速度可能是不行了。

是不是要换16位机,或则32位再加上,独立的并行AD。

希望大家给点意见我已经做好更换平台的准备所以来此发帖求助

呵呵,外加一句, 程序匠人哥,我几年前买过你出的书,嘿嘿,写的不错,比看其他书灵活许多,也容易看进去。

相关帖子

沙发
ayb_ice| | 2012-5-31 14:56 | 只看该作者
你的AD速率有这么高吗
1000000US/20US*100=5000000=5M SPS

做什么产品要求这么高,估计9成是你的要求搞错了吧

使用特权

评论回复
板凳
lidake|  楼主 | 2012-5-31 15:41 | 只看该作者
2L
我用STC的AD是确实没有这么的速率。所以我在上面写了,我打算用外置的并行AD。

我的产品是测物体下降速度的,是100个物体一起测。

我之所以想请教换平台的事情,是因为,我把单片机项目中的AD中断关闭后,光是走数值比较,及一些软件滤波的语句,也需要将近200US。(示波器测得)

做这个项目时,起初我以为1MS以内就够用,现在发现当时估算的误差很大。所以,经过和一些机械方面的工程师讨论,他们介意我整个程序周期(ADC转换加上程序中的一些比较语句等)做到20US以内。。。。。

使用特权

评论回复
地板
ayb_ice| | 2012-5-31 15:59 | 只看该作者
你的要求
一般的ARM芯片也难做到的

使用特权

评论回复
5
lidake|  楼主 | 2012-5-31 16:18 | 只看该作者
是啊,知道21里有大神。所以特意来这里请教了。因为一下子要比较好几个平台,我想只有21里的大神能给我明示了!!!!!!

使用特权

评论回复
6
lidake|  楼主 | 2012-6-1 09:50 | 只看该作者
有没有哪位大侠能指点我一下,哪种组合可以满足我的项目要求,比如说什么MCU加上什么型号的并行AD。?
求指点迷津!!

使用特权

评论回复
7
xxlin1984| | 2012-6-1 13:55 | 只看该作者
把项目要求细节说一下吧,看看有什么地方是可以简化的。
“测物体下降速度的,是100个物体一起测” =》 100个物体 = 100个传感装置 = 100个通道切换?

使用特权

评论回复
8
coody| | 2012-6-1 14:12 | 只看该作者
这个速度,用FPGA+高速ADC,比如示波器里用的100M SPS以上的ADC看看

使用特权

评论回复
9
joyme| | 2012-6-1 15:21 | 只看该作者
20us,就算只处理一路AD,单片机都只能是勉强
就算你用外部的AD,单片机20us能读到数据吗?更别说还要处理数据了,这得要求多高的通信速率呀
感觉就是你们理解要求有问题,你们应该了解物体实际下落的速度有多高,而要求的精度是多少,再定多长时间采样一次?
第一宇宙速度是7.9Km/s即7.9mm/us,20us也只能跑158mm,我想测试物体下落不需要精确到mm级别吧

使用特权

评论回复
10
lidake|  楼主 | 2012-6-1 15:35 | 只看该作者
7L:
    这个项目我用STC12C5A60S2(1T单片机)其实已经完成过了,只是最后做出来程序周期太长了,一共670US。
  项目说明:我需要检测100个物体的在下降过程中的速度,这100个物体有可能是同时下降,也有可能是按照随机的次序下降。
            我用ADC是因为,传感器装置在物体下降过程中会被物体遮挡住,然后会有电压变化由低变高。我在程序中检测0x15和0xf0(ADC值),我在0x15时,计时,0xf0截止。然后求出时间,时间越长速度越慢。。。。。

使用特权

评论回复
11
lidake|  楼主 | 2012-6-1 15:39 | 只看该作者
9L:
   有所不知,我们的行程其实也就几十mm或则说是十几mm。而且有时候下降很快,有时候下降很慢。

使用特权

评论回复
12
lidake|  楼主 | 2012-6-1 15:43 | 只看该作者
8L:
   我是考虑过这种组合,但是我以为只需要20MSPS的就够了呢,100MSPS,会不会很贵啊?毕竟是要生产的产品,成本得考虑。
  还有就是我现在用单片机编辑烧录文件(bin)后,生成的文件是将近18KB,里面还有一些表格要查。对FPGA不是很了解,所以想问问适合我用的FPGA,或则说能满足我要求的FPGA会是多钱一片大约,有推荐更好,3Q!

使用特权

评论回复
13
r207| | 2012-6-1 15:46 | 只看该作者
电路是不是需要重新规划下 100路AD切换 有些恐怖 而且会衰减

使用特权

评论回复
14
lidake|  楼主 | 2012-6-1 15:49 | 只看该作者
13L:
    你说的衰减是什么意思?能详细说说嘛?我打算用外部并行AD的。希望大家愿意帮我的,加我QQ:370087712!本人非常喜欢交同行朋友!

使用特权

评论回复
15
xxlin1984| | 2012-6-1 16:26 | 只看该作者
用两个比较器(比较0x15和xf0)替代ADC,只需要读两电平,比ADC快。

但依然是不可能的:
24MHz,20us,共480个clk,100路轮询,每路4.8个clk,STC12C5A60S2一条跳转指令就得3-4个clk,能干什么事。
LZ,你用670us,100路轮询(每路160.8个clk,约能执行50-80条指令),还干完其他任务,我已经快感到不可思议了。:L

使用特权

评论回复
16
lidake|  楼主 | 2012-6-2 00:36 | 只看该作者
15L:
    你前面说的2个比较器是什么意思?我没有看明白?什么样的比较器可以直接读取外界的电压并且变成值(0x15)?
   回答你后面说的内容,虽然我有很多事情要在程序里面做,但是都是有前提的。比如说要是电压不高于0x15的话,基本上我就是循环扫描100个位置了。1T单片机24M晶振670US100次判断也不快的出奇了吧,嘿嘿!
15# xxlin1984

使用特权

评论回复
17
lidake|  楼主 | 2012-6-2 00:39 | 只看该作者
13# r207
13L:
    你说的衰减是什么意思?能详细说说嘛?我打算用外部并行AD的。希望大家愿意帮我的,加我QQ:370087712!本人非常喜欢交同行朋友!

使用特权

评论回复
18
lidake|  楼主 | 2012-6-2 00:41 | 只看该作者
8L:
   我是考虑过这种组合,但是我以为只需要20MSPS的就够了呢,100MSPS,会不会很贵啊?毕竟是要生产的产品,成本得考虑。
  还有就是我现在用单片机编辑烧录文件(bin)后,生成的文件是将近18KB,里面还有一些表格要查。对FPGA不是很了解,所以想问问适合我用的FPGA,或则说能满足我要求的FPGA会是多钱一片大约,有推荐更好,3Q! 8# coody

使用特权

评论回复
19
lidake|  楼主 | 2012-6-2 00:41 | 只看该作者
7L:
    这个项目我用STC12C5A60S2(1T单片机)其实已经完成过了,只是最后做出来程序周期太长了,一共670US。
  项目说明:我需要检测100个物体的在下降过程中的速度,这100个物体有可能是同时下降,也有可能是按照随机的次序下降。
            我用ADC是因为,传感器装置在物体下降过程中会被物体遮挡住,然后会有电压变化由低变高。我在程序中检测0x15和0xf0(ADC值),我在0x15时,计时,0xf0截止。然后求出时间,时间越长速度越慢。。。。。
7# xxlin1984

使用特权

评论回复
20
lidake|  楼主 | 2012-6-2 00:43 | 只看该作者
有所不知,我们的行程其实也就几十mm或则说是十几mm。而且有时候下降很快,有时候下降很慢。 9# joyme

使用特权

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

本版积分规则

14

主题

90

帖子

0

粉丝