Альтернативи SPI через EMI


24

В даний час я виготовляю систему, що складається з пластикового корпусу, який містить MCU, що розмовляє з 7 АЦП, використовуючи 2MHz SPI по дротах довжиною близько 5 см.

MCU та ADC, підключені SPI

Проблема в тому, що мене турбує ЕМІ. Все, що я прочитав, говорить про те, що будь-який цифровий сигнал, який не є надійним на друкованій платі в заземленому металевому шасі, буде випромінювати занадто багато, щоб пройти тестування на EMI. Я думаю, що це також включатиме I2C.

Це, ймовірно, не вдасться до тестування EMI? Що я можу з цим зробити?

Я шукаю відповіді будь-якого типу, включаючи "Використовувати іншу шину / АЦП", але не включаючи відповіді, що передбачають механічні зміни, такі як: "Покладіть всі АЦП на одну і ту ж друковану плату" або "Покладіть всю річ у металевий ящик" . Мене особливо цікавлять альтернативи SPI з низьким рівнем ЕІ, включаючи диференціальні автобуси.

Ось відповідна інформація про програму. Будь ласка, дайте мені знати, якщо вам потрібно знати більше речей:

  • 6 проводів проходять до кожної плати АЦП (Power, GND, CS, CLK, MOSI, MISO).
  • АЦП на даний момент MCP3208 (8-канальний Microchip, 12-розрядний)
  • Я працюю у відчайдушно обмеженому просторі додатку, тому додавання екранування проводів насправді не є можливим.
  • Було б непогано використовувати якусь диференціальну шину (лише одна або дві пари), але єдиними АЦП з диференційованою комунікацією здаються типи LVDS з кількома MSPS.
  • CAN, ймовірно, занадто повільний, а також є об'ємним для такого простору, обмеженого застосування.
  • Частота вибірки: мені потрібно пробувати кожен канал на частоті 1 кГц.

Додано:

Просто, щоб дати уявлення про обмеження простору:

Маленька плата з MCP3202

Тут ви можете побачити одну з друкованих плат АЦП. У цьому насправді замість MCP3208 є MCP3202, але він сумісний (ish). Він знаходиться в пакеті TSSOP 8. Друкована плата - 11 мм х 13 мм. Чорний кабель діаметром 2 мм. Як бачите, немає місця для роз'єму, а дроти припаяні безпосередньо до друкованої плати, а потім заповнені горщиком. Відсутність роз'єму пояснюється обмеженням простору навколишнього простору, а не обмеженням простору друкованої плати.


4
Як екранування кабелів можна вважати недоцільним, але подвоєння кількості проводів (диференціальна сигналізація) можна вважати практичним?
timrorr

Вибачте, я мав би бути більш чітким. Я мав на увазі щось на кшталт CAN, що є двопровідним диференціалом. Очевидно подвоєння кількості проводів неможливо. Я відредагував питання.
Rocketmagnet

1
Зокрема, який тип тестування / сертифікації ви намагаєтесь пройти?
Джоель Б

1
@JoelB - Вибачте, я новачок у EMI, тому я не дуже впевнений. Але в якийсь момент нам доведеться зробити якісь тести на EMI. Можливо, якийсь нормальний / споживчий рівень тестування на ЕМІ, якщо таке є.
Rocketmagnet

1
@Rocketmagnet, О, не розумійте мене, що ви робите антену дуже легко. Для цього існують методи проектування, він більше займається цим, але якщо кабель не має жодної частоти, що тест EMI перевіряє, що для вас буде добре, вам доведеться переконатися, що ви не зв'язуєте інші шуми високих частот з інших місць вихідний (що легко, як казав високошвидкісний цифровий дизайн). Я просто хотів кращого уявлення про ваше питання. Мені дуже подобається питання, і воно вже отримало мій +1
Кортук

Відповіді:


13

2 МГц SPI на 5 см кабелі не величезні. Я дуже часто роблю 30 МГц SPI через 10 см кабелів, передаючи FCC Class B і ​​CE еквівалент. Ключовим моментом є переконання, що у вас хороший кабель (керуючи найкращим чином для області циклу) та правильно припиняючи свої сигнали.

Ви керуєте зоною циклу, подаючи сигнали живлення / GND десь посередині кабелю: обидва середини роз'єму, але посередині пучка проводів. Зазвичай у вас є потужність або GND на сигнал, але оскільки це рідко практичне рішення, ви повинні зробити найкраще з того, що у вас є. Крім того, обов'язково поставте одну або дві кришки для роз'єднання на друковані плати на обох кінцях кабелю.

Правильне припинення сигналів буде трохи складним, оскільки ви не маєте керованого опору на своєму кабелі. Що я б робив - це поставити RC-фільтр на друкованій платі з обох кінців кабелю. RC-фільтр матиме C на стороні кабелю, а R на мікросхемі. У драйвера сигналу я б почав з R приблизно 75 Ом і C приблизно 1 нФ. У приймачі R буде приблизно 10 Ом, а C все ще 1 nF. Після створення прототипів ви повинні спробувати різні значення. По суті, ви хочете більш високих значень для R і C, але не настільки високих, щоб річ перестала працювати або рівень сигналу занадто ослаблений. Краї ваших сигналів повинні виглядати дуже закругленими, але не повинно бути дзвінка, а годинник повинен бути приємним, перебуваючи в перехідній смузі сигналу (зазвичай 0,8-2,0 вольт).

Значення максимуму не менше 3 нФ ідеально підходить для захисту ОУР, але це може бути проблемою у вашій програмі.


Дякую за вашу відповідь. Так, я впевнений, що імпеданс змінюється в декількох точках, коли він переходить від друкованої плати до роз'єму до кабелю і т. Д. Також лінії CS, CLK і MOSI поділяються між усіма АЦП. Це має значення?
Rocketmagnet

@Rocketmagnet RC-фільтри, по суті, перестають працювати. Ось чому сигнали будуть виглядати дуже округлими. Це зробить кілька речей для вас, найголовніше - зробити імпеданс не таким критичним. Вам слід подати сигнали CS, CLK та MOSI, щоб вони не ділилися між кабелями. Іноді це неможливо, тому другим (віддаленим) найкращим є використання окремого завершення для кожного кабелю, а не спільне завершення.

2

CAN - це майже напевно найкраща ставка в такому застосуванні. Це диференціал, і фактично повинен зменшити кількість проводів, що йдуть до кожної плати. Якщо ви відбираєте сім чіпів, вісім каналів на чіп, дванадцять біт на канал, це 672 біт даних за зразок часу. У зразках 1 кГц, швидкість передачі 1 Мбіт, це 1000 біт за час вибірки. Це не залишає вам багато місця для накладних витрат, тому ви можете розглянути можливість використання мікроконтролера, який має два вбудовані контролери CANbus. (Microchip робить декілька, я використовую dsPIC 30F6012a.) Розділіть A / D на два автобуси, центральний мікроконтролер на обох, і ви повинні мати велику пропускну здатність.

З іншого боку, ви можете розглянути можливість заміни А / Д перетворювачів мікроконтролерами. dsPIC 30F4013 може бути хорошим вибором. 13 12-бітних каналів A / D, плюс CANbus.

Крім того, я думаю, що ви можете конвертувати SPI в / з протоколів диференціальної напруги, таких як RS-485. Але я б не знав про це достатньо, щоб прокоментувати інтелектуально.


Дякую за вашу відповідь. Я розглядав CAN, але, врешті-решт, я не впевнений, чи достатньо місця для компонентів. Якщо були якісь крихітні приймачі CAN, тоді це може бути можливим. Найменші, які я можу знайти, здаються SOIC 8.
Rocketmagnet

2
!! Коли ви говорите про обмежений простір, ви маєте на увазі це! Ви можете ознайомитися з цією відповіддю: electronics.stackexchange.com/a/30596/7523 Мабуть, ви ВІДМОВИТИсь уникнути не використовуючи трансивер у цій обставині. Мені, безумовно, було б цікаво дізнатися, чи можете ви!
Стівен Коллінгс

3
Хе. Ознайомтеся з іменем тієї відповіді, з якою ви пов’язані.
Rocketmagnet

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