We use the https://github.com/liman324/TDA7419 library to control the IC. We also use the ADAFruit GFX and ILI9341 Libraries. The main issue with ILI9341 was the frequency of communication. A lot of users had complained that the library does not work. If the frequency is set properly the LCD responds correctly. Arduino pins 8,9,10,11,12,13 are used to interface with the LCD.
IR Remote is from http://github.com/shirriff/Arduino-IRremote . Remove uses Arduino pin 2 #define IR_RECV_PIN 2
Encoder library is from https://github.com/mathertel/RotaryEncoder Encoder uses pins 7 and 5 or Arduino. The encoder push button is mapped to pin 6. #define ENCODER_PIN_A 7 #define ENCODER_PIN_B 5 #define ENCODER_PIN_SW 6
We use Rectangles to draw the Widgets. There are five different widgets that we can render, all the widgets respond to the key events. To optimize painting only the current focused widget is painted.
TDA7419 is a very powerful IC that can do a lot of things, but since the documentation is very sparse and it even lacks a publicly available application notes. We figured lets take a crack at how we can use it in various use cases. In the following series of posts and videos we will see the various features for TDA 7419. It is primarily designed for Hi-End CAR Audio systems and applications so has very good performance characteristics. This is an ideal candidate for Low-cost Audiophile Digital Input Switchers, Digital Volume Controls, Digital Tone Controls , Mixer for Sub-woofer output etc.
These are the features of TDA 7419
TDA 7419 is basically a hi performance BICMOS Audio Signal processor using the linear signal processing.
It has a Built in Input Selector , You can select from 3 Single Ended Inputs (RCA) or one Quasi Differential Input (Like XLR.) . What is Interesting is that it has TWO Outputs. More on that later.
It has 5 Speaker outputs. Front Left+Right, Rear Left+Right and Sub-Woofer out,
It has a Input Gain Which is useful to Equalize the different Inputs, and a Master Volume control (Attenuator) ,
It has a Powerful Signal processor to control BASS, Mid and Treble Controls. With Selectable Center Frequency and the Q Factor which is basically how wide the Center Frequency Curve is. It has a Separate Loudness Control with Selectable low and high frequency boost and programmable center frequency .
It has a Mixer with LPF and a Sub Woofer output.
It also has a Mixer that allows one input to be Mixed into Front Speakers for Application like a Navigation System output mixing into the main Car Music System.
One Interesting thing about this IC is that it has a whole lot of switchers inside that allow us to customize how the Audio Signal Gets Routed. We can control this IC using I2C.
To control this IC from an MCU , I decided to use arduino there are some projects out there that use PIC too. I wanted to have a Color TFT with a Nice User Interface that would allow me to easily control all the aspects of the IC. I selected a SPI TFT LCD module with ILI9341 controller so I can use the Hardware SPI for LCD and I2C for the TDA7419.
I wanted to have multiple ways to control the UI so there are options for using a Remote , a Push button Interface and a Rotary Encoder with switches. We will go thru all the options in the series.