Skocz do zawartości

Sterowanie CS przez ekspander ze wspólną magistralą SPI


Gieneq

Pomocna odpowiedź

Jak myślicie, czy jest to w ogóle akceptowalne:

  • SPI z 3 urządzeniami:
    • ekspander z linią CS od mikrokontrolera
    • urządzenia 1 i 2 z CS od ekspandera

image.thumb.png.a932fab1b1e8a3b1eff33cb1a2c92432.png

Tworzy to łańcuch - jak chcę włączyć CS urządzenia nr 1 lub 2 muszę włączyć CS ekspandera. A żeby wyłączyć CS urządzenia 1 lub 2 muszę dostać dostęp do magistrali, która jest zajęta... czyli jeżeli wyślę komendę która wyłączy CS ale jednocześnie 1 lub 2 ma taką samą komendę to może być kolizja.

Ekspander MCPx ma domyślnie 0 czyli aktywuje urządzenia 1 i 2 po resecie, przez co od początku nie mogę ich wyłączyć.

image.thumb.png.6ad5d4e6f334a130654f79209dc1f11a.png

Na taki pomysł wpadła firma projektująca PCB 😞 

Link do komentarza
Share on other sites

35 minut temu, Gieneq napisał:

Jak myślicie, czy jest to w ogóle akceptowalne:

  • SPI z 3 urządzeniami:
    • ekspander z linią CS od mikrokontrolera
    • urządzenia 1 i 2 z CS od ekspandera

Uhm… raczej nie. 

37 minut temu, Gieneq napisał:

Na taki pomysł wpadła firma projektująca PCB 😞

Ciekawa firma… Ogólnie nie polecam 😉 

A tak szczerze to nie mogli znaleźć pinów by dać tam jakiegoś MUXa?

  • Pomogłeś! 1
Link do komentarza
Share on other sites

W jednym projekcie na esp8266 też mi brakowało "nóżek" do strobów.

Użyłem ekspandera i2c pcf8574/pcf8575

Może trochę wolniejszy niż na spi, ale da się przetaktować do 600kHz względem katalogowego zegara.

No i potrzebujesz tylko linii sda/scl zamiast mosi/miso/clk/cs 🙂

 

Link do komentarza
Share on other sites

@H1M4W4R1 wiesz co, to jest 2 rewizja i przy pierwszej ekspander był po I2C i sterował CSem od czujnika DPS. Ale ekspander był we wspólnej magistrali z ekranem dotykowym i jakoś mi się to nie podobało, bo trzeba było uwzględniać kolizje.

To zaproponowaliśmy że chcemy ekspander po SPI i jeszcze moduł NFC i dostaliśmy co chcieliśmy. Ale jakoś nie zwrócili uwagi, że mogą być komplikacje.

Odnoszę wrażenie że gość co to robił był nieco leniwy, bo w środkowych warstwach widać jak obok przelotek było coś grupowo przeciągnięte, np. tu:

image.thumb.png.69b3c20a587823752bdba4736402f115.png

Wracając. Myślisz że da się coś z tym zrobić? Na starcie jak dam w loopie 10x ustawienie GPIO ekspandera na 1 to w końcu załapie i odłączy resztę CSów i później działa bezbłędnie. Tylko później jak wysteruję DPSa to nie wiem jak przywrócić stan początkowy. Znowu w loopie aż do skutku sterowanie i odczyt ekspandera aż się zgodzi?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Na zdrowy rozum, jak wystawisz aktywne CS dla ekspandera spi, to przyjmie on i obsłuży to co dostanie na linii mosi. Co prawda będą konflikty poziomów logicznych na linii miso, ale nie powinno to zabić układów.

A że inne urządzenia też będą odbierać tą transmisję? Może nie zrozumieją tego co ma zrozumieć ekspander i zlekceważą transmisję? Trudno powiedzieć.

Nigdy nie używałem tej kostki, ale rozumiem że po prostu ustawia się w niej jakieś rejestry kontrolne wysyłając jakieś opcode z argumentami i nie trzeba badać ewentualnej odpowiedzi na polecenie.

 

Generalnie: bardzo daleko od inżynieryjnej poprawności 🙂

 

  • Lubię! 1
Link do komentarza
Share on other sites

1 godzinę temu, Gieneq napisał:

image.thumb.png.69b3c20a587823752bdba4736402f115.png

Proponuję zmienić firmę 😛 I to zdecydowanie...

image.png.1db2213ddfb7d11ee95cbe5f9d962717.thumb.png.603d0619405aca4c99303c8631d9fe86.png

Lista błędów zauważonych w ciągu 10 sekund 😄

  • Pomarańczowy - anteny, które łatwo mogą uwalić testy EMI przy odpowiedniej częstotliwości 😉
  • Czerwony - brak połączeń pól masowych (bardzo zły nawyk) oraz ta dziwna wylewka...

EDIT: gdybym widział całą płytkę, to pewnie byłoby tam kolorowo 😄

Edytowano przez H1M4W4R1
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.