Разделы
Публикации
Популярные
Новые
Главная » Классические однокристальные микроконтроллеры

1 ... 16 17 18 19 20

обращений к внешней памяти и портам ввода/вывода. Если же такие обращения будут иметь место, прирост производительности окажется, по-видимому, раза в полтора ниже.

Таким образом, за счет совершенной архитектуры CygnaFoBCKne микроконтроллеры оказались по производительности не уступающими даже 16-разрядным х51-совместимым микроконтроллерам, таким например, как издения семейства MCS-251 от Intel. А широкие возможности, малое энергопотребление и приемлемые цены делают изделия от Cygnal весьма интересными для разработчиков.

Приложение 11

МИКРОКОНВЕРТОРЫ (СЕМЕЙСТВО ADuCSxx) - СИСТЕМЫ СБОРА ДАННЫХ НА КРИСТАЛЛЕ


wyyw.cygnal.com

мечта разработчика!

Микроконтроллеры 51-й серии C8051Fxxx:

25 mips 32ic flash on chip ЛЩ

12 bit mC+29

pc, spi & uart

from -45 X toilC package from 11 pm

ооо atoc 125315, r. москва, ул. усиевича, д. 24/2 тел./факс: (095) 787-48-05, 155-40-35, 155-40-14

www.atos.ru lnfo@atos.ru


Семейство микросхем ADuCSxx - это очередной этап развития технологии сбора и преобразования аналоговой информации в цифровую и обратно. В основе идеи, успешно реализованной фирмой Analog Devices, лежит дополнение кристалла стандартного высокопроизводительного АЦП возможностями, делающими удобным процесс дальнейшей обработки информации без ухудшения параметров измеряемых аналоговых сигналов. Для этого на кристалл АЦП добавлена цифровая часть, не влияющая на работу и производительность АЦП и состоящая из стандартного микроконтроллера и энергонезависимой программируемой памяти (Flash).

В настоящее время (начало 2002 г.) семейство микросхем ADuCSxx состоит из трех микросхем (ADuCS12, выпущенной в серийное производство летом 1999 года, ADuCS24, серийно выпускаемой с октября 2000 г., и ADuCS16, ставшей доступной для широкого круга пользователей в феврале 2001 г.). В ближайших планах Analog Devices стоит выпуск еще двух микросхем этого семейства, которые смогут завершить ряд предлагаемых решений: (ADuC812SO - 2S-выводная дешевая версия ADuC812 и ADuCS24B2 - 64-килобайтная версия микросхемы ADuCS24).

Прошло уже больше года после знакомства читателей с первыми микросхемами семейства ADuCSxx, и нас приятно удивляет интерес разработчиков к этой линии продукции фирмы Analog Devices. Особенный интерес ощущается к первенцу семейства - микроконвертору ADuCS 12. Вначале постараемся дать ответы на наиболее часто повторяющиеся вопросы разработчиков по использованию этой микросхемы. Далее будет представлен материал по микросхеме ADuCS16 и ее отли-



чительным от других продуктов семейства особенностям, после этого - материал о практическом использовании ADuC824.

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ ПО ИСПОЛЬЗОВАНИЮ ADUC812

В: У микроконвертора имеются два независимых вывода аналоговой и цифровой земли . Следует ли соединить каждый из них с соответствующей землей на плате?

О: Нет, за исключением того случая, когда аналоговая и цифровая земли вашей платы соединяются в непосредственной близости от микросхемы. Во всех остальных случаях микроконвертор лучше заземлять на одну землю (наименее шумную , как правило, аналоговую) для получения оптимальной производительности АЦП и ЦАП.

В: ADuC812 имеет отдельные выводы для подачи аналогового и цифрового питания. Можно ли применять раздельное питание, например 3,3 В для DVdd иЗВдля AVdd?

О: Нет. Максимально допустимая разница между DVdd и AVdd составляет ±0,3 В, поэтому лучше питать микроконвертер одним напряжением. Самое большее, чем вы можете разделить шины аналогового и цифрового питания - это или небольшая (размера 0805) феррито-вая шайба ( бусинка , ferrite bead), или резистор сопротивлением 1...2 Ома. Конечно, небходимо развязать каждый вывод питания на землю через планарный конденсатор емкостью 0,1 мкФ с минимальной длиной проводников на плате. Также необходимо убедиться, что на вашей плате установлены электролитические конденсаторы для развязки шин питания и земли. Если вы все же решите применить источники питания, разделенные ферритовой шайбой или резистором малого сопротивления, проверьте, установлены ли планарные и электролитические конденсаторы на каждый источник питания.

В: Поддерживает ли ADuC812 security bits для защиты памяти Flash/EE от записи/чтения?

О: Эти биты есть в данном микроконверторе, но они не функционирую корректно, поэтому эта защита не заявлена фирмой-производителем для ADuC812. Не рекомендуется производить запись по адресу ОхАО, это может привести к запиранию микросхемы.

В: Нужно ли использовать схему внешней генерации сигнала сброса для ADuC812?

О: Необходимо реализовать внешнюю схему POR (power-on reset) для управления входом RESET микросхемы. Эта схема должна удерживать высокий уровень на входе RESET даже при уменьшении на-

пряжения питания на AVdd и на DVdd ниже значения 2,5 В. Более того, напряжение на VbD должно поддерживаться выше уровня 2,5 В в течение, по крайней мере, 10 мс до момента переключения сигнала RESET в низкий уровень. Схема POR должна сохранять работоспособность при напряжении 1,2 В или даже меньше.

В: Порт 1 обычно используется для аналогового ввода. Допустимо ли использование порта 1 для цифрового ввода/вывода?

О: Этот порт может использоваться для аналоговых или для цифровых входов, но не для цифровых выходов. По умолчанию этот порт сконфигурирован для аналоговых входов. В этом случае регистр этого порта для всех входов содержит ОхЕЕ. Чтобы сделать какой-либо вход цифровым просто очистите соответствующий этому входу бит в регистре порта (Р1).

В: С какой максимальной тактовой частотой допустимо использование микроконвертера?

О: Ядро 8052 может нормально работать при величине тактовой частоты, намного превышающей максимальную тактовую частоту 16 МГц, однако в этих условиях возможно ухудшение эффективности работы аналоговой части. Поэтому, использование кварцевых резонаторов с большей частотой, чем 16 МГц, не рекомендуется.

В: Является ли встроенное ядро микроконтроллера 8052 статическим? Какова минимальная тактовая частота ADuC812?

О: Да. В принципе, ядро 8052 может работать при очень медленном тактовом сигнале. Но при этом надо учитывать, что тактовый сигнал используется и для получения тактового сигнала для АЦП, и снижение частоты этого сигнала уменьшает производительность АЦП. Минимальная тактовая частота АЦП составляет 400 кГц. Тактовая частота АЦП получается из частоты тактового сигнала делением на 1, 2, 4 или 8 (выбирается через регистр ADCCON1). Таким образом, для сохранения работоспособности АЦП, минимальная тактовая частота составляет 400 кГц.

НОВЫЙ МИКРОКОНВЕРТЕР ADUC816 - ДВУХКАНАЛЬНАЯ, 16 РАЗРЯДНАЯ СИСТЕМА СБОРА ДАННЫХ СО ВСТРОЕННЫМ МИКРОКОНТРОЛЛЕРОМ

Остановимся подробнее на трех отличительных особенностях данного микроконвертора серии ADuC8xx: двухканальном сигма-дельта АЦП, тактовом генераторе, реализованном на стандартном



часовом кварцевом резонаторе на 32,768 кГц и режимах программирования (модификации) внутренней Flash/EE памяти.

АЦП

Микроконвертор имеет два канала 16-разрядных сигма-дельта АЦП - основной и дополнительный. Рассмотрим функциональные особенности основного канала. При входном сигнале с амплитудой ±2,56 В и частоте обновления 20 Гц этот канал АЦП имеет реальное разрешение 16 разрядов и при входном сигнале ±20 мВ и той же частоте обновления 13 разрядов .

К АЦП основного канала можно подключить три дифференциальных входа, при этом мультиплексор может быть настроен для следующей конфигурации сигналов на входах: Авх1/Авх2, АвхЗ/Авх4 или АвхЗ/ Авх2. Входной буфер основного канала необходим для повышения входного сопротивления и позволяет подключать АЦП непосредственно к тензорезистивным датчикам, например, к датчикам механических напряжений, а также к резистивным датчикам температуры. Высокое сопротивление входов основного канала позволяет использовать RC-цепи во входных цепях, что может пригодиться для задач подавления шумов и фильтрации радиоэлектронных помех. Особенностью микросхемы является наличие двух встроенньгх источников тока по 100 нА, подключенных ко входу буфера. Они могут быть использованы для привязки к земле высокоомных входов, а также для проверки работоспособности аналоговых входов до начала оцифровки. После буфера сигнал попадает на программируемый усилитель, позволяющий программно выбирать восемь диапазонов входных напряжений: для однополярного входа диапазон изменения напряжения находится в пределах от О до 2,56 В, для двуполярного - от ±20 мВ до ±2,56 В.

Структура дополнительного канала АЦП отличается от основного отсутствием буфера и программируемого усилителя. Поэтому входной сигнал сразу подается на сигма-дельта модулятор. Внешний входной сигнал прикладывается относительно земли , имеет фиксированный диапазон напряжения от О до 2,5 В и может быть подан с одного из трех внешних входов АвхЗ-Авх5. Значение параметров оцифровки дополнительного канала АЦП - реальное разрешение, интегральная нелинейность, температурный дрейф коэффициента усиления, величина подавления помех, наведенных питающей 50/60 Гц сетью на входной аналоговый сигнал и на сигнал опорного напряжения, подавление пульсаций источника питания- такие же, как в основном канале. Преобразователь дополнительного канала уступает основному каналу по температурному дрейфу нуля и интегральной ошибке измерений.

Как п во всех микросхемах.семейства ADuCSxx, на кристалле ADuCS16 имеется встроенный датчик температуры, который может быть использован для оперативного измерения температуры кристалла и внесения соответствующих программных коррекций в произведенные измерения.

Для питания внешних датчиков, например, на основе резистив-ного моста, ADuCS16 имеет два источника постоянного тока по 200 мкА каждый. Программным путем можно управлять подачей тока на выходы IEXT1 и/или IEXT2 от какого-либо одного источника, либо от двух источников вместе (тогда ток на одном выходе будет 400 мкА).

Источник опорного напряжения (ИОН) может использоваться либо внутренний, с напряжением 1,25 В и температурной стабильностью 100 ррш/ °С, либо внешний, с напряжением, не превышающим напряжение источника питания. Для подключения к АЦП внешнего ИОН могут быть задействованы дифференциальные высокоомные входы REFIN+ и REFIN--. Состояние этих входов контролирует встроенный в ADuCS16 детектор опорного напряжения. В некоторьгх случаях, когда необходимо задействовать всю разрешающую способность АЦП, использование внутреннего источника менее предпочтительно, т. к. он может иметь меныпую температурную стабильность и меньшую абсолютную величину опорного напряжения (1,25В), чем внешний.

ADuC816 поставляются с заводской ка;габровкой 5В/25°С. Калибровочные коэффициенты сохраняются в Flash/EE и при каждом включении источника питания микросхемы переписываются в соответствующие регистры. В большинстве приложений этих коэффициентов достаточно для работы системы, однако если микроконвертор используется при напряжении питания 3 В и при температуре корпуса, значительно отличающейся от 25 °С, необходима пользовательская калибровка.

Тактовый генератор ADuC816

В микроконверторе ADuCS16 в качестве внешнего тактового генератора очень удачно применен недорогой, но в тоже время очень распространенный кварцевый резонатор на 32,768 кГц. Кварцевый резонатор подключается к контактам XTL1 и XTL2 микроконвертора. Схема подключения его максимально проста и не содержит дополнительных компонентов, но это не означает, что на сигма-дельта модуляторы в каналах АЦП и на ядро встроенного микроконтроллера поступает нестабильный тактовый сигнал. Микроконвертор ADuCS16 содержит блок PLL (Phase Locked Loop), состоящий из умножителя частоты и системы ФАПЧ, стабилизирующей частоту сиг-



нала после ее умножения в сотни раз. Применение одного такого резонатора с одной стороны облегчает реализацию устройств на базе ADuC816, а с другой стороны, обеспечивает необходимую синхронизацию работы АЦП и ядра 8051.

Итак, сигнал от внешнего тактового генератора поступает на блок умножителя с ФАПЧ, который умножает частоту сигнала в 384 раза для получения стабильной частоты 12,582912 МГц. Частота этого сигнала далее делится программно в заданое число раз, кратное двум, и поступает на ядро 8051 в качестве тактируюпдего сигнала. Таким образом, в задачах, где не требуется максимальная скорость работы микроконтроллера, возможно снизить потребляемый устройством ток путем изменения тактовой частоты. Диапазон регулирования частоты находится в пределах от 98,304 кГц до 12,582912 МГц.

Программирование содержимого внутренней памяти микроконвертора

ADuC816 содержит энергонезависимую память Flash/EE для хранения приложений пользователя. Программирование (изменение содержимого) этой памяти может осуществляться р двух режимах - параллельном и последовательном. В параллельном режиме доступ к внутренней памяти микросхемы осуществляется через внешний параллельный порт (порт 3). Для нормальной работы в этом режиме необходимы стандартные аппаратные средства (программаторы), выпускаемые третьими фирмами, и поддерживающие микросхемы семейства ADuC8xx. В последовательном режиме доступ к внутренней памяти осугцествляется через стандартный асинхронный последовательный порт с помощью несложного кабеля. Последовательный режим программирования микросхем ADuC816 ничем не отличается от соответствующих режимов микросхем ADuC812 и ADuC824 и дает возможность пользователю программировать микроконвертор прямо в системе . Оба режима програ-мировання поддерживают стандартные режимы защиты от несанкционированного копирования/чтения /модификации содержимого внутренней памяти.

ADUC824 - ПЕРВОЕ ЗНАКОМСТВО

О микроконвертерах от Analog Devices серии ADuC немало сказано в различных журналах - ЭЛЕКТРОНИКЕ И КОМПОНЕНТАХ , ЧИП НЬЮС , КОМПОНЕНТАХ И ТЕХНОЛОГИЯХ и т. д. Однако все сказанное принадлежит менеджерам дистрибьюторов Analog Devices, которые не имеют собственного опыта практического использования

описываемых микросхем, а лишь оперативно доносят до нас информацию, подготовленную сотрудниками Analog Devices. При этом могут упускаться некоторые тонкие моменты, самостоятельное выявление которых порой требует от разработчика немалых затрат времени. В этой связи, особенно на начальном этапе знакомства с микросхемой, бывает полезным опыт, приобретенный теми, кто уже прошел этот путь. Авторы настоящего материала имели возможность поработать с бета-версией кристалла ADuC824 и делятся первььми впечатлениями.

Микросхема ADuC824 является вторым представителем .микроконвертеров, продвигаемых фирмой Analog Devices на мировом рынке. Для тех, кто еще не знаком с идеологией микроконвертера, вкратце скажем, что это такое.

По мере развития микроконтроллеров фирмы-производители все чаще и чаще стали включать в состав их периферийных устройств аналого-цифровые преобразователи. Вначале их разрядность была 8 бит, затем появились 10-, 12- и даже 14-битные АЦП. Однако они были как-бы придатком к контроллеру. Разработчики микросхемы в первую очередь вылизывали сам контроллер, а АЦП получался таким, каким получался. В итоге очень часто в процессе работы контроллера его внутренние сигналы оказывали такое воздействие на АЦП, что реальный динамический диапазон последнего оказывался на 1-2, а то и на 3 бита хуже заявленного, что проявлялось в дрожании младших разрядов при неизменном входном сигнале и опорном напряжении.

Analog Devices пошла по иному пути. За основу микросхемы был взят добротный 12-разрядный АЦП, а в качестве интерфейса к нему был добавлен контроллер семейства х52. При этом от контроллера не требовалось никаких уникальных характеристик (лишь бы корректно работал), а вся оптимизация микросхемы была направлена на то, чтобы контроллер не портил исходные характеристики АЦП. В итоге Analog Devices получила честный 12-разрядный АЦП (речь идет о первом члене семейства - ADuC812) с микроконтроллером в качестве интерфейса. Для того, чтобы подчеркнуть его коренное отличие от выпущенных доселе микроконтроллеров со встроенными АЦП, разработчики назвали его микроконвертером.

Убедившись в востребованности полученного изделия. Analog Devices приступила к созданию микроконвертера, основанного на многоразрядном сигма-дельта АЦП. Так возник ADuC824, содержащий 24-разрядный основной и 16-разрядный вспомогательный АЦП (это помимо ЦАПа, источников опорного напряжения, усилителей с переключаемым коэффициентом усиления, сторожевого таймера, часов и календаря реального времени, флэш-памяти и ряда других приятных для разработчика особенностей, перечисление которых



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

Первая проблема, возникшая на пути его использования, состояла в том, что его крайне сложно макетировать без соответствующей печатной платы (кристалл выпускается в 52-выводном PQFP, выводы короткие, расстояние между ними менее 1 мм). Кстати, обращаем внимание читателей на то, что шаг между выводами микросхейы выполнен не по дюймовой, а по миллиметровой сетке. Последнее отражено в datasheete, но, как оказалось, разработчики иногда не учитывают это. Далее, пайка таких корпусов без соответствующего оборудования довольно затруднительна. Конечно, в нашем отечестве долго еще будут находиться умельцы, которым по силам запаять на плату подобный корпус при помощи обычного паяльника, но вряд ли стоит пропагандировать подобную практику - можно перегреть микросхему или, наоборот, плохо пропаять контакты.

Авторы настоящих строк пока не располагают паяльным оборудованием требуемого уровня. Поэтому мы вынуждены были обратиться к тем, кто его имеет - в фирму Argus Limited, дистрибьютора американской фирмы Расе, одного из мировых лидеров в производстве оборудования для монтажа и демонтажа электронных компонентов. Десять минут - и микросхема была смонтирована с нужным качеством на нужном месте.

Как следует из описания, программирование микроконвертера может быть осуществлено по каналу RS-232, без использования какого-либо специального программатора. Программа download.exe, осуществляющая программирование микроконвертера ADuC812, была доступна на сайте Analog Devices еще с 1999 г., однако из описания на нее не следовало, в состоянии ли она программировать ADuC824. Опасение вызывало то, что последний рекомендуется использовать с 32-килогерцовым кварцевым резонатором (внутри чипа происходит умножение частоты на величину, определяемую содержимым регистра PLLCON, и в зависимости от занесенного в него числа контроллер может работать на частоте 12,6; 6,3; 3,15; 1,57 МГц и т. д. вплоть до 99 кГц). При старте тактовая частота 824-го равна 1,57 МГц. Программа download.exe требовала при запуске указывать в качестве параметров не только файл с заносимой программой в Intel НЕХ-формате, но и номер порта (С0М1 или 2) и частоту кварцевого резонатора. Возникал вопрос, какую частоту указывать - 32 кГц, 1,57 МГц или вообще

этот параметр опустить (последнее рекомендуется в том случае, когда частота кварца равна 11059 кГц). Как ни удивительно, корректным оказался именно последний вариант - если в вашем устройстве ADuC824 работает с кварцем 32 кГц, download.exe нужно запускать без параметра f. Видимо, последовательный канал ADuC824 настраивается таким образом, что при тактовой частоте 1,57 МГц он осуществляет обмен на скорости 9600 бод (это скорость обмена ADuC812 на частоте 11,059 МГц).

Обмен по RS-232 осуществляется при помощи сигналов с уровнями, отличными от ТТЛ. В описании нигде явно не указывалось, что для программирования ADuC824 нужно снабдить преобразователями уровня типа ADM-232, МАХ-202 и им подобными. Однако это действительно необходимо. Схема соединения ADuC824 и ADM232 приведена на рис. 1.

Режим программирования по последовательному каналу запускается в том случае, когда при включении питания выход PSEN (вывод 41) соединен с общим проводом через резистор 1 кОм. Требуе-

*5В

+5 в

0,1 МК

22МКХ10В

1.3 К

VD1 LM336Z-2.5

10 к

22МКХ10В

J* S2 4,7 т =р

xfOS 120 К

DVDD

DGND PSEN

AGND

DGND

ADuC824

XTAL2

AIN2

XTAU

RESET

P2 1

TxD DVDD

DGND

4 шт 4,7mkx10B

Рис. 1

16 к

=L 0,1 f

I I ZQ1 32 768 Гц

470 1л-19 4.s d

VD2 +5S

X1 -S> 1 -> 2 TXD -J> 3 RxD -> 4

-*> 5 GNL -i> 6

-> 7 - > 8



мое замыкание осуществляется при помощи перемычки S1. Как выяснилось (потом мы это, естественно, нашли и в описании на микроконвертер), перемычка должна быть установлена именно в момент включения питания, а не в момент сброса - если в процессе работы микроконвертера замкнуть перемычку S1, а затем нажать на кнопку сброс (S2), режим программирования не активируется, и downIoad.exe проходит некорректно.

В распоряжении авторов имелись программы downIoad.exe версий 2.05 и 2.07. Первая программировала микроконвертер ADuC824 устойчиво, вторая, хоть и более поздняя по времени создания, по невыясненным причинам его не программировала.

В качестве первой программы использовалась приведенная ниже примитивная программка proba.asm, которая при функционировании осуществляла мигание светодиода на выводе Р2.1 (схема включения приведена на рис. 1). Последовательность загрузки в итоге оказалась следующей. При выключенном питании плата с микросхемой соединялась кабелем со свободным последовательным портом, и устанавливалась перемычка S1. Затем на плату подавалось питание, и запускалась downIoad.exe с параметрами: именем proba.hex и номером СОМ-порта (см. описание на downIoad.exe, файл uC004.pdf). Иногда, если загрузка не получалась (после завершения downIoad.exe сообщает о том, с каким результатом прошла загрузка), операцию приходилось повторить. После этого от платы с микроконвертером отключалось питание, снималась перемычка S1, снова подавалось питание, и микроконвертер начинал выполнять занесенную программу (в конкретном случае - мигать светодиодом на Р2.1).

РгоЬа. asm

org О

ajmp START

org 100 -START:

cir P2.1

;pin 29

mov RO, #50

mov R1,#255 djnz R1,$ djnz RO, Ibl

Ib2:

setb P2.1

mov R0, 50

mov R1,#255 djnz R1,$ djnz RO, Ib2

sjmp START end

)in 28

Основной интерес, конечно, представляет не мигание светодиодом, а работа основного элемента микроконвертера - 24-разрядного АЦП. Программа, реализующая измерение при помощи этого АЦП, aducasm, приведена ниже. Там же приведена программа lcd h.asm, осуществляющая вывод информации на ЖК-индикатор МТ10Т7 (подробнее см. СХЕМОТЕХНИКА , №2/ 2000, стр. 16, 17). Измеряемое напряжение формировалось при помощи переменного резистора, включенного параллельно прецезионному источнику LM336Z-2.5 (рис. 1). АЦП программировался на работу в непрерывном режиме в диапазоне 2,56 В с внутренним источником опорного напряжения. Одна из ошибок бета-версии ADuC824 состоит в том, что в регистр SF, задающий частоту измерения, нельзя заносить числа больше 200дес., вследствие чего невозможно осуществить работу на самой низкой скорости, где достигается самая высокая точность. (К сожалению, мы вначале пытались запустить АЦП с SF=OFFH, и два дня не могли понять, почему чип ничего не измеряет. Файл errata.doc, где описаны эта и другие огиибки, мы удосужились прочесть лишь после того, как нашли, что АЦП на низких частотах не работает). Мы заносили в регистр SF число 128 дес, что задало частоту измерения примерно 10 Гц. При этом мы наблюдали, что при неизменном положении движка подстроечного резистора даже при измерении относительно малого напряжения (около 200 мВ) старшие 16 бит результата оставались неизменными, а дрожание наблюдалось лишь в младших 8 битах. Это чуть хуже тех точностных параметров, которые Analog Devices гарантировала для ADuC824 в этом режиме (19 бит). Но возможно, что для достижения заявленной точности нужно экранировать входные цепи микроконвертера и подстроечный резистор.

aduc.asm



ADCSTAT ADCMODE ADCOCON ADC1C0N SF

RDYO RDY1 EADC ;EA

ADCOH ADCOM ADCOL ADC1H ADCIL

equ 0D8h

equ ODIh

equ 0D2h

equ 0D3h

equ 0D4h

equ ODFh

equ ODEh

equ OAEh

equ OAFh

equ ODBh

equ ODAh

equ 0D9h

equ ODDh

equ ODCh

mov SF,#080h

mov ADCOCON,ftOOOOmib ; ext. reference input pai r AINl AIN2 uni polar coding range +- 2.56V

; mov ADClC0N,#01000000b mov ADCMODE,#0010001 lb ; prim. ADC enable ; continuous conversion

setb EADC setb EA

loop;

ajmp loop

org ajmp

mov mov mov cal I clr

P2.5

MAIN 033h

R5,ADCOH R4,ADCOM R3,ADCOL DISP HEX

RDYO

P2.4 P2.3 P2.2 P2.1 P2.0

; clr RDY1 reti

org OlOOh $lcd h.asm

MAIN; cal I

T LCD

lcd h.asm

MACRO %STR0B WR1

setb WRI

clг WRI ENDMAC

MACRO %STROB ADDR

cl r AO

setb WRI

cl r WRI

setb AO ENDMAC

;подпрограмма вывода ;содержимого аккумулятора

SET BUS; clr С rrc A mov DBO,С rrc A mov DB1,C rrc A mov DB2,С rrc A

на шину DB

загружаем в порт

; младшую тетраду



mov DB3, С

iT LCD; mov A, #OFh cal I SET JUS %STROB ADDR mov A, #01h ca1 I SET BUS %STR0B WR1

mov A, #0

устанавливаем адрес OFh

устанавливаем данные Olh

; сброс всех знакомест calI SEt BUS; устанавливаем на шине О %STROB ADDR ; генерируем строб записи адреса ; на шине уже установлен О, инкремент адреса производится автоматически,

; так что просто 20 раз IbLint ; выдаем строб данных

mov RO, SO int:

%STR0B WR1 inc RO

cjne R0, 20, ret

C0DE 7: ; цифр

OB OEEh, 060h, 02Fh, 06Dh, OEIh OB OCOh, OCFh, 068h, OEFh. OEdh DBOEBh, 0C7h, OBEh, 067h, 08Fh, 08Bh

; таблица семисегментных кодов

0,1,2,3,4 5,6,7,8,9 A,b,C,d,E,F

COOER: ; подпрограмма кодировки

;в семисегментный формат mov DPTR. #C0DE 7

mov A,@R0 ; адрес кодируемой цифры в RO move A,@A+DPTR

mov (8)R0,A ; замещаем исходную цифру кодом ret

PREP HEX;

mov 020h, #0 mov 02lh, #0 mov 022h, #0 tnov 023h,#0 mov 024h, #0 mov 025h,#0

подрограмма подготовки числа для индикации

mov А,R5

mov R0,#021h ; в бЗУ по адресу 21И xchd A,@RO swap А

mov RO, #020h

xchd A, mo

младшую тетраду R5 помещаем

mov A,R4 mov RO,#023h xchd A,@RO swap A

mov RO, #022h xchd A, mo

mov A, R3 mov RO, #025h xchd A,@R0 swap A

mov RO, #024h xchd A,@R0

: старшую тетраду в 20h

аналогично для R4

аналогично для R3

mov са I mov са I mov са I; mov cal I mov cal mov call

R0,#020h; заменяем двоично-десятичный код

CODER R0,fl021h I CODER RO,#022h I CODER RO, #023h I CODER R0,#024h I CODER R0,#025h I CODER

на семисегментный

OUT A: clr С rrc A mov DBO, С rrc A

; подпрограмма вывода содержимого аккумулятора на шину DB

загружаем в порт

; младшую тетраду



mov DBI.C rrc A mov DB2,C rrc A mov DB3,C %STR0B WR1

rrc A mov DBO,С rrc A mov DB1,C rrc A mov DB2,C rrc A mov DB3,C %STR0B WR1

Приложение 12

генерируем первый строб WRI загружаем в порт

; старшую тетраду

генерируем второй строб WR1

DISP HEX: ; вывод 6-разрядного hex

; числа в модуль МТ10Т7 call PREP HEX ; подготовка числа для индикации

nov А,#4

call SET BUS; определяем знакоместо %STR08 ADDR ; 1-ой цифры

mov R0,#020h IbLdis:

mov A,@RO caI I OUT A inc RO

cjne R0,#026h, IbLdis ret

последовательно выводим в порт 6 цифр, лежащих в ОЗУ по адресам 20h-25h

Потребление микроконвертера в активном режиме (с ЖК-моду-лем) составило 5 мА, что также неплохо согласуется с характеристиками, заявленными производителем.

Мы надеемся, что приведенная информация поможет пользователям ADuC824 в их первых экспериментах.

24-РАЗРЯДНЫЙ АЦП С ВСТРОЕННЫМ МИКРОКОНТРОЛЛЕРОМ СЕМЕЙСТВА х51 ОТ BURR-BROWN (TEXAS INSTRUMENTS)

Буквально за неделю до сдачи в типографию настоящей книги автору попалась на глаза информация о выпуске фирмой Texas Instruments микросхемы, аналогичной микроконвертеру ADuC824 от Analog Devices. Невозможно было пройти мимо этого события, ибо оно весьма знаменательно. Во-первых, это зримый плод поглощения фирмой Texas Instruments фирмы Burr-Brown. Последняя всегда считалась одним из мировых лидеров в разработке и производстве аналоговых микросхем, но самостоятельно замахнуться на встраивание в один из своих АЦП микроконтроллера она была не в силах. В то же время для Texas Instruments, занимающей лидирующие позиции в области создания цифровых сигнальных процессоров, создать 8-разрядный микроконтроллер с вполне заурядной производительностью труда не представляло, но сделать вместе с ним на кристалле прецизионный 24-разрядный АЦП - это для нее было уже не по зубам. Именно поэтому и произошла столь неожиданная для многих покупка цифровые технологии от Texas в совокупности с аналоговыми от Burr-Brown должны были дать новое качество. Собственно, что мы и видим - семейство АЦП с микроконтроллером MCS1210 сразу выдвинулось в лидеры, став в один ряд с микроконвертерами ADuCSxx от Analog Devices.

Следующий удивительный факт - выпуск фирмой Texas Instruments микроконтроллера семейства х51. В свое время именно TI провозгласила, что ее цифровые сигнальные процессоры вытеснят со сцены микроконтроллеры, и все прошедшие после этого годы она по сути игнорировала существование последних. Но заметив, ка-



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

И третье, чего безусловно нельзя не отметить - это то, что изделия, совместимые с семейством х51, прочно заняли лидирующие позиции в высокоинтегрированных системах сбора и обработки данных. Выбор 51-х микроконтроллеров, который и ранее был немалым, в последние два-три года заметно расширился. При этом новые МК обладают чрезвычайно развитыми возможностями, высоким быстродействием, малым энергопотреблением, удобством использования - словом всем, о чем разработчики еще лет пять назад могли лишь мечтать. Так что если в конце 90-х годов те, кто использовали в своих изделиях МК семейства х51, выглядели ретроградами, сейчас про них такого не скажешь - ни одно другое популярное семейство МК, будь то PIC- или AVR-контроллеры, не предоставляет своим пользователям такого разнообразия возможностей, как 51-е. И развитие этого семейства не прекращается.

После всего сказанного перейдем к описанию особенностей самого свежего семейства из х51-совместимых микроконтроллеров - MCS1210 от Texas Instruments/Burr-Brown. По состоянию на конец мая 2002 г. оно насчитывает четыре изделия - MCS1210Y2, MCS1210Y3, MCS1210Y4 и MCS1210Y5, различающиеся лишь объемом Flash-памяти на кристалле (4, 8, 16 и 32 кбайт соответственно). Все кристаллы содержат 24-разрядный АЦП с 22-битным эффективным разрешением при частоте оцифровки 10 Гц и 75-нановольто-вым уровнем шума, приведенного ко входу. На кристалле также размещен прецизионный 0,2%-й источник опорного напряжения с превосходными дрейфовыми характеристиками (5 ррт/°С), причем гораздо лучшими, чем у источника в ADuC824.

Каждый из восьми аналоговых входов (AIN1-AIN7) может быть программно выбран либо в качестве положительного входа АЦП, либо в качестве отрицательного, благодаря чему пользователь располагает восемью дифференциальными входными каналами. Необходимо отметить, что аналоговые входы микросхем независимы, т. е. не совмещены ни с какими линиями портов РО-РЗ.

Микросхемы также снабжены ставшими уже стандартными программируемым входным усилителем (коэффициент усиления от 1 до 128), цифровыми фильтрами для подавления помех и наводок, разнообразными режимами калибровки. Последнее позволяет добиться дрейфовых характеристик системы на уровне 0,02 ррт/°С, а цепи усиления - 0,5 ррт/°С.

Микроконтроллеры, входящие в MCS1210Yx, очень похожи на МК, ранее производившиеся фирмой Dallas Semiconductor. Пре-

дельная тактовая частота их составляет 33 МГц, что в совокупности с 4-тактным командным циклом (взамен 12-тактного у стандартных х51) позволяет достичь быстродействия, равного быстродействию стандартного МК х51 на частоте 82 МГц. Это не столь быстро, как у МК фирмы Cygnal, но в подавляющем большинстве применений такой скорости хватит за глаза. Еще некоторые приятные особенности, также характерные ранее лишь для МК, производившихся Dallas Semiconductor - два независимых последовательных порта UART и два регистра DPTR.

Помимо UART, МК располагают ставшим уже стандартом SPI-ин-терфейсом, тремя таймерами-счетчиками, сторожевым таймфом, системным таймером реального времени, режимами пониженного энергопотребления и 21 - м источником прерываний. Микросхемы выпускаются в 64-выводном корпусе типа TQFP, предназначены для работы в индустриальном температурном диапазоне (-40.. .+85°С). Питающее напряжение - от 2,7 до 5,25 В, потребление - несколько милливатт.

Помимо Flash-памяти (1 миллион циклов перезаписи, время хранения информации - 100 лет!), все микросхемы имеют на кристалле 1 кбайт статического ОЗУ, доступного по команде MOVX. Еще есть режимы как параллельного, так и последовательного внутрисистемного программирования, а также 2-килобайтный загрузчик.

Структура АЦП с микроконтроллером MCS1210 приведена на рис. 1, цоколевка микросхем - на рис. 2.

аа AGNO

flEFOUT

flEFIN+ REF IN-

DVdd DGND


XOUT

Рис. 1. Структура АЦП с микроконтроллером MCS1210



1 ... 16 17 18 19 20
© 2004-2024 AVTK.RU. Поддержка сайта: +7 495 7950139 в тональном режиме 271761
Копирование материалов разрешено при условии активной ссылки.
Яндекс.Метрика