Witam,
posiadam programowalny filtr aktywny max262 wg noty katalogowej można go programować za pomocą uC.
DS http://www.datasheetcatalog.org/datasheet/maxim/MAX260-MAX262.pdf
Strona 15 przedstawia wykres czasowy jak powinno przebiegać programowanie ustawień filtra.
Wykorzystuje do tego atmege16, na potrzeby wstępnych testów chce wykorzystać tylko jedną sekcje układu - filtr A w trybie BandPass
oto listing
układ max zasilany jest symetrycznym napięciem +/-5V. Zasilony wg. DS.
Jako zegar fCLK taktujący max262 użyłem attiny 13 z ustawionym zegarem 4.9Mhz i div 8 co daje jakies 612kHz fCLK.
attiny wykonuje program
W atmega16 zdeklarowałem dwie zmienne F i Q których poszczególne bity wyświetlane są na wyświetlaczu co ma pomóc w poprawnym ustawieniu danych do programowania maxa. Podczas programowania kolejno bity parami kopiowane są na wyjścia D0 i D1 tak jak każe DS. A0,A1,A2,A3 to bity określające adres programowania - tak jak każe DS. Funkcja programowania napisana jest łopatologicznie tak by każdy się w tym łatwo mógł połapać.
układ mam podłączony do wzmacniacza słuchawkowego TDA, a na wejście podaje sygnał z karty dźwiękowej - sinusoida pływająca od 100hz do 20khz.
Niestety po podłączeniu układu do zasilania wygląda to tak jakby układ w ogóle nie reagował na to co mu "programuje". Słysze jakieś cykliczne "trzaski" (ich częstość zmienia się z zmiana częstotliwości fCLK z attiny13) w tle delikatnie słyszę sygnał wejściowy ale jego "słyszalność" nie zmienia się w żaden sposób podczas prób jakichkolwiek zmian rejestrów F i Q.
ponadto wg DS po ustawieniu wszystkich bitów Q dla filtra A układ powinien przejść w stan standby. I w tym przypadku też nie słychać żadnej różnicy w tych dźwiękach które słychać w słuchawkach.
Dodam tylko że dźwięki na pewno pochodzą z max262 gdyż po odłączeniu wzmacniacza od maxa szumy i trzaski znikają. Tak samo cykliczne trzaski znikają gdy odłączę źródło fCLK (attiny13).
Proszę o jakieś podpowiedzi, porady co mogę robić źle. Wygląda to na to że układ w ogóle nie chce ze mną współpracować, może mój algorytm programowania jest błędny ?? jestem samoukiem jeśli chodzi o uC więc proszę o wyrozumiałość.[/code]
posiadam programowalny filtr aktywny max262 wg noty katalogowej można go programować za pomocą uC.
DS http://www.datasheetcatalog.org/datasheet/maxim/MAX260-MAX262.pdf
Strona 15 przedstawia wykres czasowy jak powinno przebiegać programowanie ustawień filtra.
Wykorzystuje do tego atmege16, na potrzeby wstępnych testów chce wykorzystać tylko jedną sekcje układu - filtr A w trybie BandPass
oto listing
Kod: text
układ max zasilany jest symetrycznym napięciem +/-5V. Zasilony wg. DS.
Jako zegar fCLK taktujący max262 użyłem attiny 13 z ustawionym zegarem 4.9Mhz i div 8 co daje jakies 612kHz fCLK.
attiny wykonuje program
Kod: text
W atmega16 zdeklarowałem dwie zmienne F i Q których poszczególne bity wyświetlane są na wyświetlaczu co ma pomóc w poprawnym ustawieniu danych do programowania maxa. Podczas programowania kolejno bity parami kopiowane są na wyjścia D0 i D1 tak jak każe DS. A0,A1,A2,A3 to bity określające adres programowania - tak jak każe DS. Funkcja programowania napisana jest łopatologicznie tak by każdy się w tym łatwo mógł połapać.
układ mam podłączony do wzmacniacza słuchawkowego TDA, a na wejście podaje sygnał z karty dźwiękowej - sinusoida pływająca od 100hz do 20khz.
Niestety po podłączeniu układu do zasilania wygląda to tak jakby układ w ogóle nie reagował na to co mu "programuje". Słysze jakieś cykliczne "trzaski" (ich częstość zmienia się z zmiana częstotliwości fCLK z attiny13) w tle delikatnie słyszę sygnał wejściowy ale jego "słyszalność" nie zmienia się w żaden sposób podczas prób jakichkolwiek zmian rejestrów F i Q.
ponadto wg DS po ustawieniu wszystkich bitów Q dla filtra A układ powinien przejść w stan standby. I w tym przypadku też nie słychać żadnej różnicy w tych dźwiękach które słychać w słuchawkach.
Dodam tylko że dźwięki na pewno pochodzą z max262 gdyż po odłączeniu wzmacniacza od maxa szumy i trzaski znikają. Tak samo cykliczne trzaski znikają gdy odłączę źródło fCLK (attiny13).
Proszę o jakieś podpowiedzi, porady co mogę robić źle. Wygląda to na to że układ w ogóle nie chce ze mną współpracować, może mój algorytm programowania jest błędny ?? jestem samoukiem jeśli chodzi o uC więc proszę o wyrozumiałość.[/code]
