可显示频谱的HIFI耳放

来源:网络

点击:1307

A+ A-

所属频道:新闻中心

关键词: 可显示频谱,HIFI,耳放,单片机,Mega8L

      终于把频谱显示做出来了,不过只用来显示频谱似乎太单调了,所以又顺便做了个耳放,这样就比较实用了!功放制作花费大,而耳放我倒是没有做过(成本相对比较低),所以就选择它了!

      这个方案用的是CD3315+TDA2822+Mega8L,外加一片LM386做电平移动。同时,把模拟信号放大到适合MEGA8ad采样的程度。整个方案使用芯片比较少,成本相对较低,最贵就是那些点阵了(总共用了三个点阵来显示频谱)。

      

      数字部分原理图

      

      模拟部分原理图

      上面给出的整个系统电路图,包括两数字部分和模拟部分。其实,电路图比较简单,代码编写倒是很花时间。

      整个系统采用一个mega8控制,代码比较多。这次用mega8也算是用到极致了:用了一个外部中断(红外接收)、两个定时器(一个adc采样,一个扫描点阵),同时加上内部eeprom存储DSP音频设置数据。(本来还加了pwm功能,实在是代码没地方写了,最后舍弃了)

      模拟部分

      前端音频处理。这个耳放通过CD3315可以对音频信号实现非常好的处理。输入到TDA2822驱动耳机,可以很明显听出处理前后的效果,尤其是音质不怎么样的mp3或者其他音频,只要通过CD3315进行高低音的调节,就可以调出非常好的效果(媲美媚族MP3音质)。

      不过,耳机不能太烂。CD3315(PT2315,TDA7315)这几个芯片都是管脚通用的音频数字调节芯片,一块芯片就可以实现对两个声道的音频信号的主音量、高/低音、左/右声道、超重低音、静音实现数字控制,而且效果特好。

      后端输出采用TDA2822(这个是一个双声道的音频放大芯片,常用于收音机和录音机上)。和CD3315搭配起来,效果非常好,驱动能力大,音质也不错。

      整个系统的电源全部来自USB(可以从电脑或MP3充电器上取电),因为系统功耗不是很大(不过,无论是电脑电源还是MP3电源,都是开关电源,纹波都比较大,所以如何抑制纹波是一个重点!我通过实验发现,加电感可以很好的抑制纹波!比加电容效果好得多),所以,从USB得到电源之后就把正负电源线都经过电感,同时,数字和模拟部分也都用电感连接,在没有声音输入的时候,耳机里也听不到噪声!

      因为系统会偶尔断电,所以要保证时钟在断电之后也能正常跑,就必须加备用电源!(供ds1302用)我选择的是用电容充电来提供电压,用两个4700uF的电容并联供电(据网友介绍,一个100uF的电容就可以跑1个小时)。

      数字部分

      1、主控部分由mega8控制。

      整个系统的运行都是在mega8控制之下工作。系统分两个模式:音乐模式(M00)和时钟模式(M01),系统默认进入音乐模式。

      在音乐模式下,mega8主要处理FFT和频谱显示,同时兼顾红外遥控对该模式下的一些数据进行修改。在时钟模式下,mega8则主要控制时钟显示,同时监视闹钟,同音也兼顾红外遥控,以修改时钟或闹钟。在音乐模式下,如果长时间没有音频信号输入,则系统自动跳到时钟模式显示时间。

      

      程序流程

      2、ADC采样。

      音频信号因为是有正负的,而mega8又不支持对负电压进行采样。所以,要一个电平移动电路,同时由于有时音频信号会比较小,需要放大适当倍数才比较好处理。所以我采用了一个LM386。这个芯片不但可以实现信号放大,更重要的是,可以实现电平转移。把原来的正负信号,转换为单一极性的信号。

      选择200倍的固定增益,然后通过在输入端加一个可调电阻,控制输出大小,这样很好的解决了adc的采样问题。

      3、FFT变换。

      根据纳醛斯特律,音频信号的最高频率大概20Khz,所以adc的采样频率设置为40Khz。FFT根据这个采样频率,计算各个频率分量的幅值大小。因为mega8的sram只有1K,所以最大只能支持64点的FFT变换,也就是显示的频段最多32个,实际上由于第一个频率是直流分量,所以只有31个频段。

      设fo 为adc的采样频率,N为傅立叶变换的点数,则最小分辨频率f为:f=fo/N。这样,这个频谱显示的最低频率就是625Hz,每向右移一个,频率加625Hz。

      正因为这样,所以低频频段的频谱显示不是很好。不过,可以通过加大采样点数或者降低采样频率来提高最小分辨率。

      4、点阵驱动。

      这个耳放的驱动我用595来做列驱动,行驱动用了d882,这个驱动电流比较大(Ice=3A)。595驱动电流大,而且具有三态输出,比74164好用。理论上计算,要达到1A的电流才能满足要求,但实践发现,整个系统跑起来也不到200ma,d882有点大材小用。这样,由这两种实现了点阵的行列的驱动,再用一个595控制8个d882,大大减少了对mega8的io口使用。

      接收部分直接用一个38k的接收头。整个系统的硬件:

      

      频谱显示:

      

    频谱显示

      

    频谱显示

      

    频谱显示

      频点测量:

      

    1.825Khz时,对应的频显

    (审核编辑: 智汇小新)

    声明:除特别说明之外,新闻内容及图片均来自网络及各大主流媒体。版权归原作者所有。如认为内容侵权,请联系我们删除。