Перейти к содержанию
    

Нужна эксперная консультация, какие выбрать ОС и МК

Есть такая задача:

Нужно управление, допустим стиральной машиной, через Ethernet и Internet, необходимо Web-управление, Telnet, SNMP; upgrate через TFTP.

Задача выбрать микроконтроллер, программное обеспечение quick start, операционную систему.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поскольку управляющие воздействия будут простейшие - главной частью будет аппаратная часть Ethernet и TCP/IP стек.

Советую обратить внимание на следующие ссылки:

ethernut.de

freertos.org

Фактически это готовые решения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как я понимаю Вам надо контроллер к которому есть свободный IP-стек.

Есть достаточно широкий выбор, но надо знать требования к самой микропроцессорной системе, по крайней мере три момента:

1. Наличие или отсутствие необходимости в системной (параллельной) шине.

2. Требуемая производительность.

3. Какой собственно нужен Ethernet: 10Base или 10/100Base.

Если системная шина не нужна, высокая производительность не требуется и достаточно 10Base, то лучший выбор, это микроконтроллеры PIC18F66J60 - PIC18F97J60 от Microchip.

Если при отсутствии системной шины нужна высокая производительность либо необходим 10/100Base, то надо смотреть в сторону Coldfire от Freescale - контроллеры MCF5223x.

В обоих случаях Вы получаете все, включая MAC и PHY в "одном флаконе".

Если Вам нужна системная шина, но требуемая производительность не очень велика то можно воспользоваться отдельными контроллерами - CP220x от Silabs или Wiznet. Что бы не переписывать стек, в качестве управляющих контроллеров к ним лучше использовать контроллеры 51 серии, напримет, от Silabs или Atmela. Для CP220x это будет двухкристальное решение с 10Base, а для Wiznet - трехкристальное (еще кристалл PHY), но 10/100Base.

Если, при тех же условиях (необходимость в системной шине), еще нужна и высокая производительность, тогда надо глядеть в сторону многочисленных ARMов с MAC на борту, а для реализации стека, скорее всего подбирать какую нибудь "Ось".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё, что уже ответили - набор критериев, который может быть ещё расширен...

Но прежде, чем перебирать варианты, и "примерять" критерии - нужно ответить на 2 вопроса, которых из задачи не следует:

Есть такая задача:

Нужно управление, допустим стиральной машиной,

 

1. нужно точнее знать, что это за "допустим стиральная машина", особенно из-за этого "допустим" - вполне может оказаться, что от этой стиральной машины ещё требуется ездить в условиях выжженной пустыни и при этом ещё вести беглый прицельный огонь :laugh: ... И достаточно точной интегральной оценкой этого "чем есть?" можт быть оценка стоимости экземпляра этого устройства: $10 - $100 - $1000 - $10000 (недостающее вписать).

 

2. сколько раз вы собираетесь делать подобные машины? т.е. не тираж, а насколько долго вы собираетесь разрабатывать следующие модели-клоны таких устройств: разово сделали и забыли? на 20 лет вперёд? насколько можно прогнозировать расширение функциональных требований к устройству?

 

От комбинации ответов на эти вопросы - правильный :ohmy: ответ на ваш вопрос может различаться как белое-и-чёрное.

 

P.S. собственно, есть ещё 3-й вопрос из той же группы, который я упустил: режим эксплуатации (это особенно к ОС относится, но она названа в вопросе):

- если вашу "стиральную машину" предполагается включасть на 2 (или 10, или 30...) часов непрерывной работы, а ещё более, если в случае "не срослось" (зависла, пошла в разнос) можно выключить рубильником и тут же включить по-новой (может повезёт) ... ну, в последнем случае вам к Windows ... независимо какие там буковки приписали;

- а если это: 24 х 365 ... да ещё и в необслуживаемом режиме - это совсем другой выбор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Берите uC/OS-II в качестве ОСРВ, по ней Вам помоч много смогут, да и ось обкатанная и стабильная, много плюсов. Проц возьмите с запасом, ARM какой-нибудь, чтобы на борту 64К ОЗУ было, про запас, можно и на 32К сделать, но лучше 64. TCP/IT стек вам нужен, это uIP или lwIP, что по сути одно и то же, но lwIP более тяжёлый и функциональный, для чего и память нужна, плюс он уже к uC/OS портирован.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну это как раз все вторичное, от незнания как говорится.

Цены специалистам на такие безделушки хорошо известны: 100-200$

На сколько они вырастут при индустриальном исполнении тоже: около 2-х раз

Для больших тиражей любой производитель вам сделает ASIC на том же ядре.

Все малые RTOS работают 24*365

 

Человеку скорее нужна оценка ресурсов памяти и быстродействия для указанных протоколов чтобы потом не менять платформу когда позно будет.

Так вот моя оценка на TCP с SNMP, операционкой, файловой и самим приложением будет 300-500 Кб памяти программ и 40-60 Кб памяти данных. (Просто сам такую делал :biggrin: )

Производительность зависит от прикладной задачи. На TCP и оверхед операционки с десяток MIPS надо оставить.

Если нужна защита от считывания, то выбор вообще очень маленький.

Если пользоваться GNU тулсами то скорее всего придется выбирать чип с внешней памятью.

Конечно, в фаворитах ARM-ы. Самый быстрый и дешевый цикл освоения. Да и чипы самые дешевые при фиксированных остальных параметрах.

Решения на Wiznet и других с промежуточными прослойками для TCP я бы исбегал. Они дают свои стеки к которым не прикрутишь потом другие интерфейсы к Internet-у как GPRS, PPP по последовательному каналу и т.д.

 

Всё, что уже ответили - набор критериев, который может быть ещё расширен...

Но прежде, чем перебирать варианты, и "примерять" критерии - нужно ответить на 2 вопроса, которых из задачи не следует:

Есть такая задача:

Нужно управление, допустим стиральной машиной,

 

1. нужно точнее знать, что это за "допустим стиральная машина", особенно из-за этого "допустим" - вполне может оказаться, что от этой стиральной машины ещё требуется ездить в условиях выжженной пустыни и при этом ещё вести беглый прицельный огонь :laugh: ... И достаточно точной интегральной оценкой этого "чем есть?" можт быть оценка стоимости экземпляра этого устройства: $10 - $100 - $1000 - $10000 (недостающее вписать).

 

2. сколько раз вы собираетесь делать подобные машины? т.е. не тираж, а насколько долго вы собираетесь разрабатывать следующие модели-клоны таких устройств: разово сделали и забыли? на 20 лет вперёд? насколько можно прогнозировать расширение функциональных требований к устройству?

 

От комбинации ответов на эти вопросы - правильный :ohmy: ответ на ваш вопрос может различаться как белое-и-чёрное.

 

P.S. собственно, есть ещё 3-й вопрос из той же группы, который я упустил: режим эксплуатации (это особенно к ОС относится, но она названа в вопросе):

- если вашу "стиральную машину" предполагается включасть на 2 (или 10, или 30...) часов непрерывной работы, а ещё более, если в случае "не срослось" (зависла, пошла в разнос) можно выключить рубильником и тут же включить по-новой (может повезёт) ... ну, в последнем случае вам к Windows ... независимо какие там буковки приписали;

- а если это: 24 х 365 ... да ещё и в необслуживаемом режиме - это совсем другой выбор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну это как раз все вторичное, от незнания как говорится.

... а что ж от знания говорится?

 

Все малые RTOS работают 24*365

Да-а-а-а??? :santa2:

 

Цены специалистам на такие безделушки хорошо известны: 100-200$

- "такие безделушки" - вещь очень относительная...

- а если уж склонны всё так прямолинейно воспринимать ... вы хоть в магазины иногда ходите? если уж "стиральная машина" - "стиральная машина", и стоимость её от $500...

Или...

Цены специалистам на такие безделушки хорошо известны: 100-200$

- каке специалисты - такие и цены?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И все таки, если Ваша задача: "управление, допустим стиральной машиной", подумайте, а нужнали Вам вообще "ось"?

Для реализации ip-стека она не является необходимым условием и если другие аспекты задачи ее не требуют, то и не надо. И требования к процессору будут меньше и ресурсы целее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И все таки, если Ваша задача: "управление, допустим стиральной машиной", подумайте, а нужнали Вам вообще "ось"?

 

А вот если: "не совсем стиральной машиной"?

Где тот водораздел, до которого вовсе не нужна "ось", и после которого она нужна?

Это в предположении, что система построенная на платформе адекватно выбранной RTOS - будет всегда лучше, чем слепленная с 0-ля на коленке ... т.е. для вас это может быть "предположение", а для меня - аксиома. Почему? да по тому, что при равном объёме функциональности - у вас никогда не будет достаточно трудоёмкости, чтобы выполнить все объмы регрессионных тестов на анализ всех-всех-всех деталей этих функциональностей.

И получится как и во всех тех 3-d part IP стеках: "... здесь играть - здесь не играть: здесь селёдку заворачивали..." - потому что в них реализуется только малая часть RFC спецификаций TCP/IP, после чего гордо заявляется, что это - стек TCP/IP :help:

И граница вот того раздела, о котором сказано выше - главным образом: стоимость единичного образца изделия: если эта стоимость позволяет "вместить" в себя в качестве не самой значительной составляющей (~<10%) стоимость "заморачивания" с RTOS ("стоимость владения", стоимость runtime ... - даже для абсолютно free RTOS будет такая составляющая, связанная с обучением и сопровождением) - то использование ОС будет оптимальным решением - и стоимость эта даже для самых коммерческих RTOS составляет $100-250. Вот вам и граница: как только стоимость изделия ~>$2500 - так RTOS становится безусловным условием ... нет, если вы трудитесь над заводной детской железной дорогой - то имеют место быть и решения "на коленке" :a14:

 

P.S. почему же разработчики возросшие "от железа" - так любят всё сделать "от 0-ля" ? мотивация здесь: слабое владение программным инструментарием + страх ... а когда есть страх - умная мотивация ... "на академическом уровне" - всегда найдётся :w00t:

 

P.P.S. "история любит развиваться по спирали" - так учил исторический материализм...

Один виток такой "спирали" можно было наблюдать ~ 80г. - когда были отброшены на свалку IBM/360/370 и им на смену пришли IBM/PC "в каждый дом": тогда классики ПО-индустрии: Дейкстра, Хоар, ... - до матерного ругались, что в IT всё (решения, алгоритмика, языки программирования) уже наработано, проработано, изучено... - только бери и переноси готовые решения - так нет же: пришли Гейтсы и Нортоны, и в своей девственной чистоте начали всё раскручивать "от-Бэйсиков"...

Такой же "виток", кажется, "вернулся на круги своя" в ранние 2000-е, когда МК достигли достаточных ресурсов, чтобы на них иметь возможность реализовывать что-то чуть большее, чем "цацки-прибамбаски"...

Делаем вывод: период полураспада интеллекта составляет что-то около 20 лет :cheers:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имею TCP и без операционки: http://aly.projektas.lt/Projects/GSMA/GSMA.htm

Если надо круто сэкономить то можно и без операционки.

А в цитате ниже вижу крик беспомощности.

Да, цикл изучения современного микроконтроллера и инструментов к нему это вам не QNX с Linux-ом ковырять. :biggrin:

С 0-ля никто не пишет, конечно. Просто здесь своя кухня которую надо знать.

Цена решает все на потребительском рынке.

И кто сможет сделать TCP/IP на PIC24 и без оси конечно заработает больше чем тот кто его сотворит на Intel Core 2 под Linux-ом.

 

 

P.S. почему же разработчики возросшие "от железа" - так любят всё сделать "от 0-ля" ? мотивация здесь: слабое владение программным инструментарием + страх ... а когда есть страх - умная мотивация ... "на академическом уровне" - всегда найдётся

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имею TCP и без операционки: http://aly.projektas.lt/Projects/GSMA/GSMA.htm

Если надо круто сэкономить то можно и без операционки.

А в цитате ниже вижу крик беспомощности.

Да, цикл изучения современного микроконтроллера и инструментов к нему это вам не QNX с Linux-ом ковырять. :biggrin:

С 0-ля никто не пишет, конечно. Просто здесь своя кухня которую надо знать.

Цена решает все на потребительском рынке.

И кто сможет сделать TCP/IP на PIC24 и без оси конечно заработает больше чем тот кто его сотворит на Intel Core 2 под Linux-ом.

 

"Бывает"

(диагноз)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Действительно, для embedded systems существует некий порог сложности

(полный TCP/IP stack, USB host, etc.), начиная с которого любая "самописная"

система будет иметь меньшую (а иногда и недостаточную) надежность по сравнению

с той же VxWorks, Linux, QNX, Nucleus etc.

И эта причина является для меня достаточной, чтобы использовать в больших

проектах Linux, хотя ,IMHO, Linux не очень подходит для embedded.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И эта причина является для меня достаточной, чтобы использовать в больших

проектах Linux, хотя ,IMHO, Linux не очень подходит для embedded.

Всё, что "накручивается" сейчас вокруг и "по мотивам" Linux - очень быстро прогрессирует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Святую наивность разыгрывать не стоит, в рамках этого форума.

Все знают ЧТО что лежит на местном ФТП.

 

Там такие вещи что линукс бледнеет.

Еще раз согласен что писать не с нуля надо, но и линукс может подождать.

Кстати очень быстрый встраиваемый TCP стек дает открыто Micrium.

По быстродействию легко заткнет все линуксовые варианты.

И что прикажете отказаться от него в пользу линукса?

 

 

Действительно, для embedded systems существует некий порог сложности

(полный TCP/IP stack, USB host, etc.), начиная с которого любая "самописная"

система будет иметь меньшую (а иногда и недостаточную) надежность по сравнению

с той же VxWorks, Linux, QNX, Nucleus etc.

И эта причина является для меня достаточной, чтобы использовать в больших

проектах Linux, хотя ,IMHO, Linux не очень подходит для embedded.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Святую наивность разыгрывать не стоит, в рамках этого форума.

Все знают ЧТО что лежит на местном ФТП.

 

Я могу использовать в своих (в смысле компании, где я работаю) проектах только

ЛЕГАЛЬНЫЕ продукты :( . Иногда это дорогие Real-Time OS

(когда это закуплено под проект), но в основном - GPL, FreeBSD и Public Domain license

продукты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...