📄 tas5508.h
字号:
/**************************************************************************************/
/*********************** BBK CONFIDENTIAL ************************/
/*********************** ************************/
/*********************** Description : Digital Audio Process ************************/
/*********************** ************************/
/*********************** Company: BBK AV ELECTRONICS CORP.,LTD ************************/
/*********************** ************************/
/*********************** Programmer : Terry Lee ******** ****************/
/**************************************************************************************/
#ifndef _TAS5508_H_
#define _TAS5508_H_
#ifdef TAS5508_PAR
#define TAS5508_EXT
#else
#define TAS5508_EXT extern
#endif
#if 1//def USE_TAS5508
#define TAS5508_SLAVE_ADDRESS 0x1B //0x36>>1
//DC BLOCKING Registers
#define DC_BLOCKING_ADDRESS 0X03
//Serial Data Interface Control Register
#define DATA_INTERFACE_ADDRESS 0x0E
#define DAP_RJT_24BIT 0x02
#define DAP_LJT_24BIT 0x08
#define DAP_I2S_24BIT 0x05
#define DATA_INTERFACE DAP_LJT_24BIT
//system control register
#define SYSTEM_CONTROL_ADDRESS 0x04
//audio system registers
#define AUDIO_SYSTEM_ADDRESS 0xE0
#define CH6_NOT_PSVC 0x02 //6 channel or 5.1 NOT using PSVC
#define CH8_NOT_PSVC 0x00 //8 channel or 7.1 NOT using PSVC
#define AUDIO_SYSTEM CH6_NOT_PSVC
//set Channel Configuration Control Register
#define CHANNEL_CONTROL_FL 0x05
#define CHANNEL_CONTROL_FR 0x06
#define CHANNEL_CONTROL_SL 0x07
#define CHANNEL_CONTROL_SR 0x08
#define CHANNEL_CONTROL_RL 0x09
#define CHANNEL_CONTROL_RR 0x0A
#define CHANNEL_CONTROL_CT 0x0B
#define CHANNEL_CONTROL_SW 0x0C
//set Headphone Configuration Control Register
#define HEADPHONE_CONTROL 0x0D
//input mixer register address.
#define INPUT_MIX1_ADDRESS 0x41
#define INPUT_MIX2_ADDRESS 0x42
#define INPUT_MIX3_ADDRESS 0x43
#define INPUT_MIX4_ADDRESS 0x44
#define INPUT_MIX5_ADDRESS 0x45
#define INPUT_MIX6_ADDRESS 0x46
#define INPUT_MIX7_ADDRESS 0x47
#define INPUT_MIX8_ADDRESS 0x48
//bass management register
#define INMIX_1_8CH 0x49
#define INMIX_2_8CH 0x4A
#define INMIX_7_CH12 0x4B
#define CH7_BQ_BQ2 0x4C
#define CH7_BQ2 0x4D
#define INMIX_8_CH12 0x4E
#define CH8_BQ_BQ2 0x4F
#define CH8_BQ2 0x50
//output mixer registers
#define CH1_8X2OUTPUT_MIXER_ADDRESS 0xAA
#define CH2_8X2OUTPUT_MIXER_ADDRESS 0xAB
#define CH3_8X2OUTPUT_MIXER_ADDRESS 0xAC
#define CH4_8X2OUTPUT_MIXER_ADDRESS 0xAD
#define CH5_8X2OUTPUT_MIXER_ADDRESS 0xAE
#define CH6_8X2OUTPUT_MIXER_ADDRESS 0xAF
#define CH7_8X3OUTPUT_MIXER_ADDRESS 0xB0
#define CH8_8X3OUTPUT_MIXER_ADDRESS 0xB1
//channel volume register address.
#define CHANNELFL_VOLUME_REGISTER 0xD1
#define CHANNELFR_VOLUME_REGISTER 0xD2
#define CHANNELSL_VOLUME_REGISTER 0xD3
#define CHANNELSR_VOLUME_REGISTER 0xD4
#define CHANNELRL_VOLUME_REGISTER 0xD5
#define CHANNELRR_VOLUME_REGISTER 0xD6
#define CHANNELCT_VOLUME_REGISTER 0xD7
#define CHANNELSW_VOLUME_REGISTER 0xD8
#define MASTER_VOLUME_REGISTER 0xD9
//soft mute register
#define SOFT_MUTE_ADDRESS 0x0F
//automute control register
#define AUTOMUTE_CONTROL_ADDRESS 0x14
//ch1 filter address
#define CH1_BIQUAD_FILTERS1_ADDRESS 0x51
#define CH1_BIQUAD_FILTERS2_ADDRESS 0x52
#define CH1_BIQUAD_FILTERS3_ADDRESS 0x53
#define CH1_BIQUAD_FILTERS4_ADDRESS 0x54
#define CH1_BIQUAD_FILTERS5_ADDRESS 0x55
#define CH1_BIQUAD_FILTERS6_ADDRESS 0x56
#define CH1_BIQUAD_FILTERS7_ADDRESS 0x57
//ch2 filter address
#define CH2_BIQUAD_FILTERS1_ADDRESS 0x58
#define CH2_BIQUAD_FILTERS2_ADDRESS 0x59
#define CH2_BIQUAD_FILTERS3_ADDRESS 0x5A
#define CH2_BIQUAD_FILTERS4_ADDRESS 0x5B
#define CH2_BIQUAD_FILTERS5_ADDRESS 0x5C
#define CH2_BIQUAD_FILTERS6_ADDRESS 0x5D
#define CH2_BIQUAD_FILTERS7_ADDRESS 0x5E
//ch3 filter address
#define CH3_BIQUAD_FILTERS1_ADDRESS 0x5F
#define CH3_BIQUAD_FILTERS2_ADDRESS 0x60
#define CH3_BIQUAD_FILTERS3_ADDRESS 0x61
#define CH3_BIQUAD_FILTERS4_ADDRESS 0x62
#define CH3_BIQUAD_FILTERS5_ADDRESS 0x63
#define CH3_BIQUAD_FILTERS6_ADDRESS 0x64
#define CH3_BIQUAD_FILTERS7_ADDRESS 0x65
//ch4 filter address
#define CH4_BIQUAD_FILTERS1_ADDRESS 0x66
#define CH4_BIQUAD_FILTERS2_ADDRESS 0x67
#define CH4_BIQUAD_FILTERS3_ADDRESS 0x68
#define CH4_BIQUAD_FILTERS4_ADDRESS 0x69
#define CH4_BIQUAD_FILTERS5_ADDRESS 0x6A
#define CH4_BIQUAD_FILTERS6_ADDRESS 0x6B
#define CH4_BIQUAD_FILTERS7_ADDRESS 0x6C
//ch7 filter address
#define CH7_BIQUAD_FILTERS1_ADDRESS 0x7B
#define CH7_BIQUAD_FILTERS2_ADDRESS 0x7C
#define CH7_BIQUAD_FILTERS3_ADDRESS 0x7D
#define CH7_BIQUAD_FILTERS4_ADDRESS 0x7E
#define CH7_BIQUAD_FILTERS5_ADDRESS 0x7F
#define CH7_BIQUAD_FILTERS6_ADDRESS 0x80
#define CH7_BIQUAD_FILTERS7_ADDRESS 0x81
//ch8 filter address
#define CH8_BIQUAD_FILTERS1_ADDRESS 0x82 /*filter 1&2 can not effect */
#define CH8_BIQUAD_FILTERS2_ADDRESS 0x83 /*bass management(INMIX_1_8CH & INMIX_2_8CH)*/
#define CH8_BIQUAD_FILTERS3_ADDRESS 0x84
#define CH8_BIQUAD_FILTERS4_ADDRESS 0x85
#define CH8_BIQUAD_FILTERS5_ADDRESS 0x86
#define CH8_BIQUAD_FILTERS6_ADDRESS 0x87
#define CH8_BIQUAD_FILTERS7_ADDRESS 0x88
//tone bypass register address
#define CH1_TONE_BYPASS 0x89
#define CH2_TONE_BYPASS 0x8A
#define CH3_TONE_BYPASS 0x8B
#define CH4_TONE_BYPASS 0x8C
#define CH5_TONE_BYPASS 0x8D
#define CH6_TONE_BYPASS 0x8E
#define CH7_TONE_BYPASS 0x8F
#define CH8_TONE_BYPASS 0x90
//tone bypass sw
#define TONE_BYPASS_ON 5
#define TONE_BYPASS_OFF 1
//Register Address define.
#define BASS_FILTER_SET_ADDRESS 0xDA
#define BASS_FILTER_INDEX_ADDRESS 0xDB
#define TREBLE_FILTER_SET_ADDRESS 0xDC
#define TREBLE_FILTER_INDEX_ADDRESS 0xDD
//filterSet define
#define FILTER_SET_0 0x00 //no filter selected
#define FILTER_SET_1 0x01
#define FILTER_SET_2 0x02
#define FILTER_SET_3 0x07
#define FILTER_SET_4 0x04
#define FILTER_SET_5 0x05
//am mode register
#define AM_MODE_SET_ADDRESS 0xDE
#define AM_MODE_DISABLED 0x00
#define AM_MODE_ENABLED1 0x10
#define AM_MODE_ENABLED2 0x14
#define AM_MODE_ENABLED3 0x18
#define AM_MODE_ENABLED4 0x1C
//channel volume plus
#define FLFR_PLUS 0
#define SLSR_PLUS 0
#define RLRR_PLUS 0
#define CT_PLUS 0
#define SW_PLUS 0
#define BOOST_VOL_1 12
#define BOOST_VOL_2 20
#define BOOST_VOL_3 24
#define EARPHONE_OFFSET_VOL 0
enum
{
LP_120HZ,
LP_150HZ,
LP_180HZ,
LP_200HZ,
LP_220HZ,
LP_250HZ,
LP_300HZ,
LP_350HZ,
LP_400HZ,
LP_HZ_MAX
};
enum
{
HP_80HZ,
HP_100HZ,
HP_110HZ,
HP_120HZ,
HP_150HZ,
HP_180HZ,
HP_HZ_MAX
};
#define USE_FLFR_FILTER
#define USE_SLSR_FILTER
#define USE_CT_FILTER
#define USE_SW_FILTER
#define FLFR_FILTER HP_100HZ
#define SLSR_FILTER HP_100HZ
#define CT_FILTER HP_100HZ
#define SW_FILTER LP_250HZ
#define DVDAUDIO_VOLUME 0X4C//+3dB
#define DVDVIDEO_VOLUME 0X30//+10dB
#define DVDDTSCD_VOLUME 0X4C//+3dB
#define VCD_VOLUME 0X3C//+7dB
#define CD_VOLUME 0X48//+4dB
#define HDCD_VOLUME 0X4C//+3dB
#define AC3_VOLUME 0X28//+12dB
#define DTS_VOLUME 0X48//+4dB
#define COMMON_VOLUME 0X48//+4dB
#define EX_VOLUME 0X0C//+17dB
#define TEMPMUTE_VOLUME 0X200
#define LINEOUT_PERCENT 0X80//line out rate
TAS5508_EXT void vSendToneVol(BYTE bTone,BYTE bChVol) large;
TAS5508_EXT void vSendChannelVol(BYTE bChannel,BYTE bChVol,BYTE bPlus) large;
TAS5508_EXT void vSendBassBoostVol(void) large;
TAS5508_EXT void vSendMasterVol(WORD wVolume) large;
TAS5508_EXT void vDapDefault(void) large;
TAS5508_EXT void vDapDvdInit(void) large;
TAS5508_EXT void vDapAuxInit(BOOL fgState) large;
TAS5508_EXT void vAmModeSet(BYTE bammode,WORD wAmFreq) large;
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -