SBAU398 March   2022

 

  1.   Trademarks
  2. 1Introduction
  3. 2Hardware Overview
    1. 2.1 AC-MB Settings
      1. 2.1.1 Audio Serial Interface Settings
        1. 2.1.1.1 USB
        2. 2.1.1.2 Optical or Auxilary Analog Audio Input
        3. 2.1.1.3 External
      2. 2.1.2 AC-MB Power Supply
    2. 2.2 ADCx120Q1EVM-PDK Hardware Settings
      1. 2.2.1 Line Inputs
      2. 2.2.2 Onboard Microphone Configuration
      3. 2.2.3 External Microphone Configurations
  4. 3Software Overview
    1. 3.1 PurePath Console 3 Installation
    2. 3.2 ADCx120Q1EVM GUI Installation
      1. 3.2.1 Software Setup
  5. 4GPIO1 Settings
  6. 5Master Mode Operation
  7. 6Quick Start
    1. 6.1 Configuring the Audio Serial Bus for the I2S Output
    2. 6.2 Saving a Configuration
  8. 7Schematic and Bill of Materials
    1. 7.1 ADCx120Q1EVM-PDK Schematic and Bill of Materials
      1. 7.1.1 ADCx120Q1EVM-PDK Schematic
      2. 7.1.2 ADCx120Q1EVM-PDK Bill of Materials
    2. 7.2 AC-MB Schematic and Bill of Materials
      1. 7.2.1 AC-MB Schematic
      2. 7.2.2 AC-MB Bill of Materials
    3. 7.3 Matlab Audio Capture Example

Matlab Audio Capture Example

The driver for the AC-MB may be controlled with Matlab, allowing for some automated testing. The following code demonstrates capturing audio from the AC-MB with Matlab. This example requires the Audio Toolbox™.

         if ismac % macOS driver 
 deviceReader = audioDeviceReader( 'Device', 'TI USB Audio 2.0',… 
 'SampleRate', 48000, … 
 'NumChannels', 8 ,…
'BitDepth', '32-bit float',… 
'OutputDataType','double'); 
 elseif ispc % windows driver
 devoiceReader = audioDeviceReader( 'Driver','ASIO', 'Device', 'Texas Instruments USB Audio ...',…
 'SampleRate', 48000, … 
 'NumChannels', 8 ,… 
 'BitDepth', '32-bit float',… 
 'OutputDataType','double’);
end
setup(deviceReader);% Setup the device reader
% Play out a file through PC and capture in the EVM
info = audioinfo( infile_name );% Read audiophile infile_name
fileReader = dsp.AudioFileReader( infile_name );% Create fileReader object
fileInfo   = audioinfo(infile_name);% Copy info from infile_name
fileWriter = dsp.AudioFileWriter( outfile_name, 'SampleRate', deviceReader.SampleRate, 'DataType', 'int32’);% Create fileWriter object
audioOut = audioDeviceWriter('SampleRate', fileInfo.SampleRate);% Setup audio playback
setup( audioOut, zeros(deviceReader.SamplesPerFrame, fileInfo.NumChannels) );
while ~isDone(fileReader)% For each block played out, record the block from EVM
audioToPlay = fileReader();% Read a chunk of audio from infile_name
audioOut(audioToPlay);% Play a chance of audio
[audioRead, numOverrun] = deviceReader();% Grab a chunk of audio from EVM
fileWriter(audioRead);% Write the chunk of audio from EVM to a file
end
release(audioOut);% Close all objects
release(fileReader);
release(fileWriter);
release(deviceReader);