Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 2 kwi 2026, o 14:06


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 21 ] 
Autor Wiadomość
PostNapisane: 4 maja 2013, o 17:30 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

Witam,
Mam problem z współpracą z DAC'em. Wykorzystuje kodzik z książki, ale mój układ nie będzie odtwarzaczem muzy. Sytuacja wygląda następująco:
- kod:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Wysyłam do DAC dodatnią połówkę sinusa.
-Konwersja prąd napięcie na rezystorach,(wcześniej na WO wogóle nie działało).
- otrzymany przebieg na wy DAC (niestety oryginalne foto padło z kardą pamięci wiec pokazuje szkic i to co się ostało):
Obrazek
I teraz pytanie czemu tak ? :)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 maja 2013, o 17:38 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

A u ciebie v1 jest zawsze równe 0


Autor postu otrzymał pochwałę

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 maja 2013, o 17:44 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

a no tak :oops: Dzięki!
najprostsze błędy są najtrudniejsze:) W poniedziałek sprawdzę pod oscyloskopem:)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 maja 2013, o 18:43 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

Zrobiłem dziś testy na oscyloskopie i dalej coś nie fyrta. Przebieg z zmianą zaproponowaną powyżej wygląda tak:
Obrazek
Ponieważ całościowo układ ma przetwarzać sygnał za pomocą ADC a następnie ma być rekonstruowany za pomocą DAC podałem do zmiannych v1 i v2 zamiast buf[i] wynik z ADC atmegi, sam pomiar dział poprawnie - wartość rejestru wyświetlona na LCD. Przy podaniu sin z ofsetem na wej ADC na DAC mamy:
Obrazek
Co może być powodem takiego stanu rzeczy?

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 maja 2013, o 19:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lis 2011
Posty: 302
Lokalizacja: Kraków
Pomógł: 6

Czy zmieniłeś obsługę z książki(TDA1543) na ten z "A".
O ile się nie mylę coś należało zmodyfikować.

_________________
Zapraszam:
filiporlo.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 maja 2013, o 19:32 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

filipo96 napisał(a):
Czy zmieniłeś obsługę z książki(TDA1543) na ten z "A".
O ile się nie mylę coś należało zmodyfikować.


Niestety zdaje się że trzeba dużo zmodyfikować .... w tym scalaku z tego co pamiętam na pewno jest odwrotna kolejność LSB i MSB .... ale jaka nie kojarzę, nie miałem go w ręku więc trudno mi o szczegółach mówić ...

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 maja 2013, o 19:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 sty 2013
Posty: 844
Lokalizacja: Przemyśl
Zbananowany użytkownik

Pomógł: 43

Wg. mnie masz skopana tablicę próbek. Patrząc na ostatni oscylogram "dodatnia" połówka sinusoidy powinna zaczynać się w połowie zakresy wyjściowego- u Ciebie zaczyna się od zera.

_________________
Klimatyzacja Przemyśl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 maja 2013, o 19:44 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

No to tak:
co do zmian to owszem jest zamieniona najpierw MSB potem LCB więc kod wygląda tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

zaś kolejność wysyłu jak w przerwaniu z książki.
co do inny zmian to nie znalazłem aczkolwiek nie znalazłem noty w której n treści jest napisane tda1543A a tylko w nazwie pliku. W tymże pliku zamieniony jest włąsnie msb i lsb.
Co do tablicy próbek to możesz sprawdzić ja w 1 poście, zaś ostatni oscylogram dotyczy sinusa z generatora funkcyjnego podanego na ADC atmegi i "przepisanego" do DAC.
A tak przy okazji ktoś opalił cokolwiek na tym z "A"?

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 maja 2013, o 19:47 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

To nie jedyna różnica niestety pomiędzy tym scalakiem z A i bez A :( .. różnica jest jeszcze jedna i trzeba by się mocno zastanowić jak to zrealizować - tam chodzi o to że całkiem w innym miejscu następuje zmiana stanu linii WS zdaje się :(

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 maja 2013, o 19:52 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

Hmmm, przez pomyłkę przez chwile analizowałem notę do 1545A i tam jest tak, że na całym kanale lewym jest stały poziom (chyba 1) i po ostatnim przesłanym bicie jest dopiero 0 i leci prawy kanał. w nocie mojego układu wynika ze jest identycznie jak w tym bez A.
Ps: @Mirek jak możesz odpowiedz na PW, bo chyba przeoczyłeś ;)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 maja 2013, o 22:51 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

A wiec tak, kolega luki, napisał mi, że wystarczy zmienić msb/lsb oraz zmienić pozycje zatrzasku na linii WS (po 16 bitach). Testowałem taką wersje już wcześniej i dalej nic.
Wpadłem jednak na trop, jeśli się mylę to poprawcie, że układ oczekuje kodu U2? I jeśli tak to czy osobno ma być znak dla msb i osobno dla lsb ? Zaobserwowałem, ze przeskok na wyjściu pojawia się co 128(jedynka na najstarszym miejscu młodszej próbki) w kodzie u2 minus. teraz tylko myślę jak to rozwiązać w kodzie. Jak są pomysły to słucham ?:)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 maja 2013, o 22:55 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

Dokładnie coś było w ten deseń - że tu zmiana WS jest przy pierwszym bicie itp .... no ale ja nie miałem okazji tego ćwiczyć więc ciężko mi będzie podpowiedzieć.

Ale skąd U2 ? to nie wiem - tego to nie widziałem w notach z tym A ... ale może nie dopatrzyłem czegoś.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 maja 2013, o 22:59 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

Druga strona noty: I2S input format: time multiplexed, two's complement,TTL.
A próbki WAV są w U2?

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 maja 2013, o 23:00 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

Lukasz89 napisał(a):
Druga strona noty: I2S input format: time multiplexed, two's complement,TTL.
A próbki WAV są w U2?


aaa no tak ;) o czymś innym pomyślałem ...

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 maja 2013, o 23:07 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

Czyli każda 8 bitowa cześć ma swój znak ? tak to rozumieć ? bo mając 10-bitową zmienną z ADC muszę 7,8 i 9 bajt przesunąć o jeden do góry a 7 bajt w lsb dać 0 ?

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 maja 2013, o 18:17 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

Witam i przynoszę tu dobre informacje (nie potwierdzone na oscy ) że DAC uruchomiony. Dane podane z ADC trzeba wpisać do zmiennej int (U2). Po za tym kolega luki pisał, ze wystarczy wprowadzić zmiany jak pisałem wyzej. Okazuje się ze w moim układzie to nie wystarczyło więc chyba są dwa różne ...."A" :)
Mój układ, jak się okazało, jest kompatybilny ze standardem japanese input format (taka odmiana I2s by Sony).
A wiec oprócz zmian wymienianych powyżej należy wysłać jeszcze jeden "pusty" bajt przed msb, czyli : 0x00, MSB, LSB i dla drugiego kanału to samo, co dodatkowo wydłuży czas trwania przerwania.
Pozdrawiam :)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 maja 2013, o 18:25 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

Lukasz89 napisał(a):
Okazuje się ze w moim układzie to nie wystarczyło więc chyba są dwa różne ...."A"


Nie ma dwóch różnych "A" dokładnie o to chodzi - japanese pokręcony format ;) ... Są tylko te dwa formaty transmisji I2S ;)

ale fajnie że udało się opanować - bo sam myślę żeby kiedyś się tym pobawić i miło wiedzieć że spokojnie to wychodzi ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 maja 2013, o 18:31 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

Też tak myślę Mirku, ale kolega luki w pw informował że nie wysyłał 24 a tylko 16bitów. Co moim zdaniem mogło "połykać" próbki z jednego kanału na rzecz tych nadmiarowych z drugiego.
Ach ten DAC, sprawca kolejnych siwych włosów:P

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 maja 2013, o 18:35 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

Lukasz89 napisał(a):
Ach ten DAC, sprawca kolejnych siwych włosów:P


ale za to chyba przyznasz, że jak już działa - to sam miód na nasze elektroniczne serca ;) ?

------------------------ [ Dodano po: 1 minucie ]

Cytuj:
Też tak myślę Mirku, ale kolega luki w pw informował że nie wysyłał 24 a tylko 16bitów. Co moim zdaniem mogło "połykać" próbki


powiem, ci że podobnie w TDA1543 - jeśli chcesz np wysyłać TYLKO 8 bitów to nie musisz wysyłać najpierw całych pustych DUMMY 8 bitów wystarczy wysłać 1-2 takie bity i zmienić stan WS i już będzie OK ... zatem w tym A działa to troszkę "od drugiej strony" ale na podobnej zasadzie - tak mi się wydaje

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 maja 2013, o 18:40 
Offline
Użytkownik

Dołączył(a): 12 paź 2012
Posty: 207
Lokalizacja: Rzeszów
Pomógł: 16

oj tak :)
w domu pytają co taki uchachany chodzę ;)
a możliwe że tak, z tym ze on wysyła tylko 16. A tak w ogóle sprawdzę ile taktów dodatkowych potrzebuje i dam znać.
A wiec tak, już przy jednym takcie mniej wszystko się sypie wiec musi być 24 takty zegara na kanał, zaś ostatnie 16 zostaje zatrzaskiwanych w buforze jako dane przeznaczone na wyjście.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lis 2014, o 22:57 
Offline
Nowy

Dołączył(a): 14 sie 2014
Posty: 12
Pomógł: 0

Może też ktoś z was natknął się na taki problem jak ja?
Otóż jak wiadomo dane wysyłane są w kodzie U2 lecz mam problem jak dane zaczynają przechodzić w liczby ujemne. Spędziłem dobrych kilka godzin nad testowaniem tego układu na oscyloskopie i na analizatorze stanów logicznych.
Analizator pokazuje że wszystko wysyłane do przetwornika jest tak jak ma być (1bajt-8 razy najstarszy bit, MSB, LSB i później to samo dla drugiego kanału).
Testowałem to na sinusie. Gdy skalowałem wartości sinusa do takich aby mieściły się w liczbie dodatniej w kodzie U2 wszystko jest OK (sinus ładnie wygląda) lecz jak wiadomo nie jest to całkowity zakres przetwornika. Gdy przechodzę ze skalowaniem tak aby występowały liczby ujemne nagle przetwornik zaczyna głupieć.
Wydaje mi się że z jakiegoś powodu wtedy nie ma znaczenia młodszy bajt (tak jakby go gdzieś gubił).
Czy ktoś ma pomysł dlaczego tak się dzieje?


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 21 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 17 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO