矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: scoopydoo

[DIY] 迷你型可编程快速脉冲发生器 PulseGen 433-3949

[复制链接]
     
 楼主| 发表于 2024-3-29 13:56:49 | 显示全部楼层
量子隧道 发表于 2024-3-28 21:19
是和main.c在一个文件夹下的。看来是建工程时copy过来的。那我就放心地改吧

俺上传了一些 STM32 的电子书,你可以去看看有没有需要的。

http://www.crystalradio.cn/thread-2127286-1-1.html
回复 支持 反对

使用道具 举报

     
发表于 2024-3-29 21:19:52 | 显示全部楼层
scoopydoo 发表于 2024-3-29 13:56
俺上传了一些 STM32 的电子书,你可以去看看有没有需要的。

http://www.crystalradio.cn/thread-21272 ...

我的STM32第一个学习项目调通了,用SysTick定时器做了个中断处理程序,以软件DDS方式做了个正弦啁啾波发生器。
我发现算法优化好了后(用u32类型加查表)可以运行于500kHz的中断处理频率,对音频有500ksps的输出采样率,看20kHz波形都还算圆滑。
算法未优化好前是在中断处理程序里使用float函数和math库函数。这一下子把中断处理频率拉低到~10kHz。
顺便做了把去库存,用手里一堆有二十多年历史的1k5电阻搭了个10bit搭棚焊R-2R DAC,挂在PC口上做啁啾波发生器的输出。
至此,我的STM32算是正式进门了。多谢大师前期的指点
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-3-29 21:24:33 | 显示全部楼层
量子隧道 发表于 2024-3-29 21:19
我的STM32第一个学习项目调通了,用SysTick定时器做了个中断处理程序,以软件DDS方式做了个正弦啁啾波发 ...


恭喜恭喜,不用客气,对你这样有基础的人来说就是一层窗户纸的事儿,单片机本身没多少东西可学的,入了门怎么应用其实还是看其它方面的功力的。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-3-29 21:38:53 | 显示全部楼层
量子隧道 发表于 2024-3-29 21:19
我的STM32第一个学习项目调通了,用SysTick定时器做了个中断处理程序,以软件DDS方式做了个正弦啁啾波发 ...

STM32F103 用的是 Cortex-M3 俺记得是没有 FPU 的,用浮点肯定会慢,用 LUT 是个解决办法。
回复 支持 反对

使用道具 举报

     
发表于 2024-3-29 21:51:35 | 显示全部楼层
scoopydoo 发表于 2024-3-29 21:38
STM32F103 用的是 Cortex-M3 俺记得是没有 FPU 的,用浮点肯定会慢,用 LUT 是个解决办法。

我其实还是用float了,只是启动时预先算好一个正弦表,以相位为索引,表中填一个周期的波形。在中断处理程序里就只根据当前相位查表了。这样免去了在中断处理程序里运算浮点数。这样中断处理程序就可以跑到500kHz。想必也算常规操作了。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-3-29 22:19:19 | 显示全部楼层
量子隧道 发表于 2024-3-29 21:51
我其实还是用float了,只是启动时预先算好一个正弦表,以相位为索引,表中填一个周期的波形。在中断处理 ...

如果你 RAM 够用当然可以这么做,RAM 不够的话可以在程序里写好查找表。
回复 支持 反对

使用道具 举报

     
发表于 2024-4-4 19:32:10 | 显示全部楼层
wrz15349106 发表于 2024-3-24 16:02
我也做过类似的东西,用JLC的4层板和MAX3949,做出的结果其实并没有想象中那么好。

你好,11801C的截图是怎么产生怎么导出的?
回复 支持 反对

使用道具 举报

     
发表于 2024-4-8 20:08:09 | 显示全部楼层
xiazhengwu 发表于 2024-4-4 19:32
你好,11801C的截图是怎么产生怎么导出的?

您好。我这个截图是用串口导出的。Hardcopy里面可以选择串口。设置好串口的参数后(包括:目标速率、无校验和流控、数据位和停止位、EOL是LF还是什么),按下前面板的Hardcopy就可以从串口源源不断地输出屏幕上的数据。就是速度很慢,截个图需要大约5分钟(改变串口速度其实没用,发数据出来就跟打字机似的。用串口助手看,瞬间回到电传打字机的时代)


屏幕数据格式如下:
屏幕是704x552个像素点,每个像素点的颜色是两个数字组成(范围只有0~7,这个示波器只能显示8种颜色。1个数字完全没用,只有另1个有用到。分别对应屏幕上的8种颜色。0是黑色,1是白色,7是网格的颜色,其他的颜色都是示波器上可以自己设置的)
数据开头是3个(还是4个,忘了)ASCII的LF/NL,随后跟着屏幕数据。
每一行是1104个数字,代表了一行552个像素点的颜色数据(范围只有0~7),每一行以ASCII的LF/NL结束。共704行。
全部704行发送完后会发送ASCII的EOT,表示屏幕数据发送完毕。

拿到数据后处理一下,丢弃掉每个像素点中多余的那个数字,把剩下的0~7对应到8种颜色,然后就可以打包成BMP图片保存了。
如果您要自己写程序,最好在调试期间用一个串口助手接收一遍,可以很直观地看到它发出来的数据。



当然,用GPIB或者并口打印等方式也可以实现类似的功能。GPIB可以导出的东西更多。如果导出原始数据,色温的等级可以超过示波器上的这么几种颜色(有人做过)。当然,我懒,串口能用就行。

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2024-4-8 22:28:57 | 显示全部楼层
板子画的很漂亮,焊接更漂亮。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-4-9 02:28:33 | 显示全部楼层
lg676041036 发表于 2024-4-8 22:28
板子画的很漂亮,焊接更漂亮。

多谢鼓励,技术很一般,手艺也很一般,就是瞎玩。
回复 支持 反对

使用道具 举报

     
发表于 2024-4-9 09:47:41 | 显示全部楼层
scoopydoo 发表于 2024-4-9 02:28
多谢鼓励,技术很一般,手艺也很一般,就是瞎玩。

老兄的拍照功夫也很是了得。看得出是认真玩的。技术也很全面。
我记得你是用单片机定时器输出驱动这个光驱动器?既然是用定时器,我想多半是想调占空比吧?如果是调占空比,用电感上拉可能会带来一个问题。因为电感上拉的频响是不平坦的(其实用电容耦合也是类似)。而不同占空比的信号,直流成分是不一样的,这会导致信号上下偏移。这可以简单地这么理解:输出上拉电感后,输出信号的平均值就是VCC,不管占空比如何,平均就是VCC。而占空比改变的话,为了让平均值一直是VCC,信号就得上下平移。这个看能否接受。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-4-9 12:22:54 | 显示全部楼层
量子隧道 发表于 2024-4-9 09:47
老兄的拍照功夫也很是了得。看得出是认真玩的。技术也很全面。
我记得你是用单片机定时器输出驱动这个光 ...

哎呀妈呀完蛋了!

上次你提到外接上拉电感的事情,俺还想着做下一版的时候加上去试试看,结果现在第二版已经在回来的路上了,但是俺忘了这档子事儿!

看来很有可能会做第三版 ......

至于用单片机,是延续多年之前哪个逻辑门做输出级的版本,是不存你说的问题的,而当时选这个单片机是因为可以输出可控的窄脉冲,这次选它是因为熟悉,而且定时器有“差分”输出。
回复 支持 反对

使用道具 举报

     
发表于 2024-4-9 12:29:03 | 显示全部楼层
scoopydoo 发表于 2024-4-9 12:22
哎呀妈呀完蛋了!

上次你提到外接上拉电感的事情,俺还想着做下一版的时候加上去试试看,结果现在第二 ...

可以输出可控的窄脉冲,这不就是调占空比吗?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-4-9 12:52:21 | 显示全部楼层
量子隧道 发表于 2024-4-9 12:29
可以输出可控的窄脉冲,这不就是调占空比吗?

是一回事,也不是一回事。

占空比只是个比例不是绝对值啊,俺强调的是输出窄脉冲的能力,俺手里的 STM32 就这个 334 最适合了。
回复 支持 反对

使用道具 举报

     
发表于 2024-4-9 13:00:29 | 显示全部楼层
scoopydoo 发表于 2024-4-9 12:52
是一回事,也不是一回事。

占空比只是个比例不是绝对值啊,俺强调的是输出窄脉冲的能力,俺手里的 STM ...

哦,你是固定占空比改变重复频率啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

蒙公网安备 15040402000005号

GMT+8, 2024-4-29 05:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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