打印
[DemoCode下载]

各位大佬,赛元单片机SC92F8445B的多路ADC采样demo采集不稳定

[复制链接]
3022|19
手机看帖
扫描二维码
随时随地手机跟帖
沙发
YanniChen| | 2020-1-9 16:53 | 只看该作者
切换通道设置的函数里面  ADCCON |=channel;那里应该是要先清零再赋值, ADCCON =  (ADCCON &0xE0)|channel; 否则直接|会设置错通道,你看下是否这个问题

使用特权

评论回复
评论
taotao1987 2020-1-29 13:50 回复TA
这个说的太对了,我也是碰上这样的问题过,搞了好长时间才搞明白 
HUA666 2020-1-9 18:01 回复TA
好的谢谢 
板凳
hjl2832| | 2020-1-9 20:18 | 只看该作者
我记得一般单片机手册上都有讲,在切换通道后,要延迟一段时间才能打开AD转换功能,目的就是让AD内部在切换通道后先稳定下来。

使用特权

评论回复
地板
taobaofarmer| | 2020-1-10 10:27 | 只看该作者
实际上任何单片机内部只有一个AD模块的,之所以能采集多路,是内部有一个模拟开关,把内部AD模块切换到不同的外部引脚,这样就存在一个问题,模拟开关在切换之后会有上一个通道的残留电压,所以要稍等多少个us之后再采集,我之前一直用STM8的多路AD采集,但因为STM8比赛元的MCU贵,另外由于每年都有炒芯片,所以不定哪年STM8就缺货涨价,所以想换成赛元的MCU做AD采集,但经过大量实验,包括延时采集,软件平均值滤波算法,最后发现,赛元MCU的多通道AD稳定性照STM8的比,不是一个级别,如果不信你可以做大量的实验试试,如果你不在意采集结果上几个毫伏的不断跳动,那就无所谓了,如果要求毫伏级别很稳定,那建议你不要做继续尝试了

使用特权

评论回复
评论
wh6ic 2020-1-10 15:03 回复TA
只能说是你自己渣。 我用赛元的8003,轻松稳定到 1 个 Lsb,赛元的是12bit,比 STM8 的 10bit 好几倍。 
5
dengweian| | 2020-1-10 14:52 | 只看该作者
你见过我们台湾省的工程师说台湾的芯片不如其它厂家的芯片么?来,内部讨论一下改善方法,亲

使用特权

评论回复
6
aspoke| | 2020-1-10 20:46 | 只看该作者
使用滤波算法呢      

使用特权

评论回复
7
232321122| | 2020-1-10 20:46 | 只看该作者
数值不稳定吗      

使用特权

评论回复
8
ghuca| | 2020-1-10 20:46 | 只看该作者
可能程序的问题   

使用特权

评论回复
9
soodesyt| | 2020-1-10 20:47 | 只看该作者
没有使用中断函数吗         

使用特权

评论回复
10
mnynt121| | 2020-1-10 20:47 | 只看该作者
不稳定是什么意思呢   

使用特权

评论回复
11
老舍农夫| | 2020-1-11 08:19 | 只看该作者
赛元的ADC 在8位机中是杠杠的,用过7250 7251 8003 ADC转换值稳定得都是很满意的,在确保电源电压对ADC结果没多大影响的前提下,并且采集到的值是正确的只是存在波动这大部分可以从软件方向下手改善

使用特权

评论回复
12
taobaofarmer| | 2020-1-11 11:03 | 只看该作者
我用STM8和赛元的MCU做同样的算法儿处理,结果波动情况差挺多,STM8的跳动很少,而且跳动赋值很小,一两个毫伏,而赛元的跳动较大,三五个毫伏的级别

使用特权

评论回复
13
amw1688888| | 2020-2-3 17:40 | 只看该作者
    详细资料,寻价加微/Q:991302972
     一款高性能的 8 位单片机。内部包含 4K 字节 Flash,256 字节 SRAM,1 个 8 位
定时器、2 个 16-bit 定时器/计数器(可输出 4 路 16 位 PWM),具有独立时钟的
看门狗,12-bit ADC(最大支持 18 路),2 个模拟比较器,1 路UART 和 1 路 I2C
通讯接口,片内 POR,BOR 和 LVD,内部 16MHz RC 振荡器,内部 32KHz WDT
振荡器。具有低功耗模式。

特性

•内核
-超高速 8051 内核(1T)
-指令全兼容传统 8051
-14 个中断源
•工作电压
-2.4V~5.5V
工作温度
--40℃~85℃
•存储器
-4K 字节 Flash,用于存储用户代码(擦写次数典型值 10000 次)
-256 字节 RAM
•时钟
-内部 16MHz 高精度 IRC(ISP 编程时可以进行调整)
•误差±2.5%(全温度范围,-40℃~85℃)
-内部 32KHz 低速 IRC(误差±10%)
-外部 32.768 KHz 低速晶振
•复位
-上电复位
-欠压复位(2.25V、2.6V、4.2V)
-复位脚复位
-看门狗溢出复位
•LVD 低压检测复位,提供 4 级低压检测电压(2.3V、2.5V、2.7V、4.3V)
•中断
-提供 14 个中断源,GPIO 中断(上升沿、下降沿、双沿触发),SCK3 中断、
WDT 中断、基本定时器中断,高级定时器中断 0~1,LVD 低压检测中断、
I2C 中断、UART 中断、ADC 模数转换中断、模拟比较器中断
•数字外设
-1 个 8 位基本定时器
-2 个 16 位高级定时器,支持 PWM 输出功能
•PWM 时钟源可以选择来自系统时钟或者看门狗时钟
•预分频 1-16,后分频 1,2,4,8,16,32,64,128
•支持捕获操作,上升沿,下降沿,双沿
•支持周期中断和占空比中断
•支持刹车功能
-1 个UART
-1 个 I2C:支持主机模式和从机模式
•ADC
-精度:12 位
-采样速率:200k Sps
-外部输入:18 路
-内部基准:1.2V 和 2V
-采样可以通过 PWM 的上升沿或者下降沿触发
•电压比较器
-2 个比较器
•GPIO
-18 个GPIO:PT0[7:0]、PT1[7:0]、PT2[1:0]
-上电后PT00、PT13、PT14 默认开漏上拉输出,其余 I/O 全为输入高阻态
-上下拉 10K 电阻可以同时打开(匹配精度 5%)
封装:TSSOP20   SOP16   SOP8

使用特权

评论回复
14
杨寅辉| | 2020-2-23 15:51 | 只看该作者
taobaofarmer 发表于 2020-1-11 11:03
我用STM8和赛元的MCU做同样的算法儿处理,结果波动情况差挺多,STM8的跳动很少,而且跳动赋值很小,一两个 ...

同意,在8位单片机的世界里,STM8的性能是毋庸置疑的,除了他的价格。

使用特权

评论回复
15
杨寅辉| | 2020-2-23 15:51 | 只看该作者
taobaofarmer 发表于 2020-1-11 11:03
我用STM8和赛元的MCU做同样的算法儿处理,结果波动情况差挺多,STM8的跳动很少,而且跳动赋值很小,一两个 ...

不贵赛元的支持做的确实不错。

使用特权

评论回复
16
杨寅辉| | 2020-2-23 15:52 | 只看该作者
YanniChen 发表于 2020-1-9 16:53
切换通道设置的函数里面  ADCCON |=channel;那里应该是要先清零再赋值, ADCCON =  (ADCCON &0xE0)|channel ...

学习了,这个确实是需要注意的地方,看来芯片还需要有待改进。

使用特权

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

本版积分规则

1

主题

5

帖子

0

粉丝