打印
[其他]

华大单片机的BUG

[复制链接]
6248|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
je段|  楼主 | 2019-3-12 10:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 je段 于 2019-9-29 11:55 编辑

11
评论
eelux 2019-3-14 18:01 回复TA
目前用下来实际很多都是用法上不合适,ADC本身的精度是很高的 
沙发
零三翟邢止胃| | 2019-3-12 11:52 | 只看该作者
帮你顶住啊!

使用特权

评论回复
板凳
liaotian001| | 2019-3-13 15:01 | 只看该作者
针对ADC采样不准的解决方案:首先要理解ADC是一个高精度模拟IP,需要软硬件的配合,才能达到性能最优化,用好ADC需要好的开发设计习惯。
第一种方案是找到噪声源,回避这个噪声源,比如在噪声源稳定,或者消失的时候,进行采样。就像电机驱动一样,ADC不会在PWM切换时 采样信号,因为PWM切换瞬间,噪声是最大的。
第二种方案是无法回避这个噪声源,那么我们的产品是有内部累加器的,比如进行16次采样,读取累加器高12位,就是16次采样的平均值,芯片内部都已经集成这个累积,求平均的硬件算法。
第三种方案是输入端加一个电容,进行去耦以及降低噪声影响,再使用ADC进行采样。
第四种方法是细节描述,比如在采样的几个cycle时,最好MCU的IO停止翻转驱动,因为这样会影响电源噪声。 最重要的是:外部Vref的这个GPIO 在ADC采样时,必须停止翻转 ,因为共享一个PAD,GPIO的翻转会把噪声引入ADC的Vref。
第五种方法是细节描述,比如采样的的几个cycle时,我们可以配置采样时间,加大sample的时间,这样可以更精确的采样信号。

注意不同电压与采样率的问题:2.4v以上,最大采样率是1Msps,2.4v以下,最大采样降低为500KSps, 低于2.2v,最大采样率降低为200Ksps
注意不同参考源与采样率的问题:使用内部Vref时,最大采样率为200KSPS,达不到1MSPS

另外说一下理论性的知识,当外部采样端口的等效输入电阻太大时,需要降低采样率。
公式就不贴了,ADC application note有完整的解释:
R_AIN(KOhm)        F_ADC(KHz)
10                 5600
30                 2100
50                1300
80                820
100                660
120                550
150                450

        尽量减小ADC输入端口〖AIN〗_X 的寄生电容C_PARACITIC;
        除了考虑R_AIN值外,如果信号源V_AIN的内阻较大时,也需要加入考虑

使用特权

评论回复
评论
eelux 2019-3-14 17:53 回复TA
专业,很好地解决了问题,多谢 
地板
je段|  楼主 | 2019-3-13 18:48 | 只看该作者
liaotian001 发表于 2019-3-13 15:01
针对ADC采样不准的解决方案:首先要理解ADC是一个高精度模拟IP,需要软硬件的配合,才能达到性能最优化,用 ...

非常感谢

使用特权

评论回复
5
martinhu| | 2019-3-14 17:55 | 只看该作者
本帖最后由 martinhu 于 2019-3-14 17:59 编辑

华大的ADC使用上需要多参考用户手册,例如HC32L110或者L136,使用内部参考电压的情况下转换速率就必须限定在200K以下,采样高阻抗输入信号必须使能内部电压跟随器等等,
如果这些操作不当,也会影响采样精度。
我们使用下来感觉精度很好

使用特权

评论回复
6
sohowork| | 2019-3-19 07:09 | 只看该作者
各位大神,谁用过HC32L130?我是一个工业环境使用,担心可靠性,稳定性

使用特权

评论回复
7
je段|  楼主 | 2019-3-19 11:02 | 只看该作者
sohowork 发表于 2019-3-19 07:09
各位大神,谁用过HC32L130?我是一个工业环境使用,担心可靠性,稳定性

稳定性倒是不用太担心

使用特权

评论回复
8
liaotian001| | 2019-7-19 09:55 | 只看该作者
测试方法
        下载程序到MCU中。
        为端口P24靠近MCU管脚的地方焊接一个100nF的去藕电容。
        将一节干电池的负端接GND,正端接P24。
        MCU选择LDO输出的3.3V进行供电。
        将MCU的P34连接到USB转串口模块的RXD
        将MCU的GND连接到USB转串口模块的GND
        在电脑端打开串口调试助手,选中所使用的串口,配置9600-8-N-2,即可显示MCU上传的信息。
        实际测试数据如下所示:
            采用约12.7万次,最大值与最小值仅相差2,稳定度很好。
            使用万用表测得ADC参考电压为3.305V,ADC输入电压为:1.617V,
           精度 =  2005/4095*3.305 - 1.617 = 0.001199V = 1.199mV,精度很高

使用特权

评论回复
9
该死的微笑| | 2019-9-25 18:49 | 只看该作者
(SW模式)有时候程序成功调试下载一次后,再次下载调试就连接失败了,可能是什么原因?有什么办法解决

使用特权

评论回复
10
二月寒风| | 2019-9-27 10:17 | 只看该作者
没有单独的电池供电管脚。学ST,没有学到精髓。产品经理不到位。

使用特权

评论回复
11
liaotian001| | 2019-9-27 22:15 | 只看该作者
二月寒风 发表于 2019-9-27 10:17
没有单独的电池供电管脚。学ST,没有学到精髓。产品经理不到位。

谢谢指出问题,不过烦请给一个 ST M0/M0+ 级别 低超低功耗MCU中,即STM32L0xx系列中带Vbat的型号。

使用特权

评论回复
12
二月寒风| | 2019-9-27 22:58 | 只看该作者
STM32L0系列确实是没有VBAT的。ST新出的G0系列,还有F0系列都是有VBAT。RTC不单独供电就是一种脑抽的设计。使用纽扣电池能够给整个系统供电?所以说不管对的、错的都学了。
华大的设计使用VREF上可以灵活配置是好的。RTC上的设计感觉就是败笔。

使用特权

评论回复
13
liaotian001| | 2019-9-28 00:39 | 只看该作者
二月寒风 发表于 2019-9-27 22:58
STM32L0系列确实是没有VBAT的。ST新出的G0系列,还有F0系列都是有VBAT。RTC不单独供电就是一种脑抽的设计。 ...

嗯,这个建议我们会慎重考虑一下。得确认其他客户愿不愿意多出 1~2 毛钱的MCU售价,PCB板上的额外4~6个焊点,外加电容,外加电池的成本。另外对比系统级解决方案,MCU外部使用2个二极管搭的双电源电路是否更合算?应用方便与高费用是挂钩的。
华大MCU最大的特性是性价比高,其次是高可靠性,最后才是超低功耗特性。
这个系列的产品经理是一个非常了不起的产品经理。以低于通用32位 MCU的价格,给用户提供尽量多的特色功能。

使用特权

评论回复
14
zlmin| | 2019-10-3 10:37 | 只看该作者
谢谢分享!

使用特权

评论回复
15
mcu430| | 2019-10-10 15:24 | 只看该作者
牛牛牛牛牛牛

使用特权

评论回复
16
hengshu| | 2019-10-10 22:51 | 只看该作者
经理很牛,编程如此丝滑,不用库直接寄存器连操作符都省了,加快开发进度,形同c51, 但更便捷

使用特权

评论回复
17
hzmagnet| | 2019-12-24 10:10 | 只看该作者
liaotian001 发表于 2019-3-13 15:01
针对ADC采样不准的解决方案:首先要理解ADC是一个高精度模拟IP,需要软硬件的配合,才能达到性能最优化,用 ...

今天试了下ADC扫描累加输出,发现只是单纯的把所有通道上的转换结果加起来,怎么样配置才可以让每个通道累加当前通道的上一次转换结果,这样滤波才有意义

使用特权

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

本版积分规则

15

主题

495

帖子

4

粉丝