Pytanie:
SPI i podciągnięcia. Czy kiedykolwiek był używany w konfiguracji z otwartym kolektorem?
Steinar
2014-02-27 13:44:53 UTC
view on stackexchange narkive permalink

Czy SPI jest kiedykolwiek okablowane jako otwarty kolektor w urządzeniach wymagających użycia rezystorów podciągających? Wszystko wydaje się wskazywać na to, że zwykle jest to totem, ale zastanawiam się, czy są wyjątki.

Jedynym naprawdę wymaganym podciągnięciem wydaje się być wybór chipa, ale czasami pullup na MISO wydaje się być używany również do przyczyny niezawodności / solidności.

Czy ktoś może opisać minimalne wymagania dotyczące podciągania / opuszczania magistrali SPI i odpowiedzieć, czy konfiguracja biegunów totemu jest znormalizowaną metodą sterowania dla SPI?

Nigdy nie musiałem używać pullupów na żadnej z linii danych, ale często używam słabego pullup na linii wyboru chipa, aby upewnić się, że urządzenie peryferyjne nie nasłuchuje, jeśli mikrokontroler przejdzie w dziwny stan lub podczas inicjalizacji.Jest to szczególnie ważne, jeśli linie SPI są używane do czegoś innego, na przykład interfejsu programisty.W takim przypadku zaleca się podłączenie 330R w celu odizolowania sygnałów programatora od wszelkich urządzeń peryferyjnych.
Dwa odpowiedzi:
Olin Lathrop
2014-02-27 19:02:47 UTC
view on stackexchange narkive permalink

O ile wiem, linie SPI są zawsze aktywnie napędzane w obu kierunkach.

Czasami umieszczam pulldown na linii MISO, ponieważ może ona pływać przez dłuższy czas. Tylko slave z zaznaczonym wyborem slave może sterować linią, więc jeśli nie jest wybrany żaden slave, linia pływa.

Pływający MISO nie powoduje żadnych problemów z danymi, ponieważ pływa tylko wtedy, gdy jego wartość jest bez znaczenia a kapitan i tak nie powinien patrzeć na linię. Jednak napięcia pośrednie na niektórych wejściach cyfrowych mogą powodować problemy. Mogą powodować oscylacje i większy niż określony pobór prądu wewnątrz chipa odbiorczego. Słabe, nawet 100 kΩ, rozwijanie utrzymuje linię na niskim poziomie logicznym, gdy nie jest używana.

Zwykle używam rozwijania, ale równie dobrze możesz użyć pullup. To ustawia wartość danych linii tylko wtedy, gdy nie jest używana, więc możesz wybrać jedną z nich. Wydaje mi się, że bardziej intuicyjne jest umieszczenie w wierszu „0”, gdy nie jest używany, ale jest to naprawdę całkowicie arbitralne. Jeśli możesz całkowicie wyłączyć niektóre urządzenia podrzędne, gdy magistrala SPI nie jest używana, powinno to być przerwane.

Turbo J
2014-02-27 18:45:57 UTC
view on stackexchange narkive permalink

czasami zdaje się być używany pullup na MISO

Robi się to głównie na kartach SD, ponieważ wychodzą one z resetowania jako otwarty drenaż i muszą zostać przełączone na SPI z Komenda. Potrzebowałbyś również pullup / down, gdy slave może zostać w jakiś sposób odłączony, aby ustawić nienapędzaną linię w znany stan.

jeśli konfiguracja totemu jest standardową metodą sterowania dla SPI

SPI jest zawsze push-pull, ponieważ zapewnia to najszybsze czasy narastania i opadania sygnału.

Wspomniana karta SD jako przykład ma maksymalną częstotliwość taktowania 400 kHz w trybie otwartego drenu tryb początkowo, ale 25 MHz w konfiguracji jako SPI.



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...