搜索
查看: 1503|回复: 3

[已解决] 时序电路解决方案求助

[复制链接]

该用户从未签到

5

主题

31

帖子

0

蝴蝶豆

新手上路

最后登录
2019-12-9
发表于 2014-2-7 22:42:08 | 显示全部楼层 |阅读模式
最近做项目时,遇到一个非常头疼的问题,一直无法解决,大伙帮我想想办法
具体要实现的功能是用STM32的定时器模块生成一对互补对称带死区的波形(频率大约1hz~200Hz),这个相对简单,难就难在该项目有个特殊要求,那就是这对互补波形每次换向(即上升沿、下降沿)时等待另一个脉冲信号波形(脉冲信号的频率大约100Khz)的上升沿来临才翻转,也就是说,如果互补波形边沿事件在脉冲波形上升沿之前发生,处理后的互补波形保持不变一直到脉冲信号波形的上升沿来临才翻转,并且保证死区参数不变,当时认为D触发器可以实现这个功能,但后来发现还有个问题就是,经过D触发器处理后互补波形没有了死区参数,希望各位高人有什么好的想法指点指点,软件、硬件实现都可以
时序图如下(希望实现下图功能)
12.jpg
使用D触发器会出现的问题
123.jpg
不知道能看明白不?
回复

使用道具 举报

该用户从未签到

0

主题

8

帖子

0

蝴蝶豆

初级会员

最后登录
2020-12-7
发表于 2014-2-8 09:54:23 | 显示全部楼层

回复:时序电路解决方案求助

可以把脉冲信号接到MCU的IO脚么?在定时器需要翻转处理前互补波形时,标记准备翻转;脉冲信号上升沿中断,进入中断子程序时候正式翻转即为处理后互补波形。
不知道这个死区时间能不能达道你要求。如果不行,用pll把系统时钟倍频上去试试。
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

31

帖子

0

蝴蝶豆

新手上路

最后登录
2019-12-9
 楼主| 发表于 2014-2-8 12:20:04 | 显示全部楼层

回复:时序电路解决方案求助

回复第 2 楼 于2014-02-08 09:54:23发表:
可以把脉冲信号接到MCU的IO脚么?在定时器需要翻转处理前互补波形时,标记准备翻转;脉冲信号上升沿中断,进入中断子程序时候正式翻转即为处理后互补波形。
不知道这个死区时间能不能达道你要求。如果不行,用pll把系统时钟倍频上去试试。 

谢谢!这个方案不错,我正有这个想法,具体是不是当定时器计数到比较值减一或者计数器溢出前时停止计数并标记准备翻转,当脉冲信号上升沿中断,在中断子程序再启动定时器继续计数,这样就可以控制OCREF信号,互补输出的死区是固定的对吗?对了,有没有用硬件实现的方法,用中断我怕实时性不够,搞不好会炸机的
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

8

帖子

0

蝴蝶豆

初级会员

最后登录
2020-12-7
发表于 2014-2-8 12:45:51 | 显示全部楼层

回复:时序电路解决方案求助

回复第 3 楼 于2014-02-08 12:20:04发表:
回复第 2 楼 于2014-02-08 09:54:23发表:
可以把脉冲信号接到MCU的IO脚么?在定时器需要翻转处理前互补波形时,标记准备翻转;脉冲信号上升沿中断,进入中断子程序时候正式翻转即为处理后互补波形。
不知道这个死区时间能不能达道你要求。如果不行,用pll把系统时钟倍频上去试试。 

谢谢!这个方案不错,我正有这个想法,具体是不是当定时器计数到比较值减一或者计数器溢出前时停止计数并标记准备翻转,当脉冲信号上升沿中断,在中断子程序再启动定时器继续计数,这样就可以控制OCREF信号,互补输出的死区是固定的对吗?对了,有没有用硬件实现的方法,用中断我怕实时性不够,搞不好会炸机的
 
硬件延时不好做,你尝试下用两个D触发器;1号触发器产生A信号和沿信号到MCU的IO,然后经过MCU延时后产生2号触发器的时钟沿,生成B信号。
 
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-4-28 21:27 , Processed in 0.172983 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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