Выбор связи между микроконтроллерами при высокой температуре

Мне поручили проект по поиску наилучшей связи между несколькими печатными платами, на которых есть микроконтроллеры для определенной функции. Мне нужно, чтобы все микроконтроллеры взаимодействовали с основной платой, на которой находится ЦП.

Мне нужно отправить некоторую информацию с материнской платы на контроллеры и получить ответ от контроллеров. Каждая плата контроллера предназначена для определенной цели. Мне не нужно обмениваться данными между микроконтроллерами, но даже если один микроконтроллер не сможет связаться, это не повлияет на другие. В настоящее время мне нужно иметь шесть взаимодействующих микроконтроллеров, но в будущем больше. Я хочу избежать большего количества проводных соединений между материнской платой и другими контроллерами (их должно быть меньше).

На связь не должны влиять температура (250 °F (120 °C)) и давление (высокое). Расстояние между материнской платой и конечным контроллером может быть более одного метра. Какой тип контроллеров лучше? Мне нужно выполнить некоторые расчеты и показания датчиков. Каждая плата имеет более двух датчиков. Мне нужно выполнить некоторые расчеты по показаниям датчика или отправить значения напрямую.

Я новичок в этом типе проекта. Я искал лучшее средство связи, но не могу понять, какое лучше. Некоторые люди предлагают мне использовать связь CAN. Если я выберу связь CAN, какой тип микроконтроллеров лучше? Я приложил простую схему, как это будет выглядеть, как показано ниже.

Дизайн

Можете ли вы подтвердить, что температура, видимая микроконтроллером, должна составлять 180ºC?
@ Andyaka Andyaka Извините, диапазон температур составляет от 100 до 120 градусов. Есть ли какой-нибудь контроллер Atmel со встроенным CAN?
Вы проверили с Atmel? Если да, то нет смысла мне это делать. Если нет, то почему? Я использовал PIC в двух недавних работах при 120ºC, когда они были указаны при 85ºC - обе работы работают и продолжают работать, но вы, вероятно, не получите подтверждения этого ни от одного поставщика, потому что зачем им проводить специальные тесты для вас или кого-либо еще? с низкими требованиями к количеству.
CAN звучит как хорошая подгонка, за исключением того, что вы не сказали нам пропускную способность, так что мы не можем сказать. На метре или нескольких метрах вы можете запустить CAN со скоростью 1 Мбит/с. Многие микросхемы поставляются со встроенным CAN. Например, я довольно часто использовал PIC 18F25K80 для такого рода приложений, но есть много других как в линейке PIC, так и от других производителей. Возможно, вам придется приобрести детали с расширенным температурным диапазоном, но перекрытие 82 градусов по Цельсию не будет проблемой.
Одна вещь, о которой вам нужно знать, это то, что вы не сможете использовать значительное количество обычных пассивных компонентов. При 82°C электролитические крышки практически не подходят. Ты должен быть весь из тантала. Кроме того, многие диэлектрики с керамической крышкой вышли из строя. В этот момент керамический колпачок Z5U будет довольно далеко отклоняться от своего номинального значения. По сути, вам понадобятся детали, которые рассчитаны и рассчитаны на эти температуры, и чтобы гарантировать, что изменения значений, вызванные высокой температурой, не окажут негативного влияния на работу вашей системы.
Требование, чтобы сбой одной цели не приводил к останову системы, является сложным, поскольку на общей шине одно устройство может заблокировать ее по высокому или низкому уровню. Схема, в которой каждое устройство пропускает провод через резистор с модуляцией, не имеющей постоянной составляющей, и приемник, который пытается выполнить аналоговую демодуляцию, может оказывать некоторое сопротивление, за исключением цели, которая застряла при передаче модуляции. Ваша экстремальная температура/давление звучит как прибор для бурения нефтяных скважин - или, по крайней мере, вы можете узнать что-то из решений для этого.
Это вопрос о том, какой тип связи использовать или какой микроконтроллер использовать? Например, можно ли добавить внешний драйвер для какой-то шины? Сети RS485 с высокими техническими характеристиками могут легко выдерживать 120 ° C, они дешевы и надежны, и могут управляться обычным UART, битом направления и драйвером 74hct125 или аналогичным.

Ответы (5)

Если вы выберете CAN, то «лучшим» микроконтроллером будет микропроцессор со встроенным CAN (у многих он есть, например, Coldfire MCF5225x).

I2C или RS485/RS422 также являются хорошим выбором, в зависимости от электрических характеристик ситуации (расстояние, шум, мощность). Остальное сводится к протоколу, который вы используете для связи — как адресовать сообщения, управлять потоком, избегать коллизий.

Я желаю вам удачи в поиске микро, которое будет работать при 180 градусах, автомобильные характеристики достигают максимума при 125 градусах, и я не думаю, что даже военные характеристики значительно улучшатся.

Вам нужно начать с уровня 1 (электрический), чтобы понять, что должен делать физический интерфейс, после чего это в основном проблема программного обеспечения, связанная с тем, как вы говорите. В наши дни Ethernet может быть даже жизнеспособным вариантом, если у микрокомпьютеров есть место для запуска скромной ОС.

Извините за недоразумение, диапазон температур составляет от 100 до 120. Существуют ли какие-либо контроллеры Atmel со встроенным CAN?
@verendra atmel.com/products/automotive/default.aspx Я думаю, что их автомобильные процессоры, вероятно, имеют CAN. Я сам использую PIC.
@verendra - Из любви к зогу ВСЕГДА указывайте единицу измерения при описании температуры. 120°C ОЧЕНЬ отличается от °F.
@ConnorWolf Мне очень жаль, что я совершил здесь ошибку. Я пытаюсь найти компоненты, которые выдерживают температуру 120ºC.
Нужно думать о температурах - это 120С температура окружающего воздуха, 120С внутри коробки, 120С на самом микро? Есть ли охлаждение? Фанаты? Радиаторы? Пельтье? Можете ли вы отодвинуть микро подальше от нагрева (поставить датчик на более длинный провод), чтобы уменьшить нагрев? 120°C не такая большая проблема, как термоциклирование, если устройство регулярно циклируется между 120°C и, скажем, 10-20°C окружающей среды, расширение/сжатие приведет к разрушению паяных соединений и т. д.

Вы можете взглянуть на http://www.keil.com/dd/chip/3648.htm LPC 2129 ARM7TDMI-S с поддержкой CAN. Это может помочь, если вы исправите свой интерфейс как CAN. Вы также можете использовать разъемы и кабели Industrial или MIL из-за температурных ограничений. Ознакомьтесь с такими поставщиками, как кабели Radiant, TE Connections, Amphenol, Allied Connectors, которые производят оборудование, предназначенное для работы в условиях высоких температур. Кроме того, вы можете проверить некоторые термостойкие материалы, такие как тефлон, которые помогают защитить интерфейс связи.

Добро пожаловать на Stack Exchange по электротехнике! Есть ряд процессоров с поддержкой CAN... почему вы предложили именно этот? Он предназначен для работы при 120С? Если да, включите эти детали в свой ответ. Если нет, то вы не помогли ОП.

Для CAN (и я настоятельно рекомендую CAN для вашей установки) я рекомендую LPC11C24 , ARM Cortex-M0. Я думаю, что это единственный, в который уже встроен приемопередатчик, поэтому нет необходимости в дополнительном чипе для реализации физического уровня (как это обычно делается в остальных CAN-микроконтроллерах). Он также имеет несколько приятных и простых в использовании библиотек C, встроенных в ПЗУ для стандарта CAN и CANOpen.

Семейство Freescale S08D или какой-нибудь дешевый Kinetis имеют CAN и поддержку до 125ºC. Однако самые высокие значения температуры вы получаете только на ценных чипах на Freescale (источник: параметрический поиск). Попробуйте параметрический поиск по всем сайтам!

Большинство устройств от большинства производителей доступны в автомобильном или военном исполнении с рейтингом 125ºC, эта информация не кажется особенной?
Хотя я нашел высокие значения. Я не упомянул, потому что вопрос установки только 120 градусов и, как представляется, требует дешевых UCs. Но мой ответ действительно не очень помог.
У TI есть несколько продуктов, предназначенных для 150C ti.com/product/msp430f2619s-ht

CAN довольно сложен в программной реализации.

Почему бы не использовать RS-485, который также является промышленным стандартом? Есть много приемопередатчиков RS-485 с поддержкой температуры 125'C.