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:




gosc's picture

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

mirley's picture

Re: TDA8425

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

gosc's picture

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.

mirley's picture

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

Post new comment

The content of this field is kept private and will not be shown publicly. If you have a Gravatar account, used to display your avatar.
  • You can use BBCode tags in the text. URLs will automatically be converted to links.
  • Use the special tag [adsense:format:slot] or [adsense:format:[group]:[channel][:slot]] or [adsense:block:location] to display Google AdSense ads.
  • You can enable syntax highlighting of source code with the following tags: [code], [blockcode], [c], [cpp], [java], [javascript], [php], [python], [qb].
  • Image links with 'rel="lightbox"' in the <a> tag will appear in a Lightbox when clicked on.

More information about formatting options