Главная | |
Материал взят из книги![]() Скачать оригинал КНИГИ в хорошем качестве![]() Структурная схема микроконтроллера В предыдущих главах мы рассмотрели общие принципы построения микропроцессорных систем. Дальнейшее обучение целесообразно проводить на примере конкретного микропроцессора. Итак, что же такое АТ89С2051. Это представитель семейства однокристальных микроконтроллеров американской фирмы АТМЕЬ. Микросхема выполнена в стандартном Б1Р-корпусе и имеет 20 выводов. Напряжение питания микросхемы +5 В. Допускается разброс питающего напряжения от 2,7 до 6 В. Основное достоинство рассматриваемого микроконтроллера — это совместимость по системе команд с широко распространенной микросхемой фирмы 1ше1 — МС8-51 (советский аналог 1816ВЕ51). Разработчики ставили задачу создать микросхему, максимально совместимую со своим аналогом, но при этом имеющую меньшие габариты и более удобную в применении. Для этого они отказались от двух из четырех портов ввода/вывода, отказались от внешнего ОЗУ данных и ПЗУ программ. В этой микросхеме вообще отказались от всех режимов, требующих внешних микросхем обвязки, встроили тактовый генератор в корпус контроллера и применили в качестве памяти команд электрически перепрограммирываемое ПЗУ, что дало возможность очень быстро и легко менять программное обеспечение. Применение системы команд популярного в свое время микропроцессора позволяет использовать для создания и отладки программ уже существующие инструментальные программные средства, такие, как про-граммы-трансляторы и отладчики. Подробное описание инструментальных программ вы найдете в последнем разделе книги. К достоинствам микросхемы АТ89С2051 относится наличие режима защиты программы пользователя от несанкционированного копирования. Если вы сами разрабатываете программу для микроконтроллера АТ89С2051, то, записав ее в программную память микросхемы, вы можете установить специальный бит защиты. После этого никто не сможет прочитать коды программы и использовать их для дублирования вашей разработки. Перечисленные выше достоинства, а также достаточно низкая стоимость (1,5$) послужили причиной выбора именно этого процессора при разработке позиционера спутниковой антенны. На рис. 34 приведена структурная схема микроконтроллера АТ89С2051. Рассмотрим основные элементы схемы. Схема очень напоминает типовую схему микропроцессорной системы (см. рис. 29). Но имеются и существенные различия. Итак, по порядку. ППЗУ программ. Встроенное перепрограммируемое ПЗУ объемом 2 килобайта выполнено по технологии электрически стираемого ПЗУ (так называема «Флэш-память»), В эту память записывается программа, которую микроконтроллер начинает выполнять сразу после включения питания и окончания сигнала сброса. Запись информации в ППЗУ программ производится при помощи специального устройства — программатора, управляемого персональным компьютером. Программатор последовательно, байт за байтом, записывает программу в ячейки ПЗУ, начиная с первой. На техническом жаргоне это называется «прошить ПЗУ». Технология флэш-памяти допускает перепрограммирование, то есть повторную запись. Для этого информацию в ППЗУ сначала стирают. Стирание производится при помощи того же самого программатора. При этом используется повышенное напряжение (12 В). Стирать можно только всю программную память целиком. Стирание отдельных частей памяти не предусмотрено. После стирания, во все ячейки программной памяти записывается число 0FFH (все биты равны единице). В стертое ППЗУ программ можно «зашивать» новую программу. Допускается 1000 циклов записи/стирания. Еще одна функция программатора — чтение записанной в ППЗУ информации. Этот режим введен для контроля правильности прошивки. Для исключения несанкционированного чтения информации, в микросхеме применена двухуровневая блокировка памяти программ. Для этого микросхема имеет два бита защиты. При помощи программатора мож- но записать один или оба бита. После прошивки первого бита блокируется возможность перепрограммирования ППЗУ программ. При прошивке второго бита становится невозможным и чтение. Повторить чужую схему — дело не хитрое. А вот программу, придется создавать самому. Прочитать и затем тиражировать ее не удастся. Биты защиты очищаются в процессе полного стирания ППЗУ программ. ![]() ОЗУ данных. Используется для хранения оперативных данных. Оно имеет 128 восьмиразрядных ячеек памяти. Как и в большинстве однокристальных микроЭВМ, в микросхеме АТ89С2051 применяется принцип совмещения ОЗУ данных с регистрами общего назначения процессора и портами ввода/вывода. Подробнее об этом мы поговорим позже. Внешняя память данных в рассматриваемой микросхеме не применяется. Порты Р1 и РЗ. Это два восьмиразрядных порта ввода/вывода. Они имеют названия Р1 и РЗ по аналогии с \1CS-51. Там имелось четыре порта ввода/вывода, которые назывались РО, Р1, Р2 и РЗ. Поставив перед собой задачу сократить количество выводов до 20, конструкторы были вынуждены отказаться от двух портов ввода/вывода. Были исключены порты РО и Р2. Кроме того, порт РЗ теперь не полный. Линия Р3.6 не выходит ни на один из внешних выводов микросхемы и используется, как вход сигнала от встроенного аналогового компаратора. АЛУ. Арифметико-логическое устройство. Оно заменяет здесь центральный процессор. Дело в том, что АЛУ и есть центральный процессор в чистом виде. Центральный процессор, выполненный в виде отдельной микросхемы, отличается только тем, что имеет встроенные регистры для временного хранения данных. В нашем же случае регистры процессора совмещены с ячейками внутреннего ОЗУ. Таймеры. В микросхеме имеются два встроенных 16-разрядных таймера/счетчика Т1 и Т2. Они могут использоваться программистом для задания любых интервалов времени. Причем счетчик Т1 имеет режим работы, при котором он делится на два 8-разрядных таймера, каждый из которых может работать самостоятельно. Можно программно запустить и остановить любой из счетчиков. Каждый счетчик может работать в двух режимах: режиме отсчета временных интервалов (в этом случае они считают импульсы внутреннего тактового генератора), и в режиме подсчета внешних импульсов. В позиционере спутниковой антенны используются оба таймера. Один из них задает период динамической индикации, а второй используется в системе приема сигналов дистанционного управления. При этом оба счетчика работают в режиме отсчета времени. Последовательный канал. Это канал специального типа для последовательной передачи информации по одной линии (бит за битом по одному проводу). В любом компьютере всегда имеются два последовательных интерфейса (СОМ1 и СОМ2). Один из этих интерфейсов раньше часто использовался для подключения манипулятора «мышь». А второй предназначен в основном для подключения модема. Подобный канал реализован в микросхеме АТ89С2051. В результате имеется возможность создания микропроцессорных устройств, управляемых при помощи компьютера по последовательному каналу. В позиционере спутниковой антенны данный канал не применяется. Встроенный контроллер прерываний. Способен обрабатывать шесть источников прерываний. Два источника — это внешне входы для запросов на прерывание. Следующие два источника — это прерывания от обоих счетчиков/таймеров Т1 и Т2. Запрос прерывания таймера поступает в тот момент, когда соответствующий счетчик/таймер досчитает до нуля (счетчик работает в режиме обратного счета). И, наконец, последние два источника прерывания — это прерывания от последовательного канала ввода/вывода. Один от передатчика этого канала. Он срабатывает в тот момент, когда процесс отправки очередного байта закончился. И один от приемника. Срабатывает, когда приемник принял очередной байт. Аналоговый компаратор. Обычный компаратор аналоговых сигналов. На его выходе появляется сигнал лог. 1, когда напряжение на входе «+» превысит напряжение на входе «-». Внутренняя системная шина. По устройству и назначению полностью аналогична системной шине стандартной микропроцессорной системы. На схеме рис. 34 не показан еще один важный элемент микроконтроллера — встроенный тактовый генератор. На рис. 35 показана функциональная схема этого генератора. Для нормальной ее работы к выводам ХТАІД и ХТАЬ2 необходимо подключить кварцевый резонатор, определяющий частоту тактового генератора и две согласующие емкости. ![]() Схема генератора построена таким образом, что допускает синхронизацию от внешнего тактового генератора. При включении микросхемы в таком режиме, кварцевый генератор и согласующие емкости не устанавливаются, а на вход ХТАЫ подается тактовый сигнал от внешнего генератора. Микросхема АТ89С2051 относится к полностатическим системам. Это означает, что частота тактового генератора может выбираться в самом широком диапазоне. Максимально допустимая частота тактового генератора равна 24 МГц. Нижнего предела не существует. Частоту тактового генератора можно снижать вплоть до полной его остановки. При этом остановятся все внутренние процессы, в том числе и процесс выполнения программ. Но с первым же тактовым импульсом внутренние процессы продолжатся. Рассматриваемый микропроцессор, как и его аналог, не использует сигнал тактового генератора напрямую. Этот сигнал сначала поступает на внутренний делитель, который делит тактовую частоту на шесть (см. рис. 35). И уже этот поделенный сигнал служит для синхронизации всех систем микроконтроллера. Наличие делителя — один из недостатков данной микросхемы. При максимально возможной тактовой частоте кварца в 24 МГц, микроконтроллер фактически работает на частоте 4 МГц. Такая структура обусловлена требованиями совместимости с микросхемой 1МС8-51. Но, несмотря на относительно невысокое быстродействие, для многих применений микроконтроллер АТ89С2051 вполне подходит. Рассмотрим теперь подробнее назначение выводов микросхемы АТ89С2051. На рис. 36 приведена цоколевка микросхемы. Некоторые пояснения к рисунку. Напряжение питания (Усс) подается на вывод 20. Общий провод (С>Ш) — вывод 10. Выводы ХТАЫ и ХТАЬ2 предназначены для подключения кварцевого резонатора (см. рис. 35.). Остальные выводы микросхемы — это разряды портов ввода/вывода (Р1 и РЗ). Каждая из линий порта может работать как выход или как вход без дополнительных переключений. Достигается это применением оригинальной схемы выходного каскада такой линии. Эта схема приведена на рис. 37. ![]() Каскад состоит из узла вывода и узла ввода, соединенных вместе и подключенных к внешнему выводу микросхемы, обозначенному на схеме «Рх.х». Узел вывода выполнен на основе каскада с общим коллектором; Нагрузкой этого каскада служит внутренний резистор Ян. Если транзистор открыт, он замыкает цепь внешнего вывода на общий провод и на выходе устанавливается логический ноль. Если транзистор выходного каскада закрывается, то напряжение питания через резистор Ян поступает на выход схемы, и на нем устанавливается логическая единица. Для того, чтобы перевести этот каскад в режим ввода, достаточно оставить транзистор в закрытом состоянии. Соответствующий разряд порта ввода подключен в ту же самую точку. Внешнее устройство, подающее на линию порта логический сигнал, предназначенный для считывания процессором, также должно быть построено по схеме с обидим коллек-то^ом^. На рис. 37 условно показана выходная часть такого устройства. 'Формировать выходные сигналы оно также должно, либо открывая свой выходной ключ и замыкая вывод микросхемы на общий провод (лог. 0), либо размыкая ключ (лог. 1). ![]() ![]() Мощность выходных ключей микроконтроллера АТ89С2051 допускает прямое подключение светодиодного индикатора к любому выходу портов РО или Р1. Многие выводы микросхемы АТ89С2051 имеют двойную функцию. Кроме своего основного назначения — служить выводами соответству- ющего порта, они имеют альтернативную функцию. На рис. 36 альтернативные функции выводов обозначены в скобках. В табл. 2 перечислены все выводы, имеющие альтернативные функции. Рассмотрим подробнее перечисленные выше дополнительные функции выводов: RXD и TXD — соответственно, вход и выход последовательного канала. Как уже говорилось, последовательный канал — это канал передачи информации, где информация передается по одной линии. Вернее линий, как минимум, две. Одна — на передачу и одна — на прием. Каждый байт информации передается последовательно, бит за битом. Такой способ позволяет обойтись всего двумя проводами для приема и передачи любой информации (не считая общего провода) и уменьшить количество проводников в кабеле при подключении внешних устройств. Последовательный канал микросхемы АТ89С2051 поддерживает несколько стандартов последовательной передачи данных. Один из этих стандартов совместим с последовательным интерфейсом RS232. Любой современный персональный компьютер класса PC обязательно имеет два последовательных порта СОМ1 и COM2, которые работают именно в этом стандарте. INTO и INT1 — два входа внешних прерываний. При помощи этих входов сигналы от любых внешних устройств в микропроцессорной системе (клавиш, датчиков и т.п.) могут обрабатываться контроллером в режиме прерывания. В схеме позиционера прерывания по внешним входам не применяются. ТО иТ1 — входы управления внутренними счетчиками/таймерами. Вход ТО управляет таймером ТО, а вход Т1 — таймером Т1, соответственно. В разных режимах работы таймеров эти входы действуют по-разному. В режиме отсчета времени, когда таймер считает импульсы внутреннего генератора, вход управления используется как внешний вход разрешения/запрета счета. В этом режиме высокий уровень сигнала на этом входе разрешает работу таймера, а низкий — запрещает. В режиме счетчика импульсов выводы ТО и Т1 служат входами импульсов для подсчета. AIN0 и AIN1 — входы внутреннего компаратора. Для нормальной работы компаратора в выходных каскадах двух этих выводов отсутствует резистор нагрузки R„ (см. рис. 37). Поэтому, при использовании входов по прямому назначению нужно подключать внешний резистор номиналом от 4,7 до 10 кОм. Двойное использование выводов микросхемы — очень распространенный прием в микропроцессорной технике, позволяющий иметь большое разнообразие выполняемых функций при минимальном количестве выводов. Как же можно использовать один вывод для двух разных целей? Для этого имеются два разных способа. Первый способ. Использовать разные режимы работы выводов в разных схемах. В одной схеме работать в основном режиме, в другой — в альтернативном. Разнообразие выполняемых функций придумано для того, чтобы обеспечить универсальность и гибкость в применении микроконтроллера. Ни одна схема никогда не использует полностью всех возможностей микросхемы. Второй способ — использовать в одной схеме оба назначения вывода, но в разные моменты времени. При этом нужно разработать схему таким образом, чтобы обеспечить при помощи внешних элементов автоматическое переключение соответствующего вывода от одной внешней цепи к другой. Управлять такими внешними переключателями можно программно, при помощи любого другого информационного вывода микросхемы. Для иллюстрации одновременного использования обоих режимов работы выводов микроконтроллера приведу фрагмент схемы реального устройства — контроллера управления газовыми котлами (см. рис. 38). Полную схему этого контроллера можно посмотреть, скачав ее из Интернета. Схему вы найдете на сайте «Цифровые микросхемы и микропроцессоры» в разделе «Простые конструкции». Адрес сайта приведен в конце книги. В этой схеме внутренний компаратор микросхемы АТ89С2051 используется для создания аналого-цифрового преобразователя (АЦП). Аналого-цифровой преобразователь служит для измерения напряжения на датчике температуры. В приводимой схеме задача решается от обратного. На основе регистра D5 собран цифро-аналоговый преобразователь (ЦАП), управляемый при помощи микроконтроллера. Передача данных на этот регистр происходит при помощи порта Р1. Одновременно, выводы 12 и 13 используются как входы встроенного компаратора. На вывод 13 (A1N1) поступает аналоговый сигнал от цифро-аналогового преобразователя. А на вывод 12 (A1N2) — измеряемый входной сигнал. Процесс измерения реализуется при помощи специальной программы. Для измерения уровня входного напряжения процессор записывает в регистр D5 последовательно возрастающие числа, начиная от нуля. В результате на инверсный вход компаратора с выхода ЦАП поступает постепенно возрастающее напряжение. После каждого шага процессор проверяет сигнал на выходе компаратора. Когда компаратор сработает, процесс преобразования останавливается, а последнее, записанное в D5, число будет соответствовать уровню входного напряжения. Как видно из предыдущего повествования, выводы 12 и 13 процессора должны использоваться и как выводы порта Р1, и как входы компаратора. Для коммутации этих выводов в процессе работы применяется микросхема К561КТЗ. Она представляет собой четыре интегральных электронных коммутатора на основе полевых транзисторов с изолированным затвором. При подаче на вход Е такого ключа высокого логического уровня, ключ соединяет между собой выводы X и К. Причем направление тока через такое соединение может быть любое. Как от вывода X к выводу К, так и в обратном направлении. ![]() При помощи ключей 04.1 и 04.2 выводы 12 и 13 подключаются к шине данных в тот момент, когда процессор записывает какой-либо код в регистр 05, или в другие регистры системы (на схеме не показаны). При помощи ключа 04.3 к выводу 13 подключается выход ЦАП. Для коммутации измеряемого сигнала тоже используются электронные ключи, которые в данном фрагменте схемы также не показаны. Переключение ключевых элементов происходит программным путем при помощи линии РЗ.З и инвертора 08. Если процессор подает на линию РЗ.З сигнал логической единицы, то ключи 04.1 и 04.2 открываются, а ключ 04.3 закрывается. При этом, выводы 12 и 13 работают, как разряды порта. При нулевом сигнале на выходе РЗ.З, состояние ключей меняется на обратное. В этом случае, выводы 12 и 13 работают как входы компаратора. Используются технологии uCoz
|