老帖子在此
http://bbs.mydigit.cn/read.php?tid=1702755帖子中有人反映低音不好,后来我仔细试听确实发现低音不行,遂决定仔细研究发现,怀疑小米的程序中对功放芯片TAS5731m驱动程序中启动了功放芯片的输入高通滤波器过滤掉了一部分低频段。于是就想能不能通过接管功放驱动程序关闭这个高通滤波器,并且发现这个功放芯片具备9段EQ均衡器,所以想利用起来这些EQ,最后做程序时发现第9段均衡器不能不能被旁路,只有前8段可以被旁路,所以只启用了8段均衡器。频点选择采用5/4 OCT设计(就为这个频点设计研究了一天音频均衡器设计!)。程序写好后,发现低音有了,均衡器很好用!
先发一段视频吧^_^
flash: http://player.youku.com/player.php/sid/XMTYzODA2ODM5Mg==/v.swf 放几张界面图
这个DRC动态范围控制没啥用,就是自动按照设定曲线实现增益控制,“小米”这个设置是我读取小米I2C总线数据得到的。
放上功放芯片TAS5731M的引脚图,另外这个功放输出功率是30W的,5731是20W的。
引脚23 SDA、24 SCL是功放芯片控制的I2C接口,需要与蓝牙模块断开连接。引脚25 RESET、19 PDN也需要与蓝牙模块断开连接。
另外功放芯片的逻辑电源受蓝牙模块控制,这里需要短路掉Q15的D、S引脚如下图所示,直接给功放芯片和转码芯片供电3.3V。
蓝牙模块输出线割断如下图所示,ADR/FAULT线可以不割断,我图中是割断了得,其实不割断也行。
然后需要断开蓝牙模块与TAS5731M的SCL SDA连接线,其中SDA比较容易去掉R52,在R52左边的焊盘就是与TAS5731M第23脚连接的一端焊线引出即可,SCL线断开比较麻烦需要割线后面详细讲。
其实,断开SDA SCL只需拆掉R13 R15即可,但是蓝牙模块还需要通过I2C初始化8422转码芯片,断开这两个电阻转码芯片就不能工作了,所以只断开TAS5731m的I2C连接而不能断开8422芯片的I2C连接。这样改造后蓝牙、AUX输入、SPDIF输入都可以正常使用!
R55左边焊盘与TAS5731M第25脚RESET连接,R55右边焊盘与蓝牙模块连接,R55阻值1K,在R55右边焊盘焊线引出。另外,还需断开TAS5731M第19脚PDN与蓝牙模块的连接,此引脚通过一个电阻连接到蓝牙模块,这个电阻具体是哪个我忘记了,没有改造的板子在公司,这个改造好的板子看不出来了,不是R104就是R53,大家可以测量一下,或者我明天到公司再确认一下,去掉这个电阻,在与TAS5731M连接的焊盘焊线引出即可。
这是我改造好的飞线
那根紫色的线不用连也行,那是ADR/FAULT引脚。基本没用。
下面详细讲讲如何断开SCL线,先割断引线,如下图所示。就是图中红线部分,可以看到左边红线右端有个过孔,这个过孔用于连接板子背面的TPM16测试点,不能断开!所以要在此过孔的右边割断红线,一定小心操作,线非常细,不要伤了旁边的线,也不能使此线与地短路。
线路板背面的TPM16就是与TAS5731M第24脚SCL连接的测试点,在此点焊线引出即可。
这时我们一共引出了4根线,分别是TAS5731M的SCL、SDA、RESET和PDN。
我的单片机用的STM32F103C8T6,这4根线与单片机连接如下:
SCL接单片机PB12,另外需要接2K上拉电阻;
SDA接单片机PB13,另外需要接2K上拉电阻;
RESET接单片机PB8;
PDN接单片机PB5。
整个操作只使用一个带按键的旋转编码器,与单片机连接如下
/*旋转编码器IO定义*/
//A相输入 PB15
//B相输入 PA8
//按键输入KSET PB14
这几个引脚需要10K上拉电阻。
液晶屏使用的SPI口的128*64点阵0.96寸OLED屏,与单片机连接如下:
//CS片选信号线 PA1
//RES复位信号线 PA4
//DC命令、数据控制线 PA5
//D0串行时钟线 PA6
//D1串行数据线 PA7
液晶屏接口定义如下图:
发布源代码和编译好的写入程序!大家可以自己改着玩!2016.07.11程序小小修改了一下,去掉了无用按键的定义和键值扫描程序。
[ 此帖被chengyabcd在2016-07-11 08:11重新编辑 ]