打印
[STM32F0]

求大神指点如何生成稍微复杂的脉冲信号

[复制链接]
523|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hhygl|  楼主 | 2022-5-19 14:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hhygl 于 2022-5-19 14:28 编辑

本人单片机菜鸟一个,水平只限于点灯,因为项目延期,BOSS催得太紧实在搞不定,所以厚着脸皮上二姨求大神指导。现在的项目上需要用到一种测试信号,频率从1K-10K有规律的变化,再通过放大器驱动脉冲变压器产生可变磁场来进行测量,当被测物在某个频率上产生共振时测得的反馈信号脉冲数量达到最大。现在板上的硬件资源只有STM32F030和一片八位SPI的DAC芯片(MCP4802),请大神指导一下程序该怎么实现。如果这个硬件配置不可行,也请推荐一下别的配置。
注:这个项目是仿别人的,所以下面的截图是在原版机器上的单片机输入端测的,每个脉冲群由15个脉冲组构成,从第一组到最后一组的脉冲数按照数组(14,15,16,17,17,16,15,14,13,12,11,10,9,8,8)规律变化。


有测量物.png (239.78 KB )

有测量物

有测量物

无测量物3-4脉冲组.png (239.65 KB )

无测量物3-4组

无测量物3-4组

无测量物1-2脉冲组.png (207.29 KB )

无测量物1-2组

无测量物1-2组

无测量物2.png (224.41 KB )

脉宽2

脉宽2

无测量物1.png (212.54 KB )

脉宽1

脉宽1

使用特权

评论回复
沙发
zhuotuzi| | 2022-5-19 17:11 | 只看该作者
多复杂?用PWM可以不

使用特权

评论回复
板凳
xch| | 2022-5-19 18:58 | 只看该作者
能听明白吗?我怎么觉得都是浆糊

使用特权

评论回复
地板
hhygl|  楼主 | 2022-5-20 08:45 | 只看该作者
zhuotuzi 发表于 2022-5-19 17:11
多复杂?用PWM可以不

兄台,我只会用PWM产生均匀宽度的脉冲,这种脉宽变化的实在不会,烦请指教一二

使用特权

评论回复
5
玄德| | 2022-5-20 09:41 | 只看该作者
本帖最后由 玄德 于 2022-5-20 09:43 编辑


目的:用单片机输出定制的脉冲波形。

好在是脉冲,幅度固定。
所以,用数字电路就行。
具体方法:翻转 IO ,和点灯一样。关键是时间的产生,用定时器、中断/查询的方式产生需要的时间。每种波形单独编写时间程序。

如果脉冲宽度的时间精度有要求,而且要求比较高,
就要用 DMA+DA 的方式。



使用特权

评论回复
6
hhygl|  楼主 | 2022-5-20 10:19 | 只看该作者
玄德 发表于 2022-5-20 09:41
目的:用单片机输出定制的脉冲波形。

好在是脉冲,幅度固定。

您好,您说的第一种方法我好像理解了,多谢哈。至于DMA+DA的方式,我也查询过不少资料,现在头疼的是如何生成合适的数组

使用特权

评论回复
7
玄德| | 2022-5-24 11:00 | 只看该作者

根据波形产生数据序列,那还不简单吗?自由度很高。

关键是:
你的 DMA 用什么方式触发?我用过定时器触发。
那么定时器的间隔是预定的。
再根据时间间隔,确定数据序列,就是数组值。









使用特权

评论回复
8
香水城| | 2022-5-25 16:41 | 只看该作者
或者你可以借助于高级定时器的RCR配合单脉冲模式,每次触发输出指定个数的脉冲。

使用特权

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

本版积分规则

2

主题

11

帖子

1

粉丝