Komunikacja z TDA8425

Układ TDA8425 jest scalonym monolitycznym procesorem dźwięku sterowanym za pomocą magistrali I2C. Z pomocą kilku elementów zewnętrznych staje się on bardzo dobrym przedwzmacniaczem cyfrowym sterowanym z mikrokontrolera. Procedury przedstawione poniżej służą do wysyłania danych do układu TDA8425.

Język Bascom AVR

Poniższa procedura ma za zadanie wysyłanie 3 bajtów magistralą I2C. Pierwszy równy zawsze 130 jest adresem do zapisu układu TDA8425, drugi bajt to zmienna Adres określająca rejestr do którego będą wpisywane dane, natomiast trzeci bajt to zmienna określająca wartość zapisywaną do rejestru określonego przez Adres

Wyslij_i2c:
I2cstart
I2cwbyte 130
I2cwbyte Adres
I2cwbyte Wartosc
I2cstop
Waitms 1
Return

Do poprawnego działania tej procedury wymagana jest konfiguracja i inicjalizacja magistrali I2C, której dokonujemy na początku programu w sposób przedstawiony poniżej:

Config Scl = Portd.6
Config Sda = Portd.7
I2cinit

Procedura poniżej zapewnia wysłanie do procesora dźwięku wszystkich niezbędnych danych zapisanych wcześniej do zmiennych Glos_l, Glos_r, Bass, Treble i Funkcje. Do tego celu wykorzystywana jest procedura zdefiniowana wcześniej:

Wyslij_tda8425:

Adres = 0
Wartosc = Glos_l
Gosub Wyslij_i2c

Adres = 1
Wartosc = Glos_r
Gosub Wyslij_i2c

Adres = 2
Wartosc = Bass
Gosub Wyslij_i2c

Adres = 3
Wartosc = Treble
Gosub Wyslij_i2c

Adres = 8
Wartosc = Funkcje
Gosub Wyslij_i2c
Return

Do poprawnej pracy wszystkich tych procedur wymagana jest deklaracja zmiennych na początku programu:

Dim Adres As Byte , Wartosc As Byte
Dim Glos_l As Byte
Dim Glos_r As Byte
Dim Bass As Byte
Dim Treble As Byte
Dim Funkcje As Byte

Zakresy zmiennych sterujących pracą przedwzmacniacza:

Glos_l oraz Glos_r – wartość od 220 do 255 zapewnia regulacją w granicach -64dB do +6dB z krokiem co 2dB
Bass – wartość od 242 do 251 zapewnia regulację od -12dB do +15dB z krokiem co 3dB
Treble – wartość od 242 do 250 zapewnia regulację od -12dB do +12dB z krokiem co 3dB
Funkcje – wartość ustalona kombinacją bitów: [1][1][mu][efl][stl][1][1][in], dla mu = 1 wyciszenie jest włączone a dla mu = 0 wyłączone, in = 0 aktywuje wejście pierwsze, a in = 1 wejście drugie. Bity efl i stl ustawiają tryb pracy. Wartości tych bitów znajdują się w tabeli poniżej:


Materiał nadesłał użytkownik : Elektron

Post Author: swistak

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Potwierdz, że nie jesteś botem. *