2013-11-09 7 views
0
  1. Могут ли устройства быть добавлены и удалены во время работы системы (Горячая замена) в I2C и SPI?
  2. Лучше ли использовать I2C или SPI для обмена данными между микропроцессором и DSP?
  3. Лучше использовать I2C или SPI для передачи данных с АЦП?
+0

В названии, вы имели в виду 'interface' vice' interview'? – rickhg12hs

+3

Я просто заметил, что это было ТАК. Разве это не улучшилось бы на EE? – darron

+0

Возможно, начните с некоторой вики-информации для [I2C] (http://en.wikipedia.org/wiki/I%C2%B2C#Limitations) и [SPI] (http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus #Pros_and_cons_of_SPI), а затем более узко определить ваши требования к дизайну/производительности/тестированию. – rickhg12hs

ответ

3

1) Конечно, никаких ограничений.

SPI будет проще всего, поскольку каждое устройство будет иметь независимый выбор микросхемы. Вам просто нужно убедиться, что устройство SPI не думало, что его выбор чипа был активным в какой-то момент во время процесса подключения/отключения или он мог утверждать свою линию MISO и вызвать конкуренцию. Было бы много способов упорядочить питание или сбросить это устройство SPI, чтобы гарантировать, что часть работает.

I2C было бы сложнее ... поскольку устройство, подключающееся во время передачи, может интерпретировать первые байты, которые он видит в текущей передаче как команде, и, возможно, делает плохие вещи. Вы можете поместить двунаправленный сдвиг уровня или буфер с возможностью включения и, возможно, флопом, чтобы защелкнуть разрешение перед устройством I2C с горячей заменой и стробить вторичное сообщение «bus_clear», чтобы включить любые новые буферы с горячей заменой в течение этих периодов на холостом ходу автобус. Было бы много способов сделать то же самое.

2) и 3) не имеют общего ответа.

SPI мог бы работать быстрее, поэтому, если вам нужна скорость, это будет путь. Микро-DSP подразумевает это. Тем не менее, только тот факт, что один является микро, а другой - DSP, ничего вам не говорит, если вы не начнете принимать вещи. Что делать, если микро - это просто получение небольших пакетов результатов из целого набора DSP? I2C сделает это проще.

Аналогичным образом АЦП может нуждаться в скорости, или они могут и не быть. Если их много, а требуемая скорость передачи данных низкая, снова I2C имеет больше смысла.

SPI почти всегда проще в использовании, так что это плюс, если не так уж много устройств. I2C использует меньше контактов.

Много раз выбор между I2C или SPI производится на основе того, какие части, которые вы хотите использовать, предоставляют в качестве интерфейса. Другим очень важным фактором является то, что ELSE должно произойти в системе и какая шина имеет смысл для максимально возможного количества деталей.

Есть еще: повторное использование дизайна, странные прошивки/ограничения RTOS и т. Д. И т. Д. Существует много причин, по которым вы не можете сказать, что один из них «лучше», чем другой. Что лучше для вашего дизайна просто не так просто.

Я думаю, что эти вопросы задают вам «вы говорите» ...

 Смежные вопросы

  • Нет связанных вопросов^_^