Форма входа

Категории раздела

Силы природы [10]
Новые технологии [42]
Неопознанное [27]
Интересные факты [32]
Личности [22]
Объявления, предложения пользователей и гостей!!!! [29]
Поисковики хорошо индексирует этот раздел! Вам только остается преподнести как Вам это угодно.
Полезности [83]
Рациональные предложения [26]
Конструирование [68]
СУБКУЛЬТУРЫ [9]
Деньги [10]
Заряди свой комп!!! [49]
Пробуждение ВоинА [39]
Радиолюбителям [75]
Работа с интернетом [14]
Говорун [2]
Энергетика Релейная защита [36]
Авто-мото [3]
Искусство [10]
AliExpress [17]
Видео архив [40]
Рецепты и секреты [0]

Поиск

Слушать

Радио онлайн

"Техстудент"

Наш опрос

какой жанр музыке любимый?

Всего ответов: 5

Мини-чат

500

Контроль

Партнёры

Четверг, 28.11.2024, 5:54:09
Приветствую Вас Интернет ПутниК
Главная | Регистрация | Вход | RSS

tehstudent.net

Журнал

Главная » Статьи » Рациональные предложения [ Добавить статью ]

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

Народная мудрость гласит: «Любая задача по плечу, если цель оправдана и вре-
мени достаточно». Чтобы убедить читателей в полезности дальнейших занятий и
в оправданности траты времени, необходимо проанализировать некоторые усто-
явшиеся мифы.
Для профессиональных применений, скорее «да», чем «нет», для бытовых из-
делий — наоборот. Судите сами, цена дешёвых многократно программируемых
МК с флэш-памятью составляет 1…2 доллара США. Если учесть, что микросхема
обычно устанавливается в панельку на плате, то один и тот же МК после перепро-
граммирования можно использовать в нескольких разных приборах. Получается
практически «вечная» микросхема, вплоть до её морального старения или до фи-
зического исчерпания ресурса ПЗУ (более 100000 циклов «запись-стирание»).
В наши дни сложилась уникальная ситуация, когда нет большой разницы в
доступности микроконтроллерной элементной базы в разных странах мира. На
первый план выходит логическое мышление, талант программиста и знание стан-
дартных схем включения. Вот где надо бы приложить знаменитую славянскую
смекалку и сообразительность, оправдывая  тезис о высоком интеллектуальном
потенциале нации.
Действительно, заводские сертифицированные программаторы, по которым
фирмы-изготовители МК принимают от потребителей претензии к качеству про-
дукции, — это сложные и дорогостоящие приборы. Приобретают их обычно круп-
ные промышленные предприятия, аттестованные по системе ISO-9001, на кото-
рых налажен массовый выпуск продукции с МК.
Для любительских условий подойдут простейшие самодельные программа-
торы, подключаемые к персональному компьютеру или ноутбуку через разъёмы
COM, LPT, USB. Стоимость деталей самых дешёвых из них составляет 1...2 долла-
ра США. Во многих современных МК программатор вообще может потребоваться
только один раз для прошивки начального загрузчика. Дальнейшее программиро-
вание производится «на лету» по стандартным каналам компьютера COM, USB.
Разумеется, научиться чему-либо без желания и труда — это нереально. С дру-
гой стороны, когда в учебнике с многообещающим названием «МК для начинаю-
щих», встречается фраза: «…Основой булева процессора служит аккумуляторный
принцип архитектуры с переключаемыми банками рабочих регистров…», то даже
у самого усердного ученика опускаются руки.
Предлагаемая далее методика построена на представлении МК в виде авто-
номного блока с известными входными и выходными сигналами. Его внутрен-
няя структура будет сымитирована максимально упрощёнными схемами, которые
практически одинаковы для МК разных платформ. При этом пользователю не
обязательно знать детальное строение адресного пространства ОЗУ, не надо изу-
чать косвенно регистровые и страничные способы адресации памяти. Немного
абстракции, немного упрощений, немного старания и всё получится. Фантасти-
ка? Попробуйте и удостоверьтесь сами.
Если начинать с Ассемблера, то «да», а если с языка Си, то «нет». Программу
на Ассемблере сложнее составлять, дольше отлаживать,  труднее анализировать.
Вдобавок к тому, нужно максимально глубоко вникать в архитектуру конкретного
МК. Но, даже досконально изучив, например, все ассемблерные команды семей-
ства MCS-51, всё равно придётся начинать почти с нуля при переходе на AVR- или
PIC-контроллеры.
Язык Си, как инструмент программирования высокого уровня, позволяет аб-
страгироваться от мелочей. В частности, можно не держать в уме названия реги-
стров общего назначения, не помнить их количество, не контролировать глубину
стека при входе и выходе из подпрограммы. Всё это производится автоматически
(и безошибочно!) при компиляции Си-программы. Более того, синтаксис языка
Си практически одинаков и для MCS-51, и для AVR, и для PIC, и для ARM, что
позволяет без труда осваивать новые микроконтроллерные платформы.
Си-программы пишутся быстрее и легче ассемблерных. Применяются шабло-
ны на основе стандартных, легко запоминающихся процедур. Плата за удоволь-
ствие — меньшее быстродействие и больший размер файлов прошивки памяти
МК. По данному показателю язык Си уступает Ассемблеру примерно на 20…30%.
Но, как показывает практика, большой объём ПЗУ современных МК и высокие
тактовые частоты с лихвой перекрывают издержки Си-компиляторов, особенно
для простых любительских приложений.
Здесь забывают основную концепцию Си-программирования — это многова-
риантность решения одной и той же задачи. Профессионал составит лаконичную,
хорошо структурированную и легко читаемую программу, а любитель напишет
неоптимальный и только одному ему понятный «исходник». Но, в случае с МК,
выполнять несложные задачи обе программы будут с одинаковым успехом и без
больших отличий во времени.
Иногда в Интернете можно встретить суждения о «запутанности», «непонят-
ности», «несуразности» чьих-то исходных листингов. В свою заслугу такие люди
ставят «вычищение» текста и сокращение длины программы на пару-тройку бай-
тов. Если  функциональность устройства осталась прежней,  то получается, что
проделан напрасный труд. Опытные программисты так не поступают, а улучшив
что-либо в листинге, обязательно укажут фамилию того первопроходца, который
первым создал каркас программы  и любезно подарил миру свою идею.
Язык Си допускает использование ограниченного числа «понятных» операто-
ров. Никто не заставляет программиста применять алгоритмы, в которых он «пла-
вает». Например, опрос кнопок в МК можно организовать через прерывания, но,
если эта процедура кому-то покажется сложной, то существует запасной вариант
опроса кнопок через периодическое чтение линий порта.
Существует так называемый «школьный» вариант языка Си, освоить который
под силу даже начинающему. В нем любой желающий устанавливает собственные
разумные ограничения на синтаксис операторов и функций, составляет перечень
разрешённых к применению алгоритмов и стандартных приёмов. Пусть програм-
ма получится длиннее, ничего страшного. Степень дальнейшего углубления зна-
ний каждый определяет для себя самостоятельно.
Технический прогресс не стоит на месте и притормозить его шаманскими за-
клинаниями нельзя. Считается, что современный радиолюбитель должен каждые
пять лет повышать свой технический уровень. Делать это приходится в индивиду-
альном порядке по книгам, журналам, Интернету.
Учеба, применительно к МК, имеет свою специфику. В частности, первое из-
ученное семейство не должно стать последним. В начале 2000-х годов специали-
сты рекомендовали начинать освоение МК с популярной микросхемы AT89C2051
фирмы Atmel, имеющей ядро MCS-51. Многие любители досконально изучили
возможности этого МК и до сих пор успешно разрабатывают простые и полезные
для дома конструкции. Но, ограничивая себя одной моделью, человек лишается
стимула к приобретению новых знаний.
А сожалеть есть о чем. В частности, родственное семейство ATmega фирмы
Atmel допускает внутрисхемное программирование без изъятия МК из панельки,
обладает в 12 раз лучшей производительностью и имеет на порядок-два выше объ-
ём памяти. Не за горами переход на ещё более «навороченное» 8-битное семейство
Atmel ATXmega, недорогие 16-битные DSP и 32-битные ARM с операционными
системами реального времени…
Свежим веянием последнего времени становится мультиплатформенность,
когда разработчик в своём резюме подчёркивает владение несколькими  типами
МК. В зависимости от исходных требований технического задания он выбирает ту
микросхему, которая позволяет оптимизировать изделие по критерию «цена + ка-
чество». Знание методологий разных микроконтроллерных платформ значитель-
но расширяет инженерный кругозор и облегчает восприятие всего нового.
Разработчикам пора научиться гибкости, толерантности и уважительному от-
ношению к МК разных фирм. Признаком хорошего  тона должно стать умение
применять на практике две-три микроконтроллерные платформы. Соответствую-
щую подготовку должны проходить и студенты в вузах. Будущее за специалис-
тами-универсалами. Однако привязанность к какому-то одному семейству МК у
человека всё равно останется. Как говорят французы: «Люблю, потому что лю-
блю»; ничего не поделаешь — человеческий фактор.
Категория: Рациональные предложения | Добавил: snettens (23.02.2012)
Просмотров: 1589 | Теги: мк | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: