矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 2968|回复: 15

一种利用STC8系列单片机的定时器与PWM实现软件CTCSS(亚音)编解码的设想

[复制链接]
     
发表于 2022-6-30 22:19:20 来自手机 | 显示全部楼层 |阅读模式
STC8系列单片机,不少型号都有定时器及PWM功能。而CTCSS,是模拟对讲机中的模拟亚音,从67-250.3Hz这38组低频声调中,选择一个作为开启静噪的条件,当接收机解调出来的音频信号中,检测到指定亚音声调(如88.5Hz),才打开静噪。
于是,我想到了一种利用STC8系列单片机,实现亚音编解码的设想。
亚音编码:利用循环查表的方式,通过内部PWM外设,加上RC低通滤波,生成亚音。通过控制定时器中断的周期,控制查表时的速度,达到生成不同频率亚音的效果。
亚音解码:接收解调的音频信号,通过放大后,在经过运放组成的RC有源低通滤波(截止频率不高于300Hz),并且利用整形(单片机内部或外部的比较器)后,进入单片机的计数器或者外部中断,进行计数。用另外一定时器来设定一定计数时间间隔,在一定时间间隔内,比较计数值与所设定值是否相符,来控制是否在某一引脚输出高电平来控制静噪打开
     
发表于 2022-7-4 09:36:00 | 显示全部楼层
测频率就行了,没多大的事。
回复 支持 1 反对 0

使用道具 举报

     
 楼主| 发表于 2022-7-4 14:07:07 来自手机 | 显示全部楼层
ka2209 发表于 2022-7-4 13:19
这样一说,那就不需要FFT了,但是ADC还是需要的,这样就可节考虑省外部放大器了,保留专门的有源低通滤波 ...

所以刚刚画好了此参考电路图,输入输出都是用低通有源滤波器,实际截止频率约300Hz。
使用串口仿真调试或以后设置亚音频率,CRI是接收亚音解调成功指示
Schematic_STC8 CTCSS_2022-07-04.png
回复 支持 1 反对 0

使用道具 举报

     
发表于 2022-7-1 01:48:51 | 显示全部楼层
可以………
回复 支持 反对

使用道具 举报

     
发表于 2022-7-1 10:31:56 | 显示全部楼层
就不知道STC8内部的时钟稳定度能否达到
回复 支持 反对

使用道具 举报

     
发表于 2022-7-1 10:38:14 | 显示全部楼层
支持。就是编码发出来会不会影响音质
回复 支持 反对

使用道具 举报

     
发表于 2022-7-1 10:57:59 | 显示全部楼层
接收解调亚音应该没问题,调制好像不是简单的把亚音和预发送信号混频
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2022-7-1 21:12:31 来自手机 | 显示全部楼层
其他坛友有何高见?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2022-7-3 13:42:32 来自手机 | 显示全部楼层
其实,本来是想用FFT方法实现的,配合其内部的ADC外设,采样600Hz足够了。但就怕人家调试will比较复杂
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2022-7-3 22:23:08 来自手机 | 显示全部楼层
ka2209 发表于 2022-7-3 13:42
其实,本来是想用FFT方法实现的,配合其内部的ADC外设,采样600Hz足够了。但就怕人家调试will比较复杂

另外一点,使用STC8位MCU不排除有算力不够的可能,虽然使能了内部的16位乘除法协处理器,设置的震荡频率不能偏低。
回复 支持 反对

使用道具 举报

     
发表于 2022-7-4 09:09:58 | 显示全部楼层
这个办法不错,以后可以试试
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2022-7-4 13:19:12 来自手机 | 显示全部楼层
w6955 发表于 2022-7-4 09:36
测频率就行了,没多大的事。

这样一说,那就不需要FFT了,但是ADC还是需要的,这样就可节考虑省外部放大器了,保留专门的有源低通滤波器即可。
回复 支持 反对

使用道具 举报

     
发表于 2022-7-4 21:14:13 | 显示全部楼层
这个电路做好了,也可以做导频信号来控制收音板的开启和闭合吗?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2022-7-5 02:14:32 来自手机 | 显示全部楼层
w412321 发表于 2022-7-4 21:14
这个电路做好了,也可以做导频信号来控制收音板的开启和闭合吗?

理论上可以
回复 支持 反对

使用道具 举报

     
发表于 2022-7-5 11:22:56 | 显示全部楼层
大可精简,用STC的片子 INT0 INT1 对 计数器0 、计数器1 控制,计数。计数后中断,检查计数值即可判断。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

蒙公网安备 15040402000005号

GMT+8, 2025-5-2 19:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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