Komunikacja z TDA8425


0
Ocena: None

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:




Portret użytkownika Karol

Pytanie

Witam jestem początkujący w programowaniu w języku bascom czy istnieje możliwość pokazania przykładu programu do przedwzmacniacza tda8425? z opisem co i jak, znalazłem trochę programów w internecie ale nie orientuje się wo gule który za co odpowiada bym był bardzo wdzięczny pozdrawiam

Portret użytkownika mirley

Re: TDA8425

A patrzyłeś tutaj to gotowy przedwzmacniacz na tym układzie. Popatrz też na projekt "Wzmacniasz sterowany Rs232" w dziale projekty

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika mateusz

przedwzmacniacz

witam!!!
a można by zrobić ten przedwzmacniacz na wyświetlaczu LCD?
jeżeli tak to mógłby mi pan podesłać taki kod do baskoma.

Portret użytkownika mirley

Re: Przedwzmacniacz

Mam taki przedwzmacniacz w projektach tylko musisz sobie zrobić wyświetlanie na LCD ustawień, reszta pozostaje bez zmian.... tu nie jest miejsce na takie opisy.... to jest tylko przykład obsługi układu TDA

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.