CS42448 wiring

Status
Not open for further replies.
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.
 
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.
 
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.
 
Status
Not open for further replies.
Back
Top