矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: iffi123

STM32确实好东西

[复制链接]
     
发表于 2020-3-4 21:19:15 | 显示全部楼层
iffi123 发表于 2020-3-4 21:01
国产单片机雨后春笋冒出来, 估计设计难度不大

不过器件我喜欢跟随主流,试错风险小,资源多

这个半年3个产品2个已经量产了,成本和供货周期要求,产品都要出emc报告。
M3的芯片2010年开始到现在,主要用带网口的产品;因为成本或功耗的关系,其他都用M0。
回复 支持 反对

使用道具 举报

     
发表于 2020-3-9 09:38:52 | 显示全部楼层
STM32  的ADC 速度太快,走DMA的话除非是专用,否则很容易溢出的,然后各种丢失、出错。
这是普遍所知的BUG:STM32的ADC不要走DMA!
如同它的I2C一样,都不能直接使用硬件流控制,得使用软件来控制,否则,很容易死的。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-3-9 09:43:27 | 显示全部楼层
本帖最后由 iffi123 于 2020-3-9 09:49 编辑
夏国特 发表于 2020-3-9 09:38
STM32  的ADC 速度太快,走DMA的话除非是专用,否则很容易溢出的,然后各种丢失、出错。
这是普遍所知的BU ...


ADC速度可以调节, 比如加大采样时间, 或者改用外部触发,比如定时器

其实ADC的DMA并不是有bug,  倒是要注意些细节, 否则多通道可能出现数据错位

我反复测试过多通道AD和几千次, DMA传送, 没问题,很方便, 12位精度不高,要是16位就好了

最高速度每次1M次,也试过,不过采样时间过短,误差很大,没意义
回复 支持 反对

使用道具 举报

     
发表于 2020-3-9 09:50:03 | 显示全部楼层
iffi123 发表于 2020-3-9 09:43
ADC速度可以调节, 比如加大采样时间, 或者改用外部触发,比如定时器

其实ADC的DMA并没有什么bug, 但 ...

测试、做实验当然可以,否则片子也不可能出来!
但是,实际应用,速度要求是根据现场需要来的,比如,我的应用要求采用就得是高速的,那你就不能随便降低速度迎合DMA,只能软件等待查询的方式访问了。
ADC独占DMA控制器,没有其他流介入的时候也不出问题,一旦DMA繁忙,多通道丢了数据就不知道,硬件出错后就不能恢复了。
这是公认的BUG,为什么要说没有BUG呢?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-3-9 10:10:53 | 显示全部楼层
夏国特 发表于 2020-3-9 09:50
测试、做实验当然可以,否则片子也不可能出来!
但是,实际应用,速度要求是根据现场需要来的,比如,我 ...


其实有些人认为的bug, 其实恰是自己没处理好细节的结果,特别几个功能同时启动之间的配合问题,而不是真的bug

我在调试过程也碰到一些很奇怪无法解释的问题,最后都是通过不断尝试解决,反而能纠正自己的一些错误认知。

所以我一直认为要对硬件的原理多花功夫

ADC+多中断+DMA+定时器, 我都反复折腾
回复 支持 反对

使用道具 举报

     
发表于 2020-3-9 13:06:39 | 显示全部楼层
iffi123 发表于 2020-3-9 10:10
其实有些人认为的bug, 其实恰是自己没处理好细节的结果,特别几个功能同时启动之间的配合问题,而不是 ...

是的,飞思卡尔M4出来工程样片的时候手册还没正式发布,M0出来的时候头文件还没有,我们就那么一个寄存器一个位的测试,连规格书的错误和设计上的缺陷都给人家找出来,让厂家修改!

可能第一次使用STM的片子,库用起来不太习惯,都是自己动手写驱动,也许还是认识不到位,也没什么厂家的熟人可咨询,兄台貌似用了挺久,是否可以讨教一二?

STM32F407VET6

ADC连续转换,DMA传输,这个位经常置位提示溢出,然后DMA就卡住了因为传输没有完成不产生中断,不能恢复。
除非启用超时中断人工清除。我的意思是:找到原因和找到对策是两回事!


ADC 状态寄存器 (ADC_SR)
ADC status register
偏移地址: 0x00
复位值: 0x0000 0000

位 5 OVR: 溢出 (Overrun)
数据丢失时,硬件将该位置 1(在单一模式或双重/三重模式下)。但需要通过软件清零。溢
出检测仅在 DMA = 1 或 EOCS = 1 时使能。
0:未发生溢出
1:发生溢出
回复 支持 反对

使用道具 举报

     
发表于 2020-3-9 13:19:58 | 显示全部楼层
10多年前就玩这个了,当时也觉得好用,花了N多钱还用不上,白贴财力精力
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-3-9 13:35:50 | 显示全部楼层
本帖最后由 iffi123 于 2020-3-9 13:40 编辑
夏国特 发表于 2020-3-9 13:06
是的,飞思卡尔M4出来工程样片的时候手册还没正式发布,M0出来的时候头文件还没有,我们就那么一个寄存器 ...


F4系列没接触过,没法回答你,可以找找别人如何解决的, 自己的程序让别人去找原因很难的,还得靠自己找到问题

查了一下F407应该是至少5年前的产品,如果真有问题,ST应该也改进了(象stm32这么热门的芯片,用户很多,st不可能无动于衷),现在买到的不应该是有bug的

我一般不轻易把问题推到芯片的bug, 自己没透彻理解的概率更大,毕竟再牛比的程序员也会犯错
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-3-9 13:41:41 | 显示全部楼层
gzresident 发表于 2020-3-9 13:19
10多年前就玩这个了,当时也觉得好用,花了N多钱还用不上,白贴财力精力

就当业余玩玩而已,不靠这个谋生
回复 支持 反对

使用道具 举报

     
发表于 2020-3-9 15:05:01 | 显示全部楼层
w8899 发表于 2020-2-28 08:18
单片机好上手吗?它能不能代替PLC?与PLC相比较有什么优缺点?

PLC是基于工业环境的,也比较标准化,凡是定型产品都经过了多年考验,功能组合模块化,可靠性有保证。
上述这些优势,单片机几乎都不具备。要是能被单片机取代,估计早就遍地开花了。
当然,单片机具备的优势,PLC也不一定比得上。

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2020-3-9 16:00:48 | 显示全部楼层
baofu 发表于 2020-3-9 15:05
PLC是基于工业环境的,也比较标准化,凡是定型产品都经过了多年考验,功能组合模块化,可靠性有保证。
...

这一说我就明白了,谢谢!
回复 支持 反对

使用道具 举报

     
发表于 2020-3-9 16:22:34 | 显示全部楼层
iffi123 发表于 2020-3-4 21:01
国产单片机雨后春笋冒出来, 估计设计难度不大

不过器件我喜欢跟随主流,试错风险小,资源多

人家平台是LPC824,只是用作备份啊!
回复 支持 反对

使用道具 举报

     
发表于 2020-3-10 13:27:30 | 显示全部楼层
有人用华大 MO HC32F003 单片机吗? 和STM32F003有什么差别
回复 支持 反对

使用道具 举报

     
发表于 2020-3-11 13:44:31 来自手机 | 显示全部楼层
精彩,这场辩论绝对精彩,受益了。正在转stm中,库确实稍显臃肿,从51结构过来的人都是对空间,效率斤斤计较。通过不断了解stm,感觉空间,效率,在stm奢侈的配置下,不是那么太紧要了。最大72m主频,相对51系的,速度上快很多,哪怕库臃肿些,速度不是瓶颈了。做好多任务协调,还是没啥的。另外不可忽视的是编译器,与51比,优化好很多。stm确实是强大的mcu。起码目前和它比肩的还没多少。
回复 支持 反对

使用道具 举报

     
发表于 2020-3-15 13:50:01 | 显示全部楼层
ST32容易开发,黑白屏,彩色屏,经济实惠
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-4-27 02:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表