eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaTaktowanie kilku układów (pytania odnośnie SPI)
Ilość wypowiedzi w tym wątku: 2

  • 1. Data: 2014-06-07 16:41:25
    Temat: Taktowanie kilku układów (pytania odnośnie SPI)
    Od: Atlantis <m...@w...pl>

    Planuję złożyć bramkę, która będzie pośredniczyła w komunikacji pomiędzy
    lokalną siecią komputerową i kilkoma magistralami (na pewno CAN i
    radiową, być może dodam jeszcze RS485).

    Urządzenie będzie więc posiadało następujące interfejsy komunikacyjne:
    1) Ethernet w oparciu o ENC28J60.
    2) CAN w oparciu o MCP2115 i ISO1050DUB.
    3) Radiowy w oparciu o RFM69HW.
    4) Być może jakiś izolowany transceiver RS485.

    Trzy pierwsze układy pracują na magistrali SPI i wymagają taktowania,
    przy czym moduł radiowy posiada własny kwarc, więc można go pominąć w
    dalszych rozważaniach. Łącznie z MCU mamy trzy układy, które wymagają
    sygnału taktującego. W przypadku ENC28J60 i MCP2515 jest to 25MHz,
    ATmega będzie potrzebowała maksymalnie 16MHz.
    W sytuacji, gdy MCU miał współpracować z ENCJ, zwykle "karmiłem" go
    12,5MHz z CLKOUT tego układu.

    Tutaj jednak sytuacja jest bardziej skomplikowana i zastanawiam się jak
    ją rozwiązać. Jest kilka opcji:

    1) Najprostsze: ENC28J60 i MCP2515 mają własne kwarce, jeden z tych
    układów taktuje również ATMegę sygnałem 12,5MHz z CLKOUT.
    2) Tylko jeden z układów ma swój kwarc, udostępniając drugiemu 25MHz na
    CLKOUT. Ten z kolei taktuje ATmegę sygnałem podzielonym przez dwa.
    Zastanawiam się tylko jak zachowają się układy zaraz po włączeniu
    zasilania, do domyślnych preskalerach, zanim odpowiednie wartości
    zostaną ustawione. Sygnał będzie dzielony dwukrotnie, bardziej niż potrzeba.
    Ktoś może wie dlaczego nota MCP2115 (str. 53) zawiera schemat, na którym
    układ jest taktowany z zewnętrznego źródła przez bufor odwracający? W
    nocie ENC28J60 nie ma niczego takiego. ATmegę też zawsze taktowałem
    bezpośrednio (oczywiście biorąc pod uwagę zasilanie tym samym napięciem).

    Kolejna sprawa to magistrala. Co powinienem raczej zrobić?
    a) Podłączyć wszystkie urządzenia do jednej, sprzętowej magistrali?
    b) Sprzętowe SPI przeznaczyć tylko dla ENC28J60, a potem skorzystać z
    wolnych pinów i pozostałym układom zorganizować programowe SPI?


  • 2. Data: 2014-06-10 10:44:35
    Temat: Re: Taktowanie kilku układów (pytania odnośnie SPI)
    Od: Michał Lankosz <m...@t...pl>

    W dniu 2014-06-07 16:41, Atlantis pisze:
    > Planuję złożyć bramkę, która będzie pośredniczyła w komunikacji pomiędzy
    > lokalną siecią komputerową i kilkoma magistralami (na pewno CAN i
    > radiową, być może dodam jeszcze RS485).
    >
    > Urządzenie będzie więc posiadało następujące interfejsy komunikacyjne:
    > 1) Ethernet w oparciu o ENC28J60.
    > 2) CAN w oparciu o MCP2115 i ISO1050DUB.
    > 3) Radiowy w oparciu o RFM69HW.
    > 4) Być może jakiś izolowany transceiver RS485.
    >
    > Trzy pierwsze układy pracują na magistrali SPI i wymagają taktowania,
    > przy czym moduł radiowy posiada własny kwarc, więc można go pominąć w
    > dalszych rozważaniach. Łącznie z MCU mamy trzy układy, które wymagają
    > sygnału taktującego. W przypadku ENC28J60 i MCP2515 jest to 25MHz,
    > ATmega będzie potrzebowała maksymalnie 16MHz.
    > W sytuacji, gdy MCU miał współpracować z ENCJ, zwykle "karmiłem" go
    > 12,5MHz z CLKOUT tego układu.
    >
    > Tutaj jednak sytuacja jest bardziej skomplikowana i zastanawiam się jak
    > ją rozwiązać. Jest kilka opcji:
    >
    > 1) Najprostsze: ENC28J60 i MCP2515 mają własne kwarce, jeden z tych
    > układów taktuje również ATMegę sygnałem 12,5MHz z CLKOUT.
    > 2) Tylko jeden z układów ma swój kwarc, udostępniając drugiemu 25MHz na
    > CLKOUT. Ten z kolei taktuje ATmegę sygnałem podzielonym przez dwa.
    > Zastanawiam się tylko jak zachowają się układy zaraz po włączeniu
    > zasilania, do domyślnych preskalerach, zanim odpowiednie wartości
    > zostaną ustawione. Sygnał będzie dzielony dwukrotnie, bardziej niż potrzeba.
    > Ktoś może wie dlaczego nota MCP2115 (str. 53) zawiera schemat, na którym
    > układ jest taktowany z zewnętrznego źródła przez bufor odwracający? W
    > nocie ENC28J60 nie ma niczego takiego. ATmegę też zawsze taktowałem
    > bezpośrednio (oczywiście biorąc pod uwagę zasilanie tym samym napięciem).
    >
    > Kolejna sprawa to magistrala. Co powinienem raczej zrobić?
    > a) Podłączyć wszystkie urządzenia do jednej, sprzętowej magistrali?
    > b) Sprzętowe SPI przeznaczyć tylko dla ENC28J60, a potem skorzystać z
    > wolnych pinów i pozostałym układom zorganizować programowe SPI?
    >

    Może weź inny uC? STM32F0 może być taktowany do 32MHz z zewnętrznego
    generatora albo kwarcem. Możesz dać jeden generator kwarcowy 25MHz i
    taktować wszystkie układy, albo wykorzystać wewnętrzny generator i
    dobudować bufory albo może by wyjście MCO dało radę wysterować
    pozostałymi układami. Co więcej - on domyślnie startuje z wewnętrznym
    RC i dopiero programowo przełącza się na wybrane źródło zegarowe. Przy
    okazji jest kilka SPI. A trzymając się AVRów może ATXmega?
    Co do rozdzielenia magistral to musisz sam wybrać. Znasz wady i zalety
    obu rozwiązań.

    --
    Michał

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: