This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM2754-Q1: How to Connect AM275 EVM with A2B Mic

Part Number: AM2754-Q1
Other Parts Discussed in Thread: SYSCONFIG

Hi TI Experts,

For ENC/RNC algorithm customers, they have to find a way connecting our AM275 EVM with an A2B Mic to enable the complete data path running their algorithms to test the overall performance.

Could you please provide a general guidance for these customers to start with the HW connections please?

Thanks,

Kevin

  • Hello Kevin,

    We have a few options for connecting external devices to the mcasp interface on the AM275x EVM. 

    1. Use a breakout board/connector board to utilize the on-board expansion connector (Audio Expansion Connectors - AEC)
    2. Use the on-EVM J28 header and configure the device to route MCASP to the header (MCASP4)

    1. Using a breakout board: Using a Zebax ZX146-QTE-QSE-040 is the easiest option because it gives you a breakout board that can be used in-line to sniff signals, but can also be used to connect other peripherals to the audio expansion connector. This connector is directional and can only be plugged in 1 way, so there is no need to worry about plugging it in wrong. The pins on the card are labeled and match the pinouts described in the AM275x EVM's Userguide: AM275x Audio EVM User Guide in the AEC Mapping section (2.11 at the time of writing). There are 2 AEC connectors on this board, so depending on which MCASP channels (or how many) you require, you may need 2x of these breakout boards), but generally should be ok with just 1.

    2. Using the on-EVM J28 header

    This uses a header onboard to route MCASP4 signals out, but does require some additional code. 

    In the user guide, you'll see the pinout for J28 is as follows (on the A revision of the board)
    J28[1] - MCASP4_ACLKX
    J28[2] - MCASP_AXR5_MLB0_DAT
    J28[3] - MCASP4_ACLKR
    J28[4] - MCASP_AXR4_MLB0_CLK
    J28[5] - MCASP4_AFXS
    J28[6] - MCASP_AXR3_MLB0_SIG
    J28[7] - MCASP4_AFSR
    J28[8] - MCASP_AXR0

    In order to these signals to be routed to the J28 header, you must first select the desired voltage domain of the J28 header with the J29 header. The middle pin (J29[2]) should be shorted to either pin 1 for 1.8V or pin 3 for 3.3V.

    In addition, your software will need to command the I2C-controlled switch to route the signals to the J28 header instead of the default AEC connector. The simpliest way is to modify your project's board.c file (a file which normally contains the configuration information for the ADC and DAC used on the EVM), but these modifications can go anywhere.

    a. Include the following file for controlling the IO expander

     

    #include "board/ioexp/ioexp_tca6416.h"

    b. Add the following function to tell the switch to route the signals

    int32_t Board_MuxSelMcASP4(void)
    {
        int status;
        uint32_t pinNum = 3;
    
        TCA6416_Config  TCA6416_Config;
        TCA6416_Params  tca6416Params;
        TCA6416_Params_init(&tca6416Params);
        tca6416Params.i2cInstance = CONFIG_I2C0;
        tca6416Params.i2cAddress = 0x20;
        TCA6416_open(&TCA6416_Config, &tca6416Params);
    
    
        status = TCA6416_setOutput(
                        &TCA6416_Config,
                        pinNum,
                        TCA6416_OUT_STATE_LOW);
    
        /* Configure as output  */
        status += TCA6416_config(
                        &TCA6416_Config,
                        pinNum,
                        TCA6416_MODE_OUTPUT);
    
        status = TCA6416_setOutput(
                        &TCA6416_Config,
                        pinNum,
                        TCA6416_OUT_STATE_HIGH);
    
        return status;
    }

    c. This function should be called after the I2C interface is initialized, but before you setup mcasp.

    Make sure you update your sysconfig file to point to the correct mcasp ports.