З'єднання шини SPI - в циклі чи не в циклі?


9

У мене питання щодо фізичного підключення шини SPI.

У мене є майстер SPI (пристрій PIC32) та ряд рабів (у цьому випадку пристрої PIC16). Я пишу тільки для рабів, і протокол переймається тим, хто з них робити що, коли немає сигналів MISO або SS, щоб не турбуватися, і я просто паралельно співвідношую дані та тактові лінії з усіма рабами. Загальна довжина шини - не більше ніж кілька футів (скажімо, 60 см), і я працюю на SCK на частоті 8 МГц.

Тепер фізичне розміщення ведених пристроїв (які насправді є вузлами інтерфейсу на інших платах) таке, що шина SPI петлі направляється назад до ведучого, щоб можна було підключити обидва кінці кожного циклу до MOSI і SCK відповідно.

На наступній схемі видно, що я маю на увазі - я говорю про червоні пунктирні з'єднання - і питання полягає в тому, чи добре це робити чи ні?

Шина SPI

У мене є влада і земля, роблячи подібну подорож, і це, очевидно, - і, очевидно, - корисно, оскільки це мінімізує падіння напруги, викликане невільниками. Однак я не маю уявлення, чи добре це чи погано робити те саме з цими сигнальними лініями. Чи слід замість цього допускати якесь припинення - резистори на землю (?) - чи, можливо, резистори послідовно придушувати відбиття, чи що?

Я спробував це і без підключення крапок, так би мовити, і немає ніякої функціональної різниці і жодних змін, які я бачу в області ", але, можливо, якби він був трохи довше 60 см або трохи швидше 8 МГц, У мене виникли проблеми? Тому я шукаю поради, що робити, щоб уникнути неприємностей, якщо щось зміниться.

Хоча це питання мене особливо хвилює щодо шини SPI 60 см @ 8 МГц, чи є загальні принципи для інших ситуацій? Можливо, підтягувачі на шині I2c слід розміщувати інакше?

Будь-які посилання на відповідний матеріал для читання також вітаються - я не знайшов нічого, що стосується цього конкретного питання.


Я не зовсім впевнений, яку проблему ви намагаєтеся вирішити за допомогою цього зв’язку
PlasmaHH

@PlasmaHH Ну, це справді моє питання - у мене немає проблеми вирішити, але у мене є такий варіант. Я знаю, що це допомагає в лінії електропередач, я не знаю, чи допомагає це сигнал. Це дурне питання? Можливо, я переосмислюю.
Роджер Роуленд

Додам, що в ідеалі 4-шарова плата та виділені літаки Vdd та Vss були б хорошою ідеєю з кількох причин, а також виділені кришки обходу дуже близькі до кожного пристрою.
rdtsc

1
IMO Я б зробив з'єднання, яке ви запропонували червоним кольором, і позбувся б з'єднання з раба 3 до раба 4.
lucas92

Відповіді:


9

Петля назад? НІ. Якщо рядок достатньо довгий, щоб вимагати припинення (довше, ніж тривалість часу * с / 10 або більше), тоді заведіть його досить сильно, щоб закінчити його належним чином, а також відповідати лінії та завершенню досить добре. Якщо лінія є достатньо короткою, щоб не потребувати припинення, вона не потребуватиме "додаткової" провідності, яку, здається, ви шукаєте з петельним зворотним з'єднанням.

Серійний резистор? НІ. Цей стиль припинення вихідного коду працює лише для одержувача однієї точки в кінці рядка. У більш ранні моменти на лінії ви отримуєте найгірший можливий сигнал для своїх приймачів, який становить крок до половини напруги, після чого відбувається зупинка, а потім ще один крок до повної напруги.


Добре спасибі - чи можете ви пояснити, що ви маєте на увазі під "досить сильно керувати" ? Ви маєте на увазі не прямо з PIC, а через MOSFET чи щось таке? Крім того, щоб "правильно його припинити" , ви маєте на увазі резистори на землю? Я розумію, що час підйому точки, а не тактова частота, що визначає необхідність припинення, чи можете ви показати повний обчислення правила? Час подорожі в яких одиницях? Що c/10?
Роджер Роуленд

@RogerRowland "досить сильно", щоб він розвивав хороший логічний рівень у завантаженні припинення. Вихід UC може бути досить сильним, а може і ні, залежить від завершення та потужності його приводу. Використовуйте буфер або два паралельно, якщо у нього недостатньо струму приводу. "Правильно" означає резистивний опір шунта. Чи буде це заземлення, або середня рейка, або змінна змінна, залежить від системи. Якщо ви коли-небудь 3-штатний драйвер, він повинен бути заземленим, щоб підтримувати дійсні логічні рівні. В іншому випадку зупинка на середній рейці навантажує машиніста менше.
Neil_UK

@ RogerRowland час підйому в секундах, c швидкість світла в м / секунду, так що тривалість часу * c в метрах, / 10 є трохи ручною хвилею для «незначної частки тривалості часу, симулятору якоїсь симулятору на сигнальній лінії»
Neil_UK

Ще раз дякую Ніл, це справді корисно! Я думаю, що я отримав би користь, провівши експерименти, щоб переконатися, що те, що ви сказали, занурюється - можливо, дощові вихідні будуть добре проведені.
Роджер Роуленд

3

Проблема, яку я бачу з топологією циклу, полягає в тому, що важко правильно встановити термінатори для придушення відбитків. це не має великого значення на 8 МГц, але, можливо, це стало проблемою на більш високих частотах або на довших лініях.

Єдиний випадок, коли я можу допомогти пунктирним лініям, це коли SLAVE 6неприйнятною затримка поширення від головного до головного . У такому випадку ви з'єднали б пунктирними лініями, але розірвіть цикл десь посередині (скажімо, між SLAVE 3і SLAVE 4) та закінчіть кожну гілку незалежно.


2

З швидкими сигналами або довгими лініями відображення сигналу стає проблемою. У цих випадках вам належним чином припинити лінію, поставивши резистор, що з'єднує кінець лінії та землю (а не початок лінії). Припинення змушує лінію "виглядати електрично нескінченною", тому сигнал не повертається. Для припинення іноді також потрібні елементи ЖК для протидії реактивному опору.

Однак для вашого випадку припинення не потрібно (короткий рядок для швидкості сигналу, якщо ви не працюєте в електрично галасливому середовищі). Ось чому ви не бачите різниці. Це також погана практика дизайну, щоб петлювати свій сигнал. Це робить цикл сигналу, вносячи шум у вашу ланцюг (і він циркулює в обох напрямках). Це також полегшує захоплення радіочастотного шуму у ваших лініях.

Крім того, зазвичай також погано петляти землю та лінії електропередач. Цифровий шум перемикання та замикання на землю також є, і вони можуть мати істотний вплив на аналогові схеми. Якщо потрібно, ви можете використовувати вилки Y (без підключення в дальньому кінці) для зменшення падіння напруги. Якщо цього недостатньо, використовуйте більш широкі сліди (ширший слід-> менший опір-> менший перепад напруги).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.