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