Pytanie:
Arduino SPI limit
Ender Wiggins
2012-07-25 03:21:05 UTC
view on stackexchange narkive permalink

Czy istnieje ograniczenie liczby slaveów, które można kontrolować za pomocą płyty Arduino za pomocą magistrali SPI, o ile nie zabraknie pinów?

Na przykład nie ma 14 cyfrowych I / Os. Więc teoretycznie mógłbym mieć 11 slaveów, gdybym chciał, ponieważ MISO, MOSI i SCLK będą współdzielone i będzie 11 różnych pinów CS. Zastanawiałem się, czy ktoś napotkałby jakieś problemy praktyczne na długo przed sterowaniem 11 slave'ami (chociaż nie będę używał MISO)

Planuję kontrolować sześć 12-bitowych przetworników cyfrowo-analogowych dla projektu wykorzystującego UNO przy użyciu magistrali SPI. Czy jest coś, o czym muszę wiedzieć?

Dwa odpowiedzi:
Nick Alexeev
2012-07-25 03:47:44 UTC
view on stackexchange narkive permalink

Liczba slave'ów SPI nie jest ograniczona. W rzeczywistości możesz dodać cyfrowe multipleksery (multipleksery) i sterować większą liczbą urządzeń podrzędnych niż masz cyfrowe piny w Arduino.

Jednak SPI został zaprojektowany do komunikacji na krótkich dystansach w obrębie skrzynki. Zatem fizyczny rozmiar magistrali może stać się problemem (pojemność magistrali, EMI). Jeśli musisz wykonać wzmocniony SPI na duże odległości, istnieją notatki aplikacyjne na ten temat: Przedłużenie magistrali SPI do komunikacji na duże odległości.

Jon L
2012-07-25 03:52:16 UTC
view on stackexchange narkive permalink

Jak szybko chcesz biec? Jeśli chodzi o protokół, nie, o ile masz wystarczającą liczbę pinów IO, aby przełączać poszczególne wybory slave. Nawet wtedy możesz skorzystać z fantazyjnego schematu, takiego jak dekoder 3-8 i mieć jeszcze więcej linii wyboru chipów (8) w oparciu o kombinację linii wejściowych (3).

Jedynym problemem, o którym przychodzi mi do głowy, może być fanout - to znaczy, gdy masz wiele urządzeń podłączonych do wyjścia (w tym przypadku pin MOSI). Jest możliwe, że każde dodatkowe podłączone urządzenie slave może przyczynić się do niewielkiego obciążenia pojemnościowego - być może wystarczające mogłoby mieć pewien efekt. Nie jestem tutaj ekspertem, ale może to uzasadnić śledztwo, jeśli mówimy tutaj o prawdziwych ekstremach (dziesiątki lub setki urządzeń ..?)

Myślę o dziesiątkach, a nie setkach. dokładnie między 6 a 11.
@EnderWiggins, Technicznie nie dziesiątki. Prawdopodobnie w porządku, zawsze możesz przetestować empirycznie.
Podszedłem do 5 bez problemu.


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...