Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МТ ответы.docx
Скачиваний:
10
Добавлен:
18.12.2018
Размер:
418.53 Кб
Скачать

14) Оценка производительности микропроцессоров:

• Соотношение IXCLK и 1Bus индивидуально для каждого ядра МК. при оценке производительности следует сравнивать только максимальную частоту тактирования межмодульных магистралей fgus.

• Производительность МП, и МК в том числе, принято оценивать числом операций пересылки "регистр-регистр", которые могут быть выполнены в течение одной секунды.

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

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

15) Два типа памяти микроконтроллера. Закрытая архитектура современных 8-разрядных МК стала реализуемой лишь при условии интеграции на кристалл МК модулей памяти двух типов: энергонезависимого запоминающего устройства для хранения кодов прикладных программ и оперативного запоминающего устройства для хранения промежуточных результатов вычислений, С момента появления МК технология энергонезависимых запоминающих устройств претерпела множество изменений, которые позволили не только повысить информационную емкость, быстродействие, надежность хранения информации, но и привели к появлению принципиально новых технологий программирования резидентной памяти МК.

16) Пять типов энергонезависимой резидентной памяти микроконтроллера:

-- ПЗУ масочного типа — mask-ROM. Содержимое ячеек ПЗУ этого типа записывается на заводе-изготовителе МК с помощью масок и не может быть заменено или "допрограммировано" в области ранее не использованного сегмента памяти. Поэтому МК с таким типом памяти программ следует использовать только после достаточно длительной опытной эксплуатации изделий.

-- ПЗУ, однократно программируемые пользователем — OTPROM (One-Time Programmable ROM). В незапрограммированном состоянии каждая ячейка памяти модуля однократно программируемого ПЗУ при считывании возвращает код $FF. Программированию подлежат только те разряды, которые после программирования должны содержать 0. Если в процессе программирования некоторые разряды какой-либо ячейки памяти были установлены в 0, то восстановить в этих разрядах единичное значение уже невозможно.

-- ПЗУ, программируемые пользователем, с ультрафиолетовым стиранием — EPROM (Erasable Programmable ROM). ПЗУ данного типа допускают многократное программирование. Перед каждым сеансом программирования для восстановления единичного значения ранее запрограммированных ячеек памяти весь модуль ПЗУ должен быть подвергнут операции стирания при помощи ультрафиолетового облучения.

-- ПЗУ, программируемые пользователем, с электрическим стиранием — EEPROM, или E2PROM (Electrically Erasable Programmable ROM). Электрически программируемые и электрически стираемые ПЗУ совместили в себе три положительных качества рассмотренных выше типов памяти. Во-первых, ПЗУ типа EEPROM программируются пользователем; во-вторых, эти ПЗУ могут быть многократно подвергнуты операции стирания и, следовательно, многократно программируются пользователем; в-третьих, эти ПЗУ дешевле ПЗУ с ультрафиолетовым стиранием

-- ПЗУ с электрическим стиранием типа FLASH — FLASH ROM. Электрически программируемые и электрически стираемые ПЗУ типа FLASH были предназначены для заполнения "ниши" между дешевыми однократно программируемыми ПЗУ большой емкости и дорогими EEPROM ПЗУ малой емкости. ПЗУ типа FLASH сохранили преимущества, присущие EEPROM: возможность многократного стирания и программирования посредством приложения повышенного напряжения. Однако для увеличения объема памяти транзистор адресации каждой элементарной ячейки был удален, что не дает возможности программировать каждый бит памяти отдельно. Память типа FLASH стирается и программируется страницами или блоками.

17) Оперативное запоминающее устройство микроконтроллера. Кроме ПЗУ, в состав МК входит также и статическое оперативное запоминающее устройство. Определение "статическое" выделено не случайно: современные 8-разрядные МК допускают снижение частоты тактирования до сколь угодно малых значений с целью снижения энергии потребления (см. п. 1.1.9). Содержимое ячеек ОЗУ при этом сохраняется, в отличие от динамической памяти. В качестве еще одной особенности следует отметить, что большинство МК в техническом описании имеет параметр "напряжение хранения информации" — USTANDBY- При снижении напряжения питания ниже минимально допустимого уровня UDDMIN, но выше напряжения хранения USTANDBY программа управления микроконтроллером выполняться не будет, но информация в ОЗУ сохранится. Тогда при восстановлении напряжения питания можно будет выполнить сброс МК и продолжить выполнение программы без потери данных. Уровень напряжения хранения составляет примерно 1 В. Это позволяет в случае необходимости перевести МК на питание от автономного источника (батарейки или аккумулятора) и сохранить тем самым данные ОЗУ. Большого расхода энергии потребления в этом случае не будет, т.к. система тактирования МК может быть отключена (см. п. 1.1.9). В последнее время появились МК, которые в корпусе имеют автономный источник питания, гарантирующий сохранение данных в ОЗУ на протяжении 10 лет (МК DS5000 фирмы Dallas Semiconductor).

18) Четыре типа параллельных портов.

1. Однонаправленные порты, предназначенные в соответствии со спецификацией МК только для ввода или только для вывода информации.

2. Двунаправленные порты, направление передачи которых (ввод или вывод) определяется в процессе инициализации системы.

3. Порты с альтернативной функцией. Отдельные линии этих портов связаны со встроенными в МК периферийными устройствами, такими, как таймер, АЦП, контроллеры последовательных приемопередатчиков. Если соответствующий периферийный модуль МК не используется, то его выводы можно задействовать как обычные линии ввода/вывода. Напротив, если модуль активизирован, то принадлежащие ему линии ввода/вывода автоматически конфигурируются в соответствии с функциональным назначением в модуле и не могут быть использованы в качестве линий ввода/вывода.

4. Порты с изменяемой программно управляемой схемотехникой входного буфера.

19) Три типа алгоритмов обмена между микроконтроллером и внешним устройством.

1. Режим простого программного ввода/вывода.

2. Режим ввода/вывода со стробированием.

3. Режим ввода/вывода с полным набором сигналов квитирования.

20) Режим простого программного ввода/вывода. Внешнее устройство изменяет данные на линиях порта РТх в произвольный момент времени. Событие обновления кода и момент его наступления не отмечаются дополнительными сигналами. Информация об изменении кода на линиях порта ввода в МК не передается. МК производит считывание данных с порта РТх в моменты времени, которые определяются только ходом вычислительного процесса и не связаны с моментами изменения данных на линиях порта РТх. Поэтому одно и то же состояние линий порта РТх может быть считано несколько раз подряд, но может быть и пропущено, если данные на линиях порта изменяются слишком часто. При обращении к регистру данных порта DPTx МК формирует сигнал чтения и состояние линий РТх7...РТхО по внутренней магистрали данных передается в один из регистров центрального процессора. Если состояние линий порта РТх7...РТхО в этот момент изменяется, то считанные данные могут оказаться ошибочными. В случае изменения состояния только одной линии в регистре CPU будет зафиксировано либо предшествующее, либо последующее значение, но оба эти значения будут достоверными. В случае изменения состояния сразу нескольких линий может возникнуть классическая ситуация гонок в цифровой системе, и прочитанное слово окажется недостоверным.

В режиме простого программного вывода состояние линий порта РТх7...РТхО изменяется после каждой операции записи в регистр данных DPTx. Это состояние сохраняется неизменным до тех пор, пока МК не запишет новые данные в регистр DPTx.

21) Режим ввода/вывода со стробированием. При выводе данных в этом ре жиме каждое изменение данных на линиях порта сопровождается коротким стробом подтверждения вывода STBB. Этот строб может быть использован для записи данных в регистр периферийной ИС. Например, на Рис. 1.5 показан вариант использования режима стробируемого вывода для передачи информации в четырехканальный ЦАП AD8408 фирмы Analog Devises. Микросхема AD8408 имеет 8-разрядную магистраль данных и два входа встроенного дешифратора адресации канала ЦАП, в регистр которого производится запись. Магистраль данных ЦАП соединена с линиями порта РТх, который работает в режиме стробируемого вывода. Две линии порта РТх используются для задания номера канала ЦАП. Порт РТх работает в режиме простого программного вывода.

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

22) Режим ввода/вывода с полным набором сигналов квитирования. Режим обмена с полным набором сигналов квитирования наиболее часто используется для обмена в параллельном коде между двумя МК. Каждое изменение данных на линиях порта РТх внешнее устройство сопровождает импульсом записи на линии STBA. Данные с входов порта РТх передаются в триггеры регистра DPTLx при низком активном уровне STBA. По положительному фронту сигнала STBA эти данные запоминаются в регистре-защелке порта DPTLx. Одновременно аппаратными средствами формируется нарастающий фронт сигнала подтверждения приема STBB. Высокий логический уровень STBB информирует внешнее передающее устройство о том, что данные в регистр-защелку помещены, но еще не считаны в память МК. Поэтому передавать новые данные не следует. Высокий активный уровень сигнала STBB устанавливается именно по срезу сигнала STBA: передаваемые данные еще не запомнены в DPTLx, но передача начата и, следовательно, приемное устройство уже занято. По положительному фронту сигнала STBA передаваемые данные запоминаются. Следовательно, изменения данных уже не будет и аппаратные средства устанавливают в 1 триггер готовности данных Тх. Этот триггер может быть считан под управлением программы, он отображается в одном из регистров специальных функций МК. Путем инициализации можно также назначить прерывания по триггеру готовности данных. По состоянию триггера готовности данных МК обнаруживает, что в регистре-защелке порта DPTLx находятся данные, и производит считывание. В процессе чтения формируется сигнал выборки регистра-защелки RD • DCSPTLx, отрицательный фронт которого сбрасывает триггер готовности Тх. Позднее по нулевому состоянию триггера готовности Тх МК сможет определить, что предыдущие данные уже считаны из порта, а новые еще не поступили. Положительный фронт сигнала выборки устанавливает в 0 линию подтверждения приема STBB, информируя передающее устройство, что данные прочитаны микроконтроллером из порта в память, и можно передавать новые.

Временные диаграммы вывода с полным набором сигналов квитирования представлены на Рис. 1.9, Рис. 1.10 отражает функциональную модель порта. МК записывает данные в регистр данных порта РТх под управлением программы. При этом формируется внутренний сигнал записи WR • DCSPTx, отрицательный фронт которого устанавливает в 0 сигнал подтверждения вывода STBB для принима ющего устройства. По положительному фронту WR • DCSPTx сбрасывается триггер Тх. В этом режиме его можно интерпретировать как триггер готовности порта к обмену. Нулевое состояние триггера Тх информирует МК о том, что данные, ранее записанные в порт, еще не считаны внешним устройством. Принимающее устройство считывает данные с линий порта РТх, копируя их в одном из собственных регистров, и формирует строб подтверждения приема STBA. В ответ передающее устройство устанавливает в 1 сигнал подтверждения вывода STBB. Наличие высокого логического уровня на этой линии свидетельствует об отсутствии новых данных на линиях порта вывода. По положительному фронту сигнала STBA устанавливается в 1 триггер готовности порта к обмену, информируя МК о том, что предыдущие данные приняты внешним устройством и можно записать в порт новые. Аналогично предыдущему случаю, состояние триггера готовности порта к обмену Тх может быть считано программно или генерируется запрос на прерывание.

23) Три типа драйверов ввода/вывода:

1) Двунаправленные линии, которые настраиваются на ввод или на вывод программированием бита в регистре направления передачи DDPTx.

Каждой линии порта поставлен в соответствие одноименный разряд регистра направления передачи DDPTx. Нулевое значение разряда конфигурирует линию на ввод, единичное — на вывод. После сброса МК все линии настроены на ввод. В режиме ввода непосредственно в момент считывания логический уровень сигнала линии PTxi передается на внутреннюю магистраль данных, минуя регистр данных порта DPTx.

2) Квазидвунаправленные линии, которые не требуют предварительной инициализации, но имеют некоторые особенности при считывании.

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

3) Двунаправленные линии с возможностью программного подключения "подтягивающих" резисторов.

24) Логика управления встроенными "подтягивающими" резисторами. Драйверы линий с изменяемой схемотехникой могут быть выполнены двумя способами. Однако преследуемая цель одна — сократить число навесных элементов платы МП контроллера. Логика управления встроенными "подтягивающими" резисторами одинакова:

-- Подключение "подтягивающих" резисторов допускается аппаратными средствами драйвера только при конфигурировании линии порта на ввод.

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

-- Коммутацией "подтягивающего" резистора каждой линии управляет одноименный бит регистра входного сопротивления PTUEx. Значение этого бита может многократно изменяться в ходе выполнения прикладной программы, тем самым осуществляется динамическое управления входным сопротивлением линии порта ввода и током потребления этой линии.

25) Шесть типовых задач микроконтроллера для эффективного управления в реальном времени. Опыт построения МП-систем позволяет выделить типовые задачи, которые должен уметь решать МК для эффективного управления в реальном времени:

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

2) Контроль за изменением состояния линии ввода МК.

3) Измерение длительности сигнала заданного логического уровня на линии ввода МК.

4) Подсчет числа импульсов внешнего сигнала на заданном временном интервале.

5) Формирование на линии вывода МК сигнала заданного логического уровня с программируемой задержкой по отношению к изменению сигнала на линии ввода.

6) Формирование на линии вывода МК импульсного сигнала с программируемой частотой и программируемым коэффициентом заполнения.

26) Модуль таймера 8-разрядного микроконтроллера. Модули таймеров служат для приема информации отдатчиков с времяим-пульсными выходами, а также для формирования управляющих воздействий в виде последовательности импульсов с изменяющимися параметрами.

Модуль таймера 8-разрядного МК представляет собой 16-разрядный счетчик со схемой управления. В карте памяти МК счетчик отображается двумя регистрами: ТН — старший байт счетчика, TL — младший байт. Регистры доступны для чтения и для записи. Направление счета счетчика — только прямое, т.е. при поступлении тактовых импульсов десятичный эквивалент двоичного кода счетчика изменяется в сторону увеличения.

27) Два источника тактирования счетчика микроконтроллера. В зависимости от программных настроек счетчик может использовать один из двух источников тактирования:

1) Импульсную последовательность с выхода управляемого делителя частоты feus.

2) Внешнюю импульсную последовательность, поступающую на один из входов МК.

В первом случае говорят, что счетчик работает в режиме таймера, во втором — в режиме счетчика событий. При переполнении счетчика устанавливается триггер переполнения TF, который генерирует запрос на прерывание, если прерывания от таймера разрешены. После переполнения работа счетчика продолжается.

28) Последовательность действий таймера микроконтроллера для измерения временного интервала. Если рассмотренный таймер используется для измерения временного интервала tx, то необходимо выполнить следующую последовательность действий:

1) Прервать выполнение текущей программы при изменении сигнала на линии РТх1 с 0 на 10 В подпрограмме прерывания установить регистры счетчика таймера в $0000 и разрешить счет.

2) При изменении сигнала на линии РТх1 с 1 на 0 еще раз прервать выполнение программы МК. В подпрограмме прерывания остановить счет. Код в регистрах ТН и TL будет равен длительности интервала tx, выраженной числом периодов частоты тактирования счетчика таймера.

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

29) Усовершенствования «классического» модуля таймера микроконтроллера. Рассмотренный "классический" модуль таймера наиболее часто используется в МК с архитектурой MCS-51. Он претерпел некоторые усовершенствования:

1) Дополнительная логика счетного входа позволяет тактовым импульсам поступать на вход счетчика, если уровень сигнала на одной из линий ввода равен 1. Такое решение повышает точность измерения временного интервала, т.к. интервалы ^ и f2 теперь не являются составляющими погрешности измерения.

2) Реализован режим перезагрузки счетчика произвольным кодом в момент переполнения. Это позволяет формировать метки реального времени с периодом, отличным от периода полного коэффициента счета, равного 216.

Однако эти дополнения не устраняют главного недостатка модуля "классического" таймера — невозможность одновременного обслуживания (измерения или формирования импульсного сигнала) сразу нескольких каналов.

Совершенствование структуры подсистемы реального времени 8-разрядных МК ведется по двум направлениям:

1. Простое увеличение числа модулей таймеров. Этот путь характерен для части МК компаний Philips и Atmel со структурой MCS-51, для МК компаний Mitsubishi и Hitachi.

2. Модификация структуры модуля таймера, при которой увеличение числа каналов достигается не увеличением числа счетчиков, а введением дополнительных аппаратных средств входного захвата и выходного сравнения. Такой путь характерен для 8-разрядных МК Motorola, Microchip, Philips, Infineon.

30) Два направления совершенствования структуры подсистемы реального времени 8-разрядных микроконтроллеров. Совершенствование структуры подсистемы реального времени 8-разрядных МК ведется по двум направлениям:

1. Простое увеличение числа модулей таймеров. Этот путь характерен для части МК компаний Philips и Atmel со структурой MCS-51, для МК компаний Mitsubishi и Hitachi.

2. Модификация структуры модуля таймера, при которой увеличение числа каналов достигается не увеличением числа счетчиков, а введением дополнительных аппаратных средств входного захвата и выходного сравнения. Такой путь характерен для 8-разрядных МК Motorola, Microchip, Philips, Infineon.

31) Типовая структура усовершенствованного модуля таймера микроконтроллера. Типовая структура усовершенствованного модуля таймера представлена на Рис. 1.18. Счетчик таймера дополнен аппаратными средствами входного захвата и выходного сравнения. Эти средства принято называть каналом входного захвата 1C (Input Capture) и выходного сравнения ОС (Output Compare).