Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2000 №3

Рабы своих семейств, или почему разработчики микроконтроллерной техники не очень охотно меняют базу для своих разработок

Фрунзе Александр


Тема настоящего номера возникла почти случайно. На одном из редакционных совещаний мне было показано письмо, пришедшее в наш адрес по электронной почте от одного из авторов (см. с. 18), в котором, помимо прочего, содержалась скептическая оценка излишнего с его точки зрения внимания отечественных разработчиков (да и печатных изданий) к известным микроконтроллерам, про которые уже пора бы и позабыть, и недостатка такового к другим, не так хорошо известным, но позволяющим красиво реализовать многие интересные с точки зрения автора вещи. На вопрос, что я думаю по этому поводу, я столь же скептически хмыкнул, ответив, что, когда молодой человек ощутит на себе давление груза уже выполненных разработок, проявляющееся в виде десятков мегабайт текстов отлаженных программ «на все случаи жизни», тогда он поймет, почему разработчики не очень охотно переходят на новые контроллеры. После этого ответа мы начали обсуждение какой-то другой темы, и на несколько дней позабыли об упомянутом письме.

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

Когда я вышел от Володи, я встретил еще одного хорошо знакомого разработчика (являющегося, к тому же, автором одной из статей, опубликованных в первых двух номерах нашего журнала). После того как мы с ним поговорили об уникальных параметрах некоторых новых операционных усилителей, он предпринял очередную попытку уговорить меня перейти на разработки с использованием какого-то удивительного контроллера, производимого Texas Instruments, потребляющего безумно мало, но могущего на порядок больше, чем всем приевшиеся х51. Выслушав диферамбы в адрес Texas'ского чуда, я в очередной раз попытался ему объяснить, что приобретение новых программатора, эмулятора и пакета языков программирования стоит денег — несколько сотен долларов, которые нужно вынуть из собственного кармана — со спонсорами, увы, проблемы. Да и времени, которое я потеряю на освоение нового контроллера, наработку новых навыков, написание и отладку новых программ, у меня просто нет— когда есть хорошо оплачиваемая и интересная работа, на отвлечения от нее нет ни времени, ни мотивации. Не знаю, понял ли он меня или нет, но в этом разговоре я впервые отчетливо сформулировал, по крайней мере для себя, что рыночная судьба того или иного контроллера зависит не только от его технических характеристик, но и от «человеческого фактора». И поэтому, когда спустя несколько дней возник вопрос, а не попробовать ли нам посвятить очередной номер журнала микроконтроллерам, я тут же высказал свое согласие с этим, предложив поставить во главе угла не контроллеры, а причины их выбора теми или иными разработчиками.

Очевидно, что мнение любого из нас не может претендовать на звание истины в последней инстанции. Поэтому мы попросили подготовить подобный материал нескольких авторов, хорошо знакомых с рынком микроконтроллеров, что называется, «по долгу службы». Мы полагаем, что взгляды на проблему и заметно расходящиеся друг с другом рейтинги популярности и применимости различных МК из «ФИТОН», КТЦ-МК, «ТЕЛЕСИСТЕМ» и ряда других, не менее известных на этом рынке производителей и поставщиков, собранные под одной обложкой, и дадут в совокупности упомянутую истину. Почти все откликнулись на нашу идею с радостью и взялись за подготовку материалов. Однако по мере поступления статей в редакцию мы поняли, что уместить все это в рамках одного номера (даже такого толстенького как № 3/2000) нам не удастся. В итоге было решено продолжить затронутую тему и на страницах № 4/2000.

Со взглядами представителей упомянутых компаний, а также описаниями некоторых семейств микроконтроллеров вы ознакомитесь на последующих страницах журнала. А пока, пользуясь редакторскими привилегиями, я изложу свои соображения о людях, выбирающих те или иные контроллеры. И начну, как водится, с доисторических (с точки зрения микроконтроллеров) времен, коими являются семидесятые годы 20-го столетия…

Опуская историю создания первых микропроцессоров, обратимся к тому моменту, когда 8-разрядные процессоры второго поколения (8080 и 8085 от Intel, 6800 от фирмы Motorola и Z80 от Zilog) прочно завоевали рынок. Это была вторая половина 70-х. Всем специалистам стало очевидно, что за микропроцессорами — будущее, и если не вкладывать деньги в эти технологии, то просто выпадешь из числа развитых стран. Прекрасно понимали это и консультанты правительства тогда еще существовавшего СССР. Но они также понимали, что, поскольку в этих работах мы шли с некоторым отставанием от американцев, разумно было бы просто скопировать уже разработанные за океаном процессоры, в которых решены многие из тех проблем, на самостоятельное решение которых ушли бы месяцы и годы, не говоря уже о больших деньгах. Другими словами, с целью экономии времени и средств было решено попросту «передрать» эти процессоры, самым что ни на есть пиратским способом. Конечно, звучит это сейчас несколько неприлично, но кто из вас, дорогие читатели, в подобной ситуации поступает иначе? Например, официальным путем, за свои кровные, а не за средства предприятия покупает чудесные офисные творения Билла Гейтса (а до него Пети Нортона или просто наши родимые Лексикон да DrWeb)? В общем, с нами, конечно, все ясно. Неясно было только, какой из процессоров нужно копировать — Intel'овский, Motorol'овский или Zilog'овский. Каждый из них был по-своему хорош, да и исход конкурентной борьбы между ними предсказать было невозможно. В конце концов было принято соломоново решение — копировать все, а там видно будет. А дабы не распылять силы, копировать Intel'овскую продукции было поручено отечественным предприятиям, Motorol'овскую— болгарским, а Zilog'овскую— немецким. Вот так Intel, ни вложив ни доллара, завоевала советский рынок — ее продукты под нашими названиями (580ИК80, 1821ВМ85, 1810ВМ86, 1816ВЕ48, 1816ВЕ51 и т. д.) стали родными для российских, украинских, белорусских, прибалтийских и закавказских инженеров. Motorol'е же в результате этой разборки досталась маленькая Болгария, а не выдержавшему гонки на столь высоком уровне Zilog'у — и вовсе умершая ГДР.

До середины 90-х годов отечественные разработчики были практически незнакомы с какими-либо контроллерами, помимо Intel-совместимых. Последние же хорошо освещались в учебной литературе для вузов, в технических журналах, в специализированной технической литературе. Новыми для нас (автор настоящих строк начинал еще с «Микро-80», опубликованной в «Радио» в 1982–83 гг.), например, были контроллеры Philips с х51-м ядром или последний шедевр от Intel — семейство MCS-251. Поэтому Intel'овское начало прочно сидит в каждом из разработчиков, активно работающих с микроконтроллерами с начала или середины 80-х годов — ничего другого тогда просто не было.

Развитие дистрибьюции качественно изменило ситуацию на рынке микроконтроллеров. Разработчикам стали доступны и цифровые сигнальные процессоры (DSP), и завоевавшие к тому моменту широкую популярность во всем остальном мире PIC-контроллеры, и многое другое. С этого момента количество Intel-совместимых изделий (в первую очередь с ядром х51) в новых разработках начало неуклонно сокращаться, а альтернативных продуктов — резко расти. Процессу перехода разработчиков на новые изделия способствовал ряд обстоятельств. Во-первых, многие из них остались практически без работы (работа в НИИ с зарплатой, едва хватавшей на проездной и обеды и как следствие этого, с почти что свободным графиком, естественно, не в счет). Невостребованность серого вещества, недостатком которого наши разработчики никогда не отличались, вынудила многих из них начать знакомство с новыми изделиями — это отвлекало от печальной действительности и помогало генерить новые идеи (а что бы еще можно было бы сделать и вывести на рынок?). И действительно, количество программаторов, отладочных средств, интеллектуальных приборов во второй половине 90-х годов резко возросло. Приборы на основе микропроцессоров перестали кого бы то ни было удивлять, а ныне и просто переходят в разряд музейных экспонатов.

Вторым моментом, способствовавшим оттоку разработчиков от, казалось бы, навеки родных Intel-совместимых х51-микроконтроллеров, стала агрессивная ценовая политика Zilog, Microchip и ряда других производителей МК. Наиболее популярные «однокристалки» с кварцевым окошком, например D87C51 от Intel, стоили в первой половине 90-х годов порядка 20 $, в то время как PIC-контроллеры были в три-четыре раза дешевле. Последние, к тому же, оказались не уступающими, а нередко и превосходящими кристаллы х51 по производительности и не требовали дорогостоящего программатора. Все это сделало их в какой-то момент едва ли не самыми популярными изделиями на российском контроллерном рынке.

Началось также бурное использование цифровых сигнальных процессоров. В задачах цифрового регулирования, в цифровых системах связи они на порядки превзошли по производительности традиционные контроллеры и моментально вытеснили их из подобных применений. Здесь все было очевидно — высокая производительность позволяла решать задачи, непосильные для других МК, и те, кто специализировался на создании подобных систем, были просто вынуждены перейти на DSP, ибо без них стало просто невозможно создать конкурентоспособный продукт.

Но если переход на DSP в задачах, требующих цифровой обработки быстроизменяющихся сигналов, был практически предопределен, то на рынке контроллеров широкого применения все было гораздо сложнее. Стараниями Dallas Semiconductor, Philips и Intel производительность самых мощных изделий семейства х51 выросла более чем на порядок в сравнении со стандартным 12-мегагерцовым 87С51. Далее настал черед Atmel — ее Flash-технология, внедренная в контроллеры, и агрессивная ценовая политика привели к тому, что перепрограммируемый корпус АТ89С51-12 стоит сейчас в розницу менее 2 $! На этом уровне выигрыш в 10–20 центов или чуть более, получаемый при использовании более дешевых изделий, на типичных для наших производителей тиражах (от нескольких десятков до нескольких сотен изделий в год) не дает заметной экономии средств. К тому же существует огромное количество задач, где производительности практически любого контроллера широкого применения, работающего на частоте до 10 МГц, оказывается вполне достаточно. Поэтому привлекательность в сравнении с х51 PIC-контроллеров или казавшихся еще пару лет назад необычайно перспективными контроллеров семейства Z8 резко уменьшилась. Вдобавок на рынке появились RISC-контроллеры семейства AVR все той же Atmel, превзошедшие по производительности изделия Microchip и унаследовавшие от х51 периферию. Эти особенности, а также доступность многих из средств поддержки разработки для них и их низкая цена способствовали оттоку симпатий многих разработчиков от недавних претендентов на звание контроллера номер 1. В итоге рынок сильно расслоился, и у каждого из контроллеров осталось достаточное количество его почитателей.

В сложившихся условиях выбор разработчиком того или иного контроллера все менее и менее стал зависеть от особенностей контроллера, а определяется целой совокупностью причин. Важнейшей из них, по мнению автора, является все более и более сокращающееся время на разработку и доведение до серийного выпуска новых изделий. В условиях почти полного отсутствия финансирования новых разработок движение вперед осуществляется при выполнении конкретных заказов, где заказчик практически не дает возможности исполнителю поэкспериментировать вволю за его (заказчика) счет. Конечно, исключения бывают, но они лишь подтверждают правило. Когда у вас всего три месяца на то, чтобы отладить аналоговую часть с новым АЦП, работающим по-иному, чем ранее, алгоритму, и новая печатная плата, на которой нужно отловить ошибки, вам уже не до нового контроллера. Особенно если для старого отлажена и годами проверена необходимая для реализации алгоритма арифметика с плавающей запятой, написанная на ассемблере и занимающая в 5–10 раз меньший объем в памяти МК, чем аналогичная, написанная на Си (не говоря уже о том, что первая по ряду причин работает, как правило, в два-три раза быстрее, чем вторая).

Следующим фактором, тормозящим миграцию специалистов от одного контроллера к другому, является относительное снижение количества ключевых разработчиков-радиоэлектронщиков в фирмах, производящих те или иные электронные изделия. В 70-х и 80-х годах в стенах различных НИИ было много разработчиков довольно высокого уровня, даже в составе одного небольшого коллектива. Поэтому при проведении работ один кусок поручался одному специалисту (группе специалистов), другой — другому и т. д. В нынешних условиях большие предприятия остались без финансирования и оказались неспособными обеспечить работой и приемлемой зарплатой большое количество высококвалифицированных специалистов. Последние разбрелись по дистрибьюторским организациям и малым фирмам. «Пришедшие в дистрибьюторы» чаще всего завершили свою карьеру разработчиков, переквалифицировавшись в консультантов (правда, есть и исключения). Ушедшие же в малые фирмы перешли в новое качество.Не секрет, что особенностью нашей экономики является тяготение к выпуску наукоемкой продукции. Нам крайне сложно тягаться с южно-азиатскими и китайскими производителями бытовой электроники, выпускаемой миллионными тиражами. В то же время в выпуске малотиражной продукции, важнейшим элементом которой является «ноу-хау», мы вполне конкурентоспособны не только с азиатскими, но и с европейскими или заокеанскими производителями. Но такую продукцию лучше всего производят небольшие фирмы, с числом сотрудников чуть ли не от 5 до 15–20. Каждый из сотрудников — многофункционален, выполняет обязанности нескольких должностных лиц. В этом случае сокращение избыточной рабочей силы дает возможность заметно поднять оплату труда оставшихся специалистов. Описанная тенденция приводит к тому, что в фирме может остаться всего один разработчик, у которого голова болит за весь прибор, а не только за контроллер. А поскольку удачный прибор является оптимальной совокупностью не только аппаратных и программных средств МК, но и аналоговой и цифровой части, электроники, датчиков и конструктивного исполнения, то разработчик подобного прибора — универсал, достаточно хорошо владеющий всеми перечисленными вопросами. И оптимизировать свое изделие он начинает с наиболее слабого места, коим далеко не всегда является микроконтроллер. Очевидно, что подобный разработчик будет использовать наработанные ранее решения в новых разработках до тех пор, пока не столкнется с настоятельной необходимостью их замены, и редко когда будет менять используемый контроллер лишь на том основании, что он морально устарел или потому, что контроллер, о котором он только что узнал, может красиво реализовать новые функции, возможно, весьма важные в дальнейшем, но имеющие сейчас для него практически нулевую ценность.

Рискну также высказать предположение, что наибольшую мобильность в миграции от одного микроконтроллера к другому демонстрируют относительно молодые специалисты с достаточно узкой специализацией. Любая творческая личность не только стремится узнать что-то новое, но и расширить свои возможности, дабы повысить свою рыночную стоимость для работодателя в соответствующей области. Эта мотивация редко когда осознана, но она присутствует практически у всех, позволяя не только демонстрировать чудеса работоспособности, но и оставаться на плаву в трудные минуты. Так вот, у молодых разработчиков признанных заслуг, как правило, поменьше, и упомянутая мотивация выражена много сильнее. А поскольку наша система образования, несмотря на переживаемые трудности, все еще в состоянии готовить специалистов самой высокой технической квалификации, возможности этих молодых ребят ничуть не ниже, чем у признанных разработчиков. И они буквально бросаются на все, что может помочь им реализовать свой потенциал. Но чем уже их специализация, тем глубже они постигают эту ограниченную область знаний, и тем чаще переходят с одного объекта изучения на другой.

Еще одна причина, которая оказывает серьезное воздействие на выбор того или иного контроллера, или на миграцию от одного из них к другому, является стоимость новых средств поддержки разработки. Правда, она постепенно снижается. Так, когда автор настоящих строк впервые услышал о производимых Analog Devices DSP (было это, наверное, году в 92-м), стоимость льготного («университетского») комплекта средств поддержки разработки была около 1000 $, а полная цена была, по-моему, втрое выше. В 1000 $ автору обошелся в 1990-м году универсальный программатор, справлявшийся практически со всеми существовавшими тогда программируемыми микросхемами, за исключением отечественых ПЗУ 556-й серии с пережигаемыми перемычками. Первый аппаратный эмулятор МК 51-го семейства производства ЦНИИ «Циклон» (так, увы, толком и не работавший), потянул на 250 зеленых, а приобретенный вместо него году в 94-м безусловно удачный, хотя и начавший в последнее время дурить эмулятор АСЕ-52 фирмы «Фитон» был втрое дороже. Сегодня, благодаря серьезной конкуренции на рынке средств поддержки разработки, стоимость универсальных программаторов упала до 150–200 $, заметно подешевели также средства аппаратной эмуляции. Кроме того, ряд микроконтроллеров для занесения в них программы не требует специального программатора, позволяя сделать это через один из стандартных компьютерных портов с использованием специального кабеля, стоимость которого во много раз ниже, чем программатора.

Помимо аппаратных средств поддержки разработки существуют и чисто программные средства, например программные эмуляторы или симуляторы. В нашей стране, где компьютерное пиратство получило в силу разных причин чрезвычайно широкое развитие, стоимость этих средств, казалось, вообще не должна была бы на что-то влиять — какую бы защиту не придумал разработчик, она все равно будет взломана, и незарегистрированные пользователи начнут нелегально использовать ваш продукт. Но на практике это не так, и серьезный пользователь предпочтет официально приобрести программный продукт, если его стоимость не выходит за разумные рамки. Причина этого кроется не в повышенной сознательности упомянутых серьезных пользователей, а в выгоде подобного шага. Не секрет, что программ без ошибок практически не существует. Почти все, что мы запускаем на наших компьютерах, имеет те или иные «баги». Так вот, если вы приобрели программу официальным путем, то шансы на то, что найденный вами «баг» будет исправлен ее автором, весьма высоки. В противном же случае… В коллекции автора хранится около десятка симуляторов для семейства х51, найденных им на BBS в середине 90-х годов. Но, увы, среди них не было ни одного, в котором не оказалось хотя бы одной ошибки. И куда с ними нужно было обращаться? Наиболее показательным в этом смысле можно считать случай с отладчиком FD-51. Ко мне в руки он попал со взломанной защитой и безупоминания о том, кем он был разработан. Всем этот отладчик был хорош, но при сложении регистров не устанавливал флаг переноса, даже если оба регистра содержали 0FFH. Чтобы иметь возможность отлаживать программы с помощью такого симулятора (несмотря на эту ошибку, он все же был удобнее других и в остальных случаях работал правильно), я вынужден был соответствующим образом усложнять отлаживаемые программы, дабы эту ошибку обходить. Когда же спустя два года я узнал, что этот продукт разработан уже упоминавшейся фирмой «ФИТОН», я сообщил ее директору о том, что в имеющейся в моем распоряжении пиратской версии есть описанный выше «баг». Можете представить мое разочарование, когда я узнал, что эта ошибка найдена и зарегистрированные пользователи давно работают с исправленной программой…

Итак, подведем краткий итог. Описанные выше тенденции не очень способствуют миграции отечественных разработчиков от одного класса микроконтроллеров к другому. После естественного периода массового их оттока от классических однокристаллок Intel'овского происхождения, к DSP, специализированным контроллерам, PIC- и RISC-контроллерам наступил период относительной стабилизации состояния контроллерного рынка. Если не будет каких-либо резких технологических прорывов со стороны того или иного производителя, доли продаж тех или иных микроконтроллерных семейств в ближайшее время сильно не изменятся.

В какой-то мере этот вывод подтвержден специалистами Analog Devices. Осенью 1998г. на семинаре в фирме «АРГУССОФТ» был представлен микроконвертер ADuC812 — 12-разрядный АЦП с встроенным в него х51-совместимым микроконтроллером. В ходе презентации большинство вопросов, задаваемых разработчиками, сводилось к следующему: почему вы применили такое устаревшее ядро, а не, например, AVR или хотя бы MCS-196? Ответы Д. Брайанта, главы европейского отделения применения изделий AD, также сводились к одному: в мире так много людей работает или умеет работать с х51, что применение другого ядра резко уменьшит ожидаемую прибыльность изделия. Но тогда, в 1998-м, все было предположительным. Годом же позже, на осеннем семинаре в фирме «АВТЕКС», менеджеры Analog Devices уже не сомневались в правильности выбора, сообщив, что количество заявок на ADuC812 более чем на порядок превзошло их самые смелые предположения и что списывать казалось бы безумно устаревшее ядро х51 еще рано.

И напоследок — еще об одной тенденции. Motorola, проигравшая советский рынок в 70-х, предпринимает серьезные шаги для более заметного присутствия на нем. Несколько лет назад она начала обеспечивать полностью укомплектованными своими изделиями учебные классы по микроконтроллерной технике для вузов. Точное число этих классов мне сейчас неизвестно, но речь идет о десятках подобных Motorol'овских подарков. Ясно, что студенты, прошедшие такой практикум, будут в первую очередь использовать контроллеры Motorol'ы. Число подобных разработчиков увеличивается ежегодно на несколько сотен человек и спустя 10 лет будет составлять заметную долю в наших рядах. А когда спустя 15…20 лет начнут выходить на пенсию приверженцы Intel-совместимых изделий, взращенные на КР580ИК80 и КР1816ВЕ51, ситуация станет изменяться коренным образом. Ну, конечно, если никто за этот промежуток времени не совершит очередной технической революции…

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке