Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

По виду архитектуры 1

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 25.11.2024

  1.  Классификация микропроцессоров. Краткая характеристика каждого класса.

1. По виду архитектуры

   1.1. По форматам используемых команд (инструкций)

1.1.1 CISC – архитектура

1.1.2. RISC – архитектура

1.1.3. VLIW – архитектура

   1.2. По способу организации выборки команд и данных

1.2.1. Принстонская архитектура или архитектура фон-Неймана

1.2.2. Гарвардская архитектура

2. По назначению

   2.1. Микропроцессоры общего назначения или универсальные

   2.2. Специализированные микропроцессоры

3. По виду обрабатываемых входных сигналов

   3.1 Аналоговые

   3.2. Цифровые

4. По количеству выполняемых программ

   4.1. Однопрограммные

   4.2. Мультипрограммные

5. По числу БИС в микропроцессорном комплекте

   5.1. Однокристальные

   5.2. Многокристальные

   5.3. Многокристальные секционные

1. По виду архитектуры

1.1.1. CISC-архитектура относится к процессорам (компьютерам) с полным набором команд (Complete Instruction Set Computer - CISC). Она реализована на многих типах процессоров (например, Pentium), выполняющих большой набор разноформатных команд с использованием многочисленных способов адресации.

Система команд процессоров с CISC- архитектурой может содержать несколько сотен команд разного формата (от 1 до 15 байт), или степени сложности, и использовать более 10 различных способов адресации, что позволяет программисту реализовывать наиболее эффективно алгоритмы решения различных задач.

Развитие традиционных CISC-архитектур микропроцессоров по пути расширения функциональных возможностей и снижения затрат на программирование привело к увеличению числа команд в наборе и числа микрокоманд в команде. Следствием этого явилось усложнение ИС и снижение быстродействия выполнения программ. Один из путей устранения указанных недостатков состоит в использование сокращенного набора команд, организация которого подчинена увеличению скорости их выполнения.

1.1.2. RISC-архитектура относится к процессорам (компьютерам) с сокращенным набором команд (Reduced Instruction Set Computer - RISC). Основная особенность RISC-архитектуры проявляется в том, что система команд состоит из небольшого количества часто используемых команд одинакового формата, которые могут быть выполнены за один командный цикл (такт) центрального процессора. Более сложные, редко используемые команды реализуются на программном уровне. Однако за счет значительного повышения скорости выполнения команд средняя производительность RISC-процессоров может оказаться выше, чем  у процессоров с CISC-архитектурой.

Большинство команд RISC-процессоров связано с операцией регистр-регистр. Для обращения к памяти оставлены наиболее простые с точки зрения временных затрат операции загрузки в регистры и записи в память.

Современные RISC-процессоры реализуют около 100 команд, имеющие фиксированный формат длиной 4 байта, и используют небольшое число наиболее простых способов адресации (регистровую, индексную и несколько других). RISC-процессоры содержать 10-100 регистров общего назначения (РОН), тогда как в CISC-процессорах всего 8-16 регистров. Обращение к внешней памяти в RISC-процессорах используется только в операциях загрузки данных в РОН или пересылки результатов из РОН в память. За счет сокращения аппаратных средств, необходимых для декодирования и выполнения сложных команд, достигается существенное упрощение ИС RISC-процессоров, снижение их стоимости, а также значительное повышение их производительности.

1.1.3. VLIW-архитектура относится к микропроцессорам, которые используют очень длинные команды (Very Large Instruction Word - VLIW). Отдельные поля команд содержат коды, обеспечивающие выполнение различных операций. Одна VLIW-команда может выполнить сразу несколько операций одновременно в различных узлах микропроцессора. Формирование «длинных» VLIW-команд производит соответствующий компилятор при трансляции программ, написанных на языке высокого уровня. VLIW-архитектура реализована в некоторых типах микропроцессоров и является весьма перспективной для создания нового поколения сверхвысокопроизводительных процессоров.

1.2.1. Принстонскую архитектуру или архитектуру фон-Неймана характеризуют следующие особенности:

  1.  Общая оперативная память для хранения данных и программ. Это позволяет оперативно и эффективно перераспределять объем ОЗУ в зависимости решаемых задач в каждом конкретном случае;
  2.  Общая шина, по которой в процессор поступают команды и данные, а в оперативную память записываются результаты. Такой подход позволяет значительно упростить отладку, тестирование и текущий контроль функционирования системы, что влечет за собой повышение ее надежности. Чтобы отделить команду от данных, первым из памяти всегда поступает код выполняемой операции, а затем следуют данные. По умолчанию код команды загружается в регистр команд, а данные – в блок регистров. Из-за ограниченного числа внешних выводов общая шина обычно работает в режиме временного мультиплексирования, т.е. противоположные направления обмена данными между микропроцессором, памятью или другими внешними устройствами разделены по времени.

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

1.2.2. Гарвардская архитектура (создатель Говард Айкен). Ее особенностью является разделение памяти команд (программ) и памяти данных. Память команд и память данных соединяются с процессором отдельными шинами. Благодаря разделению потоков команд и данных, а также совмещению операций их выборки (и записи результатов обработки) обеспечивается более высокая производительность, чем при использовании архитектуры фон-Неймана. Гарвардская архитектура получила широкое применение в микроконтроллерах, а также во внутренней структуре современных высокопроизводительных микропроцессоров в кэш-памяти с раздельным хранением команд и данных. В тоже время во внешней структуре большинства МПС реализуются принципы принстонской архитектуры.

Недостатки гарвардской архитектуры:

  1.  усложнение конструкции из-за использования отдельных шин для команд и данных;
  2.  фиксированный объем памяти для команд и данных;
  3.  увеличение общего объема памяти из-за невозможности ее оптимального перераспределения между командами и данными.

2. По назначению различают МП общего назначения и специализированные микропроцессоры.

2.1. МП общего назначения. Этот класс процессоров предназначен для решения широкого круга задач обработки разнообразной информации и находит применение в персональных компьютерах, рабочих станциях, серверах и других цифровых системах массового применения. Большинство процессоров этого класса имеют CISC-архитектуру, хотя в их внутренней структуре может содержаться RISC-ядро. В большинстве случаев они имеют суперскалярную структуру (несколько операционных устройств, осуществляющих одновременную обработку данных).

Эта группа представлена многочисленными микропроцессорными комплектами (МПК):  КР580, Z80, Intel 80x86 К582, К587, К1804, К1810 и др.

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

Среди специализированных микропроцессоров можно выделить:

  1.  различные микроконтроллеры, ориентированные на выполнение сложных последовательностей логических операций;
  2.  математические МП, предназначенные для повышения производительности при выполнении арифметических операций за счет, например матричных методов их выполнения;
  3.   МП для обработки данных в различных областях применений и т. д.

3. По виду обрабатываемых входных сигналов различают цифровые и аналоговые микропроцессоры.

3.1. Цифровой микропроцессор – МП, оперирующий цифровыми данными, т.е. все входные, выходные и внутренние сигналы представляют собой некоторый цифровой код.

3.2. Аналоговый микропроцессор  - это цифровой процессор, которые имеет встроенные АЦП и ЦАП. Таким образом, входные аналоговые сигналы передаются в МП через преобразователь в цифровой форме, обрабатываются и после обратного преобразования в аналоговую форму поступают на выход. С архитектурной точки зрения такие микропроцессоры представляют собой аналоговые функциональные преобразователи сигналов. Они выполняют функции любой аналоговой схемы (например, производят генерацию колебаний, модуляцию, фильтрацию, кодирование и декодирование сигналов в реальном масштабе времени и т. д., заменяя сложные схемы, состоящие из операционных усилителей, катушек индуктивности, конденсаторов и т.д.). При этом применение аналогового микропроцессора значительно повышает точность обработки сигналов, а также расширяет функциональные возможности за счет программной “настройки” цифровой части микропроцессора на различные алгоритмы обработки сигналов.

4. По количеству выполняемых программ различают одно- и многопрограммные микропроцессоры.

4.1. В однопрограммных микропроцессорах выполняется только одна программа. Переход к выполнению другой программы происходит после завершения текущей программы.

4.2. В много- или мультипрограммных микропроцессорах одновременно выполняется несколько (обычно несколько десятков) программ. Организация мультипрограммной работы микропроцессорных управляющих систем позволяет осуществить контроль за состоянием и управлением большим числом источников или приемников информации.

5. По числу БИС в микропроцессорном комплекте различают микропроцессоры однокристальные, многокристальные и многокристальные секционные.

5.1. Однокристальные микропроцессоры получаются при реализации всех аппаратурных средств процессора в виде одной БИС или СБИС. По мере увеличения степени интеграции элементов в кристалле и числа выводов корпуса параметры однокристальных микропроцессоров улучшаются. Однако возможности однокристальных микропроцессоров ограничены аппаратными ресурсами кристалла и корпуса. Поэтому более широко распространены многокристальные микропроцессоры, а также многокристальные секционные микропроцессоры.

5.2. Для получения многокристального микропроцессора необходимо провести разбиение его логической структуры на функционально законченные части и реализовать их в виде БИС (СБИС). Функциональная законченность БИС многокристального микропроцессора означает, что его части выполняют заранее определенные функции и могут работать автономно, а для построения развитого процессора не требуется организации большого количества новых связей и каких-либо других электронных ИС БИС. (Типичный пример - МПК БИС серии К581).

5.3. Многокристальные секционные микропроцессоры получаются в том случае, когда в виде БИС реализуются части (секции) логической структуры процессора. Для построения многоразрядных микропроцессоров при параллельном включении секций БИС МП в них добавляются средства “стыковки”.

Секционность БИС МП определяет возможность “наращивания” разрядности обрабатываемых данных или усложнения устройств управления микропроцессором при “параллельном” включении большего числа БИС.

Многокристальные секционные микропроцессоры имеют разрядность от 2—4 до 8—16 бит и позволяют создавать разнообразные высокопроизводительные процессоры ЭВМ. (Примером может служить отечественная БИС К589ИК02 и К1804ВС1 .)

  1.  СISC-архитектура микропроцессоров. Общая характеристика. Достоинства и недостатки.

CISC-архитектура относится к процессорам (компьютерам) с полным набором команд (Complete Instruction Set Computer - CISC). Она реализована на многих типах процессоров (например, Pentium), выполняющих большой набор разноформатных команд с использованием многочисленных способов адресации.

Система команд процессоров с CISC- архитектурой может содержать несколько сотен команд разного формата (от 1 до 15 байт), или степени сложности, и использовать более 10 различных способов адресации, что позволяет программисту реализовывать наиболее эффективно алгоритмы решения различных задач.

Развитие традиционных CISC-архитектур микропроцессоров по пути расширения функциональных возможностей и снижения затрат на программирование привело к увеличению числа команд в наборе и числа микрокоманд в команде. Следствием этого явилось усложнение ИС и снижение быстродействия выполнения программ. Один из путей устранения указанных недостатков состоит в использование сокращенного набора команд, организация которого подчинена увеличению скорости их выполнения.

  1.  Работа 7-сегментных индикаторов в режиме динамической индикации

Применение простейших цифровых светодиодных индикаторов — самый недорогой способ заставить ваше микропроцессорное устройство отображать цифры.

Итак, со схемой, надеюсь, все понятно (это схема для индикатора с общим анодом!)

Для отображения цифровых данных одного цифрового индикатора обычно недостаточно. В таких случаях к микроконтроллеру подключают сразу несколько таких индикаторов. Однако, из-за отсутствия достаточного количества выводов у процессора приходится применять специальные ухищрения. Используется схема подключения четырех семисегментных индикаторов к микроконтроллеру. При этом индикаторы, включенные по такой схеме, не могут работать все одновременно. Если их включить одновременно, то все они будут отображать одно и то же. Такая схема предназначена для работы индикаторов в режиме динамической индикации.

Режим динамической индикации часто применяется для многоразрядных цифровых индикаторов. Он состоит в том, что разряды индикатора работают не одновременно, а по очереди. Переключение разрядов происходит с большой скоростью. Если скорость переключения разрядов достаточно велика, то человеческий глаз не замечает того, что разряды горят по очереди. Мерцания сливаются в статическую картинку, и человек видит цифры одновременно во всех разрядах. Подобный эффект используется в кино и в телевидении. Ученые давно определили тот предел скорости смены кадров, при которой глаз человека уже не различает дискретности. Этот предел равен 24 кадрам в секунду.

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

Эффект, мерцания возникает от того, что в промежутках между кадрами экран темный, а в момент отображения кадра экран ярко освещен. Глаз способен воспринимать такое изменение общей яркости и это мерцание неприятно для зрения. Для того, чтобы мерцание было незаметно, частота смены яркости экрана должна быть, как минимум, в два раза выше. То есть должна быть не менее 48 Гц.

Работа цифрового индикатора в режиме динамической индикации очень напоминает смену кадров в кино или телевидении. В каждый момент времени работает только один разряд. И каждый разряд показывает свою цифру. Разряды включаются по очереди, начиная с первого и заканчивая последним. Затем все начинается сначала. Такой способ работы индикатора имеет только одно преимущество: он позволяет экономить выводы микропроцессора и количество управляющих элементов (ключей). Представьте, что мы решили бы подключить четыре семисегментных индикатора в обычном статическом режиме. То есть, каждый из них подключен по схеме, изображенной на рис. 1.10. Тогда нам потребовалось бы 32 линии ввода/вывода или четыре порта. А теперь взгляните на рис. 1.11.

Выводы одноименных сегментов всех разрядов индикатора объединены вместе и подключены к порту Р1 микроконтроллера. При этом линия Р1.0 управляет сегментом «а» каждого индикатора, линия Р1.1 — сегментом «b». И так далее. Возможность поочередного выбора сегментов обеспечивается при помощи дешифратора DD2 и четырех транзисторных ключей VT1...VT4.  На вход дешифратора поступает управляющие сигналы с выводов РЗ.О и Р3.1. Подавая на эти выходы код номера разряда (от 00В до 11В), микроконтроллер может включать соответствующий разряд. При этом все остальные разряды окажутся выключены.

Работает схема очень просто. Специальная программа, реализующая работу динамической индикации, постоянно перебирает разряды индикатора и выводит на каждый из индикаторов соответствующий символ. Такая программа должна работать в фоновом режиме, независимо от остальных программ, выполняемых процессором. Это достигается применением режима прерываний по таймеру. При переборе разрядов индикатора микроконтроллер сначала подает номер очередного разряда на выходы РЗ.О, Р3.1. Затем, на всех выходах порта Р1 устанавливается код, соответствующий выводимому символу. Символ появляется на соответствующем индикаторе. Затем отрабатывается задержка по времени. Назовем ее периодом смены разрядов (t ). По истечении времени t  микроконтроллер производит смену индицируемого разряда. Для этого он сначала подает код нового разряда на линии РЗ.О, Р3.1. А затем выводит в порт Р1 код, соответствующий символу, который в этом новом разряде должен отобразиться. Время между моментами переключения разрядов должно быть всегда одинаковым и равным t.  Иначе свечение разрядов получится неравномерным по яркости.

  1.  Подключение микроконтроллерных устройств к персональному компьютеру посредствам последовательного порта

Универсальный асинхронный приемопередатчик (UART) МК AVR

Для приема и передачи данных в асинхронном последовательном формате, как это показано на рисунке 2, AVR-микроконтроллеры содержат универсальный асинхронный приемопередатчик (Universal Asynchronous Receiver and Transmitter - UART). Также этот периферийный узел называют адаптером последовательного канала. Отличительными особенностями его работы являются:

  1.  Наличие программно управляемого тактового генератора, специализированного только для обслуживания UART, обеспечивающего большой набор тактовых частот и возможность передачи данных на высоких частотах даже при низкой системной тактовой частоте;
  2.  Способность работы в дуплексном режиме (одновременная передача и прием данных);
  3.  Возможность передавать как 8-и, так и 9-битные данные;
  4.  Фильтрация помех на входе путем многократного опроса каждого бита;
  5.  Аппаратная фиксация ошибок переполнения и кадрирования (ложный стоп-бит) при приеме данных;
  6.  Формирование трех различных прерываний с индивидуальными адресами векторов прерывания: при завершении передачи (TX Complete), при завершении приема (RX Complete) и при освобождении регистра данных передатчика (TX Data Register Empty).

Управление приемопередатчиком осуществляется посредством двух регистров: регистра статуса USR  и регистра управления UCR. Регистр статуса USR доступен только по чтению и обеспечивает информацию о состоянии UART. Регистр управления UCR предназначен для задания режимов работы UART и доступен как по чтению, так и по записи.

Параметры физического уровня протокола RS-232

Рассмотрим параметры физического уровня протокола, которые определяют скорость обмена, метод кодирования информации и схему передачи[3].

В протоколе RS-232 принято двухуровневое кодирование сигнала. Все сигналы передаются  специально выбранными уровнями, обеспечивающими высокую помехоустойчивость связи (рисунок 1). Отметим, что данные передаются в инверсном коде (логической единице соответствует низкий уровень, логическому нулю - высокий уровень).

Рисунок 1. Уровни сигналов RS-232

Такое кодирование позволяет достичь максимальной скорость передачи данных 115200 бит/с при длине соединительного провода 15 метров.

Формат передаваемых данных показан на рисунке 2. 5, 6, 7 или 8 бит данных сопровождаются стартовым битом, битом четности и одним или двумя стоповыми битами. Получив стартовый бит, приемник выбирает из линии биты данных через определенные интервалы времени.

Рисунок 2. Формат данных RS-232

Важно, чтобы тактовые частоты приемника и передатчика были одинаковыми, допустимое расхождение составляет не более 10%. Скорость передачи по RS-232C может выбираться из ряда: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с[4].

Отметим, что подключение микроконтроллера к персональному компьютеру по протоколу RS-232 напрямую не возможно, так как сигнал передается уровнями -3..-15 В (логическая «1») и +3..+15 В (логический «0»). Для преобразования уровней RS-232 в стандартные логические уровни TTL обычно используют специальные микросхемы преобразователей. Схема одного из возможных конвертеров уровней представлена на рисунке 3.

Рисунок 3. Схема конвертера уровней RS-232-TTL

Основу предлагаемого конвертера составляет широко распространенная микросхема преобразователей уровней MAX232A фирмы Maxim, которая имеет множество аналогов других производителей (Analog Devices, LG и другие). Данная микросхема рассчитана на напряжение питания 5В и имеет встроенные удвоитель и инвертор напряжений на переключаемых конденсаторах для получения напряжения ±10 В, необходимых для работы с сигналами стандарта RS-232. Для работы микросхемы требуется 4 внешних конденсатора (C1, C2, C3, C4) емкостью 0.1 мкФ, которые используются в преобразователе напряжения.

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

Схема разводки стандартного 9-ти штырькового разъема для подключения устройств через последовательный порт компьютера представлена на рисунке 4.

Рисунок 4. Схема разводки разъема

Назначение каждого из выводов сведено в таблице 1.

Таблица 1

Наименование

Направление

Описание

DCD

IN

Carrier Detect (Определение несущей)

RXD

IN

Receive Data (Принимаемые данные)

TXD

OUT

Transmit Data (Передаваемые данные)

DTR

OUT

Data Terminal Ready (Готовность терминала)

GND

--

System Ground (Корпус системы)

DSR

IN

Data Set Ready (Готовность данных)

RTS

OUT

Request to Send (Запрос на отправку)

CTS

IN

Clear to Send (Готовность приема)

RI

IN

Ring Indicator (Индикатор)

Несмотря на то, что стандарт связи  RS-232 был разработан более 35 лет назад, его до сих пор с успехом применяют в устройствах автоматики, в компьютерной технике и других приложения. Учитывая это, многие производители современных микроконтроллеров в набор средств периферии своих продуктов включают универсальный асинхронно-синхронный приемопередатчик.

  1.  Простейший цифро-аналоговый преобразователь. Электрическая схема и ее описание

Описываемый ниже цифро-аналоговый преобразователь был разработан как вспомогательный, для применения в качестве составной части многоканального АЦП. Однако он вполне может служить самостоятельным устройством для преобразования цифровой информации в аналоговую форму. Точность преобразования этой схемы невелика. Преобразователь позволяет сформировать аналоговый сигнал, имеющий всего 256 градаций уровня. Однако, в некоторых случаях этого может оказаться вполне достаточно. Например, микропроцессорную систему управления преобразователем напряжения. Подобный ЦАП с успехом может использоваться для формирования синусоидального напряжения, которое затем можно усилить по мощности, подать на вход трансформатора и получить на выходе напряжение 220 В 50 Гц практически идеальной синусоидальной формы.

Схема цифро-аналогового преобразователя приведена на рис. 2.1.

Он представляет собой матрицу резисторов R3...R10. Через каждый из этих резисторов на выход преобразователя поступает сигнал с одного из выходов буферного регистра DD2. Номиналы резисторов подобраны по принципу удвоения. Сопротивление резистора R9 в два раза больше, чем сопротивление R10. Сопротивление R8 еще в два раза больше. И так далее. Из стандартного пятипроцентного ряда специально подобраны такие номиналы, чтобы получился ряд значений, в котором каждое последующее в два раза больше предыдущего. В связи с тем, что главным критерием была простота и низкая стоимость, решено было отказаться от прецизионных радиоэлементов и более совершенных схемных решений.

Для минимизации влияния нагрузки на точность преобразования используется эмиттерный повторитель (VT1, R11).

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

Младший разряд (Q1) будет иметь самый маленький вес. Разряд Q2 будет иметь вес в два раза больший. И так далее. В результате уровень сигнала на выходе схемы будет прямо пропорционален значению двоичного числа, записанного в регистр DD2. При изменении этого числа от ООН до FFH напряжение на выходе преобразователя будет изменяться в пределах от 0 до 5 вольт. Преобразователь способен выдавать 256 дискретных уровней напряжения. Шаг между соседними уровнями будет равен 5/256 = 0,0195 (где-то около 20 мВ).

Это в идеале. В реальной схеме диапазон изменения выходного напряжения будет меньше из-за падения напряжения на переходе база-эмиттер. Несколько улучшить параметры такого ЦАП можно путем исключения эмиттерного повторителя, но только в случае, если нагрузка высокоомная. Для управления регистром DD2 используется порт Р1 микроконтроллера (передача данных) и линия Р3.4 (сигнал записи). Резисторы RI  и  R2 установлены для обеспечения нормальной работы выходов Р1.0 и Р1.1. Эти выходы не имеют внутренних резисторов нагрузки, поэтому они требуют применения внешней нагрузки.

Приведенную схему ЦАП можно было бы еще больше упростить. Например, можно обойтись и без микросхемы  DD2,  подключив матрицу резисторов непосредственно к порту Р1. Можно также отказаться от эмиттерного повторителя. Но отказ от эмиттерного повторителя еще более снизит точность преобразования. А отказ от промежуточного регистра приведет к резкому ограничению функциональных возможностей всей схемы. Так как сделает невозможным одновременное применение порта Р1 для нескольких разных целей.

6.  RISC-архитектура микропроцессоров. Общая характеристика. Достоинства и недостатки

RISC-архитектура относится к процессорам (компьютерам) с сокращенным набором команд (Reduced Instruction Set Computer - RISC). Основная особенность RISC-архитектуры проявляется в том, что система команд состоит из небольшого количества часто используемых команд одинакового формата, которые могут быть выполнены за один командный цикл (такт) центрального процессора. Более сложные, редко используемые команды реализуются на программном уровне. Однако за счет значительного повышения скорости выполнения команд средняя производительность RISC-процессоров может оказаться выше, чем  у процессоров с CISC-архитектурой.

Большинство команд RISC-процессоров связано с операцией регистр-регистр. Для обращения к памяти оставлены наиболее простые с точки зрения временных затрат операции загрузки в регистры и записи в память.

Современные RISC-процессоры реализуют около 100 команд, имеющие фиксированный формат длиной 4 байта, и используют небольшое число наиболее простых способов адресации (регистровую, индексную и несколько других). RISC-процессоры содержать 10-100 регистров общего назначения (РОН), тогда как в CISC-процессорах всего 8-16 регистров. Обращение к внешней памяти в RISC-процессорах используется только в операциях загрузки данных в РОН или пересылки результатов из РОН в память. За счет сокращения аппаратных средств, необходимых для декодирования и выполнения сложных команд, достигается существенное упрощение ИС RISC-процессоров, снижение их стоимости, а также значительное повышение их производительности.

7.  Принстонская архитектура микропроцессоров. Общая характеристика. Достоинства и недостатки

Принстонскую архитектуру или архитектуру фон-Неймана характеризуют следующие особенности:

  1. Общая оперативная память для хранения данных и программ. Это позволяет оперативно и эффективно перераспределять объем ОЗУ в зависимости решаемых задач в каждом конкретном случае;
  2. Общая шина, по которой в процессор поступают команды и данные, а в оперативную память записываются результаты. Такой подход позволяет значительно упростить отладку, тестирование и текущий контроль функционирования системы, что влечет за собой повышение ее надежности. Чтобы отделить команду от данных, первым из памяти всегда поступает код выполняемой операции, а затем следуют данные. По умолчанию код команды загружается в регистр команд, а данные – в блок регистров. Из-за ограниченного числа внешних выводов общая шина обычно работает в режиме временного мультиплексирования, т.е. противоположные направления обмена данными между микропроцессором, памятью или другими внешними устройствами разделены по времени.

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

1.2.2. Гарвардская архитектура (создатель Говард Айкен). Ее особенностью является разделение памяти команд (программ) и памяти данных. Память команд и память данных соединяются с процессором отдельными шинами. Благодаря разделению потоков команд и данных, а также совмещению операций их выборки (и записи результатов обработки) обеспечивается более высокая производительность, чем при использовании архитектуры фон-Неймана. Гарвардская архитектура получила широкое применение в микроконтроллерах, а также во внутренней структуре современных высокопроизводительных микропроцессоров в кэш-памяти с раздельным хранением команд и данных. В тоже время во внешней структуре большинства МПС реализуются принципы принстонской архитектуры.

Недостатки гарвардской архитектуры:

  1. усложнение конструкции из-за использования отдельных шин для команд и данных;
  2. фиксированный объем памяти для команд и данных;
  3. увеличение общего объема памяти из-за невозможности ее оптимального перераспределения между командами и данными.

  1.  Особенности работы встроенного аналого-цифрового преобразователя микроконтроллера AVR

Особенности работы встроенного аналого-цифрового преобразователя микроконтроллера AVR

Отличительные особенности:           

●8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением  

●Прогрессивная RISC архитектура

●130 высокопроизводительных команд, большинство команд выполняется за один тактовый цикл   

●32 8-разрядных рабочих регистра общего назначения   

●Полностью статическая работа   

●Производительность приближается к 16 MIPS (при тактовой частоте 16 МГц)   

●Встроенный 2-цикловый перемножитель   

●Энергонезависимая память программ и данных   

●4 -256 Кбайт внутрисистемно программируемой Flash памяти   

●Обеспечивает 1000 циклов стирания/записи   

●Дополнительный сектор загрузочных кодов с независимыми битами блокировки   

●Внутрисистемное программирование встроенной программой загрузки   

●Обеспечен режим одновременного чтения/записи (Read-While-Write)   

●512 байт EEPROM   

●Обеспечивает 100000 циклов стирания/записи   

●1 Кбайт встроенной SRAM   

●Программируемая блокировка, обеспечивающая защиту программных средств пользователя   

возможность программирования непосредственно в системе через последовательные интерфейсы SPI и JTAG;

разнообразные способы синхронизации: встроенный RС-генератор с внутренней или внешней времязадающей RС-цепочкой, встроенный генератор с внешним кварцевым или пьезокерамическим резонатором, внешний сигнал синхронизации;

двухканальный генератор ШИМ - сигнала регулируемой разрядности (один из режимов работы 16-битных таймеров/счетчиков). Разрешение формируемого сигнала может составлять от 1 до12 бит;

многоканальный 10-битный АЦП последовательного приближения, имеющий как несимметричные, так и дифференциальные входы;

последовательный синхронный интерфейс SPI.

очень низкая стоимость.

  1.  Параллельные порты ввода-вывода микроконтроллеров AVR

Параллельные порты — это особые устройства ввода/вывода, позволяющие передавать во внешний мир или принимать одновременно восемь разрядов данных. Для обозначения портов используются латинские буквы А, В, С и т.д. Количество портов ввода/вывода варьируется в зависимости от модели микроконтроллера.

В микроконтроллерах AVR каждому параллельному порту ввода/вывода поставлены в соответствие три регистра (букве х соответствует имя порта А, В и т.д.):

DDRx — регистр направления передачи данных — определяет, является тот или иной вывод порта входам или выходом; если некоторый разряд регистра DDRx содержит лог. 0, то соответствующий вывод порта сконфигурирован как вход, в противном случае — как выход;

PORTx — регистр порта — если вывод выполняет роль выхода, то в соответствующий разряд записывается значение, предназначенное для вывода; если вывод выполняет роль входа, то лог. 0 в некотором разряде регистра PORTx соответствует высокоомный вход, а лог. 1 — вход, нагруженный подтягивающим сопротивлением;

PINx — регистр выводов порта — в отличие от регистров DDRx и PORTx доступен только для чтения и позволяет считать входные данные порта на внутреннюю шину микроконтроллера.

Выводы портов зачастую выполняют различные альтернативные функции при работе с внутренними и периферийными модулями микроконтроллеров AVR. Так, к примеру, в некоторых моделях в качестве внешних тактовых входов таймеров/счетчиков Т/СО и Т/С1 используются разряды 0 и 1 порта В или 4 и 5 порта D. Точное назначение выводов портов следует сверять по спецификации микроконтроллера.

  1.  Работа таймеров-счетчиков микроконтроллеров AVR в режиме широтно-импульсной модуляции

Режим «Быстродействующий ШИМ» (Fast PWM)

ШИМ - расшифровывается как Широтно-Импульсная Модуляция. На английском это звучит как ' Pulse Width Modulation' ( PWM). Сигнал с ШИМ часто используется в устройствах управления. Сигнал с ШИМ можно, например, использовать для регулировки скорости вращения электродвигателя постоянного тока. Для этого вместо постоянного напряжения на двигатель подается прямоугольное импульсное напряжение. Благодаря инерции двигателя, импульсы сглаживаются, и двигатель вращается равномерно. Меняя скважность импульсов (то есть отношение периода импульсов к их длительности), можно изменять среднее напряжение, приложенное к двигателю и тем самым менять скорость его вращения. Точно таким же образом можно управлять и другими устройствами. Например, нагревательными элементами, осветительными приборами и т.п. Преимущество импульсного управления в высоком КПД. Импульсные управляющие элементы рассеивают гораздо меньше паразитной мощности, чем управляющие элементы, работающие в аналоговом режиме.


Рисунок 3.5. Работа таймера в режиме Fast PWM.

Для формирования сигнала ШИМ используются те же самые регистры совпадения, которые работают и в режиме СТС. Формирование сигнала ШИМ может осуществляться несколькими разными способами. Работа таймера в режиме Fast PWM проиллюстрирована на рисунке 3.5. Сигнал с ШИМ формируется на специальном выходе микроконтроллера. На вход таймера подаются импульсы от системного генератора. Таймер находится в состоянии непрерывного счета. При переполнении таймера его содержимое сбрасывается в ноль, и счет начинается сначала. В режиме ШИМ переполнение таймера не вызывает прерываний. На рис. 3.5 это показано в виде пилообразной кривой обозначенной как TCNTn. Кривая представляет собой зависимость содержимого счетного регистра от времени

Содержимое счетного регистра непрерывно сравнивается с содержимым регистра совпадения. Пока число в регистре OCRn больше, чем число в счетном регистре таймера (TCNTn), напряжение на выходе ШИМ равно логической единице. Когда же в процессе счета содержимое счетного регистра TCNTn станет больше содержимого OCRn, на выходе ШИМ установится нулевой потенциал. В результате на выходе мы получим прямоугольные импульсы. Скважность этих импульсов будет зависеть от содержимого регистра OCRn. Чем меньше число в OCRn, тем выше скважность выходных импульсов. На рисунке 3.5 показана скважность импульсов для двух разных значений регистра OCRn. Если содержимое OCRn достигнет своего максимального значения, то импульсы на выходе ШИМ исчезнут, и там постоянно будет присутствовать логическая единица. При уменьшении числа в OCRn появятся импульсы малой скважности (длительность почти равна периоду). Если плавно уменьшать число в OCRn, то скважность будет плавно уменьшаться. Когда содержимое OCRn достигнет нуля импульсы на выходе ШИМ, так же исчезнут и там установится логический ноль.

 

Режим «ШИМ с фазовой коррекцией» ( Phase Correct PWM)

Описанный в предыдущем разделе режим ШИМ имеет один недостаток. При изменении длительности импульсов меняется и их фаза. Центр каждого импульса как бы сдвигается во времени. При управлении электродвигателем такое поведение фазы не желательно. Поэтому в микроконтроллерах AVR предусмотрен еще один режим ШИМ. Это ШИМ с точной фазой. Принцип работы таймера в этом режиме изображен на рисунке 3.6.


Рисунок.3.6. Работа таймера в режиме Phase Correct PWM.

Отличие режима ' Phase Correct PWM' от режима ' Fast PWM' в режиме работы счетчика. Сначала счетчик считает так же, как и в предыдущем режиме (от каждого входного импульса его значение увеличивается на единицу). Достигнув своего максимального значения, счетчик не сбрасывается в ноль, а переключается в режим реверсивного счета. Теперь уже от каждого входного импульса его содержимое уменьшается на единицу. В результате, пилообразная кривая, отображающая содержимое счетного регистра TCNTn становится симметричной, как показано на рисунке 3.6. Система совпадения работа так же, как и в предыдущем случае. Благодаря симметричности сигнала на таймере фаза выходных импульсов в процессе регулировки скважности не изменяется. Середина каждого импульса строго привязана к точке смены направления счета таймера.

Недостатком режима ' Phase Correct PWM' можно считать в два раза меньшую частоту выходного сигнала. Это существенно уменьшает динамичность регулирования. Кроме того, при использовании внешних фильтров, для преобразования импульсного сигнала ШИМ в аналоговый, схема с более низкой частотой потребует применения комплектующих с большими габаритами и массой.

  1.  Работа таймеров-счетчиков микроконтроллеров AVR в нормальном режиме и режиме «захвата»

Нормальный режим (Normal)

Это самый простой режим. В этом режиме таймер производит подсчет приходящих на его вход импульсов (от тактового генератора или внешнего устройства) и вызывает прерывание по переполнению. Этот режим является единственным режимом работы для восьмиразрядных таймеров большинства микроконтроллеров семейства Tiny и для части микроконтроллеров семейства Mega. Для всех остальных восьмиразрядных и всех шестнадцатиразрядных таймеров это всего лишь один из возможных режимов.

 

Режим «Захвата» (Capture)

Суть этого режима заключается в сохранении содержимого счетного регистра таймера в определенный момент времени. Запоминание происходит либо по сигналу, поступающему через специальный вход микроконтроллера, либо от сигнала с выхода встроенного компаратора. Этот режим удобен в том случае, когда нужно измерить длительность какого либо внешнего процесса. Например, время, за которое напряжение на конденсаторе достигнет определенного значения. В этом случае напряжение с конденсатора подается на один из входов компаратора, а на второй его вход подается опорное напряжение. Микроконтроллер должен одновременно запустить два этих процесса (подать напряжение на конденсатор и запустить таймер в режиме Capture). Конденсатор начнет заряжаться, напряжение на нем при этом будет плавно расти. Одновременно счетчик таймера будет отсчитывать тактовые импульсы заданной частоты. В тот момент, когда напряжение на конденсаторе сравняется с опорным напряжением, логический уровень на выходе компаратора изменится на противоположный. По этому сигналу текущее значение счетного регистра запоминается в специальном регистре захвата. Имя этого регистра ICRx (для таймера T0 это будет ICR0, для T1 - ICR1 и т. д.). Одновременно вырабатывается запрос на прерывание.

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

  1.  Гарвардская архитектура микропроцессоров. Общая характеристика. Достоинства и недостатки

Гарвардская архитектура (создатель Говард Айкен). Ее особенностью является разделение памяти команд (программ) и памяти данных. Память команд и память данных соединяются с процессором отдельными шинами. Благодаря разделению потоков команд и данных, а также совмещению операций их выборки (и записи результатов обработки) обеспечивается более высокая производительность, чем при использовании архитектуры фон-Неймана. Гарвардская архитектура получила широкое применение в микроконтроллерах, а также во внутренней структуре современных высокопроизводительных микропроцессоров в кэш-памяти с раздельным хранением команд и данных. В тоже время во внешней структуре большинства МПС реализуются принципы принстонской архитектуры.

Недостатки гарвардской архитектуры:

  1.  усложнение конструкции из-за использования отдельных шин для команд и данных;
  2.  фиксированный объем памяти для команд и данных;
  3.  увеличение общего объема памяти из-за невозможности ее оптимального перераспределения между командами и данными.

  1.  Классификация микроконтроллеров. Краткая характеристика каждого класса

Выпускается большая номенклатура микроконтроллеров, которые принято подразделять на 8-, 16-, 32-разрядные.

8-разрядные микроконтроллеры являются наиболее простыми и дешевыми изделиями этого класса, ориентированными на использование в относительно несложных устройствах массового выпуска. Микроконтроллеры этой группы выполняют небольшой набор команд (50-100). Основные области их применения являются промышленная автоматика, измерительная техника, теле-, видео-, аудиотехника, средства связи, бытовая аппаратура.

Для 8-разрядных микроконтроллеров характерна гарвардская архитектура. В качестве памяти программ используется масочно-программируемое ПЗУ (ROM), однакратно программируемое ПЗУ (PROM) или электрически перепрограммируемое ПЗУ (EPROM, EEPROM или Flash) с объемом от нескольких единиц до десятков килобайт. Память данных представляет собой регистровый блок или ОЗУ. Ее объем составляет от нескольких десятков байт до нескольких килобайт. В случае необходимости имеется возможность дополнительно подключать внешнюю память команд и данных объемом до 64-256 Кбайт и более.

Для повышения производительности во многих моделях 8-разрядных микроконтроллеров реализованы принципы RISC-архитектуры, обеспечивающей выполнение большинства инструкций за одни такт машинного времени.

16-разрядные микроконтроллеры помимо повышения разрядности обрабатываемых данных характеризуются:

  1.  более высокой производительностью;
  2.  расширенной системой команд и способов адресации;
  3.  увеличенным набором регистров и объемом адресуемой памяти;
  4.  возможностью расширения объема памяти программ и данных до нескольких мегабайт путем подключения внешних микросхем памяти;
  5.  программной совместимостью с 8-разрядными микроконтроллерами и другими возможностями.

Основные области применения – сложная промышленная автоматика, телекоммуникационная аппаратура, медицинская и измерительная техника.

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

32-разрядные микроконтроллеры содержат:

  1.  высокопроизводительный CISC- или RISC-процессор, соответствующий по своим возможностям младшим моделям микропроцессоров общего назначения. Например, в МК компании  Intel используется процессор i386;
  2.  внутреннюю память команд емкостью до десятков килобайт и память данных емкостью до нескольких килобайт;
  3.  средств для подключения внешней памяти объемом до 16 Мбайт и более;
  4.  набор сложных периферийных устройств – таймерный процессор, коммуникационный процессор, модуль последовательного обмена и т.д.

Во внутренней структуре этих МК реализуется гарвардская или принстонская архитектура.

  1.  Принципы построения современных микроконтроллеров.

Для создания широкого разнообразия моделей МК, сокращения сроков разработки, производства и выпуска на рынок новых моделей используется модульный принцип построения МК, при котором все модели одного семейства содержат в себе два блока: процессорное ядро и функциональный блок

Процессорное  ядро представляет собой базовый, неизменный функциональный блок контроллера, предназначенный для использования во всех моделях семейства. Обозначение  имени  семейства  МК ассоциируется с названием процессорного ядра, основой которого оно является. Например, семейство ФИРМЫ Motorola имеет процессорное ядро НС05, основанное на архитектуре популярного микропроцессора 6800. В состав процессорного ядра входят:

  1.  формирователь многофазной импульсной последовательности для тактирования центрального процессора и межмодульных магистралей;
  2.  Устройство управления режимами работы МК (активным режимом, в котором устройство управления выполняет прикладную программу; режимами пониженного энергопотребления, начального запуска и прерывания);
  3.  Внутренние шины адреса, данных и управления.

Функциональный блок с изменяемой структурой определяет отличительные черты характеристик и параметров отдельных моделей (версий) семейства. Этот блок включает в себя различные модули постоянной и оперативной памяти, периферийных устройств, генераторов синхронизации, а также дополнительные модули специальных режимов работы контроллера. Каждый модуль имеет выводы для подключения его к шинам процессорного ядра, что позволяет при проектировании новой модели МК вводить те или иные модули, создавая, таким образом, разнообразные по структуре МК в пределах одного семейства. Все модули размещают на одном полупроводниковом кристалле.

Библиотека  периферийных  модулей. Совокупность модулей, разработанных для конкретного процессорного ядра, называют библиотекой периферийных модулей. В библиотеку семейств МК входят:

  1.  Модули памяти (FLASH, EEPROM)
  2.  Модули периферийных устройств, включающие:

- параллельные порты ввода-вывода;

- контроллеры последовательного интерфейса (UART, SCI, SPI, I2C, CAN, USB)

- таймеры-счетчики, таймеры периодических событий, процессоры событий

- ЦАП и АЦП

- контроллеры ЖК- индикаторов и светодиодной матрицы

  1.  Модули встроенных генераторов синхронизации
  2.  Модули контроля питающего напряжения
  3.  Модули внутрисхемной отладки и программирования.

  1.  Общая характеристика таймеров-счетчиков микроконтроллеров AVR

Общие сведения

Любой микроконтроллер серии AVR содержит несколько встроенных таймеров. Причем, по своему назначению их можно разделить на две категории. К первой категории относятся таймеры общего назначения. Вторую категорию составляет сторожевой таймер. Сторожевой таймер предназначен для автоматического перезапуска микроконтроллера в случае «зависания» его программы. Зависанием называют зацикливание программы в результате ошибки, допущенной программистом либо в результате действия внешней помехи. Для каждой микросхемы нужен всего один сторожевой таймер. В любом микроконтроллере AVR такой таймер имеется.

Таймеры общего назначения используются для формирования различных интервалов времени и прямоугольных импульсов заданной частоты. Кроме того, они могут работать в режиме счетчика и подсчитывать тактовые импульсы заданной частоты, измеряя, таким образом, длительность внешних сигналов, а так же при необходимости подсчитывать количество любых внешних импульсов. По этой причине данные таймеры называют: «таймеры/счетчики». В микросхемах AVR применяются как восьмиразрядные, так и шестнадцатиразрядные таймеры/счетчики. Их количество для разных микроконтроллеров изменяется от одного до четырех.

Все таймеры обозначаются числами от 0 до 3. Например, Timer/Counter0, Timer/Counter1 и т.д. В русскоязычной литературе их чаще именуют сокращенно T0, T1, T2, T3. Таймеры T0 и T2 в большинстве микроконтроллеров восьмиразрядные. Таймеры T1 и T3 - шестнадцатиразрядные. Таймер T0 имеется в любой микросхеме AVR. Остальные добавляются по мере усложнения модели.

Каждый восьмиразрядный таймер представляет собой один восьмиразрядный регистр, который для микроконтроллера является регистром ввода/вывода. Этот регистр хранит текущее значение таймера и называется счетным регистром. Шестнадцатиразрядные таймеры имеют шестнадцатиразрядный счетный регистр. Каждый счетный регистр имеет свое имя. Счетный регистр восьмиразрядного таймера именуется TCNTx. Где x - это номер таймера. Для таймера T0 регистр называется TCNT0. Для таймера T2 - TCNT2. Шестнадцатиразрядные регистры именуются похожим образом. Отличие в том, что каждый шестнадцатиразрядный счетный регистр для микроконтроллера представляет собой два регистра ввода/вывода. Один для хранения старших битов числа, а второй для хранения младших битов. К имени регистра старших разрядов добавляется буква H, а для регистра младших разрядов добавляется буква L. Таким образом, счетный регистр таймера T1 - это два регистра ввода/вывода: TCNT1H и TCNT1 L. Счетный регистр таймера T3 - это два регистра TCNT3 H и TCNT3 L.

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

  1.  Прерывания в микропроцессорных системах

В компьютерной системе прерывание — это запуск специальной подпрограммы (называемой «обработчиком прерывания» или «программой обслуживания прерывания»), который вызывается сигналом аппаратуры. На время выполнения этой подпрограммы реализация текущей программы останавливается. Термин «запрос на прерывание» (interrupt request) используется потому, что иногда программа отказывается подтвердить прерывание и выполнить обработчик прерывания немедленно.

Прерывания в компьютерной системе аналогичны прерываниям в повседневной жизни. Классический пример такого прерывания — телефонный звонок во время просмотра телевизионной передачи. Когда звонит телефон, у Вас есть три возможности. Первый — проигнорировать звонок. Второй — ответить на звонок, но сказать, что Вы перезвоните позже. Третий — ответить на звонок, отложив все текущие дела. В компьютерной системе также имеются три подобных ответа, которые могут быть использованы в качестве реакции на внешний аппаратный запрос.

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

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

Обработчик прерывания всегда обеспечивает следующую последовательность действий

1. Сохранить содержимое регистров контекста

2. Сбросить контроллер прерываний и оборудование, вызвавшее запрос

3. Обработать данные

4. Восстановить содержимое регистров контекста

5. Вернуться к прерванной программе

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

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

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

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

Восстановление регистров контекста и выполнение команды возврата из прерывания переводит процессор в состояние, в котором он находился до возникновения прерывания

Рассмотрим, что происходит с содержимым различных регистров при обработке прерывания. Содержимое регистра состояния обычно автоматически сохраняется вместе с содержимым программного счетчика перед обработкой прерывания. Это избавляет от необходимости сохранять его в памяти программными средствами с помощью команд пересылки, а затем восстанавливать при возврате к исходной программе. Однако такое автоматическое сохранение реализуется не во всех типах микроконтроллеров, поэтому организации обработки прерываний следует уделить особое внимание.

Если содержимое регистра состояния сохраняется перед началом выполнения обработчика прерывания, то по команде возврата производится его автоматическое восстановление.

Если содержимое других регистров процессора изменяется при выполнении обслуживания прерывания, то оно также должно быть сохранено в памяти до изменения и восстановлено перед возвратом в основную программу. Обычно принято сохранять все регистры процессора, чтобы избежать непредсказуемых ошибок, которые очень трудно локализовать.

Адрес, которым загружается в программный счетчик при переходе к обработчику прерывания, называется «вектор прерывания». Существует несколько типов векторов Адрес, который загружается в программный счетчик при запуске микроконтроллера (leset) называется «вектор сброса». Для различных прерывании могут быть заданы разные вектора, что избавляет программу обслуживания от необходимости определять причину прерывания. Использование различными прерываниями одного вектора обычно не вызывает проблем при работе микроконтроллеров, так как чаще всею микроконтроллер исполняет одну единственную программу. Этим микроконтроллер отличается от персонального компьютера, в процессе эксплуатации которого могут добавляться различные источники прерывании (Если Вы когда-либо подключали два устройства к портам СОМ1 и COM3, то Вы представляете, о чем идет речь) В микроконтроллере, где аппаратная часть хорошо известна, не должно возникнуть каких либо проблем при совместном использовании векторов прерывании

Существуют процессорные команды, которые могут быть использованы для имитации аппаратных прерывании. Наиболее очевидное использование этих команд — это вызов системных подпрограмм, которые располагаются в произвольном месте памяти, him требуют для обращения к ним межсегментных переходов. Эта возможность реализована в микропроцессорах семейства Intel 186 и используется в базовой системе ввода-вывода BIOS (Basic Input/Output System) и операционной системе DOS персональных компьютеров для вызова системных подпрограмм без необходимости фиксирования точки входа Вместо этого используются различные вектора прерывании, выбирающие команду, которая должна выполняться, когда происходит такое программное прерывание

  1.  Классификация постоянных запоминающих устройств (ПЗУ)

ПЗУ используются для хранения постоянно выполняемых программ ЭВМ, а также для реализации произвольных булевых функций.

Классификация ПЗУ.

1. Масочные ПЗУ. Это ПЗУ, информация в которые записывается на заводе изготовителе. У таких микросхем на корпусе наносят обозначение о версии программного кода, который туда записан (в виде ревизии). На принципиальных схемах такие микросхемы обозначают как ROM (Read Only Memory), в названии имеет индекс РЕ.

2. ППЗУ - программируемые ПЗУ. Это ПЗУ с возможностью однократной записи информации пользователя. На принципиальных схемах обозначаются как PROM (Program ROM), в названии имеют индекс РТ.

3. РПЗУ - репрограммируемые ПЗУ. Эти ПЗУ допускают многократное программирование от 25 до 10,000 раз. Это микросхемы с электрическим стиранием. Использовать РПЗУ в качестве ОЗУ нельзя, поскольку скорость записи в РПЗУ, по сравнению с ОЗУ, очень низкая. На принципиальных схемах такие микросхемы обозначают как EEPROM (Electric Erase PROM), в названии имеют индекс РР. В последнее время в отдельный класс выделились микросхемы серии Flash PROM. Эта технология также подразумевает электрическое стирание информации из ПЗУ. Достоинства этих микросхем перед EEPROM - более высокая скорость записи данных. Однако память этого типа имеет меньший ресурс, количество циклов записи - до 1,000 циклов. Несмотря на этот недостаток, во всех современных компьютерных системах используется именно Flash PROM в качестве БИОС различных устройств.

4. РПЗУУФ - репрограммируемые ПЗУ с ультрафиолетовым стиранием. Микросхемы этого типа также предоставляют возможность многократной перезаписи, однако, в отличие от микросхем типа EEPROM, стирание информации из РПЗУУФ происходит под воздействием ультрафиолетового излучения. В настоящее время подобные микросхемы постепенно уступают свои позиции Flash PROM.

Упрощённая принципиальная схема ППЗУ.

Для примера рассмотрим принципиальную схему ПЗУ (см. рис.), имеющей 256 ячеек по 8 бит каждая. ПЗУ с таким объёмом ранимой информации называют 256*8.

ПЗУ имеет: входные сигналы А0 - А7 которые называются входами адреса и определяют адрес ячейки памяти с которой выполняются действия чтения и программирования, а также выходные сигналы D0 - D7 на которых появляется читаемая из ячейки информация. Основными составными частями ПЗУ можно считать дешифратор (DC) и матрицу транзисторных элементов. Каждой ячейке памяти соответствует свой выход дешифратора, который активизируется при поступлении на его вход соответствующего адреса. Активный уровень выхода дешифратора - единица. При появлении на соответствующем выходе дешифратора единицы все транзисторы, подключенные к этой линии базами, пытаются открыться. Удаётся это сделать только тем, у кого есть плавкие перемычки. И на соответствующей линии выхода появляется единица. На остальных выходах остаются нули. Таким образом, говорят, что операция программирования однократно программируемой ПЗУ - это операция прожигания. Пример подобной микросхемы - К155РЕ3 - 32*8. Обозначение указанной микросхемы на принципиальных схемах имеет следующий вид:

Приведённая микросхема имеет выходы с открытым коллектором. Кроме указанных выше, микросхема имеет входы чтения RD и сигнал выбора кристалла CS. Сигнал выбора микросхемы по существу является стробирующим входом дешифратора, расположенного внутри микросхемы ПЗУ.

Чтобы прочесть информацию из микросхемы с какой-либо ячейки ПЗУ, в начале подаются сигналы адреса и сигнал выбора микросхемы, который приравнивается к сигналу адреса (по иерархии значимости сигналов, необходимых для нормальной работы микросхемы ПЗУ). Сигнал выбора микросхемы выбирает целиком всю микросхему (т.е. подключает её), а сигнал адреса выбирает конкретную ячейку. Чтобы внутри микросхемы выполнилась дешифрация адреса, требуется некоторое время τ1 = 50 - 200 нс - время выборки. По истечению этого времени, на микросхему подают сигнал чтения RD, по которому на выходе начинают формироваться читаемые данные. Нормальные данные (т.е. полностью сформированные) появляются на выходе только через τ2 = 20 - 50 нс.

Таким образом, диаграмма сигналов выглядит следующим образом:

Использование ПЗУ для реализации произвольной булевой функции.

ПЗУ - идеальный прибор для реализации булевых функций в количестве равном количеству выходов данных, а количество переменных = количеству адресных входов. Таблица истинности булевой функции, с помощью которой она задаётся, представляет собой готовую карту прошивки ПЗУ.

А10

А9

А1

А0

D7

D0

0

0

0

0

0

0

1

1

0

0

0

1

1

1

0

0

1

0

0

0

2047

1

1

1

1

0

1

Булева функция задаётся таблицей, в которой перечислены все возможные комбинации входных переменных, количество таких комбинаций для n - переменных 2n. Карта прошивки ПЗУ в своей упорядоченной форме представляет собой упорядоченный набор аргументов, а выходы - её значения.

Расширение ПЗУ по выходам.

Расширение ПЗУ по выходам реализуется путём объединения нескольких микросхем, при котором адресные входы микросхем соединяются в параллель. При таком включении, каждая микросхема содержит часть карты прошивки ПЗУ, которая соответствует номерам выходов соответствующей микросхемы. Подобное включение может потребоваться, например, для расширения разрядности шины данных блока памяти, либо для реализации дискретного автомата с большим количеством выходов. Включение микросхем в этом случае будет следующее:

Расширение ПЗУ по входам (по адресу).

Очень часто, для организации блоков памяти используют не одну микросхему ПЗУ, а несколько. Такой подход обусловлен как требованиями к разрядности получаемой шины данных, так и требованиями к информационному объёму блока памяти. Другими словами, часто приходиться объединять несколько микросхем памяти определённой информационной ёмкости, для получения блока памяти с заданными параметрами. Кроме этого, необходимо отметить и тот факт, что номенклатурный ряд выпускаемых микросхем далеко не покрывает все возможные требования к информационному объёму, скорости работы и прочее.

Принимая во внимание вышесказанное, необходимо рассмотреть вопрос об объединении нескольких микросхем, с целью повышения информационной ёмкости формируемого блока. Расширение микросхем памяти по входам требует дополнительной логики, которая будет переключать микросхемы в зависимости от адреса, поступающего на блок памяти. Наличие указанной логики обусловлено тем, что микросхемы памяти, при объединении, имеют меньшее количество адресных входов, чем получаемый блок. Естественно, что остальные разряды подаваемого на блок памяти адреса необходимо также обрабатывать. Этим занимается дешифратор, который, в зависимости от старших разрядов адреса, выбирает соответствующую этому адресу микросхему памяти. Схема включения микросхем в этом случае будет иметь вид:

В приведённой схеме все выводы микросхем памяти включены параллельно (за исключением сигналов выбора кристалла). В каждый момент времени работает только одна микросхема памяти, а все остальные находятся в третьем состоянии.

  1.  Стек, память программ, EEPROM память микроконтроллеров AVR фирмы Atmel

Эта фирма производит два семейства МК: семейство АТ89, совместимое с фактическим промышленным контроллером MCS-51, и семейство высокопроизводительных RISC-микроконтроллеров AT90 собственной архитектуры.

Характерной особенностью микроконтроллеров фирмы Atmel является Flash память программ, что обеспечивает быстроту программирования и уменьшение цикла разработки приложений.

В 1997 г. фирма представила контроллеры семейства AVR AT90S, который содержал:

  1.  мощный RISC-процессор с гарвардской архитектурой, обеспечивающей раздельный доступ к памяти программ и данных;
  2.  АЛУ с аппаратным умножителем, 32 регистра общего назначения, порты, таймеры-счетчики, последовательные интерфейсы, АЦП, аналоговые компараторы;
  3.  базовый набор из 120 команд, большинство которых выполняется за один машинный цикл. Производительность ряда моделей составляет 20 MIPS.

Микроконтроллеры AVR подразделяются на три серии:

  1.  tiny AVR — МК в 8-выводном корпусе низкой стоимости;
  2.  classic AVR — основная серия контроллеров с производительностью до 16 MIPS, имеющих Flash память программ объемом до 8 Кбайт и статическое ОЗУ данных 128...512 байт;

mega AVR — МК с производительностью до 6 MIPS для сложных приложений, требующих большого объема памяти (Flash ПЗУ до 128 Кбайт), ОЗУ до 4 Кбайт.

Стек — это особая область памяти данных, используемая процессором для временного хранения адресов возврата из подпрограмм, промежуточных результатов вычислений и др. В микроконтроллерах PIC и некоторых микроконтроллерах AVR стек реализован аппаратно — для этого выделено отдельное запоминающее устройство фиксированного объема в несколько (или несколько десятков) байт. Для микроконтроллеров AVR компиляторы языка С (например, при обращении к подпрограммам) могут также создавать один или более стеков программно, начиная с верхних адресов области SRAM.

Стек действует по принципу LIFO — "Last In, First Out", что означает "последним вошел, первым вышел". Это означает, что новые данные вначале помещаются на вершину (первый уровень) стека, а затем, с поступлением следующих данных, "проталкиваются" на его нижние уровни. Извлечение из стека происходит в обратном порядке: вначале считываются данные, помещенные последними на вершину, после чего данные, размещенные на нижних уровнях, как бы "выталкиваются" на один уровень вверх. Ячейка памяти, которая является в данный момент вершиной стека, адресуется указателем стека (для AVR — регистровой парой SPL, SPH).

Поскольку область памяти данных, отводимая для программного стека, ограничивается только объемом памяти SRAM, при написании программ следует следить за тем, чтобы стек не становился слишком большим, затирая полезные данные.

Память программ

Память программ как в микроконтроллерах AVR, так и в микроконтроллерах PIC реализована по технологии Flash-EPROM, которая подразумевает программирование пользователем и вытирание электрическим способом. Размер этой памяти варьируется в зависимости от микроконтроллера и обычно составляет несколько Кбайт командных слов.

Флэш-память является энергонезависимой, то есть, сохраняет записанную в нее информацию даже после отключения питания микроконтроллера. Несмотря на то, что память этого типа — программируемая, для записи в нее используются только внешние аппаратные средства, поэтому с точки зрения программиста можно сказать, что память программ доступна только для чтения.

Адресация команд в памяти программ реализуется с помощью специального регистра — счетчика команд, разрядность которого определяет допустимый размер этой памяти. Разрядность ячеек памяти программ, в зависимости от типа микроконтроллера, может составлять 14-16 бит.

Кроме того, следует отметить, что в микроконтроллерах PIC в первых ячейках памяти программ (начиная с адреса 0x0000) содержатся векторы (адреса перехода) сброса и прерываний.

Память EEPROMмикроконтроллеров A VR

Многие микроконтроллеры AVR оборудованы встроенной памятью EEPROM — электрически перезаписываемой энергонезависимой памятью. Хотя эта память и допускает запись, она редко используется для хранения программных переменных, поскольку, во-первых, медленнодействующая, и, во-вторых, имеет ограниченный (хотя и довольно большой) цикл перезаписи.

Учитывая вышесказанное, память EEPROM используют, преимущественно, для хранения данных, которые не должны быть потеряны даже при потере питания. Это очень удобно, к примеру, при калибровке измерительных приборов, работающих под управлением микроконтроллеров, у которых в памяти EEPROM в процессе настройки сохраняются параметры корректировки. Благодаря этому, в большинстве случаев полностью отпадает необходимость в настроечных потенциометрах и триммерах.

В отличие от флэш-памяти, для записи/чтения памяти EEPROM нет необходимости в специальном программаторе — эти операции доступны программно и допускают побайтную передачу данных с помощью регистра управления EECR, регистра данных EEDR и регистровой пары EEARL, EEARH, определяющей адрес ячейки памяти.

Запись в память EEPROM

Запись байта данных в память EEPROM осуществляется по следующей схеме:

  1.  Удостовериться, что в разряде EEWE (разряд 1) регистра EECR находится
    лог. О (разрешение записи).
  2.  Записать адрес ячейки EEPROM в регистр EEAR.
  3.  Записать байт данных в регистр EEDR.
  4.  Установить в лог. 1 разряд EEMWE (разряд 2) регистра EECR.
  5.  Установить в лог. 1 разряд EEWE (разряд 1) регистра EECR, чтобы активизи
    ровать процесс записи.

По окончанию цикла программирования разряд EEWE аппаратно автоматически сбрасывается в лог. 0. Программа пользователя должна непрерывно опрашивать этот разряд, ожидая появления лог. О, прежде чем приступить к программированию следующего байта.

Чтение из памяти EEPROM

Чтение байта данных из памяти EEPROM осуществляется по такой схеме:

  1.  Записать адрес ячейки EEPROM в регистр EEAR.
  2.  Установить в лог. 1 разряд EERJE (разряд 0) регистра EECR, чтобы активизи
    ровать процесс чтения.
  3.  По окончанию считывания разряда EERE аппаратное обеспечение считывает
    требуемый байт в регистр
    EEDR, после чего уже нет необходимости вновь оп
    рашивать разряд
    EERE, поскольку считывание длится только один цикл такта
    системной синхронизации.

Перед началом операции чтения программа пользователя должна постоянно опрашивать разряд EEWE и ждать появления лог. 0. Если во время программирования памяти EEPROM в соответствующий регистр будет записан новый адрес или данные, то еще продолжающийся процесс программирования будет прерван, и результат будет неопределенным!

  1.  Работа таймеров-счетчиков микроконтроллеров AVR в режиме широтно-импульсной модуляции

Режим «Быстродействующий ШИМ» (Fast PWM)

ШИМ - расшифровывается как Широтно-Импульсная Модуляция. На английском это звучит как ' Pulse Width Modulation' ( PWM). Сигнал с ШИМ часто используется в устройствах управления. Сигнал с ШИМ можно, например, использовать для регулировки скорости вращения электродвигателя постоянного тока. Для этого вместо постоянного напряжения на двигатель подается прямоугольное импульсное напряжение. Благодаря инерции двигателя, импульсы сглаживаются, и двигатель вращается равномерно. Меняя скважность импульсов (то есть отношение периода импульсов к их длительности), можно изменять среднее напряжение, приложенное к двигателю и тем самым менять скорость его вращения. Точно таким же образом можно управлять и другими устройствами. Например, нагревательными элементами, осветительными приборами и т.п. Преимущество импульсного управления в высоком КПД. Импульсные управляющие элементы рассеивают гораздо меньше паразитной мощности, чем управляющие элементы, работающие в аналоговом режиме.


Рисунок 3.5. Работа таймера в режиме Fast PWM.

Для формирования сигнала ШИМ используются те же самые регистры совпадения, которые работают и в режиме СТС. Формирование сигнала ШИМ может осуществляться несколькими разными способами. Работа таймера в режиме Fast PWM проиллюстрирована на рисунке 3.5. Сигнал с ШИМ формируется на специальном выходе микроконтроллера. На вход таймера подаются импульсы от системного генератора. Таймер находится в состоянии непрерывного счета. При переполнении таймера его содержимое сбрасывается в ноль, и счет начинается сначала. В режиме ШИМ переполнение таймера не вызывает прерываний. На рис. 3.5 это показано в виде пилообразной кривой обозначенной как TCNTn. Кривая представляет собой зависимость содержимого счетного регистра от времени

Содержимое счетного регистра непрерывно сравнивается с содержимым регистра совпадения. Пока число в регистре OCRn больше, чем число в счетном регистре таймера (TCNTn), напряжение на выходе ШИМ равно логической единице. Когда же в процессе счета содержимое счетного регистра TCNTn станет больше содержимого OCRn, на выходе ШИМ установится нулевой потенциал. В результате на выходе мы получим прямоугольные импульсы. Скважность этих импульсов будет зависеть от содержимого регистра OCRn. Чем меньше число в OCRn, тем выше скважность выходных импульсов. На рисунке 3.5 показана скважность импульсов для двух разных значений регистра OCRn. Если содержимое OCRn достигнет своего максимального значения, то импульсы на выходе ШИМ исчезнут, и там постоянно будет присутствовать логическая единица. При уменьшении числа в OCRn появятся импульсы малой скважности (длительность почти равна периоду). Если плавно уменьшать число в OCRn, то скважность будет плавно уменьшаться. Когда содержимое OCRn достигнет нуля импульсы на выходе ШИМ, так же исчезнут и там установится логический ноль.

 

Режим «ШИМ с фазовой коррекцией» ( Phase Correct PWM)

Описанный в предыдущем разделе режим ШИМ имеет один недостаток. При изменении длительности импульсов меняется и их фаза. Центр каждого импульса как бы сдвигается во времени. При управлении электродвигателем такое поведение фазы не желательно. Поэтому в микроконтроллерах AVR предусмотрен еще один режим ШИМ. Это ШИМ с точной фазой. Принцип работы таймера в этом режиме изображен на рисунке 3.6.


Рисунок.3.6. Работа таймера в режиме Phase Correct PWM.

Отличие режима ' Phase Correct PWM' от режима ' Fast PWM' в режиме работы счетчика. Сначала счетчик считает так же, как и в предыдущем режиме (от каждого входного импульса его значение увеличивается на единицу). Достигнув своего максимального значения, счетчик не сбрасывается в ноль, а переключается в режим реверсивного счета. Теперь уже от каждого входного импульса его содержимое уменьшается на единицу. В результате, пилообразная кривая, отображающая содержимое счетного регистра TCNTn становится симметричной, как показано на рисунке 3.6. Система совпадения работа так же, как и в предыдущем случае. Благодаря симметричности сигнала на таймере фаза выходных импульсов в процессе регулировки скважности не изменяется. Середина каждого импульса строго привязана к точке смены направления счета таймера.

Недостатком режима ' Phase Correct PWM' можно считать в два раза меньшую частоту выходного сигнала. Это существенно уменьшает динамичность регулирования. Кроме того, при использовании внешних фильтров, для преобразования импульсного сигнала ШИМ в аналоговый, схема с более низкой частотой потребует применения комплектующих с большими габаритами и массой.

  1.  Работа таймеров-счетчиков микроконтроллеров AVR в нормальном режиме и режиме «захвата»

Режимы работы таймеров

Таймеры микроконтроллеров семейства AVR могут работать в нескольких режимах. Разные микроконтроллеры имеют разные наборы режимов для своих таймеров. Для выбора режимов работы существуют специальные регистры - регистры управления таймерами. Для простых таймеров используется один регистр управления. Для более сложных - два регистра. Регистры управления таймером называются TCCRx (где x - номер таймера). Например, для таймера T0 используется один регистр, с именем TCCR0. Для управления таймером T1 используется два регистра: TCCR1A и TCCR1 B. При помощи регистров управления производится не только выбор соответствующего режима, но и более тонкая настройка таймера. Ниже перечислены все основные режимы работы таймера и их описание.

 

Нормальный режим (Normal)

Это самый простой режим. В этом режиме таймер производит подсчет приходящих на его вход импульсов (от тактового генератора или внешнего устройства) и вызывает прерывание по переполнению. Этот режим является единственным режимом работы для восьмиразрядных таймеров большинства микроконтроллеров семейства Tiny и для части микроконтроллеров семейства Mega. Для всех остальных восьмиразрядных и всех шестнадцатиразрядных таймеров это всего лишь один из возможных режимов.

 

Режим «Захвата» (Capture)

Суть этого режима заключается в сохранении содержимого счетного регистра таймера в определенный момент времени. Запоминание происходит либо по сигналу, поступающему через специальный вход микроконтроллера, либо от сигнала с выхода встроенного компаратора. Этот режим удобен в том случае, когда нужно измерить длительность какого либо внешнего процесса. Например, время, за которое напряжение на конденсаторе достигнет определенного значения. В этом случае напряжение с конденсатора подается на один из входов компаратора, а на второй его вход подается опорное напряжение. Микроконтроллер должен одновременно запустить два этих процесса (подать напряжение на конденсатор и запустить таймер в режиме Capture). Конденсатор начнет заряжаться, напряжение на нем при этом будет плавно расти. Одновременно счетчик таймера будет отсчитывать тактовые импульсы заданной частоты. В тот момент, когда напряжение на конденсаторе сравняется с опорным напряжением, логический уровень на выходе компаратора изменится на противоположный. По этому сигналу текущее значение счетного регистра запоминается в специальном регистре захвата. Имя этого регистра ICRx (для таймера T0 это будет ICR0, для T1 - ICR1 и т. д.). Одновременно вырабатывается запрос на прерывание.

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




1. Статья- Жизненный цикл товара
2. тяжелая хроническая болезнь в большинстве случаев трудноизлечимая
3. тематическим редактором позволяющим проводить разнообразные научные и инженерные расчеты начиная от элеме
4. . Спонтанное излучение
5. Тема- Кобальтферромагнетик Подготовил- студент 214 группы Саеков
6. Тема 9. Античная этика Аристотель Вопросы- 1
7. Приготовление итальянской пиццы
8. ТЕМА 2. Разработка информационных технологий 2
9. тема;Подраздел;Тема; V1-Строение и функции органов и тканей полости рта I-ТЗ 1 Тема 100;ВРЕМЯ0;KT3;MT01; S-З
10. управление проектами Утверждено редакционноиздательским советом университета.
11. Необходимая оборона
12. Тема- Питание и здоровье
13. Положение Турции в международной торговле в XV-18 вв
14. Неможливо перебільшити значення сну для організму.
15. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата психологічних наук Одеса ~5
16. шарим глазами Но ведь и о внутреннем созерцании о поисках нужного образа слова идеи говорится очень похо
17. Склеивание
18. Робоча навчальна програма з виробничої практики для підготовки у Вищому професійному у
19. Правомерное поведение и юридическая ответственность
20. тематических знаний