Випуск автобусного терміналу SPI


10

Я працював над проектом, в якому майстер SPAP OMAP Linux взаємодіє з 6 периферійними пристроями рабів SPI (5x перетворювачі А / Д і один магнітометр).

Я можу встановити тактову частоту SPI і експериментував з 50 кГц, 100 кГц і 1 МГц.

Я додав схему проводки / плати, що показує довжину від майстра SPI та всіх периферійних пристроїв. Довжина шини SPI (усі довжини дроту) від головного - приблизно 970 мм для мого експериментального випадку.

введіть тут опис зображення

Проблема, яку я знайшов, полягає в тому, що зв’язок з 1 периферійною мережею не вдається, оскільки я додаю більше інших периферійних пристроїв на шині. Навіть якщо зв’язок проникає до магнітометра з дальньої сторони шини, зв’язок з перетворювачами A / D на іншій стороні не вдається, поки заглушка магнітометра джгута не буде знята, а потім секція A / D повернеться.

Я читав тут: Міркування про припинення автобусних перевезень SPI і тут: Комунікація борту до борту на коротких відстанях

де рекомендується розміщувати RC LPF якомога ближче до будь-якого ведучого вузла, тому SCLK і MOSI на стороні головного і кожного мого 6x сигналів MISO / SOMI. Я бачив подібний підхід, виконаний для USB з 47pF / 27R RC мережею. Мій намір полягає в тому, щоб спробувати це на моїй схемі, намагаючись скоротити різкий край швидкого ~ 100nsec краю переходу.

Це правильна процедура, яку я дотримуюсь тут, додаючи RC LPF? Це здається справді хитким, чи є краща практика? Я побачив примітку програми від TI, де вони говорять про розширення SPI на більші відстані автобусів, чи це відповідне рішення тут, або моя проблема просто одна з високочастотних гармонік від граничного переходу на високій швидкості? http://www.ti.com/lit/an/slyt441/slyt441.pdf

Спасибі, Нік

Чистий вимірювання CLK / MISO від магнітометра

Вимірювання часу переходу сигналу CLK

Чи відображає цей рядок MISO (канал №1) відображення?  Рівні не виглядають цифровими зі сходами, це відображення


Чи є у вас можливість додавати послідовні резистори та змінювати електропроводку?
efox29

Привіт efox29, так, але це буде трохи брудно. Мій майстер SPI знаходиться на SOM, встановленому до моєї дошки. Мій намір - вирізати слід для SCK та MOSI та встановити RC-330 / Ом / 47pF 0603/0805 для кожного з використанням епоксидного / клею та зробити щось подібне на дошках A / D та магнітометра для MISO. Я спробую зробити заглушку GND якомога ближче, ніж я можу дістати площину чи площину GND. Тримаюсь від цього, поки не почую більше спини, але планую спробувати завтра. У мене немає можливості перетворити SPI на ланцюжок ромашок або що-небудь інше. Інакше не принесуть нічого хорошого, дошки потребують на протилежних кінцях.
shraken

Як у вас система з повільнішими годинниками, як 50 кГц? Що таке мікроконтролер, який ви використовуєте?
efox29

Я б запропонував спочатку почати з лінії SCK, перш ніж додати Rs та Cs до інших рядків. Адже краї мають значення лише по лінії годинника, інші лінії будуть більш толерантними до відображень.
alex.forencich

2
І з таким видом проблеми саме проблема, а не швидкість ребра, а не тактова частота. Якщо ви бачите ту саму проблему незалежно від тактової частоти, то швидкі краї є проблемою, і їх потрібно сповільнити.
alex.forencich

Відповіді:


5

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

Мультивузлові мережі повинні бути завжди імітовані. Їх так важко передбачити. І знадобилося близько 3 хвилин, щоб побачити, що ваш дизайн, можливо, не є оптимальним.

Ось налаштування моделювання годинника від ведучого до всіх ведених пристроїв (значення - це лише приблизні оцінки, як це було б, якби ви це робили перед тим, як щось будувати):

введіть тут опис зображення

І отриманий імітаційний сюжет (ми ігноруємо, що таке що, одиниці тощо, оскільки, очевидно, не варто будувати):

введіть тут опис зображення

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

введіть тут опис зображення

І отриманий сюжет виглядає набагато приємніше:

введіть тут опис зображення

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

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

Я тут використовую Cadence SigXplorer. Застосовується звичайна відмова від відповідальності: я викладаю класи з цілісності сигналу і часто маю ліцензії на програмне забезпечення Cadence або Mentor для цих класів.


Яке програмне забезпечення ви використовуєте для імітації ліній електропередачі?
efox29

@ efox29 Cadence SigXplorer та Mentor Hyperlynx.
Рольф Остергаард

@nickishere (OP) Чи відповів це на ваше запитання?
Рольф Остергаард

Привіт Рольф, Дякую, що знайшли час для моделювання цього кола, дуже вдячний. Мені доведеться заглянути в Cadence SigXplorer і визначуся. шукайте такий інструмент, як він наступного разу, коли я підійду до цього великого автобуса. Я відзначаю вашу відповідь правильною, оскільки вона є найбільш детальною і доречною. Однак я мушу сказати, що я в кінцевому підсумку використав топологію емпірично, тому не можу сказати, що вона працює.
shraken
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.