Elektroda.pl
Elektroda.pl
X
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Atmega16 - i2c izolowane galwanicznie.

26 Mar 2013 10:54 2766 14
  • Poziom 26  
    Witam, problemem okazało się to że, atmega jako układ impulsowy ostro zakłócał mi część analogową. Postanowiłem zrezygnować ze wspólnej masy.
    Teraz chciałem się zapytać: Czy jest możliwość wykonania izolacji galwanicznej na transoptorach PC817C dla jednokierunkowej transmisji i2c (mikro kontroler wysyła) ?
  • PCBway
  • Pomocny post
    Specjalista - Mikrokontrolery
    Jeśli już, to na układach specjalizowanych dla I2C, chyba ADUM1250. Z tym rozdzieleniem mas to nie musi być dobry pomysł. Rozdziel i dobrze przefiltruj zasilania. Dobrym filtrem jest np. dowolny LDO.
  • PCBway
  • Poziom 26  
    Problemem jest właśnie masa, bo nawet z osobnego zasilania się okropnie niosło.
    Może po prostu kiepskie prowadzenie.. cóż, zobaczymy.
  • Pomocny post
    Poziom 39  
    Albo coś takiego:
    Atmega16 - i2c izolowane galwanicznie.
    Zamiast 6N139 można dać PC817.
  • Poziom 26  
    Dzięki ogromne ! zaraz to wypróbuję.
    Zamiast tych diod mogę dać 1n4148 ?
  • Pomocny post
    Poziom 39  
    Możesz spróbować. Niemniej BAT85 ma mniejszy spadek napięcia.
  • Pomocny post
    Poziom 18  
    a jaką częstotliwość będziesz w stanie przepuścić przez te transoptory?
    Lepiej dać ADUM1250, tak jak proponuje BlueDraco? Działa do 1000kHZ i ten 1 scalak + parę kondensatorów załatwia ci wszystko.
    A może to nie masa jest problemem? Iluwarstwową masz płytkę? Jeśli pod ścieżkami z sygnałami analogowymi prowadzisz cyfrowe, albo masą pod analogowymi wracają prądy powrotne sygnałów cyfrowych (można to sobie z grubsza zanalizować patrząc na layout), to nawet jak analogówka będzie na "wyspie" to też się może zakłócać. Najlepiej pokaż layout z zaznaczeniem obszarów analogowych, cyfrowych, zegarów i sygnałów o szybkich zboczach.
  • Poziom 26  
    Wiem, płytka tragiczna.
    Kombinowałem już na różne sposoby, oddzielając masę cyfrową i analogową itd.
    Problemem jest to, że w/w układ jest ciężki do zdobycia, i dość drogi..
    Atmega16 steruje TEA5767 (którego ostro zakłóca gdy wykonuje jakąkolwiek instrukcję.)
    i TDA8524.

    wiem że pcb, które mam do tej pory jest tragiczne, chcę zrobić nowe.
    Tyle że chciałbym uniknąć tych szumów, pisków i stuków, wywoływanych przez mikrokontroler, dlatego staram się zabezpieczyć część analogową przed jakimikolwiek zakłóceniami.
    Dodam że do tej pory również próbowałem zasilać z osobnych zasilaczy część cyfrową i analogową, filtrować zasilanie, itd. Nic nie dało.
    ogólnie chciałbym oddzielić część analogową i cyfrową na 2 osobne PCB, i to z tunerem i procesorem dźwięku dobrze za-ekranować.

    Dodano po 30 [sekundy]:

    Atmega16 - i2c izolowane galwanicznie.
  • Pomocny post
    Poziom 18  
    ups :D Człowieniu, masz dwuwarstwowy layout, na którym nie wylałeś żadnego plane'u masy. To powinno być karane.
    Polecałem ten dokument już wiele razy, ale napiszę jeszcze raz:
    Partitioning and Layout of a Mixed-signal PCB

    To tzw. "must-read'. Zapoznaj się i odpowiedz sobie na pytanie, czemu masz zakłócenia na płytce :D
    Gdybyś chociaż zrobił masę i VDD w topologii gwiazdy (w miarę) to już by było lepiej (ale tylko troszkę). No ale ty masz płytkę dwuwarstwową, więc chociaż masę można było wylać "po całości" na spodzie, a na górze prowadzić VDD starając się minimalizować tzw. wspólną impedancję. I starając się minimalizować liczbę przejść ścieżek na stronę Bottom płytki.
    O rozdzieleniu obszarów analogówki i cyfrówki nie wspominam, masz to opisane w linku, który podałem.
    Generalnie możesz się często spotkać z hasłem, że masy łączymy w jednym punkcie, przy zasilaczu. Jest to b. często powtarzany slogan, coś jak "urban legend", niestety nieprawdziwa. Ponownie odsyłam do pdfa z linku.

    LemuRR 11 napisał:
    Tyle że chciałbym uniknąć tych szumów, pisków i stuków, wywoływanych przez mikrokontroler, dlatego staram się zabezpieczyć część analogową przed jakimikolwiek zakłóceniami

    To nie brak separacji galwanicznej jest na tej płytce problemem.
    Natomiast zasilanie analogówki z oddzielnego stabilizatora nie zaszkodzi, ale to dopiero kolejny krok. Pierwszym, niezbędnym jest poprawienie layoutu bez zmieniania schematu.

    Zaraz zaraz, już się poprawiam - dopiero teraz zauważyłem, że na ścieżkach czerwonych zamalowałeś na niebiesko, żeby pokazać, gdzie jest masa. No więc płytka jest jednowarstwowa, co trochę zmienia postać rzeczy :).
    W każdym razie, skoro to układ audio, ja bym ci polecał przejść na layout dwuwarstwowy, obudowy SMD a nie THD itp. No ale jeśli to niemożliwe, to chociaż popraw te masy, daj szersze ścieżki i dobrze rozplanuj to, którędy idą sygnały cyfrowe, którędy analogowe - pomiędzy ich obszarami też puść masę lub zasilanie (np. daj jak najgrubsze 2 pionowe szyny masy spotykające się w tym wypadku faktycznie przy stabilizatorze i z lewej szyny odjeżdzaj na lewo do analogówki, a z prawej na prawo do cyfrówki. I w żadnym wypadku nie krzyżuj sygnałów cyfrowych z analogowymi.
    A i tak SNR na PCB jednowarstwowej dobry nie będzie :D
  • Poziom 26  
    Dzięki za obszerną odpowiedź :)
    Więc tak: W torze audio, jeżeli jest przełączony na źródło zewnętrzne, nie ma problemu, nic nie słychać. Ale problem leży głównie w tym, że sama głowica jest mocno zakłócana, i na niektórych częstotliwościach (np 96,7) jest to niedopuszczalne.
  • Pomocny post
    Poziom 20  
    Zasilanie części cyfrowej jest przez strasznie długą ścieżkę masy. Na szybko to możesz wpiąć zasilanie, tj masę i 5V w środku, pomiędzy uC i TEA (po prawej stronie płytki, mniej więcej w środku wysokości, nad takim elementem o 10 nóżkach?). Szeregowo na I2C możesz dać rezystory po 100 omów - to ograniczy szpilki prądowe podczas transmisji. Dławik na zasilaniu części analogowej (lub cyfrowej, zależnie od "czystości" źródła zasilania).
  • Poziom 26  
    Niestety, podczas transmisji, nie nasilają się zgrzyty, nie to jest problemem.
    Najsilniej jest wtedy, gdy mikro-kontroler wykonuje jakieś zadanie w pętli.
    Próbowałem przeciąć tą ścieżkę masy pod mikro kontrolerem, i poprowadzić ją z wejścia po lewej. Niestety nie pomogło.
  • Pomocny post
    Poziom 18  
    Tak naprawdę masa powinna być blisko każdego sygnału cyfrowego i analogowego, żeby zbierać prądy powrotne i żeby powierzchnie pętli były małe. Przy layoucie dwuwarstwowym jest to dużo prostsze, bo wylewasz plane i starasz się go nie ciąć zbyt wieloma ścieżkami. W tym layoucie możesz co najwyżej na szybko spróbować na każdej ścieżce masy dolutować leżący na niej płasko przewód, od padu do padu - zmniejszy to impedancję tej masy i zakłócenia nie będą się tędy (aż tak) przenosić. To samo z plusem zasilania.

    Przeanalizuje sobie takie coś: powierzchnia obszaru zamkniętego przez:
    VCC -> MCU -> pin MCU czymś sterujący -> odbiornik tego sterowania -> GND

    powinna być jak najmniejsza. Tak jest dla każdego sygnału, nie chodzi tylko o MCU i jego "odbiorniki". To tylko jedna z podstawowych zasad, których trzeba się trzymać. U ciebie te pętle są spore, ścieżki zasilania cienkie i cholera wie, którędy dokładnie zakłócenia się przenoszą.
  • Poziom 26  
    Dzięki za odpowiedź, nie trzyma mnie płytka jednostronna :)
    Postaram się to zrobić na 2-stronnej.
    Pytanie- czy pole masy na górze i dole ma się łączyć tylko w jednym punkcie ? Nigdzie nie znalazłem info.
  • Poziom 18  
    Na dole zrób pole masy. Na górze VCC, tam gdzie się uda, starając się nie robić wąskich gardeł (czasem oczywiście będziesz musiał przejść z VCC i niektórymi sygnałami na spodnią stronę płytki, to nieuknione).
    Przeczytałeś dokument, który podałem w pierwszym linku? Zanim zaczniesz layout rozplanuj dobrze położenie elementów, potem przemyśl VCC (bo GND będziesz miał z założenia wszędzie pod spodem każdego elementu). Pokazuj layout na bieżąco, postaram się pomóc.
    BTW, wiesz jak i gdzie kłaść kondensatory filtrujące zasilanie poszczególnych IC?
    Aha, a na razie zastosuj się do rad DXFM i napisz, czy pomogło.