Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Нужна эксперная консультация, какие выбрать ОС и МК
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
MAZZI
Есть такая задача:
Нужно управление, допустим стиральной машиной, через Ethernet и Internet, необходимо Web-управление, Telnet, SNMP; upgrate через TFTP.
Задача выбрать микроконтроллер, программное обеспечение quick start, операционную систему.
Очень хочеться узнать мнение спецов, кто уже это все проходил, кто и что выбрал, и что можете посоветовать, какие могут возникнуть сложности. Возможно у Вас есть какой-то прототип с примером, где подобное уже существует.
beer_warrior
Поскольку управляющие воздействия будут простейшие - главной частью будет аппаратная часть Ethernet и TCP/IP стек.
Советую обратить внимание на следующие ссылки:
ethernut.de
freertos.org
Фактически это готовые решения.
vladec
Как я понимаю Вам надо контроллер к которому есть свободный 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 на борту, а для реализации стека, скорее всего подбирать какую нибудь "Ось".
Olej
Всё, что уже ответили - набор критериев, который может быть ещё расширен...
Но прежде, чем перебирать варианты, и "примерять" критерии - нужно ответить на 2 вопроса, которых из задачи не следует:
Цитата(MAZZI @ Jan 31 2007, 15:58) *
Есть такая задача:
Нужно управление, допустим стиральной машиной,


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

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

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

P.S. собственно, есть ещё 3-й вопрос из той же группы, который я упустил: режим эксплуатации (это особенно к ОС относится, но она названа в вопросе):
- если вашу "стиральную машину" предполагается включасть на 2 (или 10, или 30...) часов непрерывной работы, а ещё более, если в случае "не срослось" (зависла, пошла в разнос) можно выключить рубильником и тут же включить по-новой (может повезёт) ... ну, в последнем случае вам к Windows ... независимо какие там буковки приписали;
- а если это: 24 х 365 ... да ещё и в необслуживаемом режиме - это совсем другой выбор.
ubobrov
Берите uC/OS-II в качестве ОСРВ, по ней Вам помоч много смогут, да и ось обкатанная и стабильная, много плюсов. Проц возьмите с запасом, ARM какой-нибудь, чтобы на борту 64К ОЗУ было, про запас, можно и на 32К сделать, но лучше 64. TCP/IT стек вам нужен, это uIP или lwIP, что по сути одно и то же, но lwIP более тяжёлый и функциональный, для чего и память нужна, плюс он уже к uC/OS портирован.
AlexandrY
Ну это как раз все вторичное, от незнания как говорится.
Цены специалистам на такие безделушки хорошо известны: 100-200$
На сколько они вырастут при индустриальном исполнении тоже: около 2-х раз
Для больших тиражей любой производитель вам сделает ASIC на том же ядре.
Все малые RTOS работают 24*365

Человеку скорее нужна оценка ресурсов памяти и быстродействия для указанных протоколов чтобы потом не менять платформу когда позно будет.
Так вот моя оценка на TCP с SNMP, операционкой, файловой и самим приложением будет 300-500 Кб памяти программ и 40-60 Кб памяти данных. (Просто сам такую делал biggrin.gif )
Производительность зависит от прикладной задачи. На TCP и оверхед операционки с десяток MIPS надо оставить.
Если нужна защита от считывания, то выбор вообще очень маленький.
Если пользоваться GNU тулсами то скорее всего придется выбирать чип с внешней памятью.
Конечно, в фаворитах ARM-ы. Самый быстрый и дешевый цикл освоения. Да и чипы самые дешевые при фиксированных остальных параметрах.
Решения на Wiznet и других с промежуточными прослойками для TCP я бы исбегал. Они дают свои стеки к которым не прикрутишь потом другие интерфейсы к Internet-у как GPRS, PPP по последовательному каналу и т.д.

Цитата(Olej @ Feb 1 2007, 13:43) *
Всё, что уже ответили - набор критериев, который может быть ещё расширен...
Но прежде, чем перебирать варианты, и "примерять" критерии - нужно ответить на 2 вопроса, которых из задачи не следует:
Цитата(MAZZI @ Jan 31 2007, 15:58) *

Есть такая задача:
Нужно управление, допустим стиральной машиной,


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

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

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

P.S. собственно, есть ещё 3-й вопрос из той же группы, который я упустил: режим эксплуатации (это особенно к ОС относится, но она названа в вопросе):
- если вашу "стиральную машину" предполагается включасть на 2 (или 10, или 30...) часов непрерывной работы, а ещё более, если в случае "не срослось" (зависла, пошла в разнос) можно выключить рубильником и тут же включить по-новой (может повезёт) ... ну, в последнем случае вам к Windows ... независимо какие там буковки приписали;
- а если это: 24 х 365 ... да ещё и в необслуживаемом режиме - это совсем другой выбор.
Olej
Цитата(AlexandrY @ Feb 2 2007, 16:35) *
Ну это как раз все вторичное, от незнания как говорится.

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

Цитата(AlexandrY @ Feb 2 2007, 16:35) *
Все малые RTOS работают 24*365

Да-а-а-а??? santa2.gif

Цитата(AlexandrY @ Feb 2 2007, 16:35) *
Цены специалистам на такие безделушки хорошо известны: 100-200$

- "такие безделушки" - вещь очень относительная...
- а если уж склонны всё так прямолинейно воспринимать ... вы хоть в магазины иногда ходите? если уж "стиральная машина" - "стиральная машина", и стоимость её от $500...
Или...
Цитата(AlexandrY @ Feb 2 2007, 16:35) *
Цены специалистам на такие безделушки хорошо известны: 100-200$

- каке специалисты - такие и цены?
vladec
И все таки, если Ваша задача: "управление, допустим стиральной машиной", подумайте, а нужнали Вам вообще "ось"?
Для реализации ip-стека она не является необходимым условием и если другие аспекты задачи ее не требуют, то и не надо. И требования к процессору будут меньше и ресурсы целее.
Olej
Цитата(vladec @ Feb 3 2007, 10:55) *
И все таки, если Ваша задача: "управление, допустим стиральной машиной", подумайте, а нужнали Вам вообще "ось"?


А вот если: "не совсем стиральной машиной"?
Где тот водораздел, до которого вовсе не нужна "ось", и после которого она нужна?
Это в предположении, что система построенная на платформе адекватно выбранной RTOS - будет всегда лучше, чем слепленная с 0-ля на коленке ... т.е. для вас это может быть "предположение", а для меня - аксиома. Почему? да по тому, что при равном объёме функциональности - у вас никогда не будет достаточно трудоёмкости, чтобы выполнить все объмы регрессионных тестов на анализ всех-всех-всех деталей этих функциональностей.
И получится как и во всех тех 3-d part IP стеках: "... здесь играть - здесь не играть: здесь селёдку заворачивали..." - потому что в них реализуется только малая часть RFC спецификаций TCP/IP, после чего гордо заявляется, что это - стек TCP/IP help.gif
И граница вот того раздела, о котором сказано выше - главным образом: стоимость единичного образца изделия: если эта стоимость позволяет "вместить" в себя в качестве не самой значительной составляющей (~<10%) стоимость "заморачивания" с RTOS ("стоимость владения", стоимость runtime ... - даже для абсолютно free RTOS будет такая составляющая, связанная с обучением и сопровождением) - то использование ОС будет оптимальным решением - и стоимость эта даже для самых коммерческих RTOS составляет $100-250. Вот вам и граница: как только стоимость изделия ~>$2500 - так RTOS становится безусловным условием ... нет, если вы трудитесь над заводной детской железной дорогой - то имеют место быть и решения "на коленке" a14.gif

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

P.P.S. "история любит развиваться по спирали" - так учил исторический материализм...
Один виток такой "спирали" можно было наблюдать ~ 80г. - когда были отброшены на свалку IBM/360/370 и им на смену пришли IBM/PC "в каждый дом": тогда классики ПО-индустрии: Дейкстра, Хоар, ... - до матерного ругались, что в IT всё (решения, алгоритмика, языки программирования) уже наработано, проработано, изучено... - только бери и переноси готовые решения - так нет же: пришли Гейтсы и Нортоны, и в своей девственной чистоте начали всё раскручивать "от-Бэйсиков"...
Такой же "виток", кажется, "вернулся на круги своя" в ранние 2000-е, когда МК достигли достаточных ресурсов, чтобы на них иметь возможность реализовывать что-то чуть большее, чем "цацки-прибамбаски"...
Делаем вывод: период полураспада интеллекта составляет что-то около 20 лет cheers.gif
AlexandrY
Имею TCP и без операционки: http://aly.projektas.lt/Projects/GSMA/GSMA.htm
Если надо круто сэкономить то можно и без операционки.
А в цитате ниже вижу крик беспомощности.
Да, цикл изучения современного микроконтроллера и инструментов к нему это вам не QNX с Linux-ом ковырять. biggrin.gif
С 0-ля никто не пишет, конечно. Просто здесь своя кухня которую надо знать.
Цена решает все на потребительском рынке.
И кто сможет сделать TCP/IP на PIC24 и без оси конечно заработает больше чем тот кто его сотворит на Intel Core 2 под Linux-ом.


Цитата(Olej @ Feb 3 2007, 13:07) *
P.S. почему же разработчики возросшие "от железа" - так любят всё сделать "от 0-ля" ? мотивация здесь: слабое владение программным инструментарием + страх ... а когда есть страх - умная мотивация ... "на академическом уровне" - всегда найдётся
Olej
Цитата(AlexandrY @ Feb 3 2007, 17:41) *
Имею TCP и без операционки: http://aly.projektas.lt/Projects/GSMA/GSMA.htm
Если надо круто сэкономить то можно и без операционки.
А в цитате ниже вижу крик беспомощности.
Да, цикл изучения современного микроконтроллера и инструментов к нему это вам не QNX с Linux-ом ковырять. biggrin.gif
С 0-ля никто не пишет, конечно. Просто здесь своя кухня которую надо знать.
Цена решает все на потребительском рынке.
И кто сможет сделать TCP/IP на PIC24 и без оси конечно заработает больше чем тот кто его сотворит на Intel Core 2 под Linux-ом.


"Бывает"
(диагноз)
yuri_t
Действительно, для embedded systems существует некий порог сложности
(полный TCP/IP stack, USB host, etc.), начиная с которого любая "самописная"
система будет иметь меньшую (а иногда и недостаточную) надежность по сравнению
с той же VxWorks, Linux, QNX, Nucleus etc.
И эта причина является для меня достаточной, чтобы использовать в больших
проектах Linux, хотя ,IMHO, Linux не очень подходит для embedded.
Olej
Цитата(yuri_t @ Feb 4 2007, 16:46) *
И эта причина является для меня достаточной, чтобы использовать в больших
проектах Linux, хотя ,IMHO, Linux не очень подходит для embedded.

Всё, что "накручивается" сейчас вокруг и "по мотивам" Linux - очень быстро прогрессирует.
AlexandrY
Святую наивность разыгрывать не стоит, в рамках этого форума.
Все знают ЧТО что лежит на местном ФТП.

Там такие вещи что линукс бледнеет.
Еще раз согласен что писать не с нуля надо, но и линукс может подождать.
Кстати очень быстрый встраиваемый TCP стек дает открыто Micrium.
По быстродействию легко заткнет все линуксовые варианты.
И что прикажете отказаться от него в пользу линукса?


Цитата(yuri_t @ Feb 4 2007, 17:16) *
Действительно, для embedded systems существует некий порог сложности
(полный TCP/IP stack, USB host, etc.), начиная с которого любая "самописная"
система будет иметь меньшую (а иногда и недостаточную) надежность по сравнению
с той же VxWorks, Linux, QNX, Nucleus etc.
И эта причина является для меня достаточной, чтобы использовать в больших
проектах Linux, хотя ,IMHO, Linux не очень подходит для embedded.
yuri_t
Цитата(AlexandrY @ Feb 5 2007, 11:18) *
Святую наивность разыгрывать не стоит, в рамках этого форума.
Все знают ЧТО что лежит на местном ФТП.


Я могу использовать в своих (в смысле компании, где я работаю) проектах только
ЛЕГАЛЬНЫЕ продукты sad.gif . Иногда это дорогие Real-Time OS
(когда это закуплено под проект), но в основном - GPL, FreeBSD и Public Domain license
продукты.
fontp
Цитата(yuri_t @ Feb 5 2007, 10:38) *
[
Я могу использовать в своих (в смысле компании, где я работаю) проектах только
ЛЕГАЛЬНЫЕ продукты sad.gif . Иногда это дорогие Real-Time OS
(когда это закуплено под проект), но в основном - GPL, FreeBSD и Public Domain license
продукты.


uIP и lwIP - легальные продукты. Хоть и open source. существует вариант lwIP портируемый без всякого операционного ядра. uIP, насколько я помню, вообще настолько маленький и ущербный, что портируется всегда без

http://www.sics.se/~adam/lwip/
http://savannah.nongnu.org/projects/lwip/


для стиральной машины самое оно :-)
zltigo
Цитата(fontp @ Feb 5 2007, 11:09) *
uIP и lwIP - легальные продукты

Только к "полному IP стеку" они много более отдаленое отношение, чем стек больших операционок.
Цитата
для стиральной машины самое оно :-)

Скорее всего да, только yuri_t говорил о случаях превышающих порог сложности радиолюбительской стиральной машины.
fontp
Цитата(zltigo @ Feb 5 2007, 12:46) *
Цитата(fontp @ Feb 5 2007, 11:09) *

uIP и lwIP - легальные продукты

Только к "полному IP стеку" они много более отдаленое отношение, чем стек больших операционок.
Цитата
для стиральной машины самое оно :-)

Скорее всего да, только yuri_t говорил о случаях превышающих порог сложности радиолюбительской стиральной машины.



lwIP годится не только для стиральной машины. Пусть хоть и "неполный", но достаточно богатый для многих приложений. И портов тьма... Там же по ссылке
Olej
Цитата(fontp @ Feb 5 2007, 14:45) *
lwIP годится не только для стиральной машины. Пусть хоть и "неполный", но достаточно богатый для многих приложений. И портов тьма... Там же по ссылке


Братан cheers.gif - безусловно для какого-то уровня требований - это самое то, что надо... И средства должны подбираться под потребности - в этом и состоит "искусство".

Но, как только возникают подозрения на возможности функционального пасширения, или, например, когда трудно сказать - с чьим и каким IP-стеком придётся работать ... "с ответной стороны", о тут и вылезет уйма "но", на которые нужно, но нелегко ответить:
- а над каким MAC уровнем способен работать ваш IP-стек: RFC 1042 или RFC 894 ?
- а что он собирается делать с адресами 224.0.0.0-239.255.255.255 cranky.gif
- а как при сегментации UDP, на 3, скажем IP, он собирается отсылать 3 ARP? или 1?
- а что там у него с TCP: отсроченные подтверждения? алгоритм Нэйгла? адаптивное объявление размеров окон? ....
И я назвал 4 позиции "на-вскидку", а их можно назвать 1000!
vladec
Тогда изначально тема сформулирована неправильно, одно дело, решение для чего то "типа стиральной машины" и совсем другое - для каких то крутых приложений.
fontp
Цитата(Olej @ Feb 6 2007, 23:06) *
Но, как только возникают подозрения на возможности функционального пасширения, или, например, когда трудно сказать - с чьим и каким IP-стеком придётся работать ... "с ответной стороны", о тут и вылезет уйма "но", на которые нужно, но нелегко ответить:
- а над каким MAC уровнем способен работать ваш IP-стек: RFC 1042 или RFC 894 ?
- а что он собирается делать с адресами 224.0.0.0-239.255.255.255 cranky.gif
- а как при сегментации UDP, на 3, скажем IP, он собирается отсылать 3 ARP? или 1?
- а что там у него с TCP: отсроченные подтверждения? алгоритм Нэйгла? адаптивное объявление размеров окон? ....
И я назвал 4 позиции "на-вскидку", а их можно назвать 1000!



Не, ну типа - зачем стиральной машине QoS ? Или там даже если видео-поток выкинуть до ближайшего хоста?
zltigo
Цитата(fontp @ Feb 7 2007, 10:54) *
.... до ближайшего хоста?

Значит этой стиральной машине в комплект нужен "нормальный хост" (читаю - как минимум внешний
домашний компьютер). Ничего страшного для конкретного радиолюбителя делающего конкретную радиолюбительсукю стиральную машину конкретно для себя.
А если это продукт будем выпускать на рынок? А?
fontp
Цитата(zltigo @ Feb 7 2007, 12:09) *
Цитата(fontp @ Feb 7 2007, 10:54) *

.... до ближайшего хоста?

Значит этой стиральной машине в комплект нужен "нормальный хост" (читаю - как минимум внешний
домашний компьютер). Ничего страшного для конкретного радиолюбителя делающего конкретную радиолюбительсукю стиральную машину конкретно для себя.
А если это продукт будем выпускать на рынок? А?


Не придирайтесь. Важен принцип. Я подразумевал совсем другое приложение - постинтеллектуальную видеокамеру для видеоконференций без участия человека. Ей нужен хост, а то как же?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.