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

Transmisja 30 bitów w 1us

GienekS 12 Gru 2005 13:17 2639 21
  • #1 2076578
    GienekS
    Poziom 32  
    Jak w temacie chodzi o przesłanie oraz odbiór 30 bitów w światłowodzie w czasie 1 us.
    Czy ktoś już miał do czynienia z takimi prędkościami ?
    Na czym najprościej to zrobić ? Znam AVR ale one są do tego za słabe.
  • #2 2077569
    And!
    Admin grupy Projektowanie
    Na jaką odległość ?
    Koniecznie światłowodem ?
    Wypada że szeregowo trzeba by przesłać z częstotliwością 30MHz.
  • #3 2077693
    GienekS
    Poziom 32  
    And! napisał:
    Koniecznie światłowodem ?
    KONIECZNIE !!! Światłowodem.
    Odległość jest drugorzędną sprawą.
  • #4 2078842
    shg
    Poziom 35  
    Można i na AVR, ale trzeba by dorobić do niego jakiś zewnętrzny układzik - rejestr SIPO, do tego jakaś synchronizacja, która z kolei wymusza zastosowanie jakiejś modulacji.
    Można zrobić coś na kształt PWM.
    Powiedzmy, że zero to wypełnienie 25%, a jedynka to 75%. Początek okresu jest zawsze zerem, a "wypełniamy" okres od końca.
    I tak:
    - Zbocze opadające sygnału ze światłowodu wyzwala przerzutnik monostabilny z ustawionym czasem (0.5/30)us
    - Sygnał ze światłowodu podawany jest na wejście rejestru SIPO
    - opadające zbocze przerzutnika jest sygnałem zegarowym dla rejestru SIPO.
    - równoległe wyjścia rejestru SIPO do któregoś z portów proca, w ten sposób mamy częstotliwość przesyłania sygnału tyle razy mniejszą, ile bitów ma rejestr SIPO.

    Bez problemu można to w TTL (czy HC/HCT) zrealizować.

    W drugą stronę będzie już nieco trudniej - dwa przerzutniki monostabilne ((0.25/30) i (0.75/30)us), rejestr PISO i zewnętrzny generator 30MHz
  • #5 2079068
    GienekS
    Poziom 32  
    Twoja shg koncepcja jest jasna tylko trochę będzie trzeba popracować nad stroną nadawczą. Co do tego wydłużenia czasu przez rejestr SIPO to się nie zgodzę bo ja muszę w każdej 1us wysłać i odebrać (po stronie odbiorczej) te 30 bitów. Dla wyjaśnienia podam że liczba tych bitów jest sumą informacji z ADC i wejść I/O. W sumie gdyby się to zrobiło na drodze sprzętowej to faktycznie AVR by się wyrobił bo jest to załadowanie 30/8 rejestrów.
    A jakby do tego zastosować jakiś DSP, przykładowo tms320vc5501 ?
    Albo ARM tylko myślę że powinien to już być rdzeń ARM9 bo siudemka chyba się nie wyrobi.
    Co wy na to ?
  • #6 2100682
    Luklukowaty
    Poziom 19  
    co do ARMów - one mają kłopoty z szybką zmianą pojedynczych nóżek - był kiedyś artykuł o tym w EP. Proponuje albo szybszą wersję procka opartego na rdzeniu 51 - Cypress lub dać FPGA - i po kłopocie, on się na pewno wyrobi, a koszt tańszego to około 60zł
  • #7 2101370
    strdaniel
    Poziom 20  
    Luklukowaty napisał:
    co do ARMów - one mają kłopoty z szybką zmianą pojedynczych nóżek - był kiedyś artykuł o tym w EP. Proponuje albo szybszą wersję procka opartego na rdzeniu 51 - Cypress lub dać FPGA - i po kłopocie, on się na pewno wyrobi, a koszt tańszego to około 60zł


    nie do końca jest to prawdą co kolega napisał
    prawda że army philipsa lpc 213x miały problemy z szybkością zmiany portów i/o ale układy 214x już tej wady nie mają i potrafią zmieniać tak jak np. avr-y z szybkościa 1/4 taktowania proca ALE !!!!
    ale proszę pamiętać o tym że procesory arm pracują przy dużo wyższych częstotliwościach pracy bo nawet do 60 MHz (i więcej)
    a nawet najszybsz procesory 51 nie osiągają takich taktowań ja znam najszbyszą z dallasa o ile się nie myle około 30 MHz
    a na dodatek 51 wolno zmieniają porty (w przciwieństwie do avr-ów)
    :D
  • #8 2103681
    GienekS
    Poziom 32  
    Luklukowaty napisał:
    rdzeniu 51 - Cypress lub dać FPGA
    Kto w Polsce zajmuje się dystrybucją procesorów Cypress ? Jakie FPGA miałeś na myśli ?
    Co do ARM-ów to miałem na myśli AT91RM9200
  • #9 2105611
    Luklukowaty
    Poziom 19  
    Nie mam zielonego pojęcia kto się zajmuje dystrybucją Cypressa - ale pamiętam, że ktoś coś na nim robił - tak więc jest gdzieś dostępny - trzeba troche zagooglować. Co do FPGA - chyba dowolny wybór, byle by się zmieściło cała logika. (nie wiem, np. podstawowy Spartan).
  • #10 2107227
    megao
    Poziom 24  
    Zastosowanie FPGA do takiego projektu jest nieuzasadnione i niepotrzebnie skomplikuje całą konstrukcję. Lepszy będzie tutaj jakiś PLD. Nowe układy tego typu z pamięcią FLASH mają całkiem spore możliwości, np. z oferty Altery można kupić MAX II posiadający 20k bramek po cenie detalicznej ok. 100zł + VAT.
  • #11 2107346
    GienekS
    Poziom 32  
    Byłem na stronce http://www.altera.com/ale nigdy nie miałem z tymi układami do czynienia i nie wiem jak podejść do wyboru odpowiedniego typu aby się "wyrobił" w mojej aplikacji.
  • #12 2107520
    megao
    Poziom 24  
    Wyboru układu należy dokonać na podstawie wyników symulacji układu prototypowego w Quartusie, albo... na oko.
    Tak naprawdę to są trzy możliwości EPM240/G, EPM570/G, EPM1270/G, odpowiednio 5k, 10k i 20k bramek logicznych. Te elementy produkowane są w obudowach TQFP.
    Układ największy EPM2210/G jest produkowany jedynie w obudowach BGA, a więc do amatorskich projektów odpada.
    Na potrzeby transmisji najprościej będzie zaprojektować układ prototypowy we własnym zakresie (komercyjne mają zbyt dużo wodotrysków).

    Parametry czasowe układów MAX II powinny być wystarczające do tego zastosowania, warto zwrócić uwagę na dopuszczalną częstotliwość pracy elementów dostępnych u dystrybutora.
  • #13 2110673
    GienekS
    Poziom 32  
    megao napisał:
    Na potrzeby transmisji najprościej będzie zaprojektować układ prototypowy we własnym zakresie (komercyjne mają zbyt dużo wodotrysków).
    nie rozumiem, co masz na myśli pisząc układ prototypowy we własnym zakresie A o co chodzi z tymi komercyjne
  • #14 2113817
    megao
    Poziom 24  
    Układy komercyjne, to te dostępne w handlu, na polskim rynku jest bardzo krucho z zestawami pod MAXII.
    Lepiej chyba zbudować coś samemu. To co potrzebne do budowy takiego zestawu, to oczywiście MAXII, stabilizator 3,3V, generator kwarcowy, no i ewentualne złącza. Problematyczne może być jedynie wykonanie płytki drukowanej oraz wlutowanie MAXa (obudowa TQFP144 z rastrem 0,5mm), ale ... bez przesady.

    Sprawa projektowania i programowania takich układów wygląda całkiem nieźle. Oprogramowanie można ściągnąć za free z www.altera.com, natomiast programator kompatybilny z ByteBlasterII można kupić za nieduże pieniądze z www.propox.com.
  • #15 2113887
    GienekS
    Poziom 32  
    Na stronie ALTERA w dziale Download Center jest tego sporo. Od czego, jakiego programu twoim zdaniem, powinienem zacząć ? Żeby od razu się do tego nie zrazić.
    Apropo ByteBlasterII, jak ten produkt w Propoxe się nazywa bo takiej nazwy nie znalazłem w programatorach.
  • #16 2114049
    megao
    Poziom 24  
    Środowisko programistyczne (w zasadzie jest to cały kombajn) umożliwiające tworzenie projektów między innymi pod układy MAXII, to QuartusII Web Edition.
    http://www.altera.com/products/software/products/quartus2web/sof-quarwebmain.html
    Przed ściągnięciem konieczna jest rejestracja.
    Jest to darmowa wersja pełnego pakietu, ograniczenia dotyczą braku obsługi bardziej zaawansowanych struktur FPGA, dla których to nie jest możliwe tworzenie projektów w tej wersji. Ale w tym przypadku, to nie ma znaczenia.
    Projekty dla układów MAXII nie mają ograniczeń ani rozmiaru pliku źródłowego, ani rozmiaru pliku wynikowego.

    Bezpośrednio z poziomu QuartusaII można programować MAXy II wykorzystując programator ByteBlasterII produkowany przez Alterę, niestety dosyć kosztowny.
    Alternatywą jest zamiennik dostępny w Propoksie
    http://www.propox.com/products/t_120.html
  • #17 2114937
    GienekS
    Poziom 32  
    Jakie masz doświadczenie z tym oprogramowaniem ? Bo widzę z tego że jest to pod Windows XP i 2000 czy sowtwer ten poleci na 98 SE ?
    No jest tego trochę 250MB zobaczymy jak się ściągnie.
  • #18 2115240
    megao
    Poziom 24  
    Używam tego programu raczej edukacyjnie i ogólnie pracuje się bezproblemowo.
    Altera ma duże doświadczenie z programami tego typu (wcześniej był rozwijany MAX+PLUS, obecnie wycofywany) a więc jest to środowisko dobrze przemyślane zawierające wszystkie niezbędne programy umożliwiające tworzenie, testowanie i implementację projektu w docelowym układzie.
    Jak wiadomo w każdym rozwijanym środowisku zdarzają się błędy więc należy sprawdzać dostępność ewentualnych aktualizacji.

    Niestety QuartusII działa tylko pod Windowsem 2000/XP (być może 2003), stare Windowsy 98 tu się nie sprawdzą.
  • #19 2116123
    GienekS
    Poziom 32  
    Oj to fatalnie. Będę musiał znowu kupić nowy system operacyjny.
  • #20 2121275
    bis
    Poziom 21  
    Jeżeli jeszcze nie wybrałeś to popglądaj układy CPLD Xilinx'sa. Oprogramowanie (darmowe) jest też w wersji na Linuksa.
  • #21 2123689
    GienekS
    Poziom 32  
    bis napisał:
    Jeżeli jeszcze nie wybrałeś to popglądaj układy CPLD Xilinx'sa. Oprogramowanie (darmowe) jest też w wersji na Linuksa.
    A gdzie ich szukać ?
    Nie ma nic pod 98 dla nich ??
  • #22 2124566
    bis
    Poziom 21  
    www.xilinx.com
    może są tam wcześniejsze wersje narzędzi (do CPLD zawsze były darmowe) które się nadają do 98. Ja nie mam pojęcia bo z 98 uciekłem już dawno.
    w Polsce dystrybutorem kości jest Avnet-Silica. bez problemu i szybko, Jest też FAE, poradzą Tobie w sprawie softu na 98.
REKLAMA