Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 5 of 5

Thread: CS42448 wiring

  1. #1
    Junior Member
    Join Date
    Mar 2016
    Posts
    18

    CS42448 wiring

    I am trying to get a CS42448 on an adaptor board wired to a Teensy 4.0. I found multiple other threads mentioning the connections from the 4.0 to the CS42448. I guess I'm missing something with the power connections or I2C. What is the I2C supposed to be? I see that the AD1 pin should be connected to ground. Is the CAT811T chip required for proper setting up of the I2C bus? I currently have RESET connected to 3.3v. Can AD0 just be connected to ground or 3.3v or should it be connected through a pullup/pulldown? For power connections I have the following pins connected to ground : 7,23,62,42,56. The following are connected to 3.3v : 3, 4, 6, 24, 8, 44, 53. Here is my sketch to test:

    Code:
    #include <Audio.h>
    #include <Wire.h>
    #include <SPI.h>
    #include <SD.h>
    #include <SerialFlash.h>
    
    // GUItool: begin automatically generated code
    AudioSynthWaveformSine   sine1;          //xy=330,209
    AudioOutputTDM           tdm1;           //xy=751.0000076293945,218
    AudioConnection          patchCord1(sine1, 0, tdm1, 0);
    AudioConnection          patchCord2(sine1, 0, tdm1, 2);
    AudioConnection          patchCord3(sine1, 0, tdm1, 4);
    AudioConnection          patchCord4(sine1, 0, tdm1, 6);
    AudioConnection          patchCord5(sine1, 0, tdm1, 8);
    AudioConnection          patchCord6(sine1, 0, tdm1, 10);
    AudioConnection          patchCord7(sine1, 0, tdm1, 12);
    AudioConnection          patchCord8(sine1, 0, tdm1, 14);
    AudioControlCS42448      cs42448_1;      //xy=776.0000076293945,405.0000057220459
    // GUItool: end automatically generated code
    
    
    void setup() {
      sine1.frequency(200);
      sine1.amplitude(1.0);
      cs42448_1.enable();
      cs42448_1.volume(1.0);
    
      AudioMemory(10);
      // put your setup code here, to run once:
    
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
    
    }
    This gives an offset around 2V. I'm not currently using a filter on the output but coming off of a non inverting output for initial testing.

  2. #2
    Senior Member+ MichaelMeissner's Avatar
    Join Date
    Nov 2012
    Location
    Ayer Massachussetts
    Posts
    3,357
    If you are going to control the CS42448 via I2C, you might need somewhere on the I2C bus pull-up resistors between each of the two pins (18, 19) and 3.3v. Typically for Teensy, you would use 2.2K resistors. If you had the audio shield, you wouldn't have to worry, since the audio shield provides it. Maybe the CS42448 provides pull-up resistors, maybe they don't.

    The way to check is to wire up the Teensy, and run the Wire -> Scanner sketch, enabling the USB serial monitor. See if the CS42448 is recognized. If it isn't, or the scanner hangs, it generally means you need pull-up resistors.

    You would need to connect the pin labeled SDA to Teensy pin 18, the pin labeled SCL to Teensy pin 19, and you would need to connect Teensy 3.3v to the voltage input and a Teensy ground connection.

  3. #3
    Junior Member
    Join Date
    Mar 2016
    Posts
    18
    I was having some detection issues with I2C. I had to reseat a few cables as I'm just using jumper wires for all connections currently and now I get it to come up on the scanner every time. Now to see if that fixed the other issues.

  4. #4
    Quote Originally Posted by bendedavis View Post
    I'm just using jumper wires for all connections
    Be aware that TDM needs some pretty fast clocks (11.2 & 22.5 Mhz for BCLK and MCLK respectively). If you have a decent scope, make sure your wiring can handle those signals.

  5. #5
    Junior Member
    Join Date
    Mar 2016
    Posts
    18
    Must've been a breadboard issue because I just made a PCB and things are working flawlessly

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •