
- •1.Микропроцессорные устройства. Этапы развития, технологии производства.
- •Классификация микропроцессорных устройств. Назначение.
- •Микропроцессорная система, основные определения
- •Микропроцессор, программа.
- •Связь блоков в микропроцессорной системе, шины.
- •Структура мпс. Управляющие сигналы.
- •Программный обмен, обмен по прерываниям.
- •Прямой доступ к памяти.
- •9. Функции процессора.
- •1 0. Структура процессора.
- •11. Память процессора.
- •12. Устройства ввода-вывода.
- •13. Микроконтроллер, назначение и состав.
- •14. Система команд, виды архитектур.
- •15. Особенности архитектуры микроконтроллеров.
- •16. Минимизация энергопотребления.
- •17. Обеспечение надежности.
- •18. Дополнительные модули в микроконтроллерах.
- •19. Микроконтроллеры avr. Общие характеристики, устройство.
- •20. Типы и организация памяти микроконтроллеров avr.
- •21. Периферийные устройства, их назначение. Взаимодействие с цпу
- •22. Питание. Назначение выводов.
- •23. Ядро, регистр статуса, конвейер микроконтроллеров avr.
- •24. Классификация команд микроконтроллеров.
- •27.Представление чисел в микропроцессоре. Математические инструкции. Операции с многобайтными числами.
- •28. Команды умножения, операции с многобайтными числами.
- •29. Логические и битовые команды. Сдвиги. Операции сдвига с многобайтными числами.
- •36. Защита памяти программ и eeprom. Конфигурационные биты.
- •Конфигурационные биты
- •30. Деление, перевод в десятичную систему. Использование сдвигов вместо арифметических команд. Битовые маски.
- •Организация циклов, ветвлений. Р азветвление программы на две ветки с последующим соединением
- •Разветвление программы на три ветки с последующим соединением
- •33. Команды передачи данных. Адресация памяти данных.
- •33.Адресация памяти данных:
- •34. Директивы ассемблера avr
- •35. Макросы, выражения, функции ассемблера avr
- •37. Параллельное программирование
- •38. Последовательное програмирование, jtag
- •39. Устройство сброса микроконтроллера
- •40. Режимы энергосбережения
- •Минимизация потребляемой мощности
- •41. Порты ввода-вывода
- •42.Режимы работы портов ввода-вывода, альтернативные функции. Система прерываний.
- •43. Внешние прерывания
- •49. Режимы работы таймера. Шим с фазовой коррекцией.
- •50.Асинхронный режим работы таймера.
- •51.Синхронный режим. Устройство предделителей таймеров.
- •59. Аналоговый компаратор
- •56. Ацп. Устройство и принцип работы.
- •57. Выполнение преобразования ацп.
- •Режимы работы ацп. Регистры настройки ацп.
- •25.Типы адресации памяти, сегментации памяти
- •26.Ассемблер,структура команд, операнды. Виды регистровой адрессации
- •46. Режимы работы таймера. Нормальный режим.
- •47. Режимы работы таймера. Режим стс.
- •48. Режимы работы таймера. Быстрый шим.
- •53. Функциональные блоки 16-разрядного таймера-счетчика.
- •55. Режимы шим 16-разрядного таймера-счетчика.
39. Устройство сброса микроконтроллера
В процессе сброса во все регистры ввода-вывода записываются их начальные значения и выполнение программы начинается с вектора сброса. По вектору сброса должна хранится инструкция абсолютного перехода JMP на метку процедуры обработки сброса. Если в программе не используются источники прерывания, то векторы прерываний не используются, а зарезервированные под них ячейки памяти могут использоваться для равномерного расположения кода программы. Имеется также случай, когда вектор сброса расположен в секции прикладной программы, а векторы прерываний находятся в загрузочном секторе или наоборот.
Порты ввода-вывода AVR-микроконтроллера немедленно возвращаются к их первоначальному состоянию, как только один из источников сброса становится активным. Для этого не требуется работа какой-либо синхронизации.
После прекращения действия всех источников сброса вступает в силу счетчик задержки, продлевающий внутренний сброс. Данная последовательность требуется для гарантирования запуска микроконтроллера при достижении напряжением питания стабильного уровня.
ATmega имеет пять источников сброса:
Сброс при подаче питания. Микроконтроллер переходит в состояние сброса, если напряжение питания ниже порога сброса при подаче питания (VPOT).
Внешний сброс. Микроконтроллер переходит в состояние сброса, если на вывод RESET подать низкий логический уровень на время дольше, чем минимальная длительность импульса сброса.
Сброс по сторожевому таймеру. Если разрешена работа сторожевого таймера и истек период его срабатывания, то микроконтроллер сбрасывается.
Сброс при снижении питания. Микроконтроллер сбрасывается, если напряжение питания VCC становится ниже порогового значения (VBOT) и разрешена работа схемы контроля питания BOD.
Сброс через интерфейс JTAG. Микроконтроллер находится в состоянии сброса до тех пор, пока в регистре сброса записана лог. 1 в одной из сканируемых цепей JTAG-системы.
40. Режимы энергосбережения
Для перевода микроконтроллера в один из шести режимов сна необходимо предварительно установить бит SE в регистре MCUCR, а затем выполнить инструкцию SLEEP.
Биты SM2, SM1 и SM0 регистра MCUCR задают в какой именно режим будет переведен микроконтроллер после выполнения команды SLEEP.
Выход из режима сна происходит при возникновении разрешенного прерывания. В этом случае, микроконтроллер приостанавливается на 4 машинных цикла, выполняет процедуру обработки прерывания и продолжает выполнять команды следующие за SLEEP.
Содержимое файла регистров и статического ОЗУ остается неизменным после выхода из режима сна. Если во время действия режима сна возникает условие сброса, то микроконтроллер пробуждается и исполняет код программы по вектору сброса.
Регистр управления микроконтроллером – MCUCR
Разряд 5 – SE: Разрешение перевода в режим сна. В бит SE должна быть записана лог. 1, когда необходимо микроконтроллер перевести в режим сна командой SLEEP. Разряды 4..2 – SM2..0: Биты 2, 1 и 0 выбора режима сна.С помощью данных бит можно выбрать один из шести режимов сна
SM2 |
SM1 |
SM0 |
Наименование режима сна |
0 |
0 |
0 |
Холостой ход |
0 |
0 |
1 |
Уменьшение шумов АЦП |
0 |
1 |
0 |
Выключение |
0 |
1 |
1 |
Экономичный |
1 |
0 |
0 |
Зарезервирован |
1 |
0 |
1 |
Зарезервирован |
1 |
1 |
0 |
Дежурный (1) |
1 |
1 |
1 |
Расширенный дежурный(1) |
Режим холостого хода (Idle)
Если значение бит SM2..0 равно 000, то после выполнения инструкции SLEEP микроконтроллер переходит в режим холостого хода. В данном режиме останавливается синхронизация ядра ЦПУ и флэш-памяти (clkCPU и clkFLASH), а остальная продолжает работу.
В режиме ХХ допускается пробуждение от любого внешнего или внутреннего прерывания. Если пробуждение по прерыванию аналогового компаратора не требуется, то аналоговый компаратор может быть отключен путем установки бита ACD в регистре управления и состояния аналогового компаратора ACSR. Это позволит уменьшить потребляемый ток в режиме ХХ.
Режим уменьшения шумов АЦП (ADC Noise Reduction)
В данном режиме прекращается синхронизация ввода-вывода (clkI/O), ядра ЦПУ (clkCPU) и флэш-памяти (clkFLASH), а остальная синхронизация продолжает работу.
В этом режиме создается более благоприятные условия для АЦП с повышенной разрешающей способностью за счет снижения влияния шумов на результат измерения. Если разрешена работа АЦП, то преобразование автоматически запускается при переводе в данный режим. Выход из данного режима допускается не только при генерации запроса на прерывание по завершению преобразования АЦП, но и при внешнем сбросе, сбросе по сторожевому таймеру, сбросе при недопустимом снижении питания, прерывании при обнаружении установленного адреса на двухпроводной последовательной шине, прерывании по таймеру-счетчику 0, прерывании по готовности SPM/EEPROM, прерывании по внешнему уровню на выводах INT7:4 или внешнем прерывании по входам INT3:0.
Режим выключения (Power-down)
В данном режиме фактически отключена генерация всех тактовых частот, поэтому дальнейшая работа модулей продолжается только в асинхронном режиме.
Обратите внимание, что если для выхода из прерывания используется прерывание по установке заданного уровня на внешнем входе, то выход из режима сна возможен только если этот уровень присутствует в течение определенного времени.
Выход из режима выключения сопровождается задержкой с момента выполнения условия прерывания до эффективного пробуждения. Данная задержка позволяет перезапустить синхронизацию и дождаться стабильности ее работы. Период пробуждения определяется некоторыми конфигурационными битами CKSEL, которые определяют период задержки при сбросе.
Экономичный режим (Power-save)
Данный режим идентичен режиму выключения за некоторыми исключениями:
Если асинхронный таймер-счетчик тактируется асинхронно, то таймер-счетчик в режиме сна продолжит работу. Выход из режима сна возможен как по переполнению таймера, так и при выполнении условия сравнения, если соответствующее прерывание для таймера-счетчика разрешено в регистре TIMSK, а также установлен бит общего разрешения прерываний в регистре SREG.
Если для асинхронного таймера НЕ включено асинхронное тактирование, то рекомендуется использовать режим выключения вместо экономичного, т.к. содержимое регистров асинхронного таймера должно рассматриваться как неопределенное после выхода из экономичного режима, в котором значение AS0 было равно 0.
В данном режиме сна останавливаются все тактовые источники за исключением асинхронных (clkASY), работающих только совместно с асинхронными модулями.
Дежурные режимы - режим идентичен режиму выключению за исключением того, что генератор продолжает свою работу. Из дежурного режима микроконтроллер выходит за 6 машинных циклов.
Расширенный дежурный режим (Extended Standby)- режим идентичен экономичному за исключением продолжения работы тактового генератора. Выход из расширенного дежурного режима происходит за шесть машинных циклов.