打印

吐槽一下,MICROCHIP的ADC功能不咋的

[复制链接]
2248|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shizaigaole|  楼主 | 2019-6-15 22:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
吐槽一下,MICROCHIP的ADC功能不咋的。

比如说,我想休眠状态1ms采样一次正弦波,20ms后计算有效值,PIC不论是PIC16,PIC24,PIC32,都必须采用笨方法,1ms中断一次唤醒休眠,这样功耗就大了。

stm32,msp430都可以多通道序列采样的时候,同一个序列里重复选择同一个通道,这样一个序列20ms完成,就可以20ms唤醒一次!!!


PIC有的时候,确实有点过于简化,对于高级一点应用,支持确实很差。


只就这一点而言,他的片子低功耗指标再好,也无济于事,1ms中断一次和20ms中断一次差距巨大。

使用特权

评论回复
沙发
shizaigaole|  楼主 | 2019-6-15 22:18 | 只看该作者
这一点而言,他的设计师确实是失误,因为PIC32mm系列的多通道扫面转换基本结构是有的,但是他为了省几个寄存器,采用简化的方法,导致一个序列里面不能重复选择同一个通道。

这对需要一个通道休眠状态下采集若干次数据,然后唤醒集中计算成为不可能!!!

他的PIC16和PIC18采用一些补救措施,搞了些ADC独立于CPU计算的单元,但是他的计算模式就那么几种,应用场合有限!!

使用特权

评论回复
板凳
shizaigaole|  楼主 | 2019-6-15 22:22 | 只看该作者
基本上可以说,如果需要休眠的时候,多次采集一个通道或者几个通道,然后唤醒集中计算,PIC可以不用考虑了!!

使用特权

评论回复
地板
小灵通2018| | 2019-6-16 16:48 | 只看该作者
有个系列带DAC的,只有5位,与其说是DAC,不如说是个电平参考。

使用特权

评论回复
5
systemchip| | 2019-6-18 09:48 | 只看该作者
你应该看看dsPIC33家族

使用特权

评论回复
6
643757107| | 2019-6-18 23:00 | 只看该作者
还好吧,要求别太高,有的PIC带DAC,结果只有5BIT。

使用特权

评论回复
7
wooda| | 2019-6-20 22:06 | 只看该作者
如果对50hz频率确定,应该有更经济的算法计算有效值.

使用特权

评论回复
8
wooda| | 2019-6-20 22:08 | 只看该作者
小灵通2018 发表于 2019-6-16 16:48
有个系列带DAC的,只有5位,与其说是DAC,不如说是个电平参考。

这个实际使用时应该是做量程设定用吧,直接回馈给adc参考电压输入

使用特权

评论回复
9
yongruru| | 2019-6-23 20:10 | 只看该作者
shizaigaole 发表于 2019-6-15 22:22
基本上可以说,如果需要休眠的时候,多次采集一个通道或者几个通道,然后唤醒集中计算,PIC可以不用考虑了 ...

我提个方案,睡眠下多次采集。1ms定时器触发ADC转换,ADC转换结束后DMA转移数据到RAM,20ms定时器触发中断,CPU处理数据,重置DMA,进入睡眠,重复以上循环。

使用特权

评论回复
10
锵才才| | 2019-6-25 10:11 | 只看该作者
可以考虑用ATMEL的ATXMEGA,上面有事件系统,RTC和DMA。用RTC定时1ms启动ADC, ADC启动DMA, DMA传输20个数据后唤醒内核

使用特权

评论回复
评论
cdyyabc 2019-6-27 15:00 回复TA
我猜测这个功能迟早会出现 
11
shizaigaole|  楼主 | 2019-6-27 19:29 | 只看该作者
PIC32mm的ADC好像可以,他的手册说的不是很清楚,只是说ADC结果寄存器阵列可以设置为缓冲区模式,可是没有看到其关于缓冲区存储位置设置方面的寄存器。

顺便吐槽一下,MICROCHIP的中文资料做的比以前差的太多了,以前写的非常细致,而且逻辑性好。microchip现在的手册中文资料少不说,而且其产品手册的逻辑性越来越差,

大有比ST和TI还差的趋势。

在吐槽一下,现在microchip的中文网站没有了,而且我到英文网站,经常转悠一大圈找不到单片机的选型表!!!

真是莫名其妙!!

使用特权

评论回复
12
捉虫天师| | 2019-6-27 23:54 | 只看该作者
说明那些型号是很早很早以前设计的。

使用特权

评论回复
13
捉虫天师| | 2019-6-27 23:54 | 只看该作者
说明那些型号是很早很早以前设计的。新型的应该好多了。

使用特权

评论回复
14
Rock007| | 2019-7-1 14:46 | 只看该作者
看一下 dsPIC 系列的片子。

使用特权

评论回复
15
wooda| | 2019-7-1 23:10 | 只看该作者
shizaigaole 发表于 2019-6-27 19:29
PIC32mm的ADC好像可以,他的手册说的不是很清楚,只是说ADC结果寄存器阵列可以设置为缓冲区模式,可是没有 ...

我也是,网站非要大动干戈整合atmel的东西,基因上就是2个系列的哪有那么容易整合,,然后找出来一堆都是不适用的.
这就好比2栋房子,连砖块都是不一样尺寸的,要拆开来合并厨房客厅,哪有那么容易啊...
现在ide也开始整合了,真是不敢用升级后的版本,谁知道会出啥要儿子问题

使用特权

评论回复
16
abcd44| | 2019-7-2 00:08 | 只看该作者
shizaigaole 发表于 2019-6-27 19:29
PIC32mm的ADC好像可以,他的手册说的不是很清楚,只是说ADC结果寄存器阵列可以设置为缓冲区模式,可是没有 ...

主要是在打贸易战呢

使用特权

评论回复
17
holts| | 2019-7-2 08:13 | 只看该作者
真的这么差劲 ?

使用特权

评论回复
18
decoding| | 2019-7-2 09:36 | 只看该作者
如果这样的话确实不是很方便,我用过430既可以这么用

使用特权

评论回复
19
shizaigaole|  楼主 | 2019-7-4 09:13 | 只看该作者
我原来以为stm32L也可以实现,睡眠时1ms采样一次,20ms唤醒一次,集中处理20个数据,后来没想到,居然也不行。

原因是stm32L的DMA居然在休眠模式下是不能工作的!!!!

估计其他的采用DMA传输十之**也不行。

使用特权

评论回复
20
小卡| | 2019-7-16 11:16 | 只看该作者
shizaigaole 发表于 2019-7-4 09:13
我原来以为stm32L也可以实现,睡眠时1ms采样一次,20ms唤醒一次,集中处理20个数据,后来没想到,居然也不 ...

有结果吗~???

使用特权

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

本版积分规则

个人签名:衰兰送客咸阳道,天若有情天亦老

146

主题

3735

帖子

11

粉丝