Rambler's Top100
 
 
  05 декабря 2008 года Компьюлента
CIO
Терралаб
Бизнес-журнал
в поле зрения | обзоры и тесты | своя игра | интерактив
О пользе тараканов
Автор: Валерий Яценков
Опубликовано в журнале "Компьютерра" №46 от 08 декабря 2004 года

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

Хочу сразу заявить, что не имею ни малейшего желания заниматься скрытой или явной рекламой продукции этой американской компании. Просто я пишу о том, что знаю, и надеюсь, что это будет интересно читателям. Но ведь если автор пишет обзорно-познавательную статью о новых процессорах, а редакция ее публикует на общих основаниях, то и автора и редакцию вряд ли заподозрят в сговоре с корпорацией Intel или AMD, не так ли? Есть множество хороших фирм, выпускающих хорошие микроконтроллеры. И есть авторы, об этих изделиях пишущие. Каждый возделывает свою делянку.

Так вот, обуяла меня гордыня, и пожелал я, чтобы новая книга была на острие прогресса. А это значит, что написать нужно о совершенно новых продуктах компании. Таковых на тот момент было два: микроконтроллеры серии dsPIC со встроенным цифровым сигнальным процессором и микроконтроллеры серии rfPIC со встроенным микромощным передатчиком УКВ-диапазона.

Признаюсь, интеллектуальная гонка за локомотивом прогресса иногда меня утомляет, и кристаллы серии rfPIC на первый взгляд показались мне если не смесью ужа с ежом, то этаким забавным кракозябликом с не до конца ясным целевым назначением. Но тут случилось событие номер два: меня мимоходом озадачил мой приятель. Хочу, говорит, сделать такое устройство, чтобы мой телевизор в углу экрана показывал температуру за окном! Причем именно за окном владельца телевизора, а не за окном телестудии, расположенной на другом конце города. Каковы, спрашивает, будут твои идеи? Я ему в ответ про широко известные микросхемы (ценою три рубля пучок), которые управляются по шине I2C и позволяют вставлять символы встроенного знакогенератора в заданное место телевизионной картинки. Можно за один вечер составить несложную схемку на основе микроконтроллера практически от любой фирмы. Но оказалось, что проблема в ином. Датчик температуры должен располагаться за окном другой комнаты, где на него не будет светить солнце. Но применить для передачи пары байт в минуту модуль Bluetooth или Wi-Fi додумается только жертва семинаров по беспроводным технологиям. А тянуть через всю квартиру сигнальный провод — это как-то… не по-козловски получается.

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

омнительный кракозяблик оказался полезным домашним животным, и я решил, что следующая книга будет про rfPIC. Но осталось давно зреющее чувство обиды за микроконтроллеры, отношение к которым в мире «больших» компьютерщиков сродни отношению сенбернара к хомячкам. Вроде бы они и живые, да какие-то ненастоящие. «А поворотись-ка боком, микросхемка! Экая же ты нелепая! Сколько, говоришь, у тебя памяти? Аж 32 ячейки? А тактовая частота? Целых 10 мегагерц??? Да-а-а… сильна, ничего не скажешь. Гы-гы-гы…»

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

Давайте навскидку перечислим самые очевидные изделия, в которых микроконтроллеру требуется напарник-радиопередатчик. Первое, что приходит в голову, — пульт автомобильной сигнализации. Далее логично следуют всевозможные прочие пульты управления, для которых передача данных по инфракрасному каналу неприемлема. В качестве примера применения rfPIC производитель кристалла предлагает описание законченной конструкции: брелка для управления презентациями (Я предложил бы объединить этот пульт с лазерной указкой, благо батарейки в ней уже есть). Брелок имеет две кнопки: «вперед» и «назад». В разъем USB презентационного компьютера вставляется миниатюрный приемник (о котором мы скажем позже). Нажатием кнопок на брелке докладчик переключает слайды. И нет нужды целиться инфракрасным пультом в приемник, подключенный к ноутбуку, или кивать головой напарнику.

Есть еще один нюанс: радиочастотный микропередатчик, имея значительно большую дальность действия, потребляет в момент передачи в десятки раз меньший ток, чем инфракрасный излучатель. Поэтому для питания ВЧ-передатчика можно использовать малогабаритную литиевую батарейку-таблетку напряжением 3 вольта, что для инфракрасного передатчика совершенно неприемлемо.

Однако истинный масштаб применимости связки микроконтроллер-передатчик раскрывается, если речь заходит об охранных системах и системах сбора данных (первые в этом случае во многом пересекаются со вторыми). Представьте себе, что вы надумали «накрыть» собственную квартиру системой охранных датчиков: на движение, на разбитие стекла и т. п. Это неизбежно потребует прокладки сигнально-питающих кабелей. Которые, между прочим, возле центрального блока иногда собираются в толстый жгут. И далеко не всегда можно долбить стены под проводку, а наружная разводка помещение не украшает, даже будучи размещенной в кабельных коробах. Всевозможные датчики, работающие по радиоканалу, существуют давно. Большинство из них кроме передатчика содержит в себе микроконтроллер, позволяющий датчику в какой-то мере быть «интеллектуальным» и генерирующий уникальную кодовую последовательность. Питаются такие датчики от миниатюрных батареек, которые можно менять не чаще, чем раз в полгода. Датчики можно снимать, добавлять, переносить без особых проблем.

Яркий пример — система контроля давления в автомобильных шинах. Думаю, никто всерьез не предложит снимать информацию с вращающихся колес через скользящие контакты? На самом деле, в автомобилях Mercedes применяются именно микроконтроллеры rfPIC на пару с датчиком давления Motorola, вмонтированные в колесные диски (хотя Motorola и сама выпускает микроконтроллеры, но вот не такие, какие нужны в этой нише).

рис. 1

На этом проповедь о пользе радиофицированных «тараканов» позвольте считать законченной. Перейдем к главному предмету разговора. Что же представляют собой микроконтроллеры со встроенным радиопередатчиком? На данный момент у фирмы Microchip их два: rfPIC12C509 и rfPIC12F675. Первый создан на основе давно известного и чрезвычайно популярного микроконтроллера PIC12C509, который нынче не встраивают разве что в зажигалки. Второй, как нетрудно догадаться, — на основе PIC12F675. В том и другом случае к микроконтроллеру добавили встроенный передатчик, соответственно увеличив число выводов. Причем передатчик электрически развязан с микроконтроллерной частью.

При всей тривиальности решения этот симбиоз не столь очевиден, как кажется. Каждый, кто хоть раз собирал простейший УКВ-передатчик, знает, сколько проблем доставляет паразитное самовозбуждение и уход частоты под влиянием самых разных факторов даже у кварцованных схем. До сих пор корпуса миниатюрных передатчиков представляли собой металлические коробочки высотой 3–5 мм. В нашем случае — стандартный пластиковый корпус типа SSOP (Super Small Outline Package) толщиной 1,7 мм. И никакого экранирования. Уверяю вас, здесь есть чему удивиться.

Вторая по значимости проблема радиочастотных узлов — наводки радиосигнала на остальные элементы схемы. Сколько приходится тратить конструкторских усилий на экранирование и развязки… А тут передатчик буквально в долях миллиметра от кристалла микроконтроллера. Разумеется, за такие вольности пришлось заплатить дорогой ценой — крошечной излучаемой мощностью передатчика. Microchip стыдливо не упоминает максимальную выходную мощность во всем понятных ваттах, приводя ее в децибел-метрах (dBm), но простейший расчет показывает, что в ваттах получается немного: 1,6 мВт. Впрочем, для своего целевого назначения мощности вполне достаточно, особенно если вспомнить о питании от трехвольтовой литиевой таблетки.

рис. 2Скорость передачи данных по современным меркам никого не удивит. Максимальное значение составляет 40 кбит/с при амплитудной манипуляции. Для передачи критичных данных рекомендуется использовать частотную манипуляцию, но в этом случае потолок скорости вдвое ниже.

Из двух микроконтроллеров каждый интересен по-своему. Микросхема rfPIC12С509 примитивна в контроллерной части, которая тактируется с частотой не более 4 мегагерц, но для нее наработано несметное количество программных и схемных решений, и вдобавок она очень дешева. Этот кристалл был бы идеальным решением для радиолюбителей, если б не был однократно программируемым. Промышленным разработчикам однократность записи не помеха, они могут приобрести аппаратные эмуляторы. Если говорить о радиочастотной части, микросхема выпускается в различных вариантах, отличающихся допустимым типом модуляции. Частотный диапазон один, 310–480 мегагерц.

Второй братец, rfPIC12F675, заметно лучше. У него и тактовая частота вычислителя побольше (до 20 МГц), и встроенная память обширнее. Он снабжен полезными модулями: четырехканальным 10-разрядным АЦП, компаратором и двумя аппаратными масштабируемыми таймерами. Такой начинки вполне достаточно для построения на одном кристалле законченного устройства сбора данных с передачей их по радиоканалу. Это могут быть, например, значения температуры, давления и влажности воздуха за окном плюс контроль напряжения собственной питающей батарейки. Частотных поддиапазонов три, они находятся внутри диапазона 290–930 МГц. Каждому поддиапазону соответствует отдельный вариант кристалла, отличающийся буквенной маркировкой. В связи с малой мощностью излучения никаких разрешений на эксплуатацию устройств, собранных на основе rfPIC, не требуется (Но при серийном производстве соответствующее разрешение все-таки необходимо).

Запрограммировать микроконтроллеры rfPIC, равно как и прочие PIC’ов, не составляет труда. Но подход к процессу несколько своеобразный. Если программу для стандартного PC чаще всего можно на нем же написать и отладить, то в случае с микроконтроллерами это, как правило, невозможно (С умилением вспоминаю «учебные аппаратно-отладочные комплексы» времен своей учебы в Политехе, когда исполняемые коды вводились вручную с клавиатуры, а написание программы, ассемблирование и отладка производились на листке бумаги и в голове). Требуются по крайней мере средства разработки программ, работающие на PC и позволяющие написать текст на неком языке и перевести его в машинные коды. Еще желательно иметь программный эмулятор и/или аппаратный отладочный комплекс. Наличие и качество этих составляющих сильно влияет на продуктивность работы программиста, который из-за специфики железа вынужден быть еще и радиоинженером (Или наоборот: радиоинженер вынужден быть программистом? Наверное, как жизнь сложится). А если уж речь идет об устройстве, где микроконтроллер и радиопередатчик «в одном флаконе», то иметь отладочное устройство необходимо вдвойне. Благодаря ему можно порознь отладить программу и настроить радиочастотную и прочую обвязку.

Кроме всевозможных фирменных эмуляторов Microchip выпускает и наборы для разработки (Development Kit). Они, как правило, тематические, то есть ориентированы на определенный ряд изделий, стоят сравнительно недорого (обычно до $200) и позволяют небольшому предприятию досконально изучить новый кристалл и разработать изделия на его основе. В принципе, полный цикл разработки доступен даже специалисту-одиночке. Для разработчиков, желающих создавать изделия на основе rfPIC, выпускается фирменный набор rfPIC Development Kit 1 (Помочь мне в приобретении этого набора для тестирования охотно согласилась фирма «Фитон» (www.phyton.ru) в лице уважаемого Шоты Кобахидзе, за что я искренне благодарен и ему, и фирме).

А что в подарочке?

рис. 3Радостного мига вскрытия почтовой упаковки я ждал больше месяца, поскольку заказывали образцы в США. Кроме горстки микросхем, нужных мне для бесчеловечных экспериментов в области радиотехники, своего часа дожидалась коробка с rfPIC Development Kit 1. Он построен на базе другого популярного набора — PICkit 1 FLASH Starter Kit — и помещается с ним в одной коробке. Базовый набор представляет собой плату программатора с отладочной схемой, снабженной минимумом навесных элементов для демонстрационных и отладочных нужд [1]. Сбоку добавлена пустая макетная плата, на которой уже есть линии для подключения питания и кварцевого резонатора. Макетная часть может быть использована в случае, если разводка основной платы для отладки разработанной конструкции не подходит.

Нас на этой плате интересует лишь разъем расширения. Именно в него при отладке вставляется плата передатчика [2] (для программирования кристалла передатчика) и плата приемника [3]. По умолчанию набор поставляется с записанными в память rfPIC12F675 учебными прошивками, позволяющими передавать по радиоканалу код нажатой кнопки и оцифрованное значение напряжения на выводе переменного резистора.

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

«Ладно…» — сказал я и поехал на полевые испытания. Выглядели они так. Возле калитки дачного участка на табурете лежала отладочная плата с приемником, рядом стояла дочка и махала рукой, когда загорались светодиоды. Я же отходил все дальше по дороге, пока светодиоды не перестали загораться. Результаты получились довольно неплохие. Пара приемник-передатчик на частоте 315 МГц исправно перегоняла данные на расстоянии до 85 метров. Затем связь резко обрывалась. Вторая пара, работающая на частоте 433 МГц, вытянула только 75 метров, и то на последних метрах работала неустойчиво.

Думается, в помещении типа лекционного зала полученные дальности можно сократить процентов на 20, а в панельном железобетонном доме и на все 50–70. Тем не менее, оставшихся 20–30 метров за глаза хватит для большинства бытовых нужд — например, для управления проектором и шторами в домашнем кинотеатре обширного новорусского коттеджа.

Передатчик мелкий, но приемник при нём…

Здесь самое время сказать, что в дополнение к радио/микроконтроллерам Microchip выпускает специальные микросхемы интегрального приемника. Увы, так уж повелось в радиотехнике, что при малой энергетике сигнала простой, но хороший приемник имеет схему в несколько раз более сложную, чем простой, но хороший передатчик (Сравните с детекторным приемом: киловаттный передатчик, но приемник из трех деталей. В случае малой энергетики излучаемого сигнала все наоборот). Поэтому микросхема приемника «обвязана» в несколько раз большим количеством дискретных элементов. Приемник может принимать сигнал с амплитудной модуляцией (обычный аналоговый сигнал — голос, музыка) и частотной или амплитудной манипуляцией (включено/выключено, передача двоичного кода). Кроме того, он снабжен встроенным индикатором уровня сигнала и компаратором.

В данном случае Microchip предлагает микросхему и набор стандартных схем включения, допуская возможность полностью самостоятельной разработки. Однако существуют приемники других производителей, например итальянской фирмы Telecontrolli. По отзывам тех, кто с ними работал, дальность передачи данных от rfPIC достигает 120 метров. Итальянские приемники построены по гибридной технологии с лазерной подгонкой частоты и представляют собой законченный, готовый к применению модуль. Конечно, это дело вкуса, но мне представляется, что во многих случаях такое решение более приемлемо, чем изготовление собственного приемника, благо цена «итальянца в сборе» не намного выше цены одиночной микрочиповской микросхемы. Лучше уж все силы при разработке бросить на отладку прошивки — распространение радиоволн от нас не зависит, зато баги и глюки программы победить можно.

Картофельный копирайт

Инструментарий для создания багов и последующей борьбы с ними у фирмы Microchip имеется серьезный. Во-первых, это интегрированная среда разработки MPLAB IDE — инструмент сам по себе интересный, но его анализ заслуживает отдельной публикации. Во-вторых, в наборе для разработки поставляется два диска со специальным софтом. Программа поддержки отладочной платы, позволяющая выполнять все функции программатора и управлять некоторыми режимами макета, устанавливается легко и быстро. Поскольку устройство общается с компьютером через USB, попутно у меня установился драйвер HID (Human Interface Device), которого раньше не было, причем под именем устройства для ручного ввода данных. Конечно, это далеко не устройство ввода типа графического планшета, но работает и ладно. Причем работает стабильно, да и в обращении оно удобно. Можно писать и ассемблировать программы при помощи пакета MPLAB IDE, тут же записывать полученную прошивку в микроконтроллер отладочного модуля и смотреть, как устройство функционирует. А что еще разработчику надобно? Наверное, чашку кофе и отдельный кабинет, но увы — эти компоненты среды разработки Microchip не предоставляет.

рис. 4

Открытость и непритязательность содержимого сопроводительных дисков лично у меня вызвала просто щенячий восторг. Посудите сами: софт поддержки программатора написан на Visual Basic и состоит из одного простого окна [4], что не мешает ему прекрасно работать. На этом же диске имеется исходный текст программы с комментариями, а также краткое описание протокола USB и его команд. Лицензионное соглашение оповещает вас, что весь софт предназначен для частного использования покупателем набора в учебных целях. Это понятно — вы можете изучать и модифицировать примеры прошивок микроконтроллера, даже переписать по своему усмотрению оболочку программатора или написать свою, лишь тиражировать и перепродавать диски нельзя. Но! На дисках вы найдете электрические схемы, деталировки, описания работы и даже Gerber-файлы всех печатных плат. Gerber-файлы — это, упрощенно говоря, стандартные описания платы для автоматизированной производственной линии. Следовательно, вы имеете возможность отдать этот диск на ближайший радиозавод или послать файлы по электронной почте в Тайвань и через энное время получить тираж необходимых печатных плат (можно даже в сборе).

Не могу избавиться от подозрения, что если сделать не просто пять-десять плат программатора для нужд своего малого предприятия, а несколько сотен (тысяч) на продажу и снабдить их портированной, например, на язык С++ оболочкой, то возмездие от Microchip вряд ли последует, поскольку копирайт фигурирует только в файлах описаний и без явного указания предмета копирайта, а в технологических файлах для станка с ЧПУ копирайту просто нет места. Более того, думаю, вам будут даже благодарны: распространение отладочных наборов является хорошим маркетинговым шагом, стимулирующим разработчиков переходить на продукцию Microchip. Ситуация с копирайтом в данном случае напоминает оригинальный метод распространения картофеля на Руси. Когда крестьян попытались заставить приобретать и сажать картофель, те решительно отказались. Тогда картофелем засадили казенные поля и к моменту созревания урожая поставили по периметру вооруженных солдат, которым дали тайный приказ «не замечать» попыток кражи. Картофель с полей был успешно разворован и через пару лет произрастал во всех окрестных деревнях. Такая известная компания, как Microchip, к тому же исконно американская, с соответствующим менталитетом, не может позволить себе продавать наборы разработчика за 100–200 долларов и в то же время открыто разрешать их тиражирование. Но если кто-то, особенно в третьих странах (Все догадались, в каких?), решит добровольно рекламировать Microchip, имея с этого небольшой гешефт, можно его «не заметить», сославшись на пробелы лицензионного соглашения. (На всякий случай подчеркиваю: это мое личное предположение.)

Проблема с копирайтом, между прочим, может возникнуть у совершенно неожиданного персонажа: компании AMD. Аббревиатура PIC означает Peripheral Interface Controller — контроллер обслуживания периферийных устройств, права на нее зарегистрированы и принадлежат Microchip. Под этой маркой микрочиповские изделия давно известны любому радиоинженеру. Но этой же аббревиатурой AMD теперь обозначает свой бюджетный компьютер Personal Internet Communicator (см. «КТ» ##565, 566). Вовсе не обязательно, что на этой почве между AMD и Microchip случится конфликт, но официально использовать сокращение PIC в качестве торговой марки компании AMD вряд ли позволят.

На этой злорадно-оптимистичной ноте позвольте прерваться и подвести итог. К сожалению, ничего не могу придумать лучше фразы «Чипы всякие нужны, чипы всякие важны» (наверное, в детстве я слишком часто читал Сергея Михалкова). Практически одновременно с выпуском серии rfPIC был запущен в производство аналогичный гибрид, микросхема rfHCS, представляющая собой аппаратный кодер данных на основе патентованного генератора прыгающего кода. В нее тоже встроен микропередатчик. Можно не сомневаться, что для обеих серий найдется свой потребитель. Но будет ли спрос достаточно велик, чтобы через несколько лет производство не свернули? Думаю, да. Потребность в простых устройствах была, есть и будет. Значит, будет спрос и на решения простых задач.

ТАКЖЕ В РАЗДЕЛЕ
04 ноября 2008 года
Недетское питание 
23 сентября 2008 года
Убить ЗиЛа-2 
02 сентября 2008 года
Анатомия мышей Logitech  
26 марта 2008 года
Открытые карты 
 
САМОЕ ПОПУЛЯРНОЕ
Самый быстрый на планете
Пока продажи процессоров Core i7 только начинаются, мы подводим итоги знакомства, ибо работаем на новой платформе без малого месяц. Действительно, ничего быстрее Intel еще не делала. Но как почувствовать эту скорость?
Как дела, "хромой"?
Два месяца назад Google с помпой объявила о выходе в свет бета-версии собственного браузера - Chrome, основанного на движке WebKit. Теперь, когда пыль улеглась, давайте посмотрим, как дела у гугловского подопечного.
Большой обман на маленьких носителях
Подобно сотовым телефонам, флэшка из элитарного продукта в конце концов стала массовым. Но только ли стремительным научно-техническим прогрессом объясняется дешевизна современных флэшек?
Здравствуй, Ubuntu!
Надоела Windows? Не нравится политика Apple? Тогда самое время попробовать какой-нибудь дистрибутив Linux. Например, Ubuntu. А мы поможем.
/  бумажный номер

Тема номера: Кризис в ИТ Читайте на сайте тему номера "Кризис в ИТ" и другие статьи из журнала "Компьютерра" от 04 ноября 2008 года
  Архив номеров журнала

О проекте | Реклама на сайте | Рассылки сайта | КПК–версия | RSS-трансляция

© ООО «Компьютерра–Онлайн», 1997 — 2008.
При цитировании и использовании любых материалов ссылка на портал «Компьютерра–Онлайн» обязательна (для Интернет–изданий — www.computerra.ru)
Редакция сайта: site@computerra.ru
Техподдержка сайта: websupport@computerra.ru
Редакция журнала: inform@computerra.ru
Отдел рекламы: reklama@computerra.ru
Телефон: (495) 232–22–61, (495) 232–22–63
Работает на «Битрикс: Управление сайтом»
Почта защищена сервером «СПАМОРЕЗ»
Трилан — продвижение сайта,
поисковая оптимизация сайта

Сайт работает на сервере DEPO Computers
Rambler's Top100