你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

楼主: zero99

[活动] (已公布)狂欢节答题(附加题)

 关闭 [复制链接]

61

主题

1071

回帖

17

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2017-11-30 07:36:35 | 显示全部楼层
方法1,用定时器级联,开启一路pwm的同时,再开启一路定时器,如用tim1作为pwM,开启TIM1作为计数器中断

方法2,采用DMA的方式,DMA中断了就可以关闭PWM了

主要用作电机控制
回复 支持 反对

使用道具 举报

91

主题

4603

回帖

4

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2017-11-30 21:58:41 | 显示全部楼层
厉害了啊
回复 支持 反对

使用道具 举报

13

主题

718

回帖

164

蝴蝶豆

金牌会员

最后登录
2020-5-24
发表于 2017-12-1 15:45:40 | 显示全部楼层
学习了~
回复 支持 反对

使用道具 举报

74

主题

1368

回帖

194

蝴蝶豆

版主

最后登录
2020-5-12
发表于 2017-12-1 17:12:06 | 显示全部楼层
本帖最后由 wolfgang2015 于 2017-12-1 17:20 编辑

“应用笔记AN4776”不是万能的,我也考虑过,经过思索我选择不用该方法是有原因的

虽然TIMER级联方式是解决题目之一,但考虑到这种模式下太占用Timer数量,对于通道数低的尚可,如果面对4个及以上,6个、8个的通道不是最有的选项,对MCU的TIMER资源有着要求。

用DMA虽然浪费内存资源,在内存/Flash易扩展的今天,是一个低成本的解决方案,应该是优于Timer级联,4通道已经需要8个Timer,对那些天生Timer不够用的MCU来说,就无法实现,使用DAM方式应该是最容易普及的方式(外扩SPI Flash等方法)

而且脉冲数量不受65535的限制。

用DMA方式,不会造成脉冲丢失的情况。
具体的可以参看  http://www.stmcu.com.cn   "首页 / 设计资源 / 本地化资源"板块的相关文档

STM32L053可控PWM脉冲方法之DMA
文档说明:目标要求:系统时钟8Mhz,6个PWM脉冲。实现上述目标的方法有很多种,比如两个定时器级连,定时器定时中断翻转IO口,等等,这里使用DMA的方式去实现。
STM32L053可控PWM脉冲方法之DMA.pdf





回复 支持 反对

使用道具 举报

35

主题

423

回帖

93

蝴蝶豆

版主

最后登录
2020-9-9
发表于 2017-12-2 10:03:35 | 显示全部楼层
wolfgang2015 发表于 2017-12-1 17:12
“应用笔记AN4776”不是万能的,我也考虑过,经过思索我选择不用该方法是有原因的

虽然TIMER级联方式是解 ...

DMA本来是个很好的方法,但是这个方式只能用于低细分或者低速场合,因为加速过程的脉冲数不能太多,否则存储空间够呛。固定加速模式还能放在flash,如果是动态加速模式(加速曲线每次运行可以变化)必须放在ram中就受到很大限制了。
你可以计算一下16细分下用1s加速到2000转(梯形加速)用的总脉冲数
而且,你这个数组还要设计成“0  脉冲数 0 脉冲数 0”的结构,否则你用DMA传输完成中断的方式来断开就太慢了,你必须直接硬件关闭定时器!必须以最快的速度关闭,也就是说不能用软件去操作。一个中断响应的过程就会多发几个脉冲,最可怕的是,多发多少个你还没法统计。
同时,DMA通道时很珍贵的,因为外设之间的DMA是复用的。4路高速脉冲你得用4个DMA+4个定时器通道。你这里使用了,其他更需要大数据的外设就没得用了!所以选型很关键!
不过定时器就不同了,可以看到现在STM32里存在有很多很多的定时器。
回复 支持 反对

使用道具 举报

74

主题

1368

回帖

194

蝴蝶豆

版主

最后登录
2020-5-12
发表于 2017-12-2 11:00:55 来自手机 | 显示全部楼层
Inc_brza 发表于 2017-12-2 10:03
DMA本来是个很好的方法,但是这个方式只能用于低细分或者低速场合,因为加速过程的脉冲数不能太多,否则存 ...

其实期间我还专门查询了dma通道映射关系表,相对于timer来说,二者都是不可或缺的mcu资源,难道天生timer资源不足的mcu就不能做高速受控脉冲,注意审题题目没有限定说"益于加速减速"的词语,这种是电机控制特殊的应用场景。mcu的用处不应该仅限于电机这一种场景就以偏概全。

时间(timer)或者空间(通道,存储)都是不可分的重要资源,衡量一个产品可以选择最优的解决方案,但该题不止一个候选答案选择,这就限制了出题者的本意;。你说是不?

如果方法论都限制了,那么怎么有创新的灵感呢?

回复 支持 反对

使用道具 举报

74

主题

1368

回帖

194

蝴蝶豆

版主

最后登录
2020-5-12
发表于 2017-12-2 11:17:36 来自手机 | 显示全部楼层
话说外设用到极致,难道dma通道使用到极致,内存、flash、还有dma的half传输中断等技巧的使用就不是外设使用到极致?如果率mcu的选型能力,那没有足够timer资源的方案选型就不可取了?把不可能变为可能是技术,也把外设进行了综合的合理应用。
回复 支持 反对

使用道具 举报

36

主题

1996

回帖

32

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2017-12-4 11:14:08 | 显示全部楼层
向大佬们学习
回复 支持 反对

使用道具 举报

74

主题

1368

回帖

194

蝴蝶豆

版主

最后登录
2020-5-12
发表于 2017-12-4 12:27:07 | 显示全部楼层
本帖最后由 wolfgang2015 于 2017-12-4 13:34 编辑
自行选型一个STM32的单片机,要求输出4路可控制脉冲数的高速脉冲,必须要尽可能的节省CPU时间,而且不能频繁的进入中断(只需提供解决方案,不用代码)

说到脉冲可控,控制的方法很种类很多,频率、数量、脉宽等等,从脉冲控制方式诞生的开始就有多种技术来实现,从无集成电路方案的晶体管、电子管、555、8051、再到各种ARM,应用领域不可说不广从单路再到多路控制,特别是多路互补PWM在步进电机领域有很重要的使用。

个人认为本地题的关键词
第一层为:
    4路、可控制、脉冲数、高速脉冲
第二层为:
   节省CPU时间
第三层为:
   不能频繁的进入中断

至于是否需要“多路正交“"用脉冲来代替正弦波" 等都不是该题目明确表达的内容及含义,因此应排除指定用途,因此这题目的答案就不能按某特定用途的解决方式来解决。

输出脉冲,最简单的就是控制PIN脚的电平高低,再计数获得电平高低输出时间长短 和 这种波形的电平周期性来获得一定数量的脉冲信号。

高速脉冲信号:那么这就需要涉及到高速脉冲的测量,拿示波器是一个方法。达到一定频度的持续脉冲就是高速脉冲。另外的一个就是用MCU自身的定时器来测量高速脉冲。

如果要测量4路就需要4个定时器来测量(这是做产品时要考虑的,现在题目没有要求测量可不考虑这项内容,但做产品时需要考虑的更多)。

可控制、脉冲数:这里要求的是脉冲数量有要求。
利用外设手段来控制脉冲数量是重点
可控的因素有,MCU计数、计数器、数组等方法。都是计数的方法,这就是一些控制数量的方法;
利用定时器来计数,那么要在判断定时器数量要求。
数组来计数,利用数组的长度来计数。
从数量感知来说,可以在脉冲输出后感知计数,另外需要在脉冲源侧进行计数输出。


接着第二层说了:节省CPU时间
这里就排除用MCU来计数的方法,需要利用外设计数,这里就有几种方法 计数器、DMA等方法节省CPU时间。


第三层不能频繁的进入中断
这里提到了中断,不能频繁进入,不是不能进入,而是计数时进入中断的频率不能太频繁。
1、利用输出后的感知来计数时,每次计数都是一次中断,占用大量的MCU中断所以不可取;

2、利用输出源的计数,用一个计数器来计算次数、用一个计数器来控制脉冲,这里有一种技术可以利用,就是溢出,出现了溢出中断,就停止发送脉冲。好方法。。。。

3、利用DMA数组+1的方法来发送,发送的次数限制,受数组的大小,这也是好方法。。。

当需要对2和3比较二者优劣时,就要分析两者边界问题上的影响:
1、中断与数组控制范围?
2、中断与数组控制触发的时间长短,是否对脉冲数量产生影响?
3、定时器与DMA的中断是否会被拦截屏蔽,拦截屏蔽后对脉冲数量输出是否有影响?
4、在中断相同优先级下,是否能准确控制脉冲数量?

回复 支持 反对

使用道具 举报

48

主题

3559

回帖

429

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2017-12-4 13:17:05 | 显示全部楼层
nyszx 发表于 2017-11-29 21:46
题目分析:自行选择一个STM32,为啥不来点干脆的,直接指定型号,毕竟STM32产品线上有11个系列,将近800个 ...

很好,最佳答案,名副其实。
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版