Каталог статей

Главная » Все схемы » Теория » Изучаем микроконтроллеры

Выбранная схема!!!


2411
Направления любительских разработок. Мифы и реальность

 Направления любительских разработок

К человеку, разбирающемуся в «радио», всегда было особое, почтительное отношение. Считается, что первые описания радиолюбительских конструкций появились в 1898 г., когда англичанин Лесли Миллер (Leslie Miller) опубликовал работу «The Model Engineer and Amateur Electrician* [1-4], а в России в «Журнале новейших открытий и изобретений» была напечатана статья «Домашнее устройство опытов телеграфирования без проводов». И в том, и в другом случае речь шла о построении своими силами искрового приёмопередатчика, обеспечивающего связь на расстоянии до 25 метров.

Первые радиолюбители занимались беспроводной связью чаще всего из любопытства или в рамках университетской науки, без получения материальной выгоды. Среди юных первопроходцев следует отметить пятиклассника Киевского коммерческого училища Михаила Бонч-Бруевича, который ещё зимой 1906 г. сам построил «передатчик и приёмник волн Герца» [1-5].

Современное радиолюбительство развивается по следующим направлениям:

• изготовление бытовых приборов, ещё не освоенных промышленностью;

• ремонт и совершенствование заводских изделий;

• разработка нестандартных схем включения радиоэлементов;

• создание единичных приборов с уникальными параметрами;

• конструирование аппаратуры для спортивной радиосвязи;

• измерительная, автомобильная, медицинская электроника;

• автоматизация и роботизация быта (концепция «умного дома»).

Просматривается чёткая тенденция на отказ от кустарной разработки сложных изделий. Никаких самодельных видеомагнитофонов, телевизоров, магнитол, компьютерных аксессуаров. Их проще и дешевле купить в магазине или заказать через Интернет.

Идеальная любительская конструкция должна быть такой, чтобы повторить её можно было за пару выходных дней. Вместо «россыпи» микросхем малой и средней степени интеграции применяют один МК. Основная задача разработчика теперь сводится к придумыванию алгоритма функционирования программы, её компиляции и прошивке в память чипа.

В Интернете, словно грибы после дождя, появляются сайты, посвящённые различным микроконтроллерным конструкциям. Правда, их авторы демонстрируют в основном готовые технические решения с файлами прошивок, но без листингов программ и объяснений. Устройство можно повторить «один к одному» и использовать в личных (не коммерческих) целях. Однако внести программные изменения или улучшить алгоритм функционирования — не получится.

Профессионалы не спешат делиться секретами ремесла и технологиями создания микроконтроллерных программ. Девиз их презентаций: «Смотрите, как хорошо я умею делать». Основная задача таких проектов — показать потенциальному работодателю или коллегам, на что способен разработчик.

К счастью, существуют и другие сайты, на которых подробно расписываются чьи- то небольшие, но интересные исследования, приводится последовательность действий по шагам от нуля до получения конечного положительного результата. Широко практикуется выкладывание фотографий, скриншотов, видеоуроков. Всё более привычной становится открытая публикация исходных листингов программ с лицензией OpenSource. Всем миром в Сети накапливается глобальная база микроконтроллерных знаний.

Чего же не хватает современному радиоконструктору? Сейчас и МК приобрести не так сложно, и идей в голове хватает, но как дойдёт дело до совмещения электроники и программирования — «Стоп, машина!». Хороший программист, как правило, слаб в составлении электрических схем, а хороший схемотехник пасует перед простейшей программой. Чтобы совместить эти две составляющие, надо избавиться от распространённых заблуждений.

Мифы и реальность

Народная мудрость гласит: «Любая задача по плечу, если цель оправдана и времени достаточно». Чтобы убедить читателей в полезности дальнейших занятий и в оправданности траты времени, необходимо проанализировать некоторые устоявшиеся мифы [1-6].

Миф 1: МК — это дорого.

Для профессиональных применений, скорее «да», чем «нет», для бытовых изделий — наоборот. Судите сами, цена дешёвых многократно программируемых МК с флэш-памятью составляет 1...2 доллара США. Если учесть, что микросхема обычно устанавливается в панельку на плате, то один и тот же МК после перепрограммирования можно использовать в нескольких разных приборах. Получается практически «вечная» микросхема, вплоть до её морального старения или до физического исчерпания ресурса ПЗУ (более 100000 циклов «запись-стирание»).

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

Миф 2: для МК нужен сложный программатор.

Действительно, заводские сертифицированные программаторы, по которым фирмы-изготовители МК принимают от потребителей претензии к качеству продукции, — это сложные и дорогостоящие приборы. Приобретают их обычно крупные промышленные предприятия, аттестованные по системе ISO-9001, на которых налажен массовый выпуск продукции с МК.

Для любительских условий подойдут простейшие самодельные программаторы, подключаемые к персональному компьютеру или ноутбуку через разъёмы COM, LPT, USB. Стоимость деталей самых дешёвых из них составляет 1...2 доллара США. Во многих современных МК программатор вообще может потребоваться только один раз для прошивки начального загрузчика. Дальнейшее программирование производится «на лету» по стандартным каналам компьютера COM, USB.

Миф 3: сложно разобраться в архитектуре МК.

Разумеется, научиться чему-либо без желания и труда — это нереально. С другой стороны, когда в учебнике с многообещающим названием «МК для начинающих», встречается фраза: «...Основой булева процессора служит аккумуляторный принцип архитектуры с переключаемыми банками рабочих регистров.», то даже у самого усердного ученика опускаются руки.

Предлагаемая далее методика построена на представлении МК в виде автономного блока с известными входными и выходными сигналами. Его внутренняя структура будет сымитирована максимально упрощёнными схемами, которые практически одинаковы для МК разных платформ. При этом пользователю не обязательно знать детальное строение адресного пространства ОЗУ, не надо изучать косвенно регистровые и страничные способы адресации памяти. Немного абстракции, немного упрощений, немного старания и всё получится. Фантастика? Попробуйте и удостоверьтесь сами.

Миф 4: сложно освоить составление программ.

Если начинать с Ассемблера, то «да», а если с языка Си, то «нет». Программу на Ассемблере сложнее составлять, дольше отлаживать, труднее анализировать. Вдобавок к тому, нужно максимально глубоко вникать в архитектуру конкретного МК. Но, даже досконально изучив, например, все ассемблерные команды семейства MCS-51, всё равно придётся начинать почти с нуля при переходе на AVR- или PIC-контроллеры.

Язык Си, как инструмент программирования высокого уровня, позволяет абстрагироваться от мелочей. В частности, можно не держать в уме названия регистров общего назначения, не помнить их количество, не контролировать глубину стека при входе и выходе из подпрограммы. Всё это производится автоматически (и безошибочно!) при компиляции Си-программы. Более того, синтаксис языка Си практически одинаков и для MCS-51, и для AVR, и для PIC, и для ARM, что позволяет без труда осваивать новые микроконтроллерные платформы.

Си-программы пишутся быстрее и легче ассемблерных. Применяются шаблоны на основе стандартных, легко запоминающихся процедур. Плата за удовольствие — меньшее быстродействие и больший размер файлов прошивки памяти МК. По данному показателю язык Си уступает Ассемблеру примерно на 20...30%. Но, как показывает практика, большой объём ПЗУ современных МК и высокие тактовые частоты с лихвой перекрывают издержки Си-компиляторов, особенно для простых любительских приложений.

Миф 5: на языке Си программы пишут только профессионалы.

Здесь забывают основную концепцию Си-программирования — это многовариантность решения одной и той же задачи. Профессионал составит лаконичную, хорошо структурированную и легко читаемую программу, а любитель напишет неоптимальный и только одному ему понятный «исходник». Но, в случае с МК, выполнять несложные задачи обе программы будут с одинаковым успехом и без больших отличий во времени.

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

Язык Си допускает использование ограниченного числа «понятных» операторов. Никто не заставляет программиста применять алгоритмы, в которых он «плавает». Например, опрос кнопок в МК можно организовать через прерывания, но, если эта процедура кому-то покажется сложной, то существует запасной вариант опроса кнопок через периодическое чтение линий порта.

Существует так называемый «школьный» вариант языка Си, освоить который под силу даже начинающему. В нем любой желающий устанавливает собственные разумные ограничения на синтаксис операторов и функций, составляет перечень разрешённых к применению алгоритмов и стандартных приёмов. Пусть программа получится длиннее, ничего страшного. Степень дальнейшего углубления знаний каждый определяет для себя самостоятельно.

Миф 6: достаточно освоить только один тип МК.

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

Учеба, применительно к МК, имеет свою специфику. В частности, первое изученное семейство не должно стать последним. В начале 2000-х годов специалисты рекомендовали начинать освоение МК с популярной микросхемы AT89C2051 фирмы Atmel, имеющей ядро MCS-51. Многие любители досконально изучили возможности этого МК и до сих пор успешно разрабатывают простые и полезные для дома конструкции. Но, ограничивая себя одной моделью, человек лишается стимула к приобретению новых знаний.

А сожалеть есть о чем. В частности, родственное семейство ATmega фирмы Atmel допускает внутрисхемное программирование без изъятия МК из панельки, обладает в 12 раз лучшей производительностью и имеет на порядок-два выше объём памяти. Не за горами переход на ещё более «навороченное» 8-битное семейство Atmel ATXmega, недорогие 16-битные DSP и 32-битные ARM с операционными системами реального времени.

Свежим веянием последнего времени становится мультиплатформенность, когда разработчик в своём резюме подчёркивает владение несколькими типами МК. В зависимости от исходных требований технического задания он выбирает ту микросхему, которая позволяет оптимизировать изделие по критерию «цена + качество». Знание методологий разных микроконтроллерных платформ значительно расширяет инженерный кругозор и облегчает восприятие всего нового.

Разработчикам пора научиться гибкости, толерантности и уважительному отношению к МК разных фирм. Признаком хорошего тона должно стать умение применять на практике две-три микроконтроллерные платформы. Соответствующую подготовку должны проходить и студенты в вузах. Будущее за специалистами-универсалами. Однако привязанность к какому-то одному семейству МК у человека всё равно останется. Как говорят французы: «Люблю, потому что люблю»; ничего не поделаешь — человеческий фактор.


Категория: Изучаем микроконтроллеры | Добавил: Администратор (31.10.2011)
Просмотров: 3473 | Комментарии: 1 | Теги: любительских, разработок., реальность, мифы, Направления | Рейтинг: 0.0/0


Всего комментариев: 1
0
1 Vovka   (01.11.2011 22:05) [Материал]
Согласен на 100 % . Но ... ( у Vovk@ всегда припасён " но " ) .
Но при современной , дикой конкурентности наукоёмких корпораций , плюс двойников " призраков " , ожидать какой-то интеграции не только схемотехнической , програмной или технологической не приходиться .
Так что вся надежда на продвинутых хакеров , взаимоподдержку и ... смекалку
tongue

Пожалуйста остав

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2024