SPI SCLK maksymalna częstotliwość

Jun 21, 2017 17 Replies

W dokumentacji układów scalonych z interfejsem SPI jest podana maksymalna częstotliwość zegara SCLK. Jeśli układ jest wybrany poprzez swój pin nSS, interpretacja tej wartości jest jasna. Ale jak to się ma do sytuacji, gdy układ nie jest wybrany? Moim zdaniem wtedy SCLK może być wielokrotnie wyższe od maksimum danego układu, ale chciałbym się upewnić.



Przykład realny: PCF2127 (SCLK_MAX=6,5MHz) i Si4703 (SCLK_MAX=2,5MHz) znajdują się na wspólnej szynie. Chciałbym z każdym z nich komunikować się z maksymalną prędkością, na jaką dany układ pozwala poprzez dynamiczną rekonfigurację SPI. Czy jeśli wybiorę PCF i zacznę nadawać na 6,5MHz, to czy Si to zignoruje?



Pozdrawiam, Piotr


Gdzieś mi się obiło (definicja SPI?), że gdy EN dla danego układu jest wysoki, to piny danych są w wysokiej impedancji. To chyba jednoznacznie odpowiada na Twoje wątpliwości.

Pozdrowienia, MKi

Nie rozumiem pytania, jeśli układ nie jest wybrany, to jego interfejs spi jest martwy (stan wysokiej impedancji), to z jakich powodów ma go interesować co się dzieje wtedy na magistrali? Wielokrotnie używałem takiej dynamicznej zmiany sck gdy np. jeden z układów na magistrali miał max sck 2MHz a drugi 20MHz..

W dniu 2017-06-21 o 07:50, Piotr Wyderski pisze:

Jedyne nad czym bym się zastanawiał, to przy jakich założeniach podane jest te 6,5MHz dla PCF. Czy podłączony, nieaktywny Si nie wnosi przypadkiem za dużych pojemności do SPI utrudniając komunikację. Ale to jest tylko gdybanie, bo realnie nigdy nie rozwiązywałem takiego problemu.

Według mnie (jeśli z danych katalogowych nie wynikało by że jest na pewno OK) trzeba na jednym prototypie wypróbować pracę na f większej niż te 6,5MHz o może 20% i wtedy uznać, że na wszystkich sztukach na 6,5M zadziała bez problemu. P.G.

A stan "wysokiej impedancji" to jaka jest pojemność? :)

W dniu 2017-06-21 o 16:00, Marek pisze:

Na pewno nie zerowa. P.G.

MKi snipped-for-privacy@to-nalezy-wywalic.op.pl> napisał(a):

Ale pytanie nie było o piny danych, tylko pin zegara. On i tak ma stan wysokiej impedancji bo jest wejściem.

A znasz praktyczne obwody elektryczne z niezerową pojemnością? :)

W dniu 2017-06-21 o 19:27, Marek pisze:

Nie wiem o co Ci chodzi. Wszystkie mają niezerową pojemność. P.G.

No właśnie i czy z tym jest jakiś problem? Skoro sck przełącza się w stan HZ, mając jednak jakąś (jak sam stwierdziłeś) tam niezerewą pojemność stwarza to jakiś realny problem w tym konkretnym zastosowaniu jakie masz na mysli?

Choćby z takiej, że pojemności w strukturze możesz mieć na tyle duże, że sygnał zegarowy tą drogą przelezie sobie przez bramkę i wpłynie na inne sygnały w układzie. Ponadto stan wysokiej impedancji nie oznacza, że sygnał *wejściowy*, jakim jest zegar, jest odcinany tuż przy pinie, lecz może być wstępnie buforowany, a odcinany dopiero za buforem. I gotujesz sobie dwumegachercowy bufor sygnałem 20MHz...

Chcę zrobić to samo, ale chwila zastanowienia nad *analogową* stroną tego problemu wzbudza we mnie stany lękowe, stąd pytanie.

Pozdrawiam, Piotr

Jaka wyszła w fabryce. Zamiast 20MHz podstaw sobie w myślach gigaherc i problem powinien stawać się dla Ciebie oczywisty. No więc sprawa sprowadza się nie do tego, czy sygnał zacznie przechodzić przez obwody wejściowe układu scalonego, tylko przy jakiej częstotliwości. Jak ktoś kiedyś bardzo mądrze zauważył:

"Digital circuits are made from analog parts."

Twój stan wysokiej impedancji to jest pewna abstrakcja, która dobrze sprawdza się tylko w ograniczonym technologią zakresie. Przy pewnej częstotliwości i przez pikofarad mogą płynąć grube ampery, a na kilku milimetrach drutu powstawać wolty.

Pozdrawiam, Piotr

W dniu 2017-06-21 o 23:15, Marek pisze:

Nie napisałem, ani nie sugerowałem, że stwarza realny problem. Napisałem, że nigdy takiego problemu nie rozważałem i że jedyne nad czym można by się ewentualnie zastanowić to kwestia czy scalak wolniejszy nie wprowadza do linii pojemności, której ktoś specyfikujący maksymalną prędkość tego szybszego nie przewidział. P.G.

W dniu 2017-06-22 o 09:11, Piotr Wyderski pisze:

Impuls ESD na impedancji wewnętrznych połączeń w transilu (SMB) wywołuje napięcia rzędu 200V. P.G.

A czy autor pytania rozważa GHz? Wątpię. Z kontekstu wynika, że rozważany teorettczny problem nie przekracza zastosowań pow. 20MHz i tego się trzymajmy.

Dla odmiany pobronię możliwości przełączania: dokumentacja Si4703 mówi, że SPI clock ma nie przekraczać 2,5MHz, ale w definicjach czasów trwania impulsów podają, że stan niski i wysoki maja mieć co najmniej 25ns. (25+25)=50ns, co oznacza, że ich stopień wejściowy musi sobie poradzić z co najmniej 20MHz. Ciekawe, skąd więc wynika ten ich pesymizm co do SCLK. Nie szyna jest problemem, tylko to, co nią w środku karmią?

Pozdrawiam, Piotr

Najpewniej. W jednej sesji połączenia najczęściej występuje komunikacja dwukierinkowa, pytanie - odpowiedz Jeśli np. sesja jest

16 bitowa, w pierwszych 8 bitach sck jest np. kod rejestru a już w 8 następnych samplowana jest odpowiedź. Układ musi mieć czas by w tej samej sesji "wystawić" odpowiedź.

Rezonansowe bywają z ujemną.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required