
- •Структурная схема типового микроконтроллера общего назначения. Состав и назначение блоков.
- •2. Основные элементы архитектуры микропроцессора. Отличительные особенности cisc- иRisc- архитектуры. Типовые форматы данных.
- •3. Типовые структурно-архитектурные решения портов микроконтроллеров общего назначения.
- •5. Основы реализации функций времени в микроконтроллерах общего назначения.
- •6. Основы реализации системы прерываний в микроконтроллерах общего назначения.
- •7. Основы организации аналого-цифрового интерфейса в микроконтроллерах общего назначения.
- •8. Основы организации мультимикроконтроллерных систем.
- •9. Основы организации интерфейса с хост- устройствами в микропроцессорных системах.
- •Описание usart (из 8 вопроса)
- •Описание usb из лекций.
- •Последовательное программирование
- •11. Обзор типовой архитектуры цифровых сигнальных процессоров.
6. Основы реализации системы прерываний в микроконтроллерах общего назначения.
Прерывание прекращает нормальный ход программы для выполнения приоритетной задачи, определяемой внутренним или внешним событием микроконтроллера. При возникновении прерывания микроконтроллер сохраняет в стеке содержимое счетчика команд PC и загружает в него адрес соответствующего вектора прерывания. По этому адресу, как правило, находится команда безусловного перехода к подпрограмме обработки прерывания. Последней командой подпрограммы обработки прерывания должна быть команда RETI, которая обеспечивает возврат в основную программу и восстановление предварительно сохраненного счетчика команд. Поскольку источниками прерываний, в частности, являются различные периферийные устройства микроконтроллеров, количество прерываний зависит от конкретной модели.
Младшие адреса памяти программ, начиная с адреса $0002, отведены под таблицу векторов прерывания. Каждому прерыванию соответствует адрес в этой таблице, который загружается в счетчик команд при возникновении прерывания. Положение вектора в таблице также определяет и приоритет соответствующего прерывания: чем меньше адрес, тем выше приоритет прерывания. Размер вектора прерывания зависит от объема памяти программ микроконтроллера и составляет 2 байта. Для перехода к подпрограммам обработки прерываний используются команды JMP. Таблица может располагаться не только в начале памяти программ, а также и в начале области загрузчика.
7. Основы организации аналого-цифрового интерфейса в микроконтроллерах общего назначения.
Для реализации аналогово-цифрового интерфейса используются Аналогово-Цифровые преобразователи (АЦП). АЦП позволяют перевести аналоговый сигнал в цифровой код. АЦП измеряет амплитуду сигнала в заданный момент и преобразует ее в код. АЦП имеет точность. Точность АЦП можно оценить по его разрядности. Так например восьмиразрядный (8бит) АЦП может различить 2 в восьмой степени уровней сигнала – 256 уровней, 12бит АЦП – 4096 уровней.
Микроконтроллеры ATmega603/103 оснащены 10-разряднымADCпоследовательного приближения.ADCподсоединен к 8-канальному аналоговому мультиплексору, позволяющему использовать любой вывод портаFв качестве входаADC.ADCсодержит усилитель выборки/хранения, удерживающий напряжение входаADCво время преобразования на неизменном уровне. Блок-схемаADCпредставлена на Рис. 46. Для питанияADCиспользуются два отдельных вывода:AVCCиAGND.ВыводAGNDдолжен быть подсоединен кGNDи напряжениеAVCCне должно отличаться от напряженияVCCболее чем на (0,4 В. Способы подключения этих выводов см. в разделе Технология подавления шумаADC.
Аналого-цифровой преобразователь может работать в двух режимах: режиме однократного преобразования и режиме циклического преобразования. В режиме однократного преобразования каждое преобразование инициируется пользователем. В режиме циклического преобразования ADC осуществляет выборку и обновление содержимого регистра данных ADC непрерывно. Выбор режима производится битом ADFR регистра ADCSR.
Работа ADC разрешается установкой в состояние 1 бита ADEN в регистре ADCSR. Первому преобразованию, начинающемуся после разрешения ADC, предшествует пустое инициализирующее преобразование. На пользователе это отражается лишь тем, что первое преобразование будет занимать 27 тактовых циклов, вместо обычных 14.
Преобразование начинается с установки в состояние 1 бита начала преобразования ADSC. Этот бит находится в состоянии 1 в течение всего цикла преобразования и сбрасывается, по завершении преобразования, аппаратно. Если в процессе выполнения преобразования выполняется смена канала данных, то ADC вначале закончит текущее преобразование и лишь потом выполнит переход к другому каналу.
ADC формирует 10-разрядный результат, который размещаются в двух регистрах данных ADCH и ADCL. Для обеспечения соответствия результирующих данных считываемому уровню используется специальная логика защиты. Этот механизм работает следующим образом: при считывании данных первым должен быть считан регистр ADCL. Как только ADCL считан обращение ADC к регистрам данных блокируется. Таким образом, если после считывания состояния ADCL, но до считывания ADCH, будет завершено следующее преобразование, ни один из регистров не будет обновлен и записанный ранее результат не будет искажен. Обращение ADC к регистрам ADCH и ADCL разрешается по завершении считывания содержимого регистра ADCH.
ADC имеет свое собственное прерывание, которое может быть активировано по завершению преобразования. Когда обращение ADC к регистрам запрещено, в процессе считывания регистров ADCL и ADCH, прерывание будет активироваться, даже если результат будет потерян.