|
Нужна эксперная консультация, какие выбрать ОС и МК |
|
|
|
Jan 31 2007, 14:58
|
Частый гость
 
Группа: Свой
Сообщений: 116
Регистрация: 25-08-04
Пользователь №: 543

|
Есть такая задача: Нужно управление, допустим стиральной машиной, через Ethernet и Internet, необходимо Web-управление, Telnet, SNMP; upgrate через TFTP. Задача выбрать микроконтроллер, программное обеспечение quick start, операционную систему. Очень хочеться узнать мнение спецов, кто уже это все проходил, кто и что выбрал, и что можете посоветовать, какие могут возникнуть сложности. Возможно у Вас есть какой-то прототип с примером, где подобное уже существует.
|
|
|
|
|
Feb 1 2007, 11:03
|
Профессионал
    
Группа: Свой
Сообщений: 1 167
Регистрация: 3-10-05
Из: Москва
Пользователь №: 9 158

|
Как я понимаю Вам надо контроллер к которому есть свободный 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 на борту, а для реализации стека, скорее всего подбирать какую нибудь "Ось".
|
|
|
|
|
Feb 1 2007, 12:13
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458

|
Всё, что уже ответили - набор критериев, который может быть ещё расширен... Но прежде, чем перебирать варианты, и "примерять" критерии - нужно ответить на 2 вопроса, которых из задачи не следует: Цитата(MAZZI @ Jan 31 2007, 15:58)  Есть такая задача: Нужно управление, допустим стиральной машиной, 1. нужно точнее знать, что это за "допустим стиральная машина", особенно из-за этого "допустим" - вполне может оказаться, что от этой стиральной машины ещё требуется ездить в условиях выжженной пустыни и при этом ещё вести беглый прицельный огонь  ... И достаточно точной интегральной оценкой этого "чем есть?" можт быть оценка стоимости экземпляра этого устройства: $10 - $100 - $1000 - $10000 (недостающее вписать). 2. сколько раз вы собираетесь делать подобные машины? т.е. не тираж, а насколько долго вы собираетесь разрабатывать следующие модели-клоны таких устройств: разово сделали и забыли? на 20 лет вперёд? насколько можно прогнозировать расширение функциональных требований к устройству? От комбинации ответов на эти вопросы - правильный  ответ на ваш вопрос может различаться как белое-и-чёрное. P.S. собственно, есть ещё 3-й вопрос из той же группы, который я упустил: режим эксплуатации (это особенно к ОС относится, но она названа в вопросе): - если вашу "стиральную машину" предполагается включасть на 2 (или 10, или 30...) часов непрерывной работы, а ещё более, если в случае "не срослось" (зависла, пошла в разнос) можно выключить рубильником и тут же включить по-новой (может повезёт) ... ну, в последнем случае вам к Windows ... независимо какие там буковки приписали; - а если это: 24 х 365 ... да ещё и в необслуживаемом режиме - это совсем другой выбор.
|
|
|
|
|
Feb 2 2007, 10:13
|
Участник

Группа: Свой
Сообщений: 64
Регистрация: 15-08-05
Пользователь №: 7 636

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

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Ну это как раз все вторичное, от незнания как говорится. Цены специалистам на такие безделушки хорошо известны: 100-200$ На сколько они вырастут при индустриальном исполнении тоже: около 2-х раз Для больших тиражей любой производитель вам сделает ASIC на том же ядре. Все малые RTOS работают 24*365 Человеку скорее нужна оценка ресурсов памяти и быстродействия для указанных протоколов чтобы потом не менять платформу когда позно будет. Так вот моя оценка на TCP с SNMP, операционкой, файловой и самим приложением будет 300-500 Кб памяти программ и 40-60 Кб памяти данных. (Просто сам такую делал  ) Производительность зависит от прикладной задачи. На TCP и оверхед операционки с десяток MIPS надо оставить. Если нужна защита от считывания, то выбор вообще очень маленький. Если пользоваться GNU тулсами то скорее всего придется выбирать чип с внешней памятью. Конечно, в фаворитах ARM-ы. Самый быстрый и дешевый цикл освоения. Да и чипы самые дешевые при фиксированных остальных параметрах. Решения на Wiznet и других с промежуточными прослойками для TCP я бы исбегал. Они дают свои стеки к которым не прикрутишь потом другие интерфейсы к Internet-у как GPRS, PPP по последовательному каналу и т.д. Цитата(Olej @ Feb 1 2007, 13:43)  Всё, что уже ответили - набор критериев, который может быть ещё расширен... Но прежде, чем перебирать варианты, и "примерять" критерии - нужно ответить на 2 вопроса, которых из задачи не следует: Цитата(MAZZI @ Jan 31 2007, 15:58)  Есть такая задача: Нужно управление, допустим стиральной машиной,
1. нужно точнее знать, что это за "допустим стиральная машина", особенно из-за этого "допустим" - вполне может оказаться, что от этой стиральной машины ещё требуется ездить в условиях выжженной пустыни и при этом ещё вести беглый прицельный огонь  ... И достаточно точной интегральной оценкой этого "чем есть?" можт быть оценка стоимости экземпляра этого устройства: $10 - $100 - $1000 - $10000 (недостающее вписать). 2. сколько раз вы собираетесь делать подобные машины? т.е. не тираж, а насколько долго вы собираетесь разрабатывать следующие модели-клоны таких устройств: разово сделали и забыли? на 20 лет вперёд? насколько можно прогнозировать расширение функциональных требований к устройству? От комбинации ответов на эти вопросы - правильный  ответ на ваш вопрос может различаться как белое-и-чёрное. P.S. собственно, есть ещё 3-й вопрос из той же группы, который я упустил: режим эксплуатации (это особенно к ОС относится, но она названа в вопросе): - если вашу "стиральную машину" предполагается включасть на 2 (или 10, или 30...) часов непрерывной работы, а ещё более, если в случае "не срослось" (зависла, пошла в разнос) можно выключить рубильником и тут же включить по-новой (может повезёт) ... ну, в последнем случае вам к Windows ... независимо какие там буковки приписали; - а если это: 24 х 365 ... да ещё и в необслуживаемом режиме - это совсем другой выбор.
|
|
|
|
|
Feb 2 2007, 15:47
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458

|
Цитата(AlexandrY @ Feb 2 2007, 16:35)  Ну это как раз все вторичное, от незнания как говорится. ... а что ж от знания говорится? Цитата(AlexandrY @ Feb 2 2007, 16:35)  Все малые RTOS работают 24*365 Да-а-а-а???  Цитата(AlexandrY @ Feb 2 2007, 16:35)  Цены специалистам на такие безделушки хорошо известны: 100-200$ - "такие безделушки" - вещь очень относительная... - а если уж склонны всё так прямолинейно воспринимать ... вы хоть в магазины иногда ходите? если уж "стиральная машина" - "стиральная машина", и стоимость её от $500... Или... Цитата(AlexandrY @ Feb 2 2007, 16:35)  Цены специалистам на такие безделушки хорошо известны: 100-200$ - каке специалисты - такие и цены?
|
|
|
|
|
Feb 3 2007, 11:37
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458

|
Цитата(vladec @ Feb 3 2007, 10:55)  И все таки, если Ваша задача: "управление, допустим стиральной машиной", подумайте, а нужнали Вам вообще "ось"? А вот если: "не совсем стиральной машиной"? Где тот водораздел, до которого вовсе не нужна "ось", и после которого она нужна? Это в предположении, что система построенная на платформе адекватно выбранной RTOS - будет всегда лучше, чем слепленная с 0-ля на коленке ... т.е. для вас это может быть "предположение", а для меня - аксиома. Почему? да по тому, что при равном объёме функциональности - у вас никогда не будет достаточно трудоёмкости, чтобы выполнить все объмы регрессионных тестов на анализ всех-всех-всех деталей этих функциональностей. И получится как и во всех тех 3-d part IP стеках: "... здесь играть - здесь не играть: здесь селёдку заворачивали..." - потому что в них реализуется только малая часть RFC спецификаций TCP/IP, после чего гордо заявляется, что это - стек TCP/IP И граница вот того раздела, о котором сказано выше - главным образом: стоимость единичного образца изделия: если эта стоимость позволяет "вместить" в себя в качестве не самой значительной составляющей (~<10%) стоимость "заморачивания" с RTOS ("стоимость владения", стоимость runtime ... - даже для абсолютно free RTOS будет такая составляющая, связанная с обучением и сопровождением) - то использование ОС будет оптимальным решением - и стоимость эта даже для самых коммерческих RTOS составляет $100-250. Вот вам и граница: как только стоимость изделия ~>$2500 - так RTOS становится безусловным условием ... нет, если вы трудитесь над заводной детской железной дорогой - то имеют место быть и решения "на коленке" P.S. почему же разработчики возросшие "от железа" - так любят всё сделать "от 0-ля" ? мотивация здесь: слабое владение программным инструментарием + страх ... а когда есть страх - умная мотивация ... "на академическом уровне" - всегда найдётся P.P.S. "история любит развиваться по спирали" - так учил исторический материализм... Один виток такой "спирали" можно было наблюдать ~ 80г. - когда были отброшены на свалку IBM/360/370 и им на смену пришли IBM/PC "в каждый дом": тогда классики ПО-индустрии: Дейкстра, Хоар, ... - до матерного ругались, что в IT всё (решения, алгоритмика, языки программирования) уже наработано, проработано, изучено... - только бери и переноси готовые решения - так нет же: пришли Гейтсы и Нортоны, и в своей девственной чистоте начали всё раскручивать "от-Бэйсиков"... Такой же "виток", кажется, "вернулся на круги своя" в ранние 2000-е, когда МК достигли достаточных ресурсов, чтобы на них иметь возможность реализовывать что-то чуть большее, чем "цацки-прибамбаски"... Делаем вывод: период полураспада интеллекта составляет что-то около 20 лет
|
|
|
|
|
Feb 3 2007, 16:41
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

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

|
Цитата(AlexandrY @ Feb 3 2007, 17:41)  Имею TCP и без операционки: http://aly.projektas.lt/Projects/GSMA/GSMA.htmЕсли надо круто сэкономить то можно и без операционки. А в цитате ниже вижу крик беспомощности. Да, цикл изучения современного микроконтроллера и инструментов к нему это вам не QNX с Linux-ом ковырять. С 0-ля никто не пишет, конечно. Просто здесь своя кухня которую надо знать. Цена решает все на потребительском рынке. И кто сможет сделать TCP/IP на PIC24 и без оси конечно заработает больше чем тот кто его сотворит на Intel Core 2 под Linux-ом. "Бывает" (диагноз)
|
|
|
|
|
Feb 4 2007, 15:46
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 24-08-05
Пользователь №: 7 937

|
Действительно, для embedded systems существует некий порог сложности (полный TCP/IP stack, USB host, etc.), начиная с которого любая "самописная" система будет иметь меньшую (а иногда и недостаточную) надежность по сравнению с той же VxWorks, Linux, QNX, Nucleus etc. И эта причина является для меня достаточной, чтобы использовать в больших проектах Linux, хотя ,IMHO, Linux не очень подходит для embedded.
|
|
|
|
|
Feb 4 2007, 16:22
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458

|
Цитата(yuri_t @ Feb 4 2007, 16:46)  И эта причина является для меня достаточной, чтобы использовать в больших проектах Linux, хотя ,IMHO, Linux не очень подходит для embedded. Всё, что "накручивается" сейчас вокруг и "по мотивам" Linux - очень быстро прогрессирует.
|
|
|
|
|
Feb 5 2007, 10:18
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Святую наивность разыгрывать не стоит, в рамках этого форума. Все знают ЧТО что лежит на местном ФТП. Там такие вещи что линукс бледнеет. Еще раз согласен что писать не с нуля надо, но и линукс может подождать. Кстати очень быстрый встраиваемый 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.
|
|
|
|
|
Feb 5 2007, 10:38
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 24-08-05
Пользователь №: 7 937

|
Цитата(AlexandrY @ Feb 5 2007, 11:18)  Святую наивность разыгрывать не стоит, в рамках этого форума. Все знают ЧТО что лежит на местном ФТП. Я могу использовать в своих (в смысле компании, где я работаю) проектах только ЛЕГАЛЬНЫЕ продукты  . Иногда это дорогие Real-Time OS (когда это закуплено под проект), но в основном - GPL, FreeBSD и Public Domain license продукты.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|