Skocz do zawartości
IGNORED

MSS - Multi Selektor SPDIF


Rekomendowane odpowiedzi

Waldi_06

 

1. Co miałeś na myśli pisząc:

 

2. Czy wyjscia po kondensatorach nie powinny być terminowane opornikami ?

 

Grało, bo nie było przylutowane (jeden pad na wyjściu , które przez chwilę sprawdzałem).

 

Naturalnie.

Po kondensatorze powinny być dwa rezystory: szeregowy i terminujący.

Często pomija się rezystor szeregowy.

Wymieniłem PCF8574AN na PCF8574P i MSS działa OK w wersji full wypas:)

 

Edward i Waldi_06, z mojej strony wyrazy uznania i podziękowania za świetny projekt.

ps. Czekam na następne :)

Gość traxman

(Konto usunięte)

Co do zwieszania PCF, to o ile nie jest to problem programowy, podwieście wyjście IRQ do VCC, czasem CMOSY potrafią się idiotycznie zatrzasnąć przy załączaniu zasilania.

Rozumiem, że mowa jest o wyprowadzeniu INT. Jest to wyjście typu "open drain" więc nie wyobrażam sobie, że wisząc w powietrzu może źle wpływać na pracę PCF. Objaw zawieszania się całego układu musi być spowodowany poprzez przytkanie jednej lub obu linii SDA i SCL poprzez wymuszenie stanu niskiego. Tylko wtedy linia ta staje się niezdatna do użytku w komunikacji z innymi układami. Mikrokontroler nie blokuje się jeśli układ PCF nie odpowiada.

 

Niemniej jednak propozycja traxmana, to jakiś ślad. Może ktoś, komu PCF blokuje prace niech sprawdzi czy podciągnięcie wyprowadzenia INT do zasilania 5V poprzez rezystor rzędu 10k spowoduje, że problem ustąpi.

Różnica pomiędzy PCF8574P i PCF8574AP lub PCF8574N i PCF8574AN polega na sposobie adresowania układu. Kostki z oznaczeniem A - mogą przyjmować adres z zakresu 0x38 do 0x3F, a bez literki A - z zakresu 0x20 do 0x27.Dodam jeszcze, że literka P to Philips, a N to Texas Instruments. Dziwne bo u mnie właśnie działa PCF z indeksem A, a u kolegi marekzawa odwrotnie. Pisałem wczesniej, ża kostka , którą dostałem ugotowała staba 5V. Moim zdaniem problem jest gdzie indziej, nie wydaje mi się ,że błedy w adresowaniu są w stanie zablokować atmegę co najwyżej PCF może nie działać i tyle.

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą )

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą )

Mikrokontroler oczekuje odpowiedzi układu na adresie 0x7F. U mnie pracuje PCF8574AN produkcji NXP i działa bezbłędnie. Układ WM8805 pracuje na adresie 0x74, więc konflikty są wykluczone.

 

Krzychu, a jakim sposobem PCF miałby zepsuć stabilizator? Przecież 7805 posiada zabezpieczenia zarówno temiczne jak i przeciwzwarciowe!

 

Sytuacja jest co najmniej dziwna. Póki nie otrzymam od kogoś jednej sztuki takiego wrednego układu, nie będę mógł Wam pomóc.

Edytowane przez mlb
korekta adresu (na prośbę Edwarda)

Mikrokontroler oczekuje odpowiedzi układu na adresie 0x3F. U mnie pracuje PCF8574AN produkcji NXP i działa bezbłędnie. Układ WM8805 pracuje na adresie 0x74, więc konflikty są wykluczone.

 

Krzychu, a jakim sposobem PCF miałby zepsuć stabilizator? Przecież 7805 posiada zabezpieczenia zarówno temiczne jak i przeciwzwarciowe!

 

Sytuacja jest co najmniej dziwna. Póki nie otrzymam od kogoś jednej sztuki takiego wrednego układu, nie będę mógł Wam pomóc.

Stab przeżył , ale był baaardzo gorący. Może opiszę po kolei jak to było: Płytkę polutowałem , umyłem w ipa, włożyłem w podstawkę PCF, podłączyłem programator i... zadziałał ogranicznik prądu 5V złącza USB w lapku. Nie wiedząc co jest grane , przystąpiłem do sprawdzenia ewentualnych zwarć, błędów. Wyjąłem PCF , odłączyłem 3,3V, zmieniłem fusebity i zaprogramowałem atmegę. Atmega ruszyła, podłączyłem 3,3V , procek działał. Zaprogramowałem ponownie z właściwymi fusebitami, włączyłem i nie było komunikatu o błedzie w komunikacji z WM. MSS sprawdziłem - działał. Włożyłem PCF i atmega nie ruszyła , a stab po 30 sekundach był gorący, napięcie spadło z 5V do około 3V.

Acha jeszcze jedno z tymi literkami P-Philips N-Texas Instruments . Dotyczy to starszych kości kiedy jeszcze na układach było logo Philipsa od kiedy jest NXP to nie jest takie oczywiste."N" i tu i tu. Sprawdziłem... sorki za nieaktualne informacje.

Edytowane przez Krzych 2

Po wymianie PCF na taki z literą "P", układ startuje i daje się programować bez wyciągania PCF.

Czy przełaczją się diody nie sprawdzałem pisząc poprzedni post.

Dzisiaj kiedy zapytał o to Edward postanowiłem to sprawdzić i okazuje się że nie przełączają się poprawnie.

Na wszystkich wyjsciach od P0 do P7 jest równo po 5V.

Czy oporniki wyjsciowe powinny mieć aż po 1.5k ?

>Edward

 

Pozwoliłem sobie wczytać HEX-a po AVR Studio.

I moje spostrzeżenia są następujące:

 

Odwołujesz się do adresów I2C 74h/75H czyli WM8805 oraz 7Eh/7Fh czyli PCF8574A z A2=A1=A0="1"

 

Natomiast zauważyłem, że prawdopodobnie nie inicjujesz prędkości I2C.

Co prawda wygląda, że jest taka procedura ale nie jest wywoływana.

Jeżeli możesz sprawdź to, bez kodów źródłowych trudno się zorientować

 

Jeżeli baudrate nie jest inicjowany to

po resecie procesora Prescaler I2C=1 , i TWBR=0 czyli otrzymujemy prędkość Fosc/16 co dla Fosc=8MHz da 500kHz.

WM8805 pewnie pociągnie (bo katalogowo jest do 400kHz) natomiast z PCF8574A może zależeć od egzemplarza (bo katalogowo tylko 100kHz)

 

Pozdrawiam

JarekC

Gość traxman

(Konto usunięte)

Wracając do powieszenia, to po pewnym czasie człowiek zaczyna wierzyć w cuda, miałem np. taki przypadek, ULN2003 zasilany z +12V, steruje przekaźnikiem regulującym grzałkę, w szereg z cewką wpięty jest dodatkowy termik, wyłączający cewkę przekaźnika awaryjnie. Niby nic dziwnego, ale po rozłączeniu termika i powrocie po ostudzeniu przekaźnik nie załącza się już ponownie, pomimo wysterowania wejścia ULN'a - a to przecież element bez pamięci!? Gdzieś po godzinach poszukiwań znalazłem notkę o pasożytniczym tyrystorze, który powstaje podczas procesu technologicznego i to jego działanie wybijało prosty układ z funkcji. Co gorsza powrót sterowania następował dopiero po wyłączeniu i ponownym załączeniu zasilania. Termik poleciał za styki, przekaźnik podłączyłem na stale do ULN'a i działa w setkach urządzeń do dzisiaj.

Podobnie jest z układami CMOS, które ze względu na mały pobór mocy potrafią się zachowywać irracjonalnie szczególnie gdy maja wiszące w powietrzu wejścia.

 

Osobiście PCF'ek nie używam, wolę HC164 lub HC595. Możesz podpiąć analizator do I2C i sprawdzić sekwencje startu/stopu, może gdzieś ginie kawałek adresu lub podwieszenie jest zbyt słabe.

Natomiast zauważyłem, że prawdopodobnie nie inicjujesz prędkości I2C.

Co prawda wygląda, że jest taka procedura ale nie jest wywoływana.

Dokładnie tak się stało! Procedura inicjacji kiedyś była wywoływana, ale to wywołanie gdzieś mi się w trakcie porządkowania kodu skasowało się. Oczywiście samo ;-) Na Wasze nieszczęście mój egzemplarz PCF8574A jakoś radzi sobie z taką wysoką częstotliwością, dlatego nie zauważyłem błędu w programie. Oczywiście poprawkę już wprowadziłem i na stronie dostępny jest nowy firmware MSS_2011-03-31.zip. Proszę uaktualnić. W sumie to rozwiązanie jest najlepsze z możliwych, bo usuniemy błąd najtańszym kosztem, bez wymiany układów.

 

Jarku, bardzo dziękuję za pochylenie się nad tematem i sugestie! Przyspieszyłeś znacznie wykrycie błędu. :-)

 

Wszystkich poirytowanych przepraszam za kłopot. Przy okazji przypomnę, że układ PCF8574A służy tylko i wyłącznie do sterowania diodami LED oznaczającymi wybrane wejście. Jeśli nie korzystasz z nich - możesz w ogóle nie montować tego układu.

 

Wracając do powieszenia, to po pewnym czasie człowiek zaczyna wierzyć w cuda

Do momentu, gdy zauważy, że od godziny mierzy układ, którego zapomniał zasilić. ;-) Wtedy sam masz ochotę powiesić się zamiast tego układu. :-)

Edytowane przez Edward

Dokładnie tak się stało! Procedura inicjacji kiedyś była wywoływana, ale to wywołanie gdzieś mi się w trakcie porządkowania kodu skasowało się. Oczywiście samo ;-) Na Wasze nieszczęście mój egzemplarz PCF8574A jakoś radzi sobie z taką wysoką częstotliwością, dlatego nie zauważyłem błędu w programie. Oczywiście poprawkę już wprowadziłem i na stronie dostępny jest nowy firmware MSS_2011-03-31.zip. Proszę uaktualnić. W sumie to rozwiązanie jest najlepsze z możliwych, bo usuniemy błąd najtańszym kosztem, bez wymiany układów.

 

Jarku, bardzo dziękuję za pochylenie się nad tematem i sugestie! Przyspieszyłeś znacznie wykrycie błędu. :-)

 

Wszystkich poirytowanych przepraszam za kłopot. Przy okazji przypomnę, że układ PCF8574A służy tylko i wyłącznie do sterowania diodami LED oznaczającymi wybrane wejście. Jeśli nie korzystasz z nich - możesz w ogóle nie montować tego układu.

 

 

Do momentu, gdy zauważy, że od godziny mierzy układ, którego zapomniał zasilić. ;-) Wtedy sam masz ochotę powiesić się zamiast tego układu. :-)

 

Super !!!

Bardzo dobra wiadomość.

 

>Edward

Z tego JarekC to niezły tropiciel jest. Może by tak jakieś 'jasne' przy najbliższej okazji :-)

 

>JarekC

dzięki za bezinteresowna pomoc !

 

Acha

Edward a pamiętałeś o podpięciu Power pod kolor ?

  • 2 tygodnie później...
  • 1 miesiąc później...

Również chętnie przygarnę elementy (płytkę + o trudniej dostępne kostki)

Lust is my sister, my muse and my whore

I stand on the mountain, and pray for the war

Pcf tez widzialem. Nie widze trafek i atmegi. Problemem bedzie tez dobry kwarc. (chociaz AFAIR mozna z niego zrezygnowac) Moze zorganizujemy jakiegos groupbuya malego?

Lust is my sister, my muse and my whore

I stand on the mountain, and pray for the war

atmega 328 jest generalnie problemem wszędzie (zbyt duża popularność samego układu i arduino ;-)

Nie wiem ile ma program ale może zmieści się w atmega 168 ?

piekarz.pl ma atmega (ale oni jakoś dziwnie liczą ceny dla klientów indywidualnych)

 

ja mam trafa z farnella ale jeśli mnie pamięć nie myli to na wolumenie można kupić.

 

mi brakuje chyba tylko adg3304 więc do tego bym chętnie dołączył.

Przejdę się jutro na giełdę. Jakieś konkretne miejsca na te kostki i trafa?

Lust is my sister, my muse and my whore

I stand on the mountain, and pray for the war

adg3304 będe próbował zastąpić max3378 z datasheeta wygląda na bezpośredni zamiennik (mniejsza maksymalna prędkość, która nie ma znaczenia przy i2c)

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą )

 

co do traf to musisz szukać. Edward pisał, że są w Gamma

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą )

Musze też jeden dokupić, ale nie priorytetowo.

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą )

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą )

Do gammy zadzwonie w pon.

Tak sobie mysle, ze przeciez wm8804 i kwarc moge zastosowac z WMDAC'a i podac i2s bezposrednio do wm8742.

Dobrze mysle, ze 8804 i 8805 sa kompatybilne?

Lust is my sister, my muse and my whore

I stand on the mountain, and pray for the war

Do gammy zadzwonie w pon.

Tak sobie mysle, ze przeciez wm8804 i kwarc moge zastosowac z WMDAC'a i podac i2s bezposrednio do wm8742.

Dobrze mysle, ze 8804 i 8805 sa kompatybilne?

Nie do końca. Funkcjonalnie to odbiorniki SPDIF przekształcające sygnał na I2S z własnym zegarem poprawiając to i owo przy okazji, z tym ,że 8805 ma 8 wejść ,a 8804 nie. Pinowo nie są zgodne w związku z tym. W jednym i drugim przypadku podając I2S na wm8742- będzie działać.

To spoko.

Tak czy siak muszę wylutować 8804 i kwarc z DAC'a bo będą potrzebne jak rybie rower.

Najwyżej nie użyję tego Wm'a w MSS.

 

Dzięki!

 

Czy jest opcja, żeby własnego taktowania WM8805 używał tylko do poprawiania niektórych wejść?

Z tego co wiem, w planowanym przez JarekC projekcie interfejsu USB na TAS1020B (który planuję podłączyć do MSS) jest taki zegar, że zwykły kwarc może co najwyżej zwiększyć mu jitter.

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą ) taki mam kwarc.

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą ) Edytowane przez ov_Darkness

Lust is my sister, my muse and my whore

I stand on the mountain, and pray for the war

To spoko.

Tak czy siak muszę wylutować 8804 i kwarc z DAC'a bo będą potrzebne jak rybie rower.

Najwyżej nie użyję tego Wm'a w MSS.

 

Dzięki!

 

Czy jest opcja, żeby własnego taktowania WM8805 używał tylko do poprawiania niektórych wejść?

Z tego co wiem, w planowanym przez JarekC projekcie interfejsu USB na TAS1020B (który planuję podłączyć do MSS) jest taki zegar, że zwykły kwarc może co najwyżej zwiększyć mu jitter.

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą ) taki mam kwarc.

 

Żeby była jasność. Nie możesz zastosować WM8804 zamiast WM8805 na płytce MSS!!!

Nie musisz wylutowywać tego 8804 może Ci się jeszcze przydać , wystarczy ,że nie będzie zasilany. Ja bym kwarc i kość zostawił, przecież nie wiadomo co diyowcowy może do łba strzelić w przyszłości :). Co do Twojego drugiego pytania to z tego co mi wiadomo- nie da się.

Kwarc przyzwoity- 10ppm

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą ) Edytowane przez Krzych 2

To spoko.

Tak czy siak muszę wylutować 8804 i kwarc z DAC'a bo będą potrzebne jak rybie rower.

Najwyżej nie użyję tego Wm'a w MSS.

 

Dzięki!

 

Czy jest opcja, żeby własnego taktowania WM8805 używał tylko do poprawiania niektórych wejść?

Z tego co wiem, w planowanym przez JarekC projekcie interfejsu USB na TAS1020B (który planuję podłączyć do MSS) jest taki zegar, że zwykły kwarc może co najwyżej zwiększyć mu jitter.

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą ) taki mam kwarc.

Dopiero teraz zajarzyłem co chcesz zrobić i wiesz co ja będę robił podobnie. Przełączanie I2S z USB i z MSS planuję wykonać multiplekserem np. 74HC244 lub podobnym. Chyba ,że się mylę i masz inną koncepcję.

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą )

Ano inną.

Zbyt wielki skrót myślowy, jak sądzę

 

Że 04 i 05 nie są kompatybilne pin-pin zrozumiałem za pierwszym razem :)

 

Podłączę płytkę na TAS1020B pod MSS, żeby mieć sterowanie z pilota.

MSS bezpośrednio do DAC. Mogę podpiąć wyjście S/PDIF MSS do wejścia WM8804 w DAC'u, tylko po co, skoro mogę wyjść z MSS I2S'em?

Wtedy zbędny jest mi zarówno WM8804 na DAC'u, jak i taktujący go kwarc.

WM8804 zostawię sobie na potem, kwarc wsadzę w MSS bo dobry.

Płytka JarekC daje bardziej dokładny sygnał niż ten kwarc (rzędu pojedynczych ppm, AFAIR), więc nie ma sensu poprawianie lepszego gorszym.

 

Wychodzi na to, że muszę mieć 2xWM8805 w DAC'u, a WM8804 jest zbędny. Ponieważ to nie są supertanie elementy, staram się ich zużyć jak najmniej.

Lust is my sister, my muse and my whore

I stand on the mountain, and pray for the war

  • Pokaż nowe odpowiedzi
  • Dołącz do dyskusji

    Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
    Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.

    Gość
    Dodaj odpowiedź do tematu...

    ×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

      Dozwolonych jest tylko 75 emoji.

    ×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

    ×   Przywrócono poprzednią zawartość.   Wyczyść edytor

    ×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.



    • Ostatnio przeglądający   0 użytkowników

      • Brak zarejestrowanych użytkowników przeglądających tę stronę.
    • Biuletyn

      Chcesz być na bieżąco ze wszystkimi naszymi najnowszymi wiadomościami i informacjami?
      Zapisz się
    • KONTO PREMIUM


    • Ostatnio dodane opinie o sprzęcie

      Ostatnio dodane opinie o albumach

    • Najnowsze wpisy na blogu

    ×
    ×
    • Dodaj nową pozycję...

                      wykrzyknik.png

    Wykryto oprogramowanie blokujące typu AdBlock!
     

    Nasza strona utrzymuje się dzięki wyświetlanym reklamom.
    Reklamy są związane tematycznie ze stroną i nie są uciążliwe. 

     

    Nie przeszkadzają podczas czytania oraz nie wymagają dodatkowych akcji aby je zamykać.

     

    Prosimy wyłącz rozszerzenie AdBlock lub oprogramowanie blokujące, podczas przeglądania strony.

    Zarejestrowani użytkownicy + mogą wyłączyć ten komunikat oraz na ukrycie połowy reklam wyświetlanych na forum.