⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tas5508.h

📁 关于收音功能代码,并且显示在OSD和VFD上
💻 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 + -