Емкость резидентной памяти данных не eeprom микроконтроллера aduc812 байты

Обновлено: 07.07.2024

РПД является наиболее гибким адресным пространством, которое позволяет реализовать режимы прямой, регистровой, косвенной и битовой адресации. РПД состоит из таких областей:

1) ОЗУ объемом 128 байтов - адреса 00. 7FH (0..127);

Внутреннее ОЗУ предполагает прямую и косвенную адресацию, а банки рабочих регистров, которые входят в него, - также и регистровую адресацию.

Расположение разных областей в РПД показано на рис.11.2.

Рис. 11.2. Структура адресации РПД

Внутреннее ОЗУ (адреса 00. 7FH) состоит из таких областей :

1. Четыре банка рабочих регистров по восемь байтов в каждом. В процессе работы МК51 один из банков регистров считается активным. Выбор активного банка осуществляется программным путем с помощью установления двух битов в регистре флагов. При этом регистры активного банка становятся доступными через регистровую адресацию с символическими именами R0. R7. С этими именами работают специальные короткие команды, которые используют данный тип адресации. Другие (неактивные) банки адресуются как обычные ячейки ОЗУ. Таким образом в МК51 реализован "плавающий" блок РОН. В регистры R0 и R1 могут использоваться для косвенной адресации любой из 128 ячеек внутреннего ОЗУ.

2. Блок ячеек ОЗУ с побитовой адресацией. Эти 16 байтов по адресам 20Н. 2FH предполагают также прямую адресацию отдельных битов с адресами 00Н. 7FH, то есть всего 128 битов. Для работы с битами существуют специальные команды, поэтому перепутывания адресов не возникает. Карта битов внутреннего ОЗУ, которые адресуются в отдельности, показана на рис.2.6 в пособии.

3. Блок ячеек ОЗУ без особенностей.

Все три области предполагают прямую и косвенную адресацию байтов через регистры R0 и R1 активного банка.

Стек в МК51 может занимать любые последовательно расположенные байты в ОЗУ РПД. Назначение стека такое же, как и в других МП.

Для адресации ячеек, которые составляют стек, используется восьмиразрядный регистр SP. Теоретическая глубина стека - 127 байтов, поскольку в диапазоне 80. FFH размещаются РСФ и недоступные адреса. Стек обычно размещают в области ОЗУ, начиная с адреса 40Н и выше. При включении питания или подачи сигнала Reset в (SP) автоматически загружается код 07H.

Особенность состоит в том, что в МК51 стек растет в сторону увеличения адресов, то есть при выполнении команд PUSH и CALL содержимое SP увеличивается, а при РОР и RET - уменьшается. Путем записи в SP значения от 0 до 127 можно разместить стек в любой области в границах ОЗУ РПД.

Блок регистров специальных функций (РСФ)

РСФ также относятся к РПД и расположены по адресам, кратным 8, в диапазоне адресов 80Н. FFH. Одиннадцать из 20 регистров специальных функций имеют битовую адресацию (табл.2.2, рис.2.7 в пособии).

В микроконтроллере реализованы следующие РСФ:

- арифметические: аккумулятор АСС (или A), регистр умножения В, слово

состояния программы PSW;

- указательные: SP и DPTR, который состоит из пары DPH, DPL;

- регистры-фиксаторы портов ввода-вывода Р0, Р1, Р2, Р3;

- регистры управления системой прерываний IP, IE;

- регистры управления и настройки таймеров-счетчиков TCON, TMOD,

- счетные регистры таймеров TH0, TL0, TH1, TL1;

- регистры управления последовательным портом SBUF, SCON;

- регистр управления мощностью PCON.

К регистрам СФ можно обращаться как к обычным ячейкам ОЗУ с битовой адресацией, и в то же время они обеспечивают работу многих узлов МК, устанавливают режимы их работы. Так, программирование различных периферийных устройств МК51 на определенные режимы работы реализуется как запись в соответствующие ячейки памяти РПД нужных кодов или путем установления соответствующих битов с прямой адресацией. Кроме того, биты регистров СФ имеют символические имена, что существенно облегчает программирование на Ассемблере.

Полный перечень всех РСФ представлен в табл. 2.2 в пособии.

Аккумулятор и слово состояния программы (PSW)

МК51 имеет аккумуляторно-ориентированную структуру. Но существует ряд операций (пересылка, INC, DEC, некоторые проверки), которые выполняются без аккумулятора. Аккумулятор - это регистр с побитовой адресацией, который существенным образом облегчает анализ данных с битовой структурой информации. Аккумулятор предполагает два способа адресации:

- регистровую, если ссылка на него помещается в коде операции (как «А»);

- прямую, путем указания прямого адреса (0Е0h) или символического имени "АСС" в адресной части команды.

Регистр PSW выполняет функцию регистра признаков, которые формируются по результатам действий в АЛУ, а также служит для управления выбором активного банка регистров. PSW - регистр с битовой адресацией, что облегчает анализ признаков и их установку. Отдельные биты PSW имеют символические имена, но к ним можно обратиться и через имя регистра с указанием номера бита: PSW.7, PSW.5. Структура регистра PSW показана на рис.2.8 в пособии, а табл.11.2 содержит краткие сведения о назначении отдельных разрядов данного регистра.

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

Похоже, что сегодня заветная мечта разработчика воплотилась-таки в реальность. Отличительной особенностью новейшего семейства микросхем серии ADuC8xx является сам их принцип построения. Эти микросхемы не являются «микроконтроллером со встроенными АЦП-ЦАП». Они представляют собой удачно скомбинированные АЦП и ЦАП со встроенным в них микроконтроллером и флэш-памятью. Поэтому их основным достоинством является высокая точность аналого-цифрового и цифро-аналогового преобразования, удачно сочетаемая с возможностью непосредственной обработки получаемой информации. Ниже будут рассмотрены основные характеристики первых представителей семейства микросхем ADuC8xx и даны некоторые примеры их практического использования.

Первой микросхемой семейства ADuC8xx, выпущенной в серийное производство в мае 1999 года, является ADuC812 [1]. Архитектура ее представлена на рис. 1. Микросхема состоит из двух основных частей — аналоговой и цифровой.

Рис. 1. Структура микросхемы ADuC812

Интерфейсом между аналоговой и цифровой частями микросхемы служат регистры управления и калибровки. Цифровая часть состоит из собственно ядра микроконтроллера, полностью совместимого по системе команд с наиболее широко распространенными в мире микроконтроллерами серии 8051, блока памяти и набора дополнительных периферийных устройств. Микросхема ADuC812 может питаться от источника напряжением 3 или 5 В и имеет несколько экономичных режимов работы.

Рассмотрим более подробно структуру АЦП, ЦАП и цифровой части микросхемы.

Как уже упоминалось, первый представляет собой АЦП последовательных приближений, который может работать как в режиме единичных, так и непрерывных преобразований с максимальной скоростью 200 тысяч преобразований в секунду (одно преобразование каждые 5 мкс). Для запоминания результатов преобразования используется либо режим прерываний (как правило, его удобно использовать при невысокой частоте работы АЦП), либо режим прямого доступа, не влияющий на работу собственно контроллера и позволяющий сохранять результаты преобразования во внешнем ОЗУ с адресуемым пространством 16 Мбайт. АЦП имеет очень хорошую точность (соотношение сигнал/шум 70 дБ, что соответствует реальному разрешению на уровне 11,5 разрядов) и высокую линейность (типовая интегральная нелинейность на уровне ±1/2 МЗР). Микросхема выпускается с заводской калибровкой под оптимальную производительность. При каждом включении источника питания микросхемы эти коэффициенты записываются в соответствующие регистры.

В большинстве приложений этих коэффициентов достаточно для хорошей работы системы, однако пользователь в процессе работы может перезаписать их для избавления от дополнительных системных ошибок. Более подробно о режимах калибровки написано в [2]. Все режимы работы АЦП определяются тремя регистрами управления, находящимися во внутренней памяти микроконтроллера. Результаты преобразования могут быть считаны из двух регистров, один из которых показывает номер канала мультиплексора и старшие 4 бита результата, а второй — младшие 8 бит результата.

Микроконтроллер представляет собой «стандартное» ядро 8051 с максимальной рабочей частотой 16 МГц (12 МГц — типовая), тремя байтовыми портами ввода/вывода, один из которых, порт 3, обладает повышенной нагрузочной способностью, тремя 16-разрядными таймерами/счетчиками и расширенной периферией, которая будет описана ниже.

Блок памяти состоит из флэш-памяти программ объемом 8 кбайт, флэш-памяти данных объемом 640 байт и ОЗУ объемом 256 байт. Информация во внутреннюю флэш-память программ может быть записана как с любого внешнего программатора в «параллельном» режиме через порты микроконтроллера, так и непосредственно в системе в «последовательном» режиме через стандартный асинхронный последовательный порт. Подробное описание протокола и процедур программирования ADuC812 непосредственно в системе представлено в [3].

К блоку расширенной периферии можно отнести дополнительные аппаратные возможности микросхемы, отсутствующие в оригинальной архитектуре 8051. Это дополнительные последовательные порты, дающие микросхеме возможность работы в ставших стандартными 2-проводных и 3-проводных синхронных протоколах SPI и I2C.

Также микросхема дополнена двумя мониторами, один из которых следит за отсутствием «зависания» микроконтроллера, и в случае обнаружения оного вырабатывает сигнал сброса в начальное состояние, а второй следит за тем, чтобы напряжение источника питания не падало ниже определенного, задаваемого пользователем значения (от 2,6 до 4,6 В). Он позволяет в случае, близком к потере питания, сохранить содержимое внутренних регистров, запомнить свое состояние и возобновить работу только после восстановления питания.

В заключение необходимо отметить, что данная микросхема поддерживается инструментальными средствами (EVAL-ADuC812), состоящими из эволюционной платы, соединяемой с компьютером, комплектом программного обеспечения (полная версия Ассемблера и ограниченная (2 кбайта кода) версия С, программного симулятора, отладчика и последовательного загрузчика/программатора флэш-памяти), необходимой документации, блока питания и двух образцов микросхем.

AduC824 — микросхема для применения в индустриальных интеллектуальных датчиках

Структура новейшей микросхемы семейства представлена на рис. 2 [4]. Для краткости остановимся на отличительных чертах и характеристиках данной микросхемы.

Рис. 2. Структура микросхемы ADuC824

Еще одной отличительной особенностью данной микросхемы является ее малое энергопотребление (всего 3 мА при питании от 3-вольтового источника), что дает возможность ее реального использования в индустриальных приложениях с питанием от токовой петли. Это стало возможным за счет применения специального тактового генератора, позволяющего «завести» микросхему от стандартного резонатора частотой 32768 кГц.

Остальные части микросхемы и комплект инструментальных средств имеют практически ту же структуру и функции, что и у вышеописанной микросхемы ADuC812.

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

1 ОБЩИЕ СВЕДЕНИЯ

1.1 Архитектура учебного лабораторного комплекса SDK-1.1

1.2 Микроконтроллер AduC812BS и ПЛИС MAX3064

2 ПРОГРАММИРОВАНИЕ СТЕНДА SDK-1.1

2.1 Демонстрационный режим

2.2 Работа с модулем SDX-09 на базе комплекса SDK-1.1

2.2.1 Аналоговые входы

2.2.2 Аналоговые выходы

2.3 Программирование стенда SDK-1.1

2.3.1 Создание проекта в Keil μVision2

2.3.2 Составление текста программы

2.3.3 Компиляция, запись и запуск программы на стенде SDK 1.1

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Карсаков А.А. Программирование лабораторного стенда SDK1.1.

Руководитель проекта – доцент Захаров М.В.

Курсовой проект. Пояснительная записка объемом 31 с. содержит 4 таблицы, 25 рисунков, список источников, состоящий из 2 наименований.

Ключевые слова: микроконтроллер, программирование, регистр, переменная, условие, цикл.

Цель работы – написание программы для лабораторного стенда SDK 1.1.

Основываясь на знаниях, полученных при выполнении лабораторных работ, составлен текст программы для стенда SDK 1.1 в соответствии с заданием. Приложены все необходимые пояснения к данной программе, а так же приведены порядок написания программы в среде Keil μVision2 и непосредственно запись программы в микроконтроллер при помощи программы T167B.

В настоящее время в связи с бурным и повсеместным развитием микропроцессорной техники все чаще применяются новые микроэлектронные устройства.

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

В данной работе будет рассмотрена работа с лабораторным стендом SDK1.1, построенным на базе микроконтроллера AduC812. Лабораторный комплекс предназначен для освоения студентами архитектуры и методов проектирования: систем на базе микропроцессоров и однокристальных микро-ЭВМ, встраиваемых контроллеров и систем сбора данных, периферийных блоков вычислительных систем. Подготовка программ для микроконтроллера AduC812 осуществляется на языке программирования СИ на ПК в обычном текстовом редакторе (или средах программирования, предназначенных для разработки программ под ядро MCS-51), далее программа компилируется в исполняемый модуль, доставляемый в стенд с помощью разработанного программного обеспечения.

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

1 ОБЩИЕ СВЕДЕНИЯ

1.1 Архитектура учебного лабораторного комплекса SDK-1.1

Учебный лабораторный комплекс SDK-1.1 представляет собой микропроцессорный стенд SDK-1.1, подключенный к персональному компьютеру через интерфейс RS232C (COM-порт компьютера), и установленное на ПК инструментальное программное обеспечение. Микропроцессорный стенд SDK-1.1 построен на базе микроконтроллера AduC812 (вычислительное ядро MCS-51) и имеет в своем составе разнообразные устройства, предназначенные для ввода, обработки и вывода информации в цифровом и аналоговом виде. Общий вид стенда SDK-1.1 представлен на рисунке 1.


Рисунок 1 – Общий вид стенда SDK-1.1

В состав учебного стенда SDK-1.1 входят следующие компоненты:

- программируемая логическая интегральная схема (ПЛИС) MAX3064;

- внешнее электрически стираемое программируемое ПЗУ (EEPROM) объемом 256 байт;

- внешняя статическая оперативная память (SRAM) объемом 128 Kбайт;

- клавиатура AK1604A-WWB фирмы ACCORD;

- жидкокристаллический индикатор (ЖКИ) WH1602B-YGK-CP фирмы Winstar Display;

- часы реального времени PCF8583;

- набор сигнальных светодиодов;

- пьезокерамический акустический излучатель;

На рисунке 2 представлена структура аппаратной части учебного стенда SDK-1.1.


Рисунок 2 – Структура аппаратной части учебного стенда SDK-1.1

Стенд SDK-1.1 может работать без подключения к компьютеру.

На рисунке 3 показан процесс разработки программы для стенда SDK-1.1.


Рисунок 3 – Процесс разработки программ для SDK-1.1

Программы для стенда располагаются в ОЗУ объемом 128 Кбайт. Из этих 128 Кбайт как память программ (особенности MCS-51) могут использоваться лишь 56 Кбайт (в стенде первые 8 Кбайт памяти программ заняты ПЗУ, в котором располагается системное программное обеспечение, отсюда 64 Кбайт – 8 Кбайт = 56 Кбайт). Однако, как показывает практика, программы такого размера для стенда подготавливать не требуется. SDK-1.1 позволяет на практике ознакомиться с управлением периферийными устройствами, взаимодействующими с вычислителем посредством различных интерфейсов, освоить некоторые специфические аспекты программирования встраиваемых вычислительных систем, эффективного управления ресурсами. В стенде предусмотрена возможность симулировать некоторые внешние сигналы без использования дополнительного оборудования: сигналы внешних прерываний, счетные импульсы таймеров, аналоговые сигналы на входах АЦП. Интересно отметить возможность программного инициирования прерываний, не предусмотренную в MCS-51, однако реализованную в стенде через механизм программного управления состоянием входа внешнего прерывания INT0 AduC812. ПЗУ с резидентным программным обеспечением реализовано на кристалле ОКЭВМ AduC812 по технологии FLASH/EE и может быть перепрограммировано через интерфейс RS-232C с обычного ПК. Новые версии резидентного ПО могут доставляться в стенд без использования специальных программаторов, а тем более новых микросхем ПЗУ – достаточно иметь лишь образ доставляемой программы в виде файла и специальную утилиту на ПК.

Некоторые устройства стенда подключены к вычислителю через периферийный расширитель, реализованный на базе ПЛИС небольшой емкости, перепрограммируемой через имеемый в SDK-1.1 JTAG-порт, что дает возможность при желании изменять механизмы работы с этими устройствами.

Иногда при программировании SDK-1.1 возникает необходимость сохранять программу и после выключения питания. Так как стенд создавался для массового использования студентами, такая возможность в базовой его конфигурации имеется лишь за счет замены содержимого FLASH-памяти вычислителя. Однако ее размер составляет всего 8Кбайт, что не всегда достаточно для более серьезных программ, таких как курсовые и дипломные проекты, бакалаврские и другие исследовательские работы. К тому же, во FLASH-память AduC812 может быть записан только один образ, то есть либо одна программа, либо несколько программ, но скомпонованных в один файл. Это затрудняет обновление отдельной программы в наборе, так как, во-первых, для этого необходимо заново компоновать все программы из набора, во-вторых, невозможно перезаписать часть FLASH-памяти AduC812 без стирания всего ее содержимого.

На рисунке 4 представлено схематическое изображение стенда SDK-1.1, а расшифровка обозначений на схеме дана в таблице 1 [1].

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

Прошло уже больше года после знакомства читателей с первыми микросхемами семейства ADuC8xx, и нас приятно удивляет интерес разработчиков к этой линии продукции фирмы Analog Devices. Особенный интерес ощущается к «первенцу» семейства — микроконвертеру ADuC812 [1]. В начале статьи мы дадим ответы на самые часто повторяющиеся вопросы разработчиков по использованию этой микросхемы [2]. Во второй части статьи будет представлен материал по микросхеме ADuC816 [3] и ее отличительным от других продуктов семейства особенностям.

Часто задаваемые вопросы по использованию ADuC812


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

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

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

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

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

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

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

О: Необходимо реализовать внешнюю схему POR (power—on reset) для управления входом RESET микросхемы. Эта схема должна удерживать высокий уровень на входе RESET даже при уменьшении напряжения питания на AVDD и на DVDD ниже значения 2,5 В. Более того, напряжение на VDD должно поддерживаться выше уровня 2,5 В по крайней мере 10 мс до момента переключения сигналаRESET в низкий уровень. Схема POR должна сохранять работоспособность при напряжении 1,2 В или даже меньше. Детали рассмотрены в [4], [5].

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

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

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

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

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

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

Новый микроконвертер ADuC816 — двухканальная, 16-разрядная система сбора данных со встроенным микроконтроллером

Структура новейшей микросхемы семейства представлена на рис. 1 [3]. Остановимся подробнее на трех отличительных особенностях данного микроконвертера в серии ADuC8xx: двухканальном сигма-дельта АЦП, тактовом генераторе, реализованном на стандартном «часовом» кварцевом резонаторе на 32,768 кГц и режимах программирования (модификации) внутренней FLASH/EE памяти.

Рис. 1. Структура новейшей микросхемы семейства ADuC816

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

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

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

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

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

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

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

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

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

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

Рис. 2. Типовая конфигурация системы сбора данных, построенной на микросхеме ADuC816

Типовая конфигурация системы сбора данных, построенной на микросхеме ADuC816, приведена на рис. 2. Микросхема ADM810 (впрочем, может быть применен любой генератор сигнала RESET) предназначена для правильного формирования сигнала «сброс» по включению питания, ADM202 (опять же может быть применен любой преобразователь уровня сигналов) — для формирования уровней сигнала интерфейса RS-232 при подключении к COM-порту компьютера через стандартный разъем. Для включения микросхемы в режим программирования в системе необходимо «посадить на землю» через резистор 1 кОм вывод 41 (PSEN) путем замыкания контактов соответствующего разъема на плате и включить на PC программу-загрузчик, бесплатно поставляемую в комплекте стандартных инструментальных средств для микроконвертеров.

AduC812 выпускается фирмой Analog Devices - мировым лидером в области аналоговой схемотехники. AduC812 является микроконвертором и содержит в себе 12-битный АЦП со встроенным микропроцессором. Процессорное ядро AduC812 является клоном ядра Intel MCS-51.

Основные характеристики микроконтроллера:

- рабочая частота 11,0592 МГц;

- 2-канальный 12-битный ЦАП;

- электрически стираемое программируемое ПЗУ (EEPROM) объемом 640 байт со страничной организацией (256 страниц по 4 байта);

- Flash-память программ объемом 8 Кбайт;

- ОЗУ данных объемом 256 байт;

- адресное пространство 16 Мбайт;

- режим управления питанием;

- контроллер системной шины;

- универсальный асинхронный приемник-передатчик (UART);

- три 16-битных таймера/счетчика;

- сторожевой таймер (WatchDog);

- внутренний температурный датчик.

На рисунке 5 представлено условно-графическое обозначение микроконтроллера AduC812 [1].

Микроконтроллер AduC812

Рисунок 5. Микроконтроллер AduC812

В SDK-1.1 используется программируемая логическая интегральная схема (ПЛИС) MAX3064 фирмы Altera. В очень упрощенном виде ПЛИС представляет собой набор макроячеек и механизм для организации связи между ними. Микросхема MAX3064 содержит 64 макроячейки. Информация о связях между макроячейками хранится в энергонезависимой памяти находящейся внутри самой микросхемы. Для программирования MAX3064 использовался специальный САПР Max+PlusII. Электрическая принципиальная схема расширителя портов ввода-вывода была нарисована в этом САПР и преобразована в базис макроячеек ПЛИС и, далее, в конфигурационный файл, необходимый для соединения нужных логических ячеек ПЛИС. Конфигурационный файл доставляется в память ПЛИС через интерфейс JTAG. Условно-графическое обозначение ПЛИС приведено на рисунке 6.

ПЛИС MAX3064

Рисунок 6. ПЛИС MAX3064

В стенде SDK-1.1 MAX3064A используется как расширитель портов ввода-вывода. Микросхема MAX3064A подключена к внешней шине AduC812. Адресная линия A19 используется как сигнал CS (chip select) для MAX3064A. ПЛИС выбирается, когда на линии A19 логическая единица. Физический адрес ПЛИС таким образом равен 0x80000, что соответствует восьмой странице памяти.

К ПЛИС подключены следующие устройства: клавиатура, ЖКИ, линейка светодиодов, звуковой излучатель, 16 дискретных портов ввода-вывода. Для программиста расширитель портов представлен в виде нескольких однобайтовых регистров находящихся в начале восьмой страницы памяти данных.

Читайте также: