本帖最后由 卑鄙的小黄人 于 2019-10-3 18:08 编辑
续~
那么完成上述操作,也就完成了此次改装的第一步了,变废为宝,将音箱维修好!
加下来,便是进行改装设计了。此次改装的核心思想是为音箱加上一个频谱显示屏以及多功能操作,使电脑音箱不仅仅是音箱,还有特别的“色彩”。
首先采用了STC12C5A60S2单片机作为核心控制器,实现快速傅里叶变换,通过FFT算法将音乐的频谱进行变换,并显示出来,为了使色彩更丰富,采用了6种高亮圆头LED灯组成16*24点阵屏。其次,增加音量控制器,以数码管来显示音量,以电容式触摸按键调节音量。还有,增设蓝牙模块,实现与手机等移动设备的蓝牙对接,红外模块,可进行红外遥控,以及增设移动储存设备接口,实现自动播放。
主要硬件电路设计
LED频谱显示屏
在设计中,LED频谱显示屏设置为两组8*24种颜色LED,分别为红黄蓝紫绿粉;以列为负极,横为正极。电路图如下。
ADC转换电路设计
本设计无需外加A/D转换,使用的单片机内置A/D接口,音频信号可直接送入单片机进行数据采集和预处理。STC12C5A60S2单片机的A/D转换口在P l口(P1.0~P 1.7)有10位8路高速A/D转换器,A/D是电压输入型转换速度25万次/s(250KHz)。复位后P1口为弱上拉型I/O口。通过软件可设置将P1(P1.0~P 1.7)El中的任何一位为A/D转换位,不用作A/D转换的位可继续用作普通YO口使用。
蓝牙音频接收模块
本设计中,我们利用蓝牙音频接受模块作为音源输入。可支持安卓手机蓝牙对接,支持蓝牙通话功能,并带有蓝牙话筒,让享受音乐的同时也不错过重要的人的来电;并带有USB和SD卡槽,可自动搜索并播放U盘与SD卡音频文件,并支持FLAC无损音乐,让音乐更加纯净动听,提高感官享受;模块中除了实体按键外,还加设了红外信号,支持遥控功能,并带有LED数码管显示屏,追求更舒适的体验,更完美的音乐之旅。
TTP224 4 键触摸模块
本设计中用TT224用作音量控制按键的信号处理,通过采集触摸信号,将信号反馈至单片机,由单片机控制音频音量大小。TTP224是一款使用电容式感应原理设计的触摸IC,其稳定的感应方式可以应用到各种不同电子类产品,面板介质可以是完全绝源的材料,专为取代传统的机械结构开关或普通按键而设 计.提供4个触摸输入端口及4个直接输出端口.
1. 灵敏度调整 PCB板上之感应焊盘尺寸大小及走线会直接影响灵敏度,所以灵敏度必须根据实际应用的 PCB来做调整,因此TTP224提供以下几种外部灵敏度调整方法: 1-1 改变感应焊盘尺寸大小 若其他条件固定不变,使用一个较大的感应焊盘将会增大其灵敏度,反之灵敏度将下降,但 是感应焊盘的尺寸大小也必须是在其有效范围值内. 2. 改变面板厚度. 若其他条件固定不变,使用一个较薄的面板也会将灵敏度提高,反之灵敏度则下降.但是面 板的厚度必须低于其最大值。 3 改变Cs0~Cs3 (如下图)容值的大小. 若其他条件固定不变, 可以根据各键的实际情况通过调节Cs电容值使其达到最佳的灵敏 度,同时以使各键的灵敏度达到一致。当Cs电容不接时其灵敏度为最高。Cs0~Cs3的容值 越大其灵敏度越低,Cs可调节范围为:0≦Cs0~Cs3≦50pF.
音量显示模块
本设计中,用STC89c52rc做音量显示的主控单片机。根据触摸模块的输入信号判别音量加,音量减,以及静音;音量大小最大为30,最小为00;用两个数码管作为音量显示部分。并将音量加,音量减,以及静音信号反馈给X9511及cd4066处理后控制功放音量大小。
LM7805 稳压电路设计
5V 电源模块,我们采用 LM7805 稳压集成电路。下图 3-13 为 LM7805 引脚图。
图 3-13 LM7805 引脚图
三端稳压集成电路 LM7805 来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。在实际应用中,应在三端集成稳压电路上安装足够大的散热器(当然小功率的条件下不用)。当稳压管温度过高时,稳压性能将变差,甚至损坏。本次硬件电路中,LM7805 的发热情况不算严重,所以就没有加散热器。
LM7805 的电路图如下图 3-14 所示。
图 3-14 LM7805 电路图
主要程序设计思想
FFT运算规则集编程思想
FFT算法分为两类:时域抽取法FFT,简称DIT-FFT;频域抽取法FFT,简称DIF-FFT。根据基2-FFT算法,N点FFT运算可以分成log2N级,每一级都有N/2个蝶形运算。
FFT算法的基本思想是用3层循环完成全部N点FFT运算: ▲最里层循环处理单独的一个蝶形运算,采用查表方法实现乘法运算; ▲中间层循环完成每一级的N/2个蝶形运算 ▲最外层循环完成log2N级蝶形运算 由此可看出:在每一级中,最里层循环完成N/2L个蝶形运算;中间层循环控制最里层循环进行2L-1次运算。因此,中间层循环完成时,共进行(2L-1)N/2L=N/2个蝶形运算。实际上最里层和中间层循环完成了第L级计算,最外层则最终完成log2级蝶形运算。 ★ 需要加以说明的数据是: ▲在第L级中,每个蝶形的两个输入端相距b=2L-1个点 ▲同一乘数对应这相邻间隔为2L个点的N/2L个蝶形 ▲第L级的2L-1个蝶形因子中的P,可表示为P=jx25-L,其中 j=0,1,2,…(2L-1-1)
由上述可以归纳出一些对编程有用的运算规律:第L级中,每个蝶形的两个输入数据相距B=2个点;每级有B个不同的旋转因子;同一旋转因子对应着间隔为2点的2个蝶形。
总结上述运算规律,便可采用下述运算方法。先从输入端(第一级)开始,逐级进行,共进行M级运算。在进行L级运算时,依次求出B个不同的旋转因子,每求出一个旋转因子,就计算完它对应的所有2个蝶形。这样,我们可用三重循环程序实现DIF-FFT运算。
另外,DIF-FFT算法运算流图的输出X(k)为自然顺序,但为了适应原位计算,其输入序列不是按x(n)的自然顺序排列,这种经过M次偶奇抽选后的排列成为序列x(n)的倒序(倒位)。因此,在运算M级蝶形之前应先对序列x(n)进行倒序。
流程图如下:
图片细节
蓝牙模块
电容式触摸模块
16*24点阵屏
主控板
吃面泡面加班
焊接细节
|