Я был назначен на проект, чтобы найти наилучшую возможную связь между несколькими печатными платами, которые имеют микроконтроллеры для определенной функции. Мне нужно, чтобы все микроконтроллеры связывались с основной платой, которая содержит процессор.
Мне нужно отправить некоторую информацию с материнской платы на контроллеры и получить ответ от контроллеров. Каждая плата контроллера предназначена для определенной цели. Мне не нужно взаимодействовать между микроконтроллерами, но даже если один микроконтроллер не сможет установить связь, это не повлияет на другие. В настоящее время мне нужно, чтобы шесть микроконтроллеров общались, но в будущем это будет более. Я хочу избежать большего количества проводных соединений между материнской платой и другими контроллерами (должно быть меньше).
На связь не должны влиять температура (250 ° F (120 ° C)) и давление (высокое). Расстояние между материнской платой и конечным контроллером может составлять более одного метра. Какой тип контроллеров лучше? Мне нужно выполнить некоторые расчеты и показания датчика. Каждая плата имеет более двух датчиков. Мне нужно выполнить некоторые расчеты показаний датчика или отправить значения напрямую.
Я новичок в этом типе проекта. Я искал лучшее общение, но я запутался, что лучше. Некоторые люди предлагают мне использовать CAN-связь. Если я выберу CAN-связь, какой тип микроконтроллеров лучше? Я приложил простую диаграмму, как это будет выглядеть, как показано ниже.
источник
Ответы:
Если вы выбираете CAN, то «лучшим» микро-микросхемой является микросхема со встроенным CAN (у многих это есть, например, Coldfire MCF5225x).
I2C или RS485 / RS422 также являются хорошим выбором, в зависимости от электрических характеристик ситуации (расстояние, шум, мощность). Все остальное сводится к протоколу, который вы используете для общения - как обращаться к сообщениям, контролировать поток, избегать коллизий.
Я желаю вам удачи в поиске микро, который будет работать на 180C, автомобильная спецификация достигает максимума на 125c, и я не думаю, что даже военные характеристики значительно улучшатся в этом.
Вам нужно начать с уровня 1 (электрический), чтобы понять, что должен делать физический интерфейс, после этого в основном это проблема с программным обеспечением того, как вы говорите. В наши дни Ethernet может быть даже жизнеспособным вариантом, если у микросхем есть место для запуска скромной ОС.
источник
Вы можете взглянуть на http://www.keil.com/dd/chip/3648.htm LPC 2129 ARM7TDMI-S с поддержкой CAN. Это может помочь, если вы исправите свой интерфейс как CAN. Вы также можете иметь промышленные или MIL-разъемы и кабели из-за вашего температурного ограничения. Проверьте таких поставщиков, как радиантные кабели, разъемы TE, 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.
источник