多声道功放环绕声解码板API开发指南之I2C寄存器地址 CS49XX Crystal水晶AC3/DTS软件
KC32C模块使用的I2C地址为0xac, 支持单/双/多字节读写。
实现杜比数码、DTS、AAC、MP4、PCM、HDCD等格式解码,多声道环绕声聆听体验 多种聆听效果重放。
其中KCM_SRC_FORMAT寄存器为数码信号输入格式指示
KCM_SRC_NOS 没有信号输入
KCM_SRC_PCM PCM信号输入
KCM_SRC_AC3 标准的AC3信号输入
KCM_SRC_DTS 标准的DTS/DTS-CD信号输入
KCM_SRC_AAC AAC信号输入
KCM_SRC_DSD MPEG2多声道信号输入
KCM_SRC_DSD DSD信号输入
KCM_SRC_MP3 MP3信号输入
KCM_SRC_SBC SBC蓝牙信号输入
KCM_SRC_LPCM LPCM信号输入
KCM_SRC_HDCD HDCD信号输入
KCM_SRC_EAC3 Enhanced AC-3信号输入
KCM_SRC_TRUE_HD 杜比TRUE HD信号输入
KCM_SRC_MLP DVD AUDIO MLP信号输入
KCM_SRC_DTS_ES DTS Extended Surround信号输入
KCM_SRC_DTS_MA DTS HD Master Audio信号输入
KCM_SRC_DTS_HRA DTS HD High Resolution Audio信号输入
EQ频率均衡器可以分别调节各种频率成分,Q值与带宽可以调整音色。
DSP的音效处理DolbyAtmos全景声家庭影院支持全部杜比标准低音配置及各种大小喇叭组合。
内置FFT离散傅立叶变换的快速算法 为主机输出频谱或频率直接输出,无需要外置任何电路即可以驱动大点阵屏作声音动态显示。
※KCM_READ_IRQ读中断请求控制,0x01及0x02(8位)读写寄存器
※KCM_CLEAR_IRQ清除中断请求控制,0x03及0x04(8位)读写寄存器
当用户检测到INT端口变低后,需要读取"KCM_READ_IRQ"寄存器用于判断所产生中断的类型。而且需要写入相应的中断类型到"KCM_CLEAR_IRQ"寄存器以清除对应的中断。
寄存器中断位说明:
KCM_IRQ_SYSTEM_INIT 模式初始化完成中断,需要写入"KCM_POWER_ON"寄存器
KCM_IRQ_FORMAT_INFO 数码信号输入格式改变中断,需要读取"KCM_SRC_FORMAT"寄存器
KCM_IRQ_SRC_VALID 有效的音源输入改变中断,需要读取"KCM_SRC_VALID"寄存器
KCM_IRQ_FIRMWARE 固件更新,需要读取"KCM_RD_INFO"寄存器
KCM_IRQ_PLAY_STATE 多媒体文件播放改变,需要读取"KCM_PLAY_STATE"寄存器
KCM_IRQ_PLAY_TIME 多媒体播放时间改变,需要读取"KCM_PLAY_TIME"寄存器
KCM_IRQ_APP_COMMAND 收到手机/远程APP控制指令,需要读取"KCM_APP_COMMAND"寄存器
※KCM_FLAG_CTRL标志,0x06读写寄存器
B2为杜比数码动态压缩,1为打开,100表示打开了最大的压缩,一般应用50为夜间模式,0为关闭;
B1为控制整机音频的静音,1为静音打开,这时模块的MUTE脚也相应变高;0为静音关闭,这时模块的MUTE脚也相应变低;
B0为待机状态,1为待机打开,0为待机关闭;
※KCM_TEST_TONE噪音测试控制,0x09写寄存器
B4为打开噪音测试,B2:0为对应的通道输出,0-7依次是FL、 FR、 CN、 SW、 SL、 SR、 BL、 BR通道。
例子:
KcmSetRegister(KCM_TEST_TONE, 0x12); // 中置声道噪音测试
KcmSetRegister(KCM_TEST_TONE, 0x00); // 关闭噪音测试,返回正常的播音模式
※KCM_SRC_CHANNEL 数码信号输入通道信息及超低音指示,0x19只读寄存器
B7为音源包含超低音通道指示;
B6:4保留为0;
B3:0 为音源通道信息,0=2/0 Lt/Rt Dolby Surround compatible。1=1/0 C。2=2/0 L/R。2=3/0 L/C/R。4=2/1 L/R/S。5=3/1 L/C/R/S。6=2/2 L/R/SL/SR。7=3/2 L/C/R/SL/SR。8=3/3 L/C/R/SL/SR /CS。9=3/4 L/C/R/LS/RS/BL/BR。10=2/3 L/R/LS/RS/CS;
※KCM_SPK_CONFIG喇叭设置,0x24读写寄存器
B7:6为后置喇叭,0为没有使用、1为小喇叭、2为大喇叭;
B5:4为环绕声喇叭,0为没有使用、1为小喇叭、2为大喇叭;
B3:2为中置喇叭,0为没有使用、1为小喇叭、2为大喇叭;
B1为前置喇叭,0为小喇叭、1为大喇叭;
B0为超低音喇叭,0为没有超低音、1有超低音。
其中小喇叭表示相应的通道带高通滤波器,只输出高频信号大喇叭为全频输出。
例子:
设置前置大喇叭,中置及环绕声小喇叭,有超低音。
KcmSetRegister(KCM_SPK_CONFIG, 0x17)
※KCM_LPF_FREQ超低音通道LPF低通滤波器频率,0x25读写寄存器
超低音的低通滤波器的高频截止频率,有效数值范围40Hz至250Hz,一般推荐70Hz。
※KCM_HPF_FREQ主声道小喇叭HPF高通滤波器频率,0x26读写寄存器
当选择小喇叭时,相应的声道就使用本寄存器设置的频率,为高通滤波器的低频截止频率有效数值范围40Hz至250Hz,一般推荐70Hz。
※KCM_LIP_SYNC_SET齿音同步延迟时间,修正画面与声音不同步,0x28读写寄存器
用于修正画面与声音不同步的现像,可以将所有声道的声道一起延迟输出,寄存器的值为延迟时间设置,每步为2ms,最大时间可以从齿音同步最大的延迟时间寄存器获取。
※KCM_EQ_SELECT音效高低音音调或多段EQ均衡器通道选择,0x2c读写寄存器
0为停止使用音效,1至4分别为4组预置音效高低音音调或多段EQ均衡器。需要初始化设置KCM_EQ_SETUP及KCM_EQ_VALUE寄存器。
注意,如果话筒声道使用EQ,则第4组固定用于话筒,这时KCM_EQ_SELECT选择为4会无效。
※KCM_VOLUME_MAX设置音量最大值,0x2e读写寄存器
使用指定的音量芯片节,如果不使用音量芯片则寄存器无效,音量总步数设置,推荐使用80,表示总音量最大为80步。
※KCM_VOLUME_CTRL音量值设置,0x2f读写寄存器
※KCM_CUSTOM_CODE设置用户自定义功能寄存器,0x80读写寄存器
用户自定义的功能寄存器可以快速将一些没有使用的功能关闭。
共4个字节,每个客户型号都不相同,演示版本为0x00 0x1f 0x00 0x00。读取时,4个字节与写入的完全相同。
字节0为客户型号,一般使用0x00(没有指定)。所有允许位都是1为允许对应的功能,0为不使用对应的功能。任何不确定的位都使用0。
字节0 B4:0 客户型号
B7:5 允许使用各种功能的USB及SD卡
字节1 B0 允许解码输出后的声道下混模式及各种聆听模式;
B1 允许喇叭设置及低音管理;
B2 允许各声道延迟时间及齿音同步;
B3 允许各声道音量及声道微调;
B4 允许音调及多段EQ均衡音效;
B5 保留为0
B6 允许电平取样及频谱输出;
B7 允许使用WIFI蓝牙网络;
字节2 B2:0 互换输出声道;
B3 5.1的系统之中使用7.1功能,额外多了后置的左右声道;
B6:4 设置音量芯片类型。0为不使用模块内部的音量;1为使用DSP数码音量,每步1dB;2为使用DSP数码音量,每步0.5dB;3为使用PT2258 + PT2259或者兼容的音量芯片;4为使用M62446或者兼容的音量芯片;5为使用CS3318或者兼容的音量芯片;
B7 每个输入通道单独记忆聆听模式及多段EQ均衡音效选择;
字节3 B0 保留为0
B2:1 保留为0
B3 话筒MIC与模拟输入交换;
B4 允许话筒声音混合到主声道,必须打开这个标志才能使用话筒功能;
B5 数码输入输出时钟输入输出选择:0为BCK及WCK为输出;1为BCK及WCK为输入;
B7:6 数码输入输出格式数据选择:0为标准I2S,数据延迟1位;1为左对齐;2为右对齐;3为PCM格式;
酷唱科技 CS495313 CS493263 CS493264-CL DTS5.1声道解码 杜比数码AC-3/MPEG4/AAC多格式,32UD多声道环绕声解码板32A双解码板