logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] Transmisja danych 800kHz między płytkami z diodami LED RGB (IN-PI20TAT) i STM32, taśma IDC 60cm

Obywatel LutZek 17 Maj 2023 14:32 516 7
  • #1 20583941
    Obywatel LutZek
    Poziom 13  
    Mam pytanie z zakresu transmisji danych pomiędzy płytkami przy częstotliwościach wyższych niż zwykły UART, a jeszcze nie high-speedowych. Chcę sterować programowalnymi diodami LED RGB z mikrokontrolera STM32. Są to diody IN-PI20TAT: Datasheet

    Zalecana prędkość transmisji wynosi 800kHz przy czym z dokumentacji nie wynika jasno, czy ta częstotliwość może być niższa. Diody będą znajdowały się na innej płytce niż mikrokontroler. Płytki będą połączone ze sobą przy pomocy taśmy IDC o długości do 60cm. Daje to w przybliżeniu dodatkową indukcyjnosć 0.6uH na linii danych i linii masy + pasożytnicze pojemności. Stwierdziłem, że w tej sytuacji dobrze będzie zastosować transmisję różnicową. Pierwszy do głowy przyszedł mi LVDS, natomiast ten standard wymaga określonej impedancji połączenia, której nie jestem w stanie zapewnić przy taśmie IDC. Poza tym to trochę przerost formy nad treścią, ponieważ LVDS jest przeznaczony na ~500 razy wyższe częstotliwości.

    Czy jest jakieś inne rozwiązanie korzystające z niesymetrycznego zasilania 3.3V (chodzi o układ scalony), czy muszę poskładać różnicowy transmiter / odbiornik na różnicowych wzmacniaczach operacyjnych?

    Pozdrawiam
  • #2 20583954
    jarekgol
    Poziom 38  
    Nie wiem jak dużo masz kanałów, ale RS 485 lub 422 może pomóc, a układów do niego pełno. Sprawdzałeś czy przy tej taśmie i twoim sygnale zbocza są rzeczywiście zepsute?
    Rzuć okiem w google na "differential transmitter ic"
  • #3 20584030
    excray
    Poziom 41  
    800kHz i 60cm to żaden problem. Możesz co najwyżej szeregowo dać oporniki 33R do tłumienia oscylacji.
  • Pomocny post
    #4 20585050
    tmf
    VIP Zasłużony dla elektroda
    @Obywatel LutZek Jeśli musisz to użyj np. transceiverów do rs485. Jeżeli t jest jakaś pojedyncza taśma w normalnym, niezaszumionym środowisku, to można się pokusić o puszczenie tego na żywioł. Kwestia jak często odświeżasz te LEDy? Czy dopuszczasz jakieś przekłamania? Jeśli wyświetlane efekty są dynamiczne, to nawet jeśli od czasu do czasu będzie przekłamanie to tragedii nie ma.
  • #5 20585133
    Janusz_kk
    Poziom 38  
    Obywatel LutZek napisał:
    Czy jest jakieś inne rozwiązanie korzystające z niesymetrycznego zasilania 3.3V (chodzi o układ scalony), czy muszę poskładać różnicowy transmiter / odbiornik na różnicowych wzmacniaczach operacyjnych?

    Transmisja prądowa, czyli nadajnik to tranzystor do masy i opornik ograniczający prąd a odbiornik na drugiej płytce to dioda transoptora szybkiego np 6n137, ma on gwarantowane 10Mbps i jest tani.
  • #6 20585338
    Obywatel LutZek
    Poziom 13  
    tmf napisał:
    @Obywatel LutZek Jeśli musisz to użyj np. transceiverów do rs485. Jeżeli t jest jakaś pojedyncza taśma w normalnym, niezaszumionym środowisku, to można się pokusić o puszczenie tego na żywioł. Kwestia jak często odświeżasz te LEDy? Czy dopuszczasz jakieś przekłamania? Jeśli wyświetlane efekty są dynamiczne, to nawet jeśli od czasu do czasu będzie przekłamanie to tragedii nie ma.


    Częstotliwość odświeżania, to 50Hz, natomiast jedno takie połączenie obsługuje 240 diod LED, co daje 288kbps. Efekty nie są dynamiczne - chodzi o prezentację parametrów urządzenia. Wpadłem na "złoty" pomysł otoczenia potencjometrów syntezatora wiankiem diod LED, aby w razie wczytania presetu z pamięci można było łatwo zorientować się jakie są nowe parametry, co wskażą diody LED. W praktyce może być tak, że przez większość czasu niewiele będzie się działo. Napisałem do dostawcy diod bo jeszcze nie do końca rozumiem sposób sterowania. Z datasheetu wnioskuję, że transmisja danych powinna odbywać się na częstotliwości 800kHz, natomiast pomiędzy ramkami mogą być dłuższe przerwy.

    Jak na razie zrobiłem symulację połączenia. Dodatkowo projektuję prototypowe płytki, żeby przetestować na żywo zarówno transmisję single-ended jak i różnicową.

    Poniższe wyniki można znacząco poprawić jeśli uda się zwolnić zboczę narastajace i opadające nadajnika:
    Transmisja danych 800kHz między płytkami z diodami LED RGB (IN-PI20TAT) i STM32, taśma IDC 60cm

    Wstępnie wydaje się, że na częstotliwości 800kHz transmisja single ended ma szansę zadziałać.

    Parametry symulacji:

    Wstążka IDC:
    L = 1uH/m
    C = 45pF/m
    R = 50m/m

    -Długość wiązki 0.6m
    -Model wstążki stworzony z 24 małych bloków RLC
    -Dodatkowa pasożytnicza pojemność 10pF na wejściu i wyjściu połączenia
    -2 rezystory 220 Ohm dla tłumienia oscylacji i nie przekraczania wydajności prądowej nadajnika

    Dodatkowym utrudnieniem jest to, że masa pomiędzy płytkami jest prowadzona również przez wstążkę IDC, a więc dodatkową pasożytniczą indukcyjność. Powoduje to wyraźne zakłócenia na linii masy.



    Charakterystyka częstotliwościowa dla sygnału wejściowego do bramki schmidta będącej odbiornikiem:
    Transmisja danych 800kHz między płytkami z diodami LED RGB (IN-PI20TAT) i STM32, taśma IDC 60cm


    Natomiast jeśli zwolnić zbocze np. przez dodanie przy nadajniku sekcji T złożonej z dwóch rezystorów i kondensatora wyniki są znacznie lepsze.
  • #7 20586431
    JacekCz
    Poziom 42  
    Sąsiedzi np krótkofalowcy obdarzą cię dozgonną miłością
  • #8 20640961
    Obywatel LutZek
    Poziom 13  
    Zdecydowałem się zastosować transmisję różnicową - RS-485. Zobaczymy co z tego będzie.
REKLAMA