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

📄 pmic_audio.h

📁 Microsoft WinCE 6.0 BSP FINAL release source code for use with the i.MX27ADS TO2 WCE600_FINAL_MX27_S
💻 H
📖 第 1 页 / 共 5 页
字号:
    USE_8_TIMESLOTS                /*!< Configure for 8 timeslots. */
} PMIC_AUDIO_NUMSLOTS;

/*!
 * @enum PMIC_AUDIO_STDAC_SAMPLING_RATE
 * @brief Select the audio data sampling rate for the Stereo DAC.
 *
 * This enumeration defines all of the possible sampling rates currently
 * supported by the Stereo DAC. One of these sampling rates must be selected
 * and it must match that of the audio stream or else signal distortion will
 * occur.
 */
typedef enum
{
    STDAC_RATE_8_KHZ,               /*!< Use 8 kHz sampling rate.      */
    STDAC_RATE_11_025_KHZ,          /*!< Use 11.025 kHz sampling rate. */
    STDAC_RATE_12_KHZ,              /*!< Use 12 kHz sampling rate.     */
    STDAC_RATE_16_KHZ,              /*!< Use 16 kHz sampling rate.     */
    STDAC_RATE_22_050_KHZ,          /*!< Use 22.050 kHz sampling rate. */
    STDAC_RATE_24_KHZ,              /*!< Use 24 kHz sampling rate.     */
    STDAC_RATE_32_KHZ,              /*!< Use 32 kHz sampling rate.     */
    STDAC_RATE_44_1_KHZ,            /*!< Use 44.1 kHz sampling rate.   */
    STDAC_RATE_48_KHZ,              /*!< Use 48 kHz sampling rate.     */
    STDAC_RATE_64_KHZ,              /*!< Use 64 kHz sampling rate
                                         <b>(MC13783-only)</b>.        */
    STDAC_RATE_96_KHZ               /*!< Use 96 kHz sampling rate.
                                         <b>(MC13783-only)</b>.        */
} PMIC_AUDIO_STDAC_SAMPLING_RATE;

/*!
 * @enum PMIC_AUDIO_VCODEC_SAMPLING_RATE
 * @brief Select the audio data sampling rate for the Voice CODEC.
 *
 * This enumeration defines all of the possible sampling rates currently
 * supported by the Voice CODEC. One of these sampling rates must be selected
 * and it must match that of the audio stream or else signal distortion will
 * occur.
 */
typedef enum
{
    VCODEC_RATE_8_KHZ,               /*!< Use 8 kHz sampling rate.      */
    VCODEC_RATE_16_KHZ,              /*!< Use 16 kHz sampling rate.     */
} PMIC_AUDIO_VCODEC_SAMPLING_RATE;

/*!
 * @enum PMIC_AUDIO_ANTI_POP_RAMP_SPEED
 * @brief Select the anti-pop circuitry's ramp up speed.
 *
 * This enumeration defines all of the possible ramp up speeds for the
 * anti-pop circuitry. A slow ramp up speed may be required in order to
 * avoid the popping noise that is typically generated during the insertion
 * or removal of a headset or microphone.
 */
typedef enum
{
    ANTI_POP_RAMP_FAST,              /*!< Select fast ramp up.          */
    ANTI_POP_RAMP_SLOW               /*!< Select slow ramp up.          */
} PMIC_AUDIO_ANTI_POP_RAMP_SPEED;

/*@}*/

/*!
 * @name General Voice CODEC Configuration Typedefs and Enumerations
 * Typedefs and enumerations that are used to define and configure
 * the basic operating options for the Voice CODEC.
 */
/*@{*/

/*!
 * @enum PMIC_AUDIO_VCODEC_CLOCK_IN_FREQ
 * @brief Select the Voice CODEC input clock frequency.
 *
 * This enumeration defines all of the supported Voice CODEC input clock
 * frequencies. One of these frequencies must be selected in order to
 * properly configure the Voice CODEC to operate at the required sampling
 * rate.
 */
typedef enum
{
    VCODEC_CLI_13MHZ,                   /*!< Clock frequency is 13MHz.    */
    VCODEC_CLI_15_36MHZ,                /*!< Clock frequency is 15.36MHz. */
    VCODEC_CLI_16_8MHZ,                 /*!< Clock frequency is 16.8MHz
                                             <b>(MC13783-only)</b>.       */
    VCODEC_CLI_26MHZ,                   /*!< Clock frequency is 26MHz.    */
    VCODEC_CLI_33_6MHZ,                 /*!< Clock frequency is 33.6MHz.  */
} PMIC_AUDIO_VCODEC_CLOCK_IN_FREQ;

/*!
 * @enum PMIC_AUDIO_VCODEC_CONFIG
 * @brief Select the Voice CODEC configuration options.
 *
 * This enumeration is used to enable/disable each of the Voice CODEC options.
 * This includes the use of highpass digital filters and audio signal
 * loopback modes.
 *
 * Note that resetting the digital filters is now handled by the
 * pmic_audio_digital_filter_reset() API.
 */
typedef enum
{
    DITHERING                   = 1,    /*!< Enable/disable dithering.      */
    INPUT_HIGHPASS_FILTER       = 2,    /*!< Enable/disable the input high
                                             pass digital filter.           */
    OUTPUT_HIGHPASS_FILTER      = 4,    /*!< Enable/disable the output high
                                             pass digital filter.           */
    ANALOG_LOOPBACK             = 8,    /*!< Enable/disable the analog
                                             loopback path
                                             <b>(MC13783-only)</b>.         */
    DIGITAL_LOOPBACK            = 16,   /*!< Enable/disable the digital
                                             loopback path.                 */
    VCODEC_MASTER_CLOCK_OUTPUTS = 32,   /*!< Enable/disable the bus master
                                             clock outputs.                 */
    TRISTATE_TS                 = 64    /*!< Enable/disable FSYNC, BITCLK,
                                             and TX tristate.               */
} PMIC_AUDIO_VCODEC_CONFIG;

/*@}*/

/*!
 * @name General Stereo DAC Configuration Typedefs and Enumerations
 * Typedefs and enumerations that are used to define and configure
 * the basic operating options for the Stereo DAC.
 */
/*@{*/

/*!
 * @enum PMIC_AUDIO_STDAC_CLOCK_IN_FREQ
 * @brief Select the Stereo DAC input clock frequency.
 *
 * This enumeration defines all of the supported Stereo DAC input clock
 * frequencies. One of these frequencies must be selected in order to
 * properly configure the Stereo DAC to operate at the required sampling
 * rate.
 */
typedef enum
{
    STDAC_CLI_3_6864MHZ,        /*!< Clock frequency is 3.36864MHz
                                     <b>(MC13783-only)</b>.              */
    STDAC_CLI_12MHZ,            /*!< Clock frequency is 12MHz.
                                     <b>(MC13783-only)</b>.              */
    STDAC_CLI_13MHZ,            /*!< Clock frequency is 13MHz.           */
    STDAC_CLI_15_36MHZ,         /*!< Clock frequency is 15.36MHz.        */
    STDAC_CLI_16_8MHZ,          /*!< Clock frequency is 16.8MHz
                                     <b>(MC13783-only)</b>.              */
    STDAC_CLI_26MHZ,            /*!< Clock frequency is 26MHz.           */
    STDAC_CLI_33_6MHZ,          /*!< Clock frequency is 33.6MHz.         */
    STDAC_MCLK_PLL_DISABLED,    /*!< Use MCLK and disable internal PLL.  */
    STDAC_FSYNC_IN_PLL,         /*!< Use FSYNC as internal PLL input.    */
    STDAC_BCLK_IN_PLL           /*!< Use BCLK as internal PLL input.     */
} PMIC_AUDIO_STDAC_CLOCK_IN_FREQ;

/*!
 * @enum PMIC_AUDIO_STDAC_CONFIG
 * @brief Select the Stereo DAC configuration options.
 *
 * This enumeration is used to enable/disable each of the Stereo DAC options.
 */
typedef enum
{
    STDAC_MASTER_CLOCK_OUTPUTS = 1  /*!< Enable/disable the bus master clock
                                         outputs.                             */
} PMIC_AUDIO_STDAC_CONFIG;

/*@}*/

/*!
 * @name Voice CODEC Audio Port Mixing Typedefs and Enumerations
 * Typedefs and enumerations that are used for setting up the audio mixer
 * within the Voice CODEC.
 */
/*@{*/

/*!
 * @enum PMIC_AUDIO_VCODEC_TIMESLOT
 * @brief Select the Stereo DAC configuration options.
 *
 * This enumeration is used to select the timeslot for both the primary and
 * secondary (for MC13783-only) audio channels to the Voice CODEC.
 */
typedef enum
{
    USE_TS0,                     /*!< Use timeslot 0 for audio signal source
                                      <b>(MC13783-only)</b>.                 */
    USE_TS1,                     /*!< Use timeslot 1 for audio signal source
                                      <b>(MC13783-only)</b>.                 */
    USE_TS2,                     /*!< Use timeslot 2 for audio signal source
                                      <b>(MC13783-only)</b>.                 */
    USE_TS3                      /*!< Use timeslot 3 for audio signal source
                                      <b>(MC13783-only)</b>.                 */
} PMIC_AUDIO_VCODEC_TIMESLOT;

/*!
 * @enum PMIC_AUDIO_VCODEC_MIX_IN_GAIN
 * @brief Select the secondary channel input gain for the Voice CODEC mixer.
 *
 * This enumeration selects the secondary channel input gain for the Voice
 * CODEC mixer.
 */
typedef enum
{
    VCODEC_NO_MIX,                /*!< No audio mixing <b>(MC13783-only)</b>. */
    VCODEC_MIX_IN_0DB,            /*!< Mix with 0dB secondary channel gain
                                       <b>(MC13783-only)</b>.                 */
    VCODEC_MIX_IN_MINUS_6DB,      /*!< Mix with -6dB secondary channel gain
                                       <b>(MC13783-only)</b>.                 */
    VCODEC_MIX_IN_MINUS_12DB,     /*!< Mix with -12dB secondary channel gain
                                       <b>(MC13783-only)</b>.                 */
} PMIC_AUDIO_VCODEC_MIX_IN_GAIN;

/*!
 * @enum PMIC_AUDIO_VCODEC_MIX_OUT_GAIN
 * @brief Select the output gain for the Voice CODEC mixer.
 *
 * This enumeration selects the output gain for the Voice CODEC mixer.
 */
typedef enum
{
    VCODEC_MIX_OUT_0DB,           /*!< Select 0dB mixer output gain
                                       <b>(MC13783-only)</b>.                 */
    VCODEC_MIX_OUT_MINUS_6DB,     /*!< Select -6dB mixer output gain
                                       <b>(MC13783-only)</b>.                 */
} PMIC_AUDIO_VCODEC_MIX_OUT_GAIN;

/*@}*/

/*!
 * @name Stereo DAC Audio Port Mixing Typedefs and Enumerations
 * Typedefs and enumerations that are used for setting up the audio mixer
 * within the Stereo DAC.
 */
/*@{*/

/*!
 * @enum PMIC_AUDIO_STDAC_TIMESLOTS
 * @brief Select the timeslots used to transmit the left and right audio
 *        channels to the Stereo DAC.
 *
 * This enumeration is used to select the timeslots used to transmit the
 * data corresponding to the left and right audio channels to the Stereo
 * DAC.
 */
typedef enum
{
    USE_TS0_TS1,                 /*!< Use timeslots 0 and 1 for left and
                                      right channels, respectively.      */
    USE_TS2_TS3,                 /*!< Use timeslots 2 and 3 for left and
                                      right channels, respectively
                                      <b>(MC13783-only)</b>.             */
    USE_TS4_TS5,                 /*!< Use timeslots 4 and 5 for left and
                                      right channels, respectively
                                      <b>(MC13783-only)</b>.             */
    USE_TS6_TS7                  /*!< Use timeslots 6 and 7 for left and
                                      right channels, respectively
                                      <b>(MC13783-only)</b>.             */
} PMIC_AUDIO_STDAC_TIMESLOTS;

/*!
 * @enum PMIC_AUDIO_STDAC_MIX_IN_GAIN
 * @brief Select the secondary channel input gain for the Stereo DAC mixer.
 *
 * This enumeration is used to select the secondary channel input gain for
 * the Stereo DAC mixer.
 */
typedef enum
{
    STDAC_NO_MIX,                      /*!< No mixing, keep separate left
                                            and right audio channels.         */
    STDAC_MIX_IN_0DB,                  /*!< Mix left and right audio channels
                                            together with 0dB secondary
                                            channel gain.                     */
    STDAC_MIX_IN_MINUS_6DB,            /*!< Mix left and right audio channels
                                            together with -6dB secondary
                                            channel gain.                     */
    STDAC_MIX_IN_MINUS_12DB            /*!< Mix left and right audio channels
                                            together with -12dB secondary
                                            channel gain
					    <b>(MC13783-only)</b>.            */
} PMIC_AUDIO_STDAC_MIX_IN_GAIN;

/*!
 * @enum PMIC_AUDIO_STDAC_MIX_OUT_GAIN
 * @brief Select the output gain for the Stereo DAC mixer.
 *
 * This enumeration is used to select the output gain for the Stereo DAC
 * mixer.
 */
typedef enum
{
    STDAC_MIX_OUT_0DB,                 /*!< Select 0dB mixer output gain.     */
    STDAC_MIX_OUT_MINUS_6DB,           /*!< Select -6dB mixer output gain
                                            <b>(MC13783-only)</b>.              */
} PMIC_AUDIO_STDAC_MIX_OUT_GAIN;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -