Мне поручили проект по поиску наилучшей связи между несколькими печатными платами, на которых есть микроконтроллеры для определенной функции. Мне нужно, чтобы все микроконтроллеры взаимодействовали с основной платой, на которой находится ЦП.
Мне нужно отправить некоторую информацию с материнской платы на контроллеры и получить ответ от контроллеров. Каждая плата контроллера предназначена для определенной цели. Мне не нужно обмениваться данными между микроконтроллерами, но даже если один микроконтроллер не сможет связаться, это не повлияет на другие. В настоящее время мне нужно иметь шесть взаимодействующих микроконтроллеров, но в будущем больше. Я хочу избежать большего количества проводных соединений между материнской платой и другими контроллерами (их должно быть меньше).
На связь не должны влиять температура (250 °F (120 °C)) и давление (высокое). Расстояние между материнской платой и конечным контроллером может быть более одного метра. Какой тип контроллеров лучше? Мне нужно выполнить некоторые расчеты и показания датчиков. Каждая плата имеет более двух датчиков. Мне нужно выполнить некоторые расчеты по показаниям датчика или отправить значения напрямую.
Я новичок в этом типе проекта. Я искал лучшее средство связи, но не могу понять, какое лучше. Некоторые люди предлагают мне использовать связь CAN. Если я выберу связь CAN, какой тип микроконтроллеров лучше? Я приложил простую схему, как это будет выглядеть, как показано ниже.
Если вы выберете CAN, то «лучшим» микроконтроллером будет микропроцессор со встроенным CAN (у многих он есть, например, Coldfire MCF5225x).
I2C или RS485/RS422 также являются хорошим выбором, в зависимости от электрических характеристик ситуации (расстояние, шум, мощность). Остальное сводится к протоколу, который вы используете для связи — как адресовать сообщения, управлять потоком, избегать коллизий.
Я желаю вам удачи в поиске микро, которое будет работать при 180 градусах, автомобильные характеристики достигают максимума при 125 градусах, и я не думаю, что даже военные характеристики значительно улучшатся.
Вам нужно начать с уровня 1 (электрический), чтобы понять, что должен делать физический интерфейс, после чего это в основном проблема программного обеспечения, связанная с тем, как вы говорите. В наши дни Ethernet может быть даже жизнеспособным вариантом, если у микрокомпьютеров есть место для запуска скромной ОС.
Вы можете взглянуть на http://www.keil.com/dd/chip/3648.htm LPC 2129 ARM7TDMI-S с поддержкой CAN. Это может помочь, если вы исправите свой интерфейс как CAN. Вы также можете использовать разъемы и кабели Industrial или MIL из-за температурных ограничений. Ознакомьтесь с такими поставщиками, как кабели Radiant, TE Connections, Amphenol, Allied Connectors, которые производят оборудование, предназначенное для работы в условиях высоких температур. Кроме того, вы можете проверить некоторые термостойкие материалы, такие как тефлон, которые помогают защитить интерфейс связи.
Для CAN (и я настоятельно рекомендую CAN для вашей установки) я рекомендую LPC11C24 , ARM Cortex-M0. Я думаю, что это единственный, в который уже встроен приемопередатчик, поэтому нет необходимости в дополнительном чипе для реализации физического уровня (как это обычно делается в остальных CAN-микроконтроллерах). Он также имеет несколько приятных и простых в использовании библиотек C, встроенных в ПЗУ для стандарта CAN и CANOpen.
Семейство Freescale S08D или какой-нибудь дешевый Kinetis имеют CAN и поддержку до 125ºC. Однако самые высокие значения температуры вы получаете только на ценных чипах на Freescale (источник: параметрический поиск). Попробуйте параметрический поиск по всем сайтам!
CAN довольно сложен в программной реализации.
Почему бы не использовать RS-485, который также является промышленным стандартом? Есть много приемопередатчиков RS-485 с поддержкой температуры 125'C.
Энди ака
Верендра
Энди ака
Олин Латроп
Коннор Вульф
Крис Стрэттон
Джон Ватте