Справочник от Автор24
Поделись лекцией за скидку на Автор24

Основные понятия и определения микропроцессорной техники. Понятие об архитектуре микропроцессорной системы. Классификация однокристальных микроконтроллеров (ОМК) и микропроцессоров. RISC-архитектура ОМК. Основные типы МПСУ. Принципы построения и структура технических средств микропроцессорного контроллера (МПК). Основные этапы разработки микропроцессорной системы. Цифровые сигнальные процессоры.

  • 👀 444 просмотра
  • 📌 398 загрузок
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Основные понятия и определения микропроцессорной техники. Понятие об архитектуре микропроцессорной системы. Классификация однокристальных микроконтроллеров (ОМК) и микропроцессоров. RISC-архитектура ОМК. Основные типы МПСУ. Принципы построения и структура технических средств микропроцессорного контроллера (МПК). Основные этапы разработки микропроцессорной системы. Цифровые сигнальные процессоры.» pdf
Оглавление 1. Введение .................................................................................................................................4 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 1.7. 1.8. 2. Проектирование МПУ на основе периферийных ОМК...................................................11 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8. 2.9. 2.10. 2.10.1. 2.10.2. 2.10.3. 2.10.4. 2.11. 2.12. 3. Цели курса. Основные разделы курса. ............................................... 4 Основные определения. Классификация МПК.................................. 5 Классификация ОМК............................................................................ 5 Основные архитектуры процессоров ОМК........................................ 6 Классификация микропроцессорных систем..................................... 6 Гарвардская и Фон-Неймовская архитектура памяти контроллера (ОМК) .............................................................................. 8 Общая структура микропроцессорного устройства для систем управления ............................................................................................. 8 Структура программного обеспечения МПУ .................................. 10 Основные особенности периферийных ОМК.................................. 11 Семейства однокристальных PIC-контроллеров ............................. 11 PIC-контроллер PIC16C58 ................................................................. 12 Внутренняя структура контроллера PIC16C58................................ 13 Схемы синхронизации PIC16C58...................................................... 13 Организация памяти программ контроллера PIC16C58 (ПЗУ)...... 14 Организация памяти данных (внутреннее ОЗУ контроллера PIC16C58) ............................................................................................ 15 Модуль таймера/счетчика контроллера PIC16C58.......................... 17 Сторожевой таймер WDT контроллера PIC16C58.......................... 18 Система команд контроллера PIC16С58 .......................................... 19 Команды работы с байтами ................................................................................19 Команды работы с битами PIC16C58 ................................................................22 Команды передачи управления и работы с константами ................................23 Команды управления режимами работы контроллера PIC16C58 ..................24 Влияние команд контроллера на биты-признаки результата (в регистре STATUS) .............................................................................. 24 Разработка простейшего устройства на основе PIC-контроллера. 24 Проектирование МПУ на основе универсальных восьмиразрядных ОМК семейства MSC–51 ...............................................................................................................................25 3.1. 3.2. 3.3. 3.4. 3.4.1. 3.4.2. 3.4.3. 3.4.4. 3.5. Основные технические характеристики и структура ОМК К1816ВЕ51........................................................................................... 25 Назначение основных выводов БИС ОМК К1816ВЕ51 ................. 26 Организация памяти данных контроллера ВЕ51............................. 28 Система команд ОМК К1816ВЕ51.................................................... 30 Команды пересылки данных .................................................................................30 Команды арифметических операций....................................................................32 Команды работы с битами.....................................................................................33 Команды передачи управления или переходов...................................................34 Встроенные таймеры счетчики контроллера К1816ВЕ51 .............. 35 2 3.6. 3.7. 3.8. 3.9. 3.10. 3.11. 4. Принципы организации систем дискретного ввода-вывода в МПС ..............................45 4.1. 4.2. 4.3. 4.4. 4.4.1. 4.4.2. 4.4.3. 4.4.4. 4.4.5. 4.5. 4.6. 4.7. 4.8. 5. Общая структура систем дискретного ввода-вывода ..................... 45 Реализация селекторов адреса ........................................................... 46 Реализация портов ввода-вывода ...................................................... 47 Программно-аппаратное обеспечение ввода дискретных сигналов. .............................................................................................. 49 Согласование логических уровней сигналов.......................................................49 Схемы устранения дребезга контактных датчиков.............................................51 Программные способы устранения влияния дребезга контактов .....................52 Аппаратное обеспечение вывода логических сигналов .....................................53 Особенности ввода коротких логических сигналов ...........................................55 Обеспечение взаимодействия микропроцессорных устройств и ЭВМ верхнего уровня......................................................................... 56 Средства взаимодействия МПУ с оператором ................................ 58 Жидкокристаллические индикаторные панели ............................... 60 Совмещенные контроллеры клавиатуры и индикатора.................. 61 Организация подсистем ввода/вывода аналоговых сигналов МПУ...............................64 5.1. 5.2. 5.3. 5.4. 5.5. 5.6. 5.7. 5.8. 6. Встроенный последовательный интерфейс ОМК ........................... 37 Задание скорости передачи по последовательному интерфейсу... 39 Система прерываний ОМК ВЕ51 ...................................................... 40 Механизм обслуживания прерываний ОМК.................................... 42 Построение расширенных МП систем на основе ОМК ВЕ 51 ...... 42 Дальнейшее расширение и развитие семейства ОМК MCS-51 ..... 44 Вывод аналоговых сигналов .............................................................. 64 Общая структура подсистемы ввода аналоговых сигналов ........... 66 Основные типы АЦП, используемые в МПУ. Основные характеристики выбора АЦП ............................................................ 67 Программно–аппаратная реализация время–импульсного АЦП с однократным интегрированием......................................................... 68 Время–импульсный АЦП двойного интегрирования ..................... 69 Программно–аппаратная реализация АЦП последовательного счета и последовательных приближений ......................................... 72 Понятия о АЦП с дельта–сигма–модуляцией.................................. 73 Устройство выборки хранения (УВХ) .............................................. 73 Общие принципы использования 16-разрядных ОМК ....................................................76 6.1. 6.2. 6.3. 6.4. 6.5. 6.6. 6.7. 6.8. 6.9. Общая характеристика 16-разрядных ОМК..................................... 76 Основные технические характеристики ОМК SAB80C167 ........... 77 Внутренняя структура ОМК SAB80C167 ........................................ 80 Организация памяти ОМК С167 ....................................................... 80 Системный стек ОМК С167............................................................... 81 Способы адресации данных в ОМК С167 ........................................ 82 Общая структура процессорного модуля С167 (CPU C167) .......... 83 Особенности системы прерываний ОМК SAB80C167 ................... 85 Периферийный контроллер событий (PEC)..................................... 86 3 6.10. 6.11. 6.12. 6.13. Модули захват-сравнение ОМК С167 .............................................. 87 Встроенный начальный загрузчик ПО или ОС ОМК С167............ 88 Встроенный модуль ШИМ ОМК С167............................................. 88 Встроенный контроллер промышленной CAN-сети (CANмодуль) ................................................................................................. 89 4 Тема 1.- 6 часов (у.з.-1) Введение. Основные понятия и определения микропроцессорной техники. Понятие об архитектуре микропроцессорной системы. Классификация однокристальных микроконтроллеров (ОМК) и микропроцессоров. RISC-архитектура ОМК. Основные типы МПСУ. Принципы построения и структура технических средств микропроцессорного контроллера (МПК). Основные этапы разработки микропроцессорной системы. Цифровые сигнальные процессоры. 1. Введение 1.1. Цели курса. Основные разделы курса. Обучение разработки аппаратных средств микропроцессорных устройств СУ на основе однокристальных микроконтроллеров (ОМК). Обучение навыкам программирования ОМК на языках низкого уровня. Основные разделы курса: 1. Основные определения. Классификация микропроцессорных контроллеров (МПК). 2. Разработка микропроцессорных устройств на основе периферийных ОМК (PIC). 3. Разработка микропроцессорных устройств на основе универсальных 8ми разрядных ОМК (MCS-51, К1816ВЕ51). 4. Особенности использования 16-разрядных ОМК. 5. Особенности построения подсистем ввода/вывода аналоговых и дискретных сигналов. 6. Построение подсистем взаимодействия с оператором и управляющими ЭВМ высших уровней. 1. 2. 3. 4. 5. 6. 7. Литература. Сташин В.В. , Урусов А.В. и др. Проектирование цифровых устройств на ОМК. Москва, Энергоиздат, 1990г. 300 с. Однокристальные микро-ЭВМ. Справочник. Под редакцией Боборыкина А.В., Москва, Бином ,1994. Щелкунов Н.Н., Дианов А.П. Микропроцессорные средства и системы. Москва, Радиосвязь,1989. Предько М. Руководство по микроконтроллерам. Москва, Постмаркет, 2001. ОМК фирмы Microchip PIC16C5X. Под редакцией Владимирова А.М. Рига, Ормикс, 1996. Федоров Б.Э., Телец В.А. Интегральные схемы ЦАП и АЦП. Москва, Энергоатомиздат,1990г. Угрюмов Е.П. Цифровая схемотехника. Санкт-Петербург, БХВ 2000г. 5 1.2. Основные определения. Классификация МПК Микропроцессор (МП) - функционально законченный процессор ЭВМ реализованный в виде одной или нескольких БИС и предназначен для обработки цифровой информации по заданным программам. Микропроцессорный контроллер (МПК) – функционально законченная микро-ЭВМ, предназначенная для целей контроля и управления. МПК может реализовываться на следующей элементной базе: - однокристальных микропроцессорах (ОМП); - секционных (многокристальных) МП; - однокристальных микроконтроллерах (ОМК); - сложных матричных программируемых логических схемах (ПЛИС, PLD, CPLD и др.). ОМК – функционально законченный МПК, реализованный в виде одной СБИС (сверх-БИС).ОМК включает в состав: процессор, ОЗУ, ПЗУ, порты ввода/вывода для подключения внешних устройств, модули ввода аналогового сигнала АЦП, таймеры, контроллеры прерывания, контроллеры различных интерфейсов и т.д. Простейший ОМК представляет собой БИС площадью не более 1 см 2 и всего с восемью выводами. 1.3. Классификация ОМК Различают: 1) Периферийные (интерфейсные) ОМК предназначен для реализации простейших МП систем управления. Имеют малую производительность и малые габаритные размеры. В частности может использоваться периферийными устройствами ЭВМ (клавиатура, мышь и т.п.) К ним относятся: PIC – Micro Chip, VPS – 42 (Intel). 2) Универсальные 8–разрядные ОМК предназначены для реализации МП систем малой и средней производительности. Имеют простую систему команд и большую номенклатуру встроенных устройств. Основные типы: MSC – 51 (Intel) Motorola HC05 – HC012 и др. 3) Универсальный 16–разрядный ОМК. Предназначен для реализации систем реального времени средней производительности. Структура и система команд нацелены на скорейшую реакцию на внешние события. Наибольшее использование имеют в системах управления электродвигателями (мехатронные системы). 4) Специализированные 32–разрядные ОМК реализуют высокопроизводительную ARM архитектуру и предназначены для систем телефонии, передачи информации, телевидения и других , требующие высокоскоростной обработки информации. 6 К типовым 16–разрядным ОМК относятся: MSC96/196/296 (Intel), C161–C167 (Siemens, Infineon), HC16 Motorola и др. 5) Цифровые сигнальные процессоры (DSP – Digital Signal Processor) предназначен для сложной математической обработки измеряемых сигналов в режиме реального времени. Широко используются в телефонии и связи. Основные отличия DSP: повышенная разрядность обрабатываемых слов (16,32,64 бита) и высокая скорость в формате с плавающей точкой (16 flops).Производители: Texas Instruments (TMS 320 и др.), Analog Device (ADSP 2181 и др.). 1.4. Основные архитектуры процессоров ОМК В современных ОМК применяются следующие архитектуры процессоров : - RISC – (Reduce Instruction Set Commands ) архитектура с сокращенным набором команд. - CISC – (Complex Instruction Set Commands) традиционная архитектура с расширенным набором команд. - ARM – (Advanced RISC - machine) усовершенствованная RISC архитектура. Главная задача RISC архитектуры обеспечение наивысшей производительности процессора. Её отличительными чертами является: - малое число команд процессора (несколько десятков); - каждая команда выполняется за минимальное время (1-2 машинных цикла, такта). - максимально возможное число регистров общего назначения процессора (несколько тысяч); - увеличенная разрядность процессора (12,14,16 бит). Современная RISC архитектура включает, как правило, только последние 3 пункта, т.к. за счет повешенной плотности компоновки БИС стало возможным реализовать большое количество команд. В современных 32–разрядных ОМК используют ARM архитектуру (расширенная RISC архитектура с суперсокращением команд ТНUМВ ). 1.5. Классификация микропроцессорных систем МПС делят на три основных типа: – программно-логического управления (ПЛУ); – системы сбора и обработки информации (СОИ); – системы цифрового автоматического управления (ЦАУ). 7 Системы ПЛУ характеризуются тем, что все измеренные сигналы Хi и выданные на объект сигналы управления Yi имеют логический характер (да/нет, вкл/выкл). Yi = {1 или 0}; Xi = {1 или 0} Y1 i =1,m i=1,n Ym МПУ X1 ОУ Логические сигналы управления Yi вычисляются в МПУ программно, как Xn выходные сигналы логических функций или конечных логических аппаратов. Системы СОИ предназначены для выполнения трех основных функций: - постоянный опрос и измерение сигналов с группы датчиков (датчики давления, температуры, тока и т.д.) находящихся на объекте - первичная обработка измерений информации (устранение помех, преобразование формата данных и т.д.) - сохранение блоков измеренной информации в памяти или передача её на ЭВМ верхнего уровня (ЭВМ ВУ) Общая структура имеет вид: НУ1 МПУ АЦП Д1 АК ОУ к ЭВМ ВУ НУn Дn Д1,…,Дn – датчики на ОУ. НУ1,…,НУn – нормирующие устройства, преобразующие сигнал с датчиков в требуемый диапазон для измерения АЦП. АК – аналоговый коммутатор, осуществляет подключение одного из датчиков к АЦП для измерения Системы ЦАУ предназначены для организации с замкнутого контура управления объектом и реализует функции автоматического регулятора, заданного Z-передаточной функцией или разностным уравнением. ИУ – исполнительное устройство; АЦП НУ Д СУ – согласующее устройство, задающее g ОУ усиливающее сигнал с ЦАП воздействие АЦП СУ ИУ или ШИМ до уровня ШИМ требуемого ИУ. ШИМ – широтно-импульсный модулятор, используется для преобразования кода в аналоговый сигнал, путем модуляции ширины импульса. 8 Важную роль в системах ЦАП играют устройства отчета времени – таймера, они определяют интервал измерения и выдачи управляемых сигналов в системе. 1.6. Гарвардская и Фон-Неймовская архитектура памяти контроллера (ОМК) Главными отличительными чертами Гарвардской архитектуры организации памяти контроллера является: – реализация в виде различных устройств памяти для программ и памяти для данных. – использование двух параллельно работающих независимых шин для чтения данных и команд. Замечание: Объем ПД как правило значительно меньше объема ПП. Основные преимущества Фон-Неймоновской архитектуры: – простота аппаратной реализации – универсальность исполнения команд В настоящее время используются обе архитектуры памяти: Гарвардская в несложных восьми - разрядных контроллерах, Фон-Неймоновская в универсальных 16- разрядных и выше. 1.7. Общая структура микропроцессорного устройства для систем управления Она имеет СС МПМ БФСМ БЗУ БОП БФВИ Иные устройства СМ (СИСТАМНАЯ МАГИСТРАЛЬ) СТ WDT УВВ АС УВВ DC К ОБЪЕКТУ БПС к ЭВМ ВУ ККИ БФИ Индикатор Клавиатура следующий вид: В микропроцессорных устройствах используются магистрально – модульная структура, т.е. к единой системной магистрали (СМ) подключены все основные блоки: МПМ–микропроцессорный модуль реализуется на основе однокристального процессора или микроконтроллера. СС–схема синхронизации, обеспечивает генерацию тактовой частоты процессора и сигнала «Сброс». 9 БФСМ–блок формирования системной магистрали, преобразует сигналы управления микропроцессора в сигналы шин системной магистрали. БЗУ–блок запоминающих устройств, включает ОЗУ, ПЗУ, часто энергонезависимую память. БОП–блок обработки прерывания от основных модулей микропроцессорного устройства. БФИ–блок формирования времени интервалов, используется как для подсчета времени, так и для подсчета внешних импульсов; реализуется в виде таймера-счетчика. СТ (WDT)–Watch Dog Timer-сторожевой таймер, предназначен для устранения аварийных зацикливаний программ микропроцессорного устройства. УВВ АС–устройство ввода/вывода аналоговых сигналов, предназначенных для измерения и генерации напряжений различной амплитуды, как правило, находящейся в диапазоне 0…10 В. При этом как устройство ввода используется АЦП, а как устройство вывода аналогового сигнала ЦАП или ШИМ. УВВ DC–устройство ввода/вывода дискретных сигналов, предназначенных для измерения и выдачи логических сигналов, как правило, ТТЛ-уровней. БПС–блок последовательной связи, предназначен для приема и передачи информации из МПУ на ЭВМ ВУ, или на другое устройство. Представляет собой либо последовательный интерфейс, либо промышленную сеть. ККИ–контроллер клавиатуры и индикаторов, предназначен для подключения к устройству клавиатуры и линейки семи сегментных или жидкокристаллических индикаторов. БФИ–блок формирования интерфейса, предназначен для усиления сигналов СМ и выдачи их на разъем. Определение. МПУ называется с открытой архитектурой, если сигналы СМ выдаются на разъем и могут быть использованы для подключения внешних устройств. Иначе-с закрытой архитектурой. Иные периферийные устройства–в качестве них может быть использованы контроллеры различных последовательных и параллельных интерфейсов(для подключения приборов, внешней дисковой памяти, специальных устройств управления и т.д.). Часто в промышленных МПУ используется накопители на «твердых» дисках. По сути дела это Flash-память, но с файловой организацией, как у диска. Тема 2. - 2 часа (у.з.-2). Системное программное обеспечение (ПО) микропроцессорных систем. Состав и структура ПО микропроцессорной системы. Общая структура и основные функции управляющей программы “монитор”. Общая характеристика 10 тестовых процедур основных узлов микропроцессорного контроллера. Библиотеки стандартных прикладных программ. 1.8. Структура программного обеспечения МПУ Программное обеспечение можно разбить на три основные части: – резидентное системное ПО – резидентное прикладное ПО – инструментальный кросс системы разработки ПО. Резидентное системное ПО включает: – операционные системы реального времени ОСРВ для МПУ (RTX, X11, QHS, LINUX,…). Основная функция ОСРВ - минимизация времени ответа прикладного ПО на внешние запросы, а также упрощение взаимодействия прикладных программ с основными узлами МПУ. В простейшем случае ОС реального времени может заменяться программой–монитором; – тестовые программные процедуры; – библиотеки прикладных подпрограмм, предназначены для упрощения написания прикладного программного обеспечения. Программа-монитор предназначена для упрощения взаимодействия с пользователем через клавиатуру или последовательный интерфейс. К основным командам монитора относится: – просмотр и модификация ячеек памяти устройства (S-команды); – запуск программы с введенного адреса (G-команды); – просмотр и модификация портов ввода/вывода контроллера (I/Oкоманды); – пошаговое выполнение программы контроллера (J-команды) и т.д. Тестовые процедуры предназначены для поиска неисправностей и проверке работоспособности основных узлов МПУ. Стандартные библиотеки прикладных программ могут иметь различный состав в зависимости от области применения МПУ. Инструментальные кросс системы разработки ПО представляют собой совокупность программ для инструментальной ЭВМ. Замечание. Основным отличием ОС реального времени от универсальных ОС является то, что их главная цель-минимизация задержки для ответа на внешний запрос. Основная цель универсальных ОС - оптимальное распределение ресурсов ЭВМ при выполнении программ. 11 Тема 3.- 10 часов (у.з.-3) Разработка микропроцессорных систем на базе однокристальных микроконтроллеров c RISCархитектурой . Особенности разработки микропроцессорных систем на базе контроллеров с RISC-архитектурой. Программируемые периферийные контроллеры. Основные технические характеристики контроллера серии PIC16C5X. Общая архитектура и обозначение выводов. Организация памяти контроллера семейства PIC16C5X. Регистры ввода-вывода, внутренний таймер и схемы синхронизации. Система команд контроллера семейства PIC16C5X. Особенности контроллеров с AVRархитектурой. Средства разработки PIC-контроллеров. 2. Проектирование МПУ на основе периферийных ОМК 2.1. Основные особенности периферийных ОМК Предназначены для реализации простейших алгоритмов управления объектами или реализации вспомогательных функций в сложных схемах управления. Отличительными особенностями их является: – реализуются на основе Гарвардской архитектуры. – система команд не предназначена для реализации сложных математических вычислений (отсутствует умножение и деление). – практически исключают аппаратное поддерживают реализацию внешней СМ. расширение, т.к. не – имеют малые габаритные размеры. – используется восьмиразрядный процессор обработки данных. В настоящее время используются следующие типы периферийных контроллеров: - PIC(Peripherial Interface Controller) фирмы MicroChip, - I8042(Intel), UPI-42(NEC), К1835ВЕ49 (РОССИЯ), - К1878ВЕ1(Тесей) на основе RISC-архитектуры и т.д. 2.2. Семейства однокристальных PICконтроллеров Выделяют четыре основных семейства контроллеров с RISC-архитектурой: восьмиразрядных PIC- 1) PIC16C5*-основное или базовое семейство контроллеров с двенадцатиразрядными командами. Это имеет простейшую архитектуру. 12 2) PIC16C6*/7*/8*-усовершенствованное семейство средней производительности с четырнадцатиразрядными командами. Данное семейство характеризуется большой номенклатурой встроенных устройств в контроллер(АЦП,ЦАП,ШИМ). 3) PIC17C**-высокопроизводительное семейство с шестнадцатиразрядными командами. По своим возможностям приближающиеся к восьмиразрядным универсальным контроллерам. 4) PIC18C**-модифицированное высокопроизводительное семейство контроллеров с четырнадцати и шестнадцатиразрядными командами. По сравнению с предыдущими семействами имеет встроенную Flash-память (перепрограммируемое ПЗУ);систему команд адаптированную под компилятор языка С (Си) и линейно адресное пространство (в отличие от страничного, используемого ранее). Замечание. Все перечисленные PIC-контроллеры обладают полной командной совместимостью на уровне ассемблерных мнемоник. * − любая цифра 2.3. PIC-контроллер PIC16C58 Данный контроллер относится к базовому семейству контроллеров с двенадцатиразрядными командами и построен на основе RISC-архитектуры. Основные технические характеристики: 1) Тактовая частота контроллера-20 МГц (быстродействие при этом –5 MIPS). Контроллер является полностью ????? устройством, т.к. он может работать при любой тактовой частоте от 0 до 20 МГц. 2) Объем внутреннего ПЗУ (памяти программ) 2Кдвенадцатиразрядных слов (ПЗУ с ультрафиолетовым стиранием, либо однокристальным программируемым ПЗУ). 3) Объем внутреннего ОЗУ (памяти данных) 73-восмиразрядных ячеек или регистра общего назначения. 4) Система команд включает 33 однословных команды (т.к. RISCархитектура). Каждая команда выполняется за один машинный цикл (200нс), исключение составляет лишь одна команда перехода, выполняемая за два машинных цикла. 5) Имеется встроенный восьмиразрядный таймер-счетчик (tmv0) с восьмиразрядными предварительным делителем частоты. 6) Имеется двухуровневый аппаратный стек. Т.о. вложенность подпрограмм не может превышать 2. 13 7) Контроллер обладает низким электропотреблением: при напряжении питания 2,4~6 В., потребляемый ток 2мА в нормальном режиме и 2мкА в режиме пониженного электропотребления. 8) реализуется в виде ИС с восемнадцатью выводами. 9) Имеется 12 линий ввода/вывода для подключения к объекту управления, организованных в два порта ввода/вывода: – порт А – четырехразрядный; – порт В – восьмиразрядный. 2.4. Внутренняя структура контроллера PIC16C58 Внутренняя ОЗУ (память данных) контроллера состоит из 73 восьмиразрядных РОН (регистров общего назначения) и 6 регистров специального назначения. К специальным регистрам относят: – TMR0-регистр данных таймера счетчика контроллера. – STATUS-регистр признаков состояния процессора). выполненной операции (слова – FSR-регистр адреса для косвенной адресации данных. – PCL-младший байт счетчика РС контроллера. – ПОРТ А и ПОРТ В- регистр данных портов ввода/вывода. Все перечисленные специальные регистры относятся к устройствам непосредственно не связанным с ОЗУ. Однако, все эти регистры отображены в адресном пространстве ОЗУ, т.е. для команд они рассматриваются как ячейки ОЗУ с соответствующими адресами. АЛУ контроллера позволяет обрабатывать восьмиразрядные данные и выполнять при этом следующие операции: сложение, вычитание, сдвиг, логические операции и битовые операции. Если в команде контроллера используется 2 операнда, то один из них обязательно размещается в рабочем регистре (аккумуляторе W). Это основной регистр контроллера, и большинство команд оперирует с ним. При выполнении команды, признаки полученного результата АЛУ обязательно запишется в регистр STATUS. 2.5. Схемы синхронизации PIC16C58. Для генерации тактовой частоты к выводам контроллера подключают кварцевый резонатор по схеме: OSC1 и OSC2 14 Qz 20МГц OSC1 C1=15пФ C2=15пФ OSC2 Емкости С1и С2-запускающие. Вместо кварцевого резонатора (Qz) возможно использование внешних RC- цепочек: R'=3 ... 100K C'=20пФ R’=3кОм fosc=5МГц R’=100кОм,fosc=100кГц +Uп=5В OSC1 OSC2 fosc/4 При использовании RC-цепочек тактовая частота fosc нестабильна и зависит от изменения напряжения питания Uп, температуры окружающей среды и старения RC-элементов. Для начального «Сброса» контроллера используют следующую схему: Диод VD для быстрого разряда емкости при включении питания Uп. 10k +Uп=5В VD Данная схема формирует сигнал «Сброс» 10k (MCLR) требуемой длительности MCLR (10…100мс). Сброс 1.0 Тактовая частота fosc внутри контроллера делится на 4, т.о. формируется частота машинных циклов: Fмц=fosc/4. За один машинный цикл (МЦ) в контроллере параллельно выполняется две операции: – выполнение текущей команды. – Выборка следующей команды из памяти. 2.6. Организация памяти программ контроллера PIC16C58 (ПЗУ) Память программ контроллера предназначена для хранения выполняемых контроллером программ и имеет объем 2к двенадцатиразрядных слов. Весь объем памяти программ разбит на четыре страницы, причем объем каждой страницы- 512 слов. Команды всегда выполняется из текущей страницы памяти программ. Номер текущей страницы определяется шестым и пятым битом регистра «STATUS». Эти биты обозначаются РА1 и РА0. Общая структура памяти программ имеет вид: 15 Ячейка с адресом 7FFH является стартом, т.к. на нее осуществляется переход при сбросе, при включении питания. В ней располагают команду безусловного перехода GOTO на нужную программу. 2.7. Организация памяти данных (внутреннее ОЗУ контроллера PIC16C58) Внутреннее ОЗУ состоит из : – 73 регистров 0H (ячеек),организованных в виде четырех банков регистров; – банка специальных регистров, включающих семь регистров управления. Общая структура памяти данных имеет вид: Текущий, используемый в данный момент банк РОН определяется шестым и пятым битом регистра FSR. Память данных построена т.о., что при выборе любого из банков остается доступным банк специальных регистров. При этом он заменяет отсутствующие ячейки с адресами (20H…2FH, 40…4FH, 60…6FH). Рассмотрим подробнее управляющие регистры из банка специальных регистров: INDF* (адрес в ОЗУ 0Н) – это регистр данных при косвенной адресации данных. Физически данный регистр не существует, он используется только совместно с регистром FSR. При обращении к регистру INDF фактически происходит обращение к ячейки ОЗУ, адрес которой находится в регистре FSR. Пример. ADDNF INDF,0 ; W W+(ячейка с адресом из FSR) TMR0 (адрес в ОЗУ 1Н) - регистр данных восьмиразрядного таймера-счетчика контроллера . PCL (адрес в ОЗУ 2Н) - младший байт счетчика команд контроллера РС . Счетчик команд РС одиннадцатиразрядный и используется для адресации команд в памяти программ контроллера. Он позволяет адресовать любую из 2048 = 211 команд, находящихся в памяти программ. Формат счетчика команд РС: A10 A9 6 5 PA1 PA2 A8 STATUS определяет номер текущей страницы пп A7 A6 A5 A4 A3 A2 A1 A0 PCL (ячейка с адресом 02Н) значение зависит от выполняемой команды GOTO,то А8 определяется адресом перехо да из команды CALL (вызов в п/п), то А8=0 16 PCL может изменятся любой командой перехода, либо командой изменения содержимого ячейки памяти . STATUS (адрес в ОЗУ 03Н) - регистр признаков результатов (регистр состояния контроллера) имеет формат: Z - признак нулевого 7 результата. PA 1 PA0 TO TD Z DC C C - бит-признак переноса (заем) из старшего номер текущей разряда. страницы п п DC - бит-признак дополнительного переноса из одной тетрады байта в другую. TO и TD - биты, определяющие источник сигнала «Сброс контроллера» (сторожевой таймер WDT, внешний сигнал сброса), а также режим контроллера, в котором этот сигнал поступил (рабочий режим, режим пониженного потребления) . FSR (адрес в ОЗУ 4Н) - регистр адреса при косвенной адресации операндов (см. INDF* ). Формат регистра FSR: 7 х B1 B0 номер текущего банка ПД a4 a3 a2 a1 a0 адрес ячейки в текущем банке ПД Замечание. Если разряд a 4 в регистре FSR a 4 = 0 , то номер текущего банка B1 , B0 не анализируется и всегда выбирается банк специальных регистров. Port A, Port B (адрес в ОЗУ 05Н и06Н) - регистры данных портов ввода/вывода контроллера. Разрядность регистра PortA- 4 бита (отсутствует 4 старших бита), разрядность PortB - 8 бит. Для управления портами используются специальные регистры управления: TRIS A и TRIS B (Transiver / Resiver Instruction Set). Разрядность регистров TRIS A и TRIS B совпадает с разрядностью соответствующих портов (Port A и Port B). Установка бита в регистр TRIS управляет соответствующим битом PortA и Port B. Установка разряда регистра TRIS в единицу программирует соответствующий разряд порта на ввод информации. Установка в ноль программирует разряд порта на вывод. Для записи информации в регистр TRIS используется специальные команды: TRIS 5 ; W→ TRIS A 17 TRIS 6 ; W→ TRIS B Чтение или запись информации в порт А или В осуществляется теми же командами, что и для записи/чтения ячеек ОЗУ: MOV WF Port A, W ; Port A→N MOV F Port A, W ; W→ Port A. 2.8. Модуль таймера/счетчика контроллера PIC16C58 Данный модуль предназначен для : – подсчета числа внешних импульсов, подаваемых на вход контроллера TOCKI (режим счетчика); – подсчета числа машинных циклов контроллера (fosc/4) (режим таймера). Замечание. Т.к. частота машинных циклов при использовании кварцевого резонатора высокостабильна, то второй режим используют для подсчета времени. Структурная схема таймера/счетчика имеет вид: fosc/4 (мц) Прдварительный делитель частоты TOCKI 1 1 Задержка 2 импульса Счетчик TMR0 (8разр.) 8 3 7 OPTION х х TOCS TOSE PS PS2 PS1 к ОЗУ PS0 Основными блоками таймера/счетчика является: – восьмиразрядный двоичный суммирующий счетчик TMR0; – восьмиразрядный предварительный делитель частоты, который также представляет восьмиразрядный счетчик с программируемым коэффициентом деления частоты . Основной отличительной чертой счетчика TMR0 от восьмиразрядного предделителя частоты является то, что информацию о числе бит подсчитанных предделителем частоты считать невозможно. Предделитель работает как программируемый делитель частоты. При записи информации в TMR0 автоматически обнуляется предделитель частоты. Поясним назначение бит регистра OPTION, управляющего работой таймера/счетчика и изображенного на рисунке выше: TOCS - бит, определяющий режим таймера (TOCS=0) или счетчика (TOCS=1); 18 TOSE - определяет управляющий фронт по которому осуществляется модификация таймера- счетчика: 1 1 1 PS -бит, определяющий назначение предва-рительного делителя частоты ( если PS=0, то предделитель используется со сторожевым таймером WDT, но не с таймером TMR0, с TMR0 когда PS=1). PS2 PS2 PS2 TMR0 WDT 1 1 1 1 1 1 1 1 1 1 1 1 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256 1:1 1:2 1:4 1:8 1:16 1:32 1:64 1:128 - биты, определяющие коэффициент деления частоты предделителя в соответствии с таблицей. PS2 − PS0 Для записи информации в регистр OPTION используется специальная команда: OPTION; W→OPTION 2.9. Сторожевой таймер WDT контроллера PIC16C58 Сторожевой таймер предназначен для устранения аварийных зацикливаний программ контроллера (зависания). Принцип его работы состоит в следующем, через строго определенный интервал времени (≈18мс) сторожевой таймер генерирует сигналы «сброс контроллера». Нормально функционирующее ПО не должно допускать сброса контроллера, осуществляя постоянное обнуление WDT и тем самым, заставляя его начать отсчет времени заново. Обнуление WDT осуществляется специальными командами: CLEEP; или CLRWDT. Если же программа зациклилась, то обнуление WDT не произойдет вовремя, а следовательно произойдет сброс контроллера и перезапуск ПО. 19 Общая структураWDT имеет вид: Непосредственно таймер WDT представляет собой RC-генератор встроенный в контроллер и работающий независимо от основной тактовой частоты. В случае использования предделителя частоты с WDT интервал генерации сигнала «сброс» увеличивается на коэффициент деления предделителя (максимальный интервал может быть 128⋅8мс ≈ 2,3с). 2.10. Система команд контроллера PIC16С58 Состоит из 33 двенадцатиразрядных команд. При этом каждая команда имеет поля бит, определяющие код операции (КОП) и используемые командой операнды (ОП): В качестве операнда в команде 11 10 1 контроллера может использоваться: – любая ячейка внутреннего ОЗУ КОП ОП контроллера (при этом в команде указывается ее адрес); предделитель частоты 1 Сброс WDT PS (OPTION) PS2...PS0 (OPTION) – непосредственно число (данное), участвующее в операции; – любой из битов одной из ячеек памяти ОЗУ(при этом указывается адрес ячейки и номер бита). Выделяют три основных группы команд контроллера: – команды работы с байтами; – команды работы и битами; – команды передачи управления и работы с константами. Группировка команд осуществляется по общности битовых форматов команд. 2.10.1. Команды работы с байтами Битовый формат этих команд имеет вид: 6 11 КОП 5 4 1 f d ОП d-бит, определяющий результата операции. приемник ⎧0, приемник результатаW d=⎨ ⎩1, f 20 f - поле, определяющие адреса используемого регистра из внутреннего ОЗУ контроллера. Все команды работы с байтами делят на подгруппы: 1) Команды арифметических операций. 2) Команды логических операций. 3) Команды пересылки данных. 1) Команды арифметических операций. ⎧W, d = 0 ⎩f, d = 1 а) ADDWF f, d ; f +W→ ⎨ Сложить содержимое регистра F с содержимым рабочего регистра W, результат в W, если d=0 и в f, если d=1. КОП: 000 111 Пример. ADDWF FSR, 0; FSR+W→W. Для данной команды составим КОП: 5 11 1 1 1 d 1 1xC4H адрес FSR=4H ⎧W, d = 0 команда вычитания. ⎩f , d = 1 ⎧f , d = 1 в) DECF f, d ;f-1= ⎨ команда декремента (уменьшения на 1). ⎩W, d = 0 ⎧f , d = 1 г) DECFSZ f, d ;f-1= ⎨ команда спецдекремента. ⎩W, d = 0 б) SUBWF f, d ; f-W= ⎨ Уменьшение f на единицу и с попуском следующей команды, если получен нулевой результат. Замечание. Реально процессор при пропуске, вместо выполнения следующей команды, выполнит пустую операцию, если при вычитании получен нулевой результат. Команда DECFSZ используется для организации цикла. Пример. MOVLW 0x10H; W загрузить 10Н MOVWF COUNT ; W перегрузить в яч. ОЗУ с адресом COUNT L1 ……; метка L1 < команда 1 > ⎫ ⎬повторяется (тело цикла) < команда 2 > ⎭ DECFSZ COUNT, 1 ; COUNT←COUNT-1 GOTO L1 Тело цикла будет повторено столько раз, какое значение было изначально загружено в ячейку ОЗУ COUNT. ⎧f , d = 1 команда инкремента (увеличения на 1). ⎩W, d = 0 д) INCF f, d ; f +1→ ⎨ 21 Пример. INCF FSR, 1; FSR← FSR+1 INCF 4, 1; FSR← FSR+1 ↑ адрес FSR ⎧f , d = 1 ; команда спец. инкремента. ⎩W, d = 0 е) INCFSZ f, d; f +1→ ⎨ Инкремент, но с пропуском следующей команды, если получен нулевой результат. Замечание. Нулевой результат возникнет при переполнении регистра f. Эта команда также используются для организации цикла. 2) Команды логических операций. а) ANDWF f, d – логическое умножение (“И”). IORWF f, d – логическое сложение (“ИЛИ”). XORWF f, d – логическое сложение по модулю два (исключающее ИЛИ). ⎧W, d = 0 f ⊕W→⎨ ⎩f , d = 1 Замечание. Все логические операции выполняются побитно & 0010 1010 0110 1100 0010 1000 б) RLF f , d - ⎫ − на 1 бит влево ⎬ команды логического сдвига: RRF f , d -⎭ − на 1 бит вправо ↔ ⎧f , d = 1 →⎨ f ⎩f , d = 0 Схема сдвигов имеет вид: нулевой бит регистра STATUS C регистр F 7 Влево Для получения сдвига вправо необходимо изменить направление стрелок. в) SWAPF f ,d ; команда обмена тетрад в регистре f. регистр F 7 4 3 ⎧f , d = 1 ⎩W, d = 0 →⎨ г) CMPF f , d ; команда инверсии бит регистра f. 22 ⎧f , d = 1 f →⎨ ⎩W, d = 0 3) Команды пересылки данных. ⎧f , d = 1 ⎩W, d = 0 а) MOV f , d ; f → ⎨ Переслать значение из регистра f в рабочий регистр W, если d=0 и назад в регистр f,если d=1. Пересылка из f в f используется для установки признаков результата в регистр STATUS, например, нужно проверить содержимое ячейки ОЗУ. б) MOVWF f ; W→f – пересылка значения из W в F. Замечание. Во всех перечисленных командах работы с байтами регистра f выбирается из текущего банка внутреннего ОЗУ, который определяется четвертым и пятым битом регистра FSR. 2.10.2. Команды работы с битами PIC16C58 Битовый формат данных команд имеет вид: КОП– код операции; f – регистр, используемый как источник операндов(любая ячейка ОЗУ); в – номер бита из регистра f, с которым выполняются действия в команде. BCF f , в⎫ команды установки − в '0'⎫ 0100 а) ⎬КОП ⎬ BSF f , в ⎭ бита №в регистра F − в '1'⎭ 0101 Пример: BSF FSR, 4 ; установка в единицу четвертого бита FSR (FSR.4=1) 1 1 1 КОП в 1 5x84H FSR б) BTFSC f, в; – команда пропуска следующей команды, если бит №в в регистре F=0. 8 7 11 КОП 5 в 4 f в) BTFSS f , в – команда пропуска следующей команды, если бит №в=1. Эти две команды используются для организации условных переходов. При этом в качестве следующей команды используется безусловный переход GOTO, а анализируются биты регистра STATUS. Пример. Переход, если результата равен нулю. 23 ⎡BTFSC STATUS ,3⎤ ⎢GOTO M1 ⎥Z = 0 ⎣ ⎦ В команде анализируется третий бит регистра STATUS признак нулевого результата Z. При этом команда перехода GOTO будет выполняться (не пропускаться), если анализируемый бит Z=1 (т.е. получен нулевой результат). ⎡BTFSC STATUS ,0⎤ ⎢GOTO M1 ⎥ ⎣ ⎦ команда перехода, если перенос C и т.д. 2.10.3. Команды передачи управления и работы с константами Битовый формат этих команд имеет вид: КОП k к– константа или адрес перехода, используемый в команде исключение составляет лишь одна команда GOTO. Ее формат имеет вид: а) MOVLW k ; W←k загрузка в W константы k. б) GOTO k; безусловный переход на команду с девятиразрядным адресом в k, в текущей странице памяти программ. в) CALL k; команда вызова подпрограмм по восьмиразрядному адресу k, в текущей странице памяти программ. Действия, выполняемые по команде CALL: – в стек загружается одиннадцатиразрядный адрес команды следующей за командой CALL (адрес возврата). – Осуществляется переход в текущей странице на адрес k, но при этом девятый бит адреса подпрограммы устанавливается в ноль. PC.8=0. г) RETLW k– возврат из подпрограммы с загрузкой константы k в рабочий регистр W. Действия по команде: k-адрес перехода КОП 1 1 – в регистр W загружается k. – из стека читается одиннадцатиразрядный адрес возврата и осуществляется переход по этому адресу. Команду RETLW k, удобно использовать для организации таблиц значений памяти программ контроллера. 24 2.10.4. Команды управления режимами работы контроллера PIC16C58 К ним относятся: CLRWDT–команда обнуления сторожевого таймера. SLEEP–команда перевода контроллера в режим пониженного электропотреблением (спящий режим). В этом режиме: – останавливается работа основного тактового генератора контроллера с частотой fosc; – останавливается работа процессора; – на всех выводах портов А и В сохраняется текущее значение; – электропотребление снижается в 1000 раз Iпотр.≈1мкА. Режим используется в случаях, когда контроллер ожидает внешнего события. Для выхода из режима SLEEP необходимо: – ибо сгенерировать внешний сигнал «сброс» (вход MCLR); – либо сгенерировать «сброс» с помощью сторожевого таймера WDT. TRIS K – команда загрузки управляющего слова в регистры управления порта А и В . OPTION – загрузка управляющего слова из W в регистр управления таймером OPTION . NOP – пустая операция (задержка на один машинный цикл). 2.11. Влияние команд контроллера на битыпризнаки результата (в регистре STATUS) 1) На все признаки результата Z,C,DC влияют только две команды: –сложение ADD WF –вычитание SUB WF 2) влияют на признак переноса С (только на него!) команды сдвигов RLF, RRF. 3) Не влияют ни на один из признаков следующие команды: MOV WF, DECFSZ, INCFSZ все битовые команды; команды передачи управления. 4) Все оставшиеся команды влияют только на один признак Z (нулевого результата). Пример. Составить программу заполнения константой 0ААН области ОЗУ с адресами: 50H…5FH (второй банк). 2.12. Разработка простейшего устройства на основе PIC-контроллера. Рассмотрим разработку кодового замка на основе PIC- контроллера. Принципиальная схема, которого следующая : 25 Пусть замок открывается (срабатывает реле РР), если нажата комбинация клавиш 567. Напишем программу управления кодовым замком: При удерживании клавиш 5,6,7 замок будет открыт, иначе–закрыт. Тема 4.- 14 часов (у.з.-3). Особенности архитектуры универсальных однокристальных 8-разрядных микроконтроллеров (ОМК). Построение МПУ на базе универсальных ОМК. Особенности архитектуры и технические характеристики ОМК серии 1816 (MCS-51). Структура, назначение выводов и основные режимы работы ОМК К1816ВЕ51. Организация памяти данных и программ ОМК. Особенности работы портов ввода/вывода ОМК, понятие квазидвунаправленности. Система команд и основы языка ассемблера ОМК К1816ВЕ51. Способы адресации операндов. Построение микропроцессорного модуля на базе ОМК серии 1816. Особенности подключения внешней памяти программ и данных, а также дополнительных портов ввода/вывода. Расширение ввода-вывода с помощью интерфейсных БИС. 3. Проектирование МПУ на основе универсальных восьмиразрядных ОМК семейства MSC–51 3.1. Основные технические характеристики и структура ОМК К1816ВЕ51 Контроллер К1816ВЕ51 является функциональным аналогом ОМК I8051(Intel), выполненного по Н-МОП технологии (n-MOS). Существует аналог К1830ВЕ51, который представляет собой тот же контроллер, но выполненный по К-МОП технологии (I80C51). Замечание: ОМК, выполненные по н-МОП технологии обладают большим быстродействием, а по к-МОП минимальным электропотреблением. Контроллер представляет собой БИС с 40 выводами. Структурная схема контроллера К1816ВЕ51 имеет вид: Основными функциональными модулями ОМК К1816ВЕ51 являются: 1) быстродействующее восьмиразрядное АЛУ с УУ; 2) встроенный генератор тактовых импульсов (ГТИ), к входам которого подключен внешний кварцевый резонатор; 3) два многофункциональных 16-разрядных таймер-счетчика Т0 и Т1; 4) резидентная память данных РПД (внутреннее ОЗУ) объемом 128 байт; 5) резидентная память программ РПП (внутреннее ПЗУ) объемом 4Кх8; 26 6) встроенный контроллер прерываний К Пр., позволяющий одновременно обрабатывать запросы прерывания от восьми источников; 7) универсальный адаптер последовательного интерфейса, типа RS 232 (УАПИ); 8) четыре 8-разрядных двунаправленных порта ввода/вывода. Р0, Р1,Р2, Р3. Направление передачи информации по линиям портов программируется. Замечание: отличие универсальных ОМК от PIC контроллеров в основном состоит в возможности универсальных ОМК расширять номенклатуру устройств путем подключения внешних ИС с использованием внешней системной магистрали. Например, ОЗУ ОМК может расширяться до 64 кбайт путем подключения внешних ИС, аналогично можно расширять и ПЗУ до 64кбайт. Быстродействие ОМК К1816ВЕ51 составляет 0,5÷1 MIPS, при тактовой частоте fosc=3.5÷12 МГц. Частота машинных циклов ОМК определяется по формуле: fмц=fosc/12, а частота машинных тактов: fмт=fosc/2. Система команд состоит из 111 базовых операций представляемых в виде 1, 2 и 3-байтовых команд. Большинство команд выполняется за 1-2 машинных цикла, исключение составляют лишь две команды: умножения (MUL) и деление (DIV), выполняемые за четыре машинных цикла. Система команд ориентирована на эффективную обработку как логической информации (имеются битовые операции), так и на выполнение сложных арифметических вычислений (аппаратно реализованы команды MUL и DIV). 3.2. Назначение основных выводов БИС ОМК К1816ВЕ51 На принципиальных схемах ОМК ВЕ-51 изображают в виде: АД7 АД6 АД5 P0.7 P0.6 P0.5 АД0 P0.0 RST EA RD WR T1 T0 INT1 INT0 TxD RxD P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 MCS х1 х2 P2.0 P2.1 P2.2 P2.3 A8 A9 A10 A11 P2.6 P2.7 PSEN ALE A14 A15 P1.0 P1.1 P1.2 P1.3 К1816ВЕ51 P1.7 27 RST– входной сигнал начальной установки на этот вход должен быть подан сигнал «1» в течении 20мс. Схема начальной установки по включению питания и по кнопке ”сброс” имеет вид: По сигналу «сброс» в ОМК 10мкФ +Uп = 5В осуществляется: –перевод всех портов ввода/вывода "сброс" на ввод информации; RST –запрещаются все прерывания VD 8,2К контроллера; КД520 –информация во внутреннем и внешнем ОЗУ сохраняется; –осуществляется переход на программу, начинающую с адреса 0Н. Х1 и х2-выводы для подключения, внешнего кварцевого резонатора с частотой fosc (fosc может лежать в пределах 3,5÷12 МГц или, если используются аналогичные фирмы Atmel, то 0÷24 МГц). Схема подключения кварцевого резонатора: fosc=12МГц QZ С1 и С2–запускающие емкости. х1 C1 Контроллер ВЕ51 имеет четыре 8C2 разрядных порта ввода/вывода Р0, Р1, Р2, Р3; большинство из них могут работать в двух режимах: –в режиме обычного порта ввода/вывода информации; –в режиме ввода или вывода управляющих сигналов (альтернативный режим). Р0.0…Р0.7–выводы двунаправленного 8-разрядного порта Р0. В альтернативном режиме эти выводы могут использоваться для выдачи и приема сигнала адреса/данных (АД0…АД7), т.е. эти линии используются для обмена данными Д0…Д7 или передачи адреса А0…А7 во внешние устройства или внешнюю память. Передача адреса при этом по данным линиям подтверждается отрицательным фронтом на 1 выводе ALE. ALE (Address Latch Enable–разрешение фиксации адреса). Он обязательно генерируется в каждом машинном цикле, поэтому на выходе ALE всегда присутствует сигнал, изменяющийся с частотой машинных циклов fosc/12. Р2.0…Р2.7–линии 8-разрядного квазидвунаправленного порта Р2. Замечание: квазидвунаправленным портом называется порт вывода информации, которая при определенном исполнении может применяться и для ввода информации. Например, для ввода информации по линии Р2 изначально в эту линию необходимо выдать «1». В альтернативном режиме Р20…Р27 используется для выдачи старшего байта адреса А8-А15 во внешнюю память или внешнее устройство. х2 28 Передача адреса сопровождается отрицательным фронтом ALE. P3.0…P3.7–линии 8-разрядного квазидвунаправленного порта Р3. В альтернативном режиме эти линии используются для передачи сигналов управления: –RD,WR-сигнал чтения и записи внешней памяти данных (внешнее ОЗУ). По этим сигналам осуществляется передача данных во внешнюю память через линии Р0.0…Р0.7; –Т1, Т0-входы для подачи внешних импульсов на таймеры счетчики контроллера Т1 и Т0. –INT1, INT0-входы запроса прерываний от внешних источников. –TxD, RxD-выходной сигнал передатчика и входной сигнал приемника встроенного последовательного интерфейса ОМК. Для перевода любой линии порта Р3 в альтернативный режим необходимо в соответствующую линию порта вывести «1». Пример: MOV P3,#3H ;P3=3H (линии TxD и RxD выдаются в младшие разряды порта Р3). –PSEN-выходной сигнал чтения информации из внешней памяти программы (внешнее ПЗУ). В контроллере ВЕ51 реализовано гарвардская архитектура памяти, т.е. память программ (ПП) и память данных (ПД) разделены физически и логически. Физическое разделение означает, что для обращения к каждой из них используются свои сигналы управления: –RD, WR-для обращения к памяти данных; –PSEN-для обращения к памяти программ. Логическое разделение означает, что для обращения к каждой из них используются разные команды: –MOV, MOVX-для обращения к ПД; –MOVC-для обращения к ПП. В некоторых случаях при отладке программ удобно совмещать в едином устройстве ПП и ПД (в виде единого ОЗУ). В этом случае формируют единый сигнал чтения RD2. RD В случае такого объединения памяти организуется & RD2 архитектура Фон-Неймана. Р1.7÷Р1.0 линии 8-разрядного PSEN квазидвунаправленного порта ввода/вывода Р1. Линии данного порта не имеют альтернативных функций. 3.3. Организация памяти данных контроллера ВЕ51 Память данных (ПД) разделяют на: – резидентную ПД (РПД)-встроенную, объемом 128 байт, адресами 0÷7FH; – внешнюю ПД (ВПД), объемом до 64 кбайт, с адресами (0÷0FFFFH). 29 Для обращения к РПД и ВПД используют различные команды: – MOVX-пересылка данных ВПД; – MOV-пересылка данных РПД. Общая структура РПД имеет вид: Ячейки с адресами 0H÷1FH РПД размещают банки регистров общего назначения (РОН). Всего банков четыре, и каждый из них содержит по восемь регистров: R0, R1,…,R7. Текущий банк регистров, с которым работает процессор задается программно. В адресном пространстве 20H÷2FH РПД размещается область прямоадресуемых бит, в этой области каждый из 128 битов имеет свой адрес и к каждому из них возможно отдельное обращение с помощью команд. В области с адресами 30H÷7FH могут размещаться любые данные пользователя (байты). Непосредственно РПД в адресном пространстве примыкает область регистра специальных функций (РСФ) с адресами от 80H÷0FFH. Вся работа основных узлов ОМК управляется с помощью РСФ. Перечислим основные РСФ: 1) A*-основной регистр контроллера-аккумулятор(его адрес 0E0H). Замечание: «*» означает, что данный РСФ позволяет прямо адресовать свои отдельные биты. Например, для обращения к первому биту аккумулятора в команде записывают АСС.1. 2) В*- регистр расширитель аккумулятора может использоваться как обычная ячейка памяти с адресом 0F0H, а также используется для хранения старшего байта результата в операциях умножения и деления. 3) PSW* (Program Status Word)-слово состояния программы. Его формат: где С-признак переноса; АС-признак дополнительного переноса; F0-признак пользователя, который устанавливается программно по усмотрению пользователя; RS1, RS0-биты, определяющие номер текущего регистрового банка (‘00’-нулевой банк РОН,…, ’11’-третий банк РОН); V-признак переполнения, т.е. переноса в старший знаковый разряд; Р- признак паритета (нечетности). 4) SP - регистр указатель стека в РПД. Перед записью информации в стек, значение SP увеличивается на единицу (SP←SP+1), после чтения информации из стека значение 7 PSW* C AC F0 RS1 RS0 V уменьшается на единицу (SP→SP-1). - P адрес 0D0H 30 Такой режим работы со стеком называется «преинкрементный / постдекрементный». После сигнала «сброс» SP=07H, т.е. стек располагается в первом регистровом банке. 5) DPTR-16-разрядный регистр указатель данных. В DPTR хранится адрес ячейки при косвенном обращении к внешней ПП или данных. DPTR состоит из двух 8-разрядных регистров: –DPH-старший байт; –DPL-младший байт. 6) Р0*, Р1*,Р2*,Р3*-8-разрядные регистры данных портов ввода/вывода ОМК. 7) IP*, IE*-регистр управления приоритетами прерываний и регистр маскирования прерываний (запрещений). 8) TCON*, TMOD-регистр состояния и регистр управления внутренними таймерами-счетчиками ОМК Т1, Т0. 9) TH0, TL0 старший и младший байт данных соответственно TH1, TL1 таймера счетчика Т0 и Т1. 10) SCON*, SBUF-регистр управления и регистр данных встроенного последовательного интерфейса. 11)PCON-регистр управления потребляемой мощностью ОМК. 3.4. Система команд ОМК К1816ВЕ51 Система команд включает 111 базовых 1, 2, 3-х байтных команд. Первый байт в команде всегда ход операции, а второй и третий либо адреса операндов, либо непосредственно сам операнд. В системе команд используются следующие виды адресации операнда: – регистровая, если операнд находится в регистре; – косвенная-регистровая, если в регистре адрес операнда; – прямая, если в команде значением задан адрес операнда; – непосредственная, если в команде задано значение операнда (число); – неявная, если операнды закодированы в КОП. Выделяют пять основных групп команд ВЕ51: – команды пересылки данных; – команды арифметических операций; – команды логических операций; – команды работы с битами; – команды передачи управления или переходов. 3.4.1. Команды пересылки данных Все основные пути пересылки данных в контроллере изобразим в виде графа: 31 ВПП (ПЗУ) @A+PC @DPTR @A+DPTR @Ri ВПД (ОЗУ) А adr @Ri Rn #data8 РПД @A+PC-ячейка памяти программ, адрес который вычисляется как сумма, содержимого счетчика команд РС и аккумулятора (косвенно регистровая адресация); @A+DPTR- ячейка памяти программ, адрес вычисляется как сумма 16разрчдного регистра указателя DPTR и аккумулятора; @DPTR-ячейка внешней памяти данных, адрес которого находится в DPTR (адрес 16-разрядный); @Ri-ячейка ВПД, 8-разрядный адрес который находится в Ri (i=0,1); adr-ячейка, РПД адрес которой прямо указан в команде; @Ri-ячейкаРПД, 8-разрядный адрес (i=0,1); Rn-операнд находится в регистре контроллера, текущего регистрового банка (n=0,7); #data8- 8-разрядное значение (байт). Кроме указанных путей имеются еще два: т.е. в DPTR можно загружать 16bit С #data16 DPTR , разрядное значение, а в признак переноса С прямо адресуемый бит. Можно выделить три типа команд пересылки: – пересылки данных в РПД; – пересылки данных в ВПД; – чтение данных из ВПП. А) Команды пересылки данных в РПД. MOV A, src ; A←src (src=Rn, @Ri, adr, #data8) MOV Rn, src ; Rn←src (src=A, adr, #data8) MOV @Ri, src ; @Ri←src РПД (src=A, adr, #data8) MOV adr, src ; adr←src (src=A, adr, Rn, @Ri, #data8) Пример: 1)переслать содержимое регистра R1 в R2: MOV R2, R1; такой команды нет MOV 2, 1 ; переслать ячейку с адресом 1 в 2. 2)MOV @R0, A ; из А в ячейку РПД, адрес которой в R0. 3)MOV R3, #8H ; R3=8H. Команды работы со стеком: PUSH adr-загрузить прямоадресуемый операнд в стек; 32 POP adr-прочитать значение прямоадресуемого операнда из стека. Пример: 1)PUSH 1, загрузить в стек значение из РПД с адресом 1Н. 2)загрузить в аккумулятор значение 10Н: MOV A, #10H MOV ACC, #10H XCH A, src-команда обмена A↔src (src=Rn, 7 @Ri, A adr); SWAP A-обмен тетрад аккумулятора. Б) Команды пересылки данных в ВПД. Если используется 16-разрядная адресация ячеек ВПД, то команды пересылки: MOVX A, @DPTR ; A←из ячейки по адресу DPTR (ПЗУ) MOVX A, @DPTR ; @DPTR←A Для загрузки регистра DPTR используют команду MOV DPTR, #data16 В случае 8-раздной адресации ячеек ВПД используют команду: MOVX A, @Ri ; A←@Ri MOVX @Ri, A ; при этом в Ri 8-разрядный адрес ячейки ВПД. В) Команды чтения информации из ВПП (или внутренняя ПП, если ЕА=1). MOVC A, @A+PC ; A←@A+PC MOVC A, @A+DPTR ; A←@A+DPTR в аккумулятор загружается значение из ячейки ПЗУ, адрес которой определяется как сумма А+РС или A+DPTR. Пример: 1) прочитать содержимое ячейки ПП, расположенной следом за выполненной командой. MOV A, #0H MOVC A, @A+PC 2) прочитать из ВПД содержимое ячейки памяти с адресом 2000Н. MOV DPTR, #2000H MOVX A, @DPTR 3.4.2. Команды арифметических операций А) команды сложения: ADD A, src ; A←A+src (src=Rni, @Ri, adr, #data8) ADC A, src ; A←A+src+C (C-признак переноса) Б) команды вычитания: SUBB A, src ; A←A-src-C В) команды инкремента и декремента: INC src ; src←src+1 (src=A, Rn, @Ri, adr) DEC src ; src←src-1 INC DPTR ; увеличение на единицу 16-разрядного DPTR. 33 Пример: INC 20H ; увеличение на единицу содержимого ячейки по адресу 20Н. Г) команды умножения и деления: ,если значения в регистре В ≠ 0 после умножения, MUL AB ; (B) . (A) A*B младший старший то устанавливается признак переполнения V=1. байт байт разультата результата DIV AB ; (A) .(B) целая часть результата A/B остаток от деления Команды работают с целыми числами: DA A- десятичная коррекция аккумулятора после сложения двоично-десятичных чисел. Команды логических операций. А) команды логического умножения, сложения и сложения по модулю два. ⎡ANL A, src ; A ← A ∧ src (src = R n , @R i , adr, data8)⎤ " И" ⎢ ⎥ ⎦ ⎣ANL adr, src ; adr ← adr ∧ src (src = A, # data8) ⎡ORL A, src ⎤ " ИЛИ" ⎢ ⎥ ⎣ORL adr, src⎦ ⎡XRL A, src ⎤ " искл. ИЛИ" ⎢ ⎥ ⎣XRL adr, src⎦ Логические операции выполняются побитно. Б) команды инверсии, отчистки и сдвига аккумулятора. CPL A ; A← А CLR A ; A=0 RLA-циклический сдвиг аккумулятора на один бит влево. RR A- циклический сдвиг аккумулятора на один бит вправо. RLC A-команда сдвига аккумулятора влево 7 через бит переноса С. С RRC A- команда сдвига аккумулятора вправо через бит переноса С. А А 3.4.3. Команды работы с битами В данных командах в качестве операндов используется: –отдельные биты РСФ (помеченные *); –биты из области прямоадресуемых бит РПД (20Н÷2FH); –отдельные биты портов ввода/вывода. В качестве битового аккумулятора данных команд используется признак переноса с контроллера. Таким образом один из битовых операндов и результат выполнения операции как правило сохраняется в признаке переноса С. А)команды очистки, инверсии и установки бита: CLR bit ; bit = 0 SETB bit ; bit = 1 34 CPL bit ; bit = bit Пример: установка третьего бита аккумулятора: SETB ACC.3 CPL P0.6 ; инверсия шестого бита порта Р0 CLR 20.6H ; отчистка шестого бита ячейки с адресом ?????. Б) команды пересылки бит: MOV c, bit ; c←bit MOV bit, c Пример: MOV c, P37 ; значение седьмого бита Р3 загружается в с. В) команды битовых логических операций: ANL c, bit ; c←c ”и” bit (٧) ANL c, /bit ; подобная команда, но с←с ”и” bit с инверсией бита ORL c, bit ; c←c “или” bit (٨) ORL c, /bit ; c←c “или” bit Пример: найти логическое произведение третьего бита порта Р2 с шестым битом порта Р3 и результат выдать в нулевой бит порта Р0: MOV c, P2.3 ; c←P2.3 ANL c, P3.6 ; c←c ٧ P3.6 MOV P0.0, c ; P0.0←c. 3.4.4. Команды передачи управления или переходов. К ним относятся команды условных и безусловных переходов, а также команды вызова возврата из подпрограммы. Все команды передачи управления делят на три группы: –команды дальних переходов (long); –команды абсолютных переходов (absolute); –команды коротких (относительных) переходов (short). Команды дальних переходов осуществляется только внутри страниц объемом 2к байта каждая. Относительные переходы осуществляются на расстоянии ±128 байт от текущей команды. А)команды безусловных переходов и вызова подпрограмм. LJMP adr16 ; безусловный дальний переход LCALL adr16 ; дальний вызов подпрограммы AJMP adr11 ; абсолютный безусловный переход ACALL adr11 ; абсолютный вызов подпрограммы (adr11–11разрядный адрес перехода) SJMP rel ; относительный безусловный переход (rel-смещение относительно текущей команды) Переход осуществляется по схеме PC←PC+ rel смещение rel может принимать как положительное значения (в этом случае оно записывается в прямом коде), так и отрицательное (в дополнительном коде). 35 Замечание: в случае использования компиляторов с языков ассемблера часто возможно применения обобщенных команд перехода JMP и CALL. В этом случае при трансляции компилятор сам определяет какой тип переходов использовать. Б)команда относительного безусловного перехода. JMP @A+DPTR ; безусловный переход по адресу вычисляемому как сумма аккумулятора А и регистра указателя DPTR. В)команды условных переходов (все они относятся к относительному типукороткие). JZ rel ; переход, если результат равен 0 JNZ rel ; переход, если результат не равен 0 JC rel ; переход, если перенос (с=1) JNC rel ; переход, если нет переноса (с=0) JB bit, rel ; переход, если значение указанного бита равно 1 JNB bit, rel ; переход, если значение указанного бита равно 0 JBC bit, rel ; переход, если bit =1 с последующей отчисткой бита. Г)команды организации циклов (относятся к относительным переходамкоротким). DJNZ Rn, rel ; Rn←Rn-1 (Rn ≠ 0) уменьшение регистра Rn на единицу и переход по адресу rel , если Rn ≠ 0 DJNZ adr, rel ; уменьшение прямоадресуемой ячейки РПД на единицу и переход по адресу rel CJNZ A,#data, rel ; проверка равенства аккумулятора значению data A=data и переход на rel, если не равно CJNZ A, adr, rel ; проверка равенства аккумулятора значению из ячейки adr и переход на rel, если не равно CJNZ Rn, #data, rel CJNZ @Ri, #data, rel ; проверка равенства значения и ячейки, адрес котрой в Ri значению data и переход, если не равно Г)команды возврата из подпрограмм. RET ; возврат из подпрограммы с извлечением из стека 16-разрядного адреса возврата. RETI ; возврат из подпрограммы обработки прерываний в отличии от предыдущей команды осуществляет разблокировку приоритетов прерываний после обработки подпрограммы. 3.5. Встроенные таймеры счетчики контроллера К1816ВЕ51 В контроллере реализованы два 16-разряных суммирующих таймера счетчика Т0 и Т1. Они предназначены для подсчета внешних импульсов, подаваемых на входы Т0 и Т1 (режим счетчика) и для подсчета числа выполненных машинных циклов контроллера (режим таймера). Оба таймера счетчика управляются с помощью РСФ: TMOD и TCON. 36 Возможны четыре различных режима работы каждого таймера счетчика (нулевого; первого; второго; третьего-режима). Нулевой режим работы. В этот режиме каждый таймер счетчик работает как 8-разрядный двоичный счетчик импульсов с 5-разрядным делителем частоты и схемой управления. Управление данным режимом осуществляется с помощью TMOD: T1 T0 C / T0 GATE0 M0.1 M0.0 C / T1 GATE1 M1.1 M1.0 7 GATE–сигнал (значение бита TMOD) управляющий блокировкой работы таймера –счетчика. Если GATE=1, то работа таймера-счетчика может быть приостановлена внешним сигналом INT=0. Сигнал, INT подается на входы внешних прерываний порта Р.3 в альтернативном режиме работы. схема управления (А) fOSR 1:12 предделитель C/T=0 T0(T1)-входы TL(5-разряд.) C/T=0 GATE 1 1 TH(8-разряд.) TF 1-пуск 0-остановка млад. 8-разрад. старш. 8-разрад. таймер-счетчик таймер-счетчик & INTO (INT1) TR Данный режим удобно использовать для подсчета длительности импульсов, подаваемых на вход INT. C / T–бит задания режима работы таймера-счетчика. C / T=0–режим таймера. C / T=1–режим счетчика. М х.1, М х.0–биты режима работы таймера/счетчика (00-нулевой режим;01-первый режим; 10-второй режим; 11-третий режим). Первый режим таймера-счетчика. Полностью совпадает с нулевым режимом, отличие- используется не 5разрядный, а 8-разрядный предделитель частоты TL. Замечание: значение любого таймера/счетчика (Т0,Т1) может быть прочитано в любой момент времени путем чтения информации из регистра данных таймеров/счетчиков: –TL0, TH0 для T0; –TL1,TH1 для T1. Замечание: управление сигналом блокировки счета TR, а также чтение сигнала переполнения таймера/счетчика TF осуществляется через регистр специальных функций TCON: 7 TR1 TF1 T1 TR0 TF0 T0 IE1 IT1 IE0 IT0 управление счетчиком прерываний 37 Второй режим таймера/счетчика (автоперегружаемого генератора частоты). В этом режиме для подсчета импульсов используется только младший байт TL таймера/счетчика, а старшие байты TH используются для хранения начальных значений счетчика TL. При этом при переполнении младшего байта TL автоматически осуществляется перезагрузка значения из ТН в TL и счет возобновляется. 7 TF TL &-схема разрешения перезагрузки. схема управления (А) 8 & Замечание: изменяя начальное значение в 7 регистре TH пользователь может TL варьировать период (частоту) следования периодических импульсов на выходе TF. Таким образом реализуется генератор импульсов с программируемой частотой. Данный режим используют для задания скорости передачи (следования импульсов) по внутреннему последовательному интерфейсу. Третий режим таймеров/счетчиков. В этом режиме работает только таймер Т0. При этом таймер Т0 представляет два независимых 8-разрядных двоичных счетчика: –ТН0-может подстывать машинные циклы; –TL0-может подсчитывать машинные циклы или внешние импульсы. Таким образом используя третий режим в ОМК ВЕ51 можно получить три независимых двоичных счетчика. 8 3.6. Встроенный последовательный интерфейс ОМК Предназначен для передачи байт по трем выделенным линиям (TxD, RxD и GND) последовательно бит за битом. Последовательный интерфейс представляет собой универсальный асинхронный приемопередатчик (УАПП). Возможны четыре режима работы УАПП. Управление и обмен данными с УАПП осуществляется через два регистра специальных функций: –SBUF-буферного регистра данных; –SCON-регистра управления интерфейсом. Нулевой режим УАПП (сдвигового регистра). В этом режиме выход интерфейса RxD (Р.3.0) используется как для приема, так и для передачи восьми битовых информационных посылок. Вывод же TxD (Р.3.1) используется для выдачи импульсов синхронизации, сопровождающих каждый передаваемый бит (сдвиговые импульсы). 38 Скорость передачи в этом режиме постоянна, и определяется частотой следования импульсов f osc / 12 RxD D0 D1 D2 D3 D4 D5 D6 D7 t TxD t Первый режим УАПП (старт-стопный десятибитный). В этом режиме вывод RxD используется для приема, а TxD для передачи 10-битных информационных сообщений вида: Если по линиям информация TxD(RxD) не передается, то она находится в биты передаваемого байта состоянии высокого логического уровня «1». 1 D D D D D D D D t При появлении на линии TxD стартовый стоповый (RxD) нулевого уровня, он бит бит интерпретируется как стартовый бит, после которого начинается отсчет девяти передаваемых бит с заданной скоростью передачи. Следующее появление нулевого уровня интерпретируется как следующий стартовый бит и т.д. Скорость передачи в этом режиме (частота следования бит) определяется частотой переполнения таймера Т1 во втором режиме.(при этом автоматически выхода TF таймера Т1 подключаются к УАПП) Второй режим УАПП (старт-стопный 11-битный с фиксированной скоростью). Работа аналогична предыдущему режиму, только информация сообщения имеет формат: Значение КБ TxD(RxD) устанавливается биты передаваемого байта пользователем программно. 1 2 3 4 5 6 7 D0 D1 D2 D3 D4 D5 D6 D7 стартовый бит КБ 1 t контрльный стоповый бит бит Скорость передачи в данном режиме может приниматься только два фиксированных значения: f osc / 64 и f osc / 32 . Третий режим работы УАПП (старт-стопный 11-битный с переменной скоростью передачи). Полностью совпадает с предыдущим режимом, но скорость передачи переменная величина, определяемая частотой переполнения Т1 во втором режиме (автоперегружаемый генератор). 39 Управление режимом работы последнего интерфейса осуществляется с использованием РСФ SCON 7 SM1 SM0 SM2 REN TB8 RB8 TI RI SM1, SM0–биты, определяющие номер режима УАПП (00-нулевой;…;11-третий). SM2–бит запрещающий прием сообщений с нулевым значением бита КБ. REN–бит разрешения приема информации по последовательному интерфейсу (REN=0-вся информация не принимается). TB8–бит, определяющий значение контрольного бита передаваемых сообщением. RB8–бит, определяющий значение КБ в принятом сообщении. TI–бит, определяющий, что передатчик пуст и готов к передаче последующих сообщений. RI– бит, определяющий, что принят очередной байт по последовательному интерфейсу. Замечание: сигналы TI и RI могут генерировать прерывания процессора (если они разрешены). КБ, а также управляющий бит SM2 удобно использовать для организации многопроцессорных систем взаимодействующих по последовательному интерфейсу ,вида: последовательный интерфейс Ведущий ОМК управляет приемом и Ведущий ОМК передачей данными с ведомых ОМК. При этом ведущий передает команды Ведомый Ведомый ведомым информационными сообщениями ОМК ОМК с установленным КБ=1, а следовательно они воспринимаются сразу всеми ведомыми. Обмен же данными осуществляется сообщениями с КБ=0, а следовательно эти данные воспринимаются только одним, выбранным командой, ведомым ОМК. 1 3.7. n Задание скорости передачи по последовательному интерфейсу Во втором режиме работы последовательного интерфейса (УАПП) скорость передачи информации рассчитывается следующим ⎛ 2 SMOD ⎞ ⎟⎟ ⋅ f osc (Гц, Бод ) образом: f сдв = ⎜⎜ ⎝ 64 ⎠ SMOD – старший седьмой бит РСФ PCON (регистр управления потребляемой мощности). В первом и третьем режимах работы УАПП (старт-стопные режимы) скорость передачи определяется по ⎛ 2 SMOD ⎞ 2 SMOD f osc ⎟⎟f OVT1 = [256 − TH1 ]−1 ⋅ 32 12 ⎝ 32 ⎠ формуле: f сдв = ⎜⎜ где ТН1-начальное (автоперегружаемое) значение работающего в режиме автоперегружаемого генератора; счетчика Т1, 40 f OVT1 -частота переполнения таймера Т1 в режиме автоперегружаемого генератора. Замечание: согласно ГОСТ скорость передачи по последовательному интерфейсу должен выбираться из следующего ряда: f сдв – …,1200,2400,4800,9600,…бит/сек.(Бот). Пример: определить значение автоперегружаемого счетчика ТН1 и бита SMOD для обеспечения скорости передачи по последовательному интерфейсу f сдв =9600 бит/сек., если fosc=11МГц. f сдв 20 11 ⋅10 6 [256 − 253]−1 = 9568 бит/сек. = ⋅ 32 12 ТН1=25610=0FCH; SMOD=0 Составим программу задания режима работы последовательного интерфейса (инициализация УАПП). ;Модуль инициализации УАПП CLR TR1 ; TCON TR1=0-остановили Т1 MOV TH1, #0FCH ; TH1←25310 ANL PCON, #7FH ; SMOD=0 MOV SCON, #11011100B ; задали третий режим работы УАПП(SCON←0DCH) MOV TMOD, #00100000 ; T1-в режим автоперегружаемого генератора SETB TR1 ; TR1=1-запуск Т1 ; процедуры приема и передачи байта по УАПП CIN: JNB RI, CIN ; ожидание приема байта по последовательному интерфейсу RI=1 MOV A, SBUF ; считывание принятого байта в аккумулятор CLR RI ; SCON.RI=0 COUNT: JNB TI, COUT ; ожидание готовности передатчика последовательного интерфейса TI=1 MOV SBUF, A ; загрузка передаваемой информации из аккумулятора в последовательный интерфейс SBUF←A CLR TI ; обнуление TI, TI=0 3.8. Система прерываний ОМК ВЕ51 Контроллер позволяет обслуживать прерывания от пяти возможных источников: 1) от таймеров Т1 и Т0 при возникновении их переполнения TF1 и TF0 (два уровня прерывания). 2) Прерывания по внешним сигналам INT1 (Р3.3)поступающим на этот вход и INT0 (Р3.2).Два уровня 3) Прерывания от последовательного интерфейса при установке бит RI или TI (один общий уровень для приемника и передатчика). 41 К каждому из перечисленных источников прерывания могут быть присвоен свой приоритет: –высший –низший Если одновременно возникают несколько запросов от разных источников, то очередность обработки следующая: 1) прерывание INT0 2) прерывание T0 3) прерывание INT1 4) прерывание T1 5) прерывание от УАПП (RI, TI). Управление работой системы прерывания осуществляется с использованием следующих РСФ: – TCON (младшая тетрада) – Регистр приоритетов прерывания IP* – Регистр маскирования (запрещения) прерывания IE* Регистр TCON управляет запросами, поступающими по входам INT0 и INT1. 7 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 управление таймером IE1, IE0– биты устанавливаются в единицу, если поступил запрос прерывания по входам INT1 и INT0 соответственно; IT1, IT0– биты, определяющие признак прерывания на входах INT1 и INT0. Если IT=0, то как прерывание будет рассматриваться нулевой уровень сигнала на входе INT1 или INT0 соответственно. Если IT=1, то как признак прерывание будет рассматриваться будет рассматриваться переход сигнала из нулевого уровня в единичный (прерывание по фронту сигнала). Регистр приоритетов прерывания IP* имеет следующий формат: 7 X X X PS PT1 PX1 PT0 PX0 Установка любого из битов этого регистра в «1» означает присвоение одному из источников прерывания высшего приоритета, установка в «0» присвоение низшего приоритета. PS–соответствует последовательному интерфейсу; PT1, PT0–соответствует таймерам Т1 и Т0 соответственно; РХ1, РХ0–соответствует входам INT1, INT0 соответственно. Формат регистра маскирования прерывания IE* имеет вид: 7 IA X X IS IT1 IX1 IT0 IX0 Установка IA=0 запрещает все прерывания ОМК. 42 Установка одного из оставшихся битв «0» означает запрещение одного из источников прерывания. IS–последовательный интерфейс; IT1, IT0 – таймеры Т1 и Т0; IX1, IX0–прерывания по входам INT1, INT0. 3.9. Механизм обслуживания прерываний ОМК 1.При поступлении любого из запросов прерывания ОМК анализируется его приоритет, а также установка маски прерывания. 2.Если прерывания возможно, то ОМК на аппаратном уровне генерирует для себя код команды LCALL (вызов п/п). При выполнении этой команды в ОМК выполняются следующие действия: –в стеке сохраняется адрес текущей прерванной команды (адрес возврата из п/п); –Осуществляется переход на п/п обработки прерываний в соответствии с источником прерывания: INT0–адрес п/п 03Н; Т0–0ВН; INT1–13Н; Т1–1ВН; Последовательный интерфейс (TI, RI)–23H. По данным адресам различают команды безусловных переходов LJMP непосредственно на п/п обработки прерывания, размещенные в любом месте памяти программ. Данные команды безусловных переходов LJMP называют векторами прерываний. 3.Любая п/п обработки прерывания должна завершаться командой возврата RETI (а не RET). Замечание: перед выход из п/п обработки прерывания от последовательного интерфейса обязательно необходимо установить в ноль биты RI и TI регистра SCON (т.е. обнулить запросы прерывания). 3.10. Построение расширенных МП систем на основе ОМК ВЕ 51 Если при разработке МП системы необходимо подключить к ОМК ВЕ51 внешнюю память данных (ОЗУ), или внешнюю память программы (ПЗУ), или дополнительное устройство ввода/вывода информации, то ОМК предварительно формирует внешнюю системную магистраль. Наиболее часто используют трех шинную внешнюю системную магистраль, состоящую из: –ША (максимально 16-разрядная); –ШД (8-разрядная); –ШУ. 43 Общая схема формирования внешней системной магистрали имеет вид: 8 QZ 12 МГц 30 X1 MCS X2 +5 В + 10 RST 8,2 К IO/M (ШУ) P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 DD1 К1816ВЕ51 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 ALE PSEN P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 1 2 3 4 5 6 7 А0 А1 А2 А3 А4 А5 А6 А7 8 8 1 2 3 4 5 6 7 ЧТПП RD (ЧТПД) WR (ЗППД) DI 0 DI 1 DI 2 DI 3 DI 4 DI 5 DI 6 DI 7 ST ША (А15...А 0) RG DD2 DO0 DO1 DO2 DO3 DO4 DO5 DO6 DO7 OE 8 9 10 11 12 13 14 15 16 А8 А9 А10 А11 А12 А13 А14 А15 ШД ШУ Формирование ША Для формирования разрядов ША используется порт Р2 и Р0, при этом передача адреса по линиям порта Р0 сопровождается активным сигналом ALE. Для сохранения адресной информации на время выполнения команды используется регистр защелка DD2. Формирование ШД Для формирования используется разряды порта Р0. В то время, когда по ним не передается адресная информация. Формирование ШУ Используется разряды Р3 в альтернативном режиме работы, а также сигнал PSEN– чтение информации из внешнего ПЗУ. Основными сигналами ШУ является ЧТПП (PSEN) –чтение внешней памяти программы (ПЗУ). ЧТПД- чтение внешней памяти данных (ОЗУ). ЗППД- запись информации во внешней памяти данных (ОЗУ). IO/M- сигнал выбора устройства для обмена информацией. Если IO/M=0, то обмен осуществляется с внешней памятью данных (ОЗУ). Если IO/M=1, то обмен осуществляется с внешними устройствами ввода/вывода. Замечание: Сигнал IO/M формируется пользователем программно с использованием любой свободной линии порта Р1. Наличие этого сигнала IO/M объясняется тем, что внешние ячейки ОЗУ и внешние устройства ввода/вывода подключаются к системной магистрали одинаково и используется единое адресное пространство. 44 3.11. Дальнейшее расширение и развитие семейства ОМК MCS-51 В настоящее время выпускается большое количество ОМК, совместимых с семейством MCS-51 (Atmel, Siemens, Philips, Sony,…). Отличие от базового контроллера ВЕ-51 этих совместимых ОМК состоит в следующем: – имеется дополнительные встроенные устройства: дополнительный таймер Т2, сторожевой таймер (WDT);8–12разрядный АЦП; встроенный контроллер ШИМ и т.д. – расширена резидентная память программы (внутреннее ПЗУ) до 16К. – снижено электропотребление и т.д. – повышена тактовая частота Дальнейшим развитием MCS-51 является 8-разрядные контроллеры MCS-151/251 (Intel). Дальнейшее развитие семейств ОМК 51/151/251 является 16-разрядное семейство ОМК MCS/191/291. Данное семейство характеризуется высокой производительностью и широкой номенклатурой дополнительных устройств для повышения производительности (например, встроенный контроллер событий, модуля захват-сравнение, встроенный контроллер сетей.) В настоящее время также как развитие семейств 51/151/251 рассматривают 16-разрядные ОМК семейства С167 (Siemens). 45 Тема 5. - 10 часов (у.з.-3). Обеспечение ввода/вывода дискретных сигналов в МПУ. Системы программно-логического управления. Организация ввода информации с группы дискретных датчиков. Согласование уровней сигналов. Виды обмена данными МП с портами ввода/вывода. Методы устранение дребезга контактных датчиков. Подключение клавиатуры к МПУ. Организация вывода информации в МПУ на семисегментные индикаторы в режимах статической и динамической индикации. ЖК-индикаторы. Контроллеры клавиатуры и дисплея. Организация последовательной связи с ЭВМ верхнего уровня по стандартным интерфейсам ИРПС, стык С2. Промышленные сети. Интерфейсы I2C, SPI. 4. Принципы организации систем дискретного ввода-вывода в МПС 4.1. Общая структура систем дискретного вводавывода В данной главе будут рассмотрены принципы построения и подключения к МПС дополнительных внешних устройств дискретного ввода-вывода (УВВ). Подключение УВВ осуществляется к системной магистрали. Общая структурная схема этих устройств имеет вид: CS СА ША ЛУС ШУ V Порт ввода -вывода ССУ К ОУ ШД К СМ СА – селектор адреса, осуществляющий обнаружение на шине адреса комбинаций бит, соответствующий адресу данного устройства. При этом СА формирует сигнал выбора устройства CS. ЛУС – логическая схема управляющих сигналов, которая на основе сигналов ШУ формирует сигналы внутреннего управления УВВ. Порт ввода-ввывода – устройство, осуществляющее непосредственную передачу дискретных сигналов с ОУ на ШД системы или наоборот. Порты реализуются на основе ИС регистров или шинных формирователей. ССУ – схема согласования уровней. Преобразует уровни логических сигналов с объекта в ТТЛ-уровни, используемые в ОМК. Или наоборот, ТТЛ – в логические уровни, используемые в ОУ. 46 4.2. Реализация селекторов адреса В соответствии с принципами реализации различают 2 основных вида селекторов адреса (СА): • с полной дешифрацией; • с неполной дешифрацией сигналов шины адреса; В первых СА для формирования выбора устройства CS использовались все разряды шины адреса. Замечание: В большинстве МПС для адресации УВВ использовалась восьмиразрядная шина адреса (младшие восемь разрядов ША). В СА с неполной дешифрацией для генерации сигнала CS использовались не все, а как правило, только старшие разряды ША. Простейшим СА с неполной дешифрацией является линейный СА. Для генерации сигнала CS в это СА используется только один разряд ША (например, CS = A7 ). Пример различных типов СА: а) с полной дешифрацией: Адрес устройства ( CS =0): A7 1 & 1011 01112 1 A5 A4 1 1 A3 B 7 h CS 1 1 1 A2 A1 A0 б) с неполной дешифрацией: Адрес устройства ( CS = 0 ). 1010 хх хх A7 A6 1 1 1 A5 A3 1 & CS нач. A кон. A F h h Всего устройство займёт 16 адресов. в) линейный СА. Адрес устройства: 1xxx xxxx=80h÷0ffh 127 адресов A7 1 CS 47 Замечание: использование СА с неполной дешифрацией приводит к неэффективному использованию адресного пространства МПС, т.к. в этом случае каждое устройство получает не по одному адресу, а по несколько. В зависимости от структуры и количества обслуживаемых устройств СА делят на: • централизованные • локальные • распределённые. Пример реализации централизованного СА на дешифраторе (для восьми устройств). Пример комбинированного СА на основе дешифратора для 64-х устройств. A3 A7 20 DC A4 21 A5 22 80h÷87h A0 88h÷8Fh 1 A1 21 3 A2 22 4 5 A0h÷A7h A8h÷AFh B0h÷B7h 2 6 V K1533ИД7 7 & B8h÷BFh дешифратор групп устройств A6 20 DC к примеру 1 B8h 2 B9h BAh 3 BBh 4 5 BCh 6 V K1533ИД7 7 BDh BEh BFh дешифратор устройств в группе адреса групп: № группы № устройства группы 10 ххх ххх Замечание: В большинстве МПС, как правило реализуют центральные или комбинированные СА на основе ПЗУ или ПЛМ. 4.3. Реализация портов ввода-вывода Простейшие порты ввода логических сигналов реализуются на основе регистров (триггеров). Общая схема порта ввода логических сигналов, подключаемого к системной магистрали контроллера, имеет вид: КШД DI0 8 RG DI1 DI2 . . . DI7 CS 1 от CA ЧТВВ (RD) IO/M ШУ Сх. ЛУС OE К580 ИР82 DO0 DO1 DO2 .. . DO7 ST . . . 1к от ОУ (ССУ) +5В 48 – сигнал разрешения выдачи информации от ОУ на шину данных. OE Если OE =1, то все линии DI и D0 находятся в третьем состоянии, т.е. отключены от ШД и ОУ. ST – сигнал записи информации в регистр (ST=1 – регистр пропускает через себя информацию без записи). Заключение: Вместо регистра для реализации порта ввода используются шинные формирователи, инверторы, буферные схемы, но обязательно с третьим состоянием выхода, которое необходимо для отключения от ШД МПС. Фрагмент программы чтения информации ОМК ВЕ51 из изображённого порта имеет вид (пусть его адрес 40h), т.е. сигнал CS от СА генерируется при значении 40h на шине адреса. Замечание: т.к. порты ввода/вывода в ОМК ВЕ51 подключаются как дополнительные внешние ячейки ОЗУ, то для обращения к ним используется команда MOVX. Простейший порт вывода дискретной информации также реализуется на основе регистров. КШД 8 . . . CS от CA 1 DO0 RG DI0 DO1 DO2 .. . DO7 DI1 ST DI2 .. . DI7 К580 ИР82 . . . от ОУ (ССУ) OE ЗПВВ (WR) IO/M Сх. ЛУС Запись информации в порт вывода (регистр) осуществляется по сигналу ЗПВВ =0. Если выбран данный порт сигналом CS=0 и IO/M=1. Фрагмент программы записи информации в изображённый порт для ВЕ51 (адрес 41h): Возможно подключение с СМ универсальных портов ввода/вывода, реализованных на основе специализированных БИС. Примером такого порта может служить программируемый периферийный адаптер (ППА) К80ВВ55. Схема подключения ППА к СМ имеет вид: ППА К580 ВВ55 (Intel 8255) представляет собой 3 8-ми разрядных порта ввода-вывода дискретной информации A, B, C, реализованных в одном корпусе. Каждый 8-ми разрядный порт используется как для вывода так и для ввода информации. Конкретно режим его работы задаётся путём записи специального байта (управляющего слова) в сигнальный внутренний регистр (регистр управляющего слова). Обращение к каждому из портов ППА осуществляется с использованием адресных линий A0 и A1 (00 – порт A, 10 – порт B, 01– порт C, 11– РУС). Адрес портов на изображённой схеме будет принимать значения: 49 A7 A6 A5 A4 A3 A2 1 0 1 0 1 0 1 0 1 0 1 0 1 1 A1 1 A0 =0A9H порт A 1 =0A9H– B =0AAH–C =0ABH –РУС Пример. Написать фрагмент программы программирования режима работы ППА и выдачи байта 0CDH в порт A. Замечание: Аналогично подключению ППА с системной магистралью осуществляется подключение иных специализированных БИС: – контроллера клавиатуры и индикаторов (К580 ВД79, I8279) – контроллер двоичного последовательного интерфейса (К580 ВВ51, I8251) – три дополнительных 16-ти разрядных таймера (К580 ВИ53, I8253) – контроллер прямого доступа к памяти ПДП (К580 ВТ54) и т.д. 4.4. Программно-аппаратное обеспечение ввода дискретных сигналов. При вводе дискретных логических сигналов в МПС, как правило, решаются три основные задачи: 1) согласование логических уровней дискретных сигналов. Все вводимые логические сигналы должны быть преобразованы в ТТЛ уровни; 2) устранение дребезга контактных датчиков с которых осуществляется ввод логического сигнала. Задача решается при вводе информации с клавиатуры, переключателей, контактов реле, пускателей и т.д.; 3) обеспечение ввода очень коротких по длительности логических сигналов. 4.4.1. Согласование логических уровней сигналов. Возможны три случая для диапазона изменения входного логического сигнала: а) если входной логический сигнал имеет логические уровни: – логического нуля U0:-24В≤U0≤0,4 – логической единицы U1: 2,4В≤U1≤24В. В этом случае для преобразования используются ограничители (диодные или транзисторные). б) UВХ: |U0|<15В (24В); |U1|<15В (24В) |U1-U0|<2В. 50 – малый размах логических уровней. В этом случае для приведения к ТТЛ – уровням используют схемы на аналоговых компараторах. +5В Uсм R3 R1 Uвых Uттл - Uвх == + R2 К521СА3 Характеристика вход-выход Uттл 5В из-за помех Uттл U1=R2(UCH /(R1+R2)) 5В U1 Uвх t1 t1 t2 t Uвх t1 t2 t Для устранения чувствительности к помехам используют триггеры Шмитта, реализованные на аналоговых компараторах. В этом случае схема имеет вид Отрицательным свойством изображённого преобразователя является чувствительность к помехам во входном логическом сигнале, если амплитуда помехи больше чем: U1 − U 0 2 . Замечание: Подбором сопротивлений R1÷R4 добиваются требуемых значений U1, U2, и ∆U. Напряжение ∆U=U2–U1 определяет гистерезис изображённой схемы. Его введение позволяет значительно повысить помехоустойчивость по сравнению с предыдущей схемой: 51 Uттл +5В Uттл U1 U2 +5В Uвх t1 t2 t3 t Uвх t1 t2 t3 t Наличие помехи во входном сигнале с амплитудой ∆U 2 никак не сказывается на выходном сигнале UТТЛ. в) Если входной сигнал UВХ или логические уровни: UВХ: |U0|>24В; |U1|>24В. В этом случае преобразователь уровней обязательно должен содержать схему гальванической развязки, которая предохранит цепи управления контроллера от перенапряжений. Гальваническая развязка может реализоваться на основе: • магнитных элементов (магнитных сердечников); • с использованием оптопар. Рассмотрим схему гальванической развязки на оптопаре. Замечание: Источники питания U1 и U2 должны быть полностью электрически несвязанными, например, используют две разные обмотки одного трансформатора. 4.4.2. Схемы устранения дребезга контактных датчиков При коммутации контакта различных контактных устройств (кнопок, переключателей, контактов реле) в первый момент времени возникает переходной процесс. Это явление при коммутации контакта называют дребезгом. t дребезга лежит в диапазоне от 1 до 30 мкс и зависит от конструкции контакта. Для устранения влияния дребезга используют два типа способов: • аппаратные способы • программные способы. Аппаратные способы реализуются в виде следующих типов схем: 52 • триггерные схемы • схемы на основе RC цепочек • схемы на основе счётчиков или сдвиговых регистров. Простейшая триггерная схема для устранения дребезга имеет вид: +5В R1 (1k) R2 R T Uвых S K К555ТМ2 RS – триггер переключится только по первому нулевому импульсу на входе R, все остальные импульсы вызванные дребезгом далее восприниматься не будут, т.к. триггер уже переключился. Простейшая RC – цепочка, предназначенная для устранения дребезга: +5В Триггер Шмитта R1 R UC Kн C Uвых В настоящее время выпускается большая номенклатура интегральных схем устранения влияния дребезга контактов на основе счётчиков и сдвигающих регистров. Например: ИС СД4490 (6 элементов устранения дребезга). Схема одного из них: 4.4.3. Программные способы устранения влияния дребезга контактов Выделяют два основных способа: – способ N-кратного считывания; – способ временной задержки. Схема алгоритма способа N-кратного считывания имеет вид: СЧ СЧ N нет Контакт замкнут ? да N-1 нет СЧ=0 ? да время задержки контакт замкнут, дребезг завершён Фрагмент программы метода N-кратного считывания для ОМК ВЕ51: 53 M1: MOV R0,#N; R0←N M3: JB P1.0,M1; если P1=0, то M1 нет контакт замкнут ? MOV R1,#N1; временная задержка M2: DJNZ R1,M2; R1←R1–1, если R1≠0, да то M2 задержка DJNZ R0,M3; R0←R0–1, если R0≠0, да то M3 нет контакт замкнут ? ………… Время tЗ временной задержки равно: да tЗ=(2ּN1+2)ТМЦ контакт замкнут,дребезг Величина N выбирается так, чтобы время: завершён tЗ=(4ТМЦ+tЗ)ּN≈tДРЕБ. Схема алгоритма способа временной задержки имеет вид. Фрагмент программы способа временной задержки для ОМК ВЕ51 имеет вид: M1: JB P1.0, M1; MOV R0, #N1; M3: MOV R1, #N1; M2: DJNZ R1, M2; DJNZ R0, M3; JB P1.0, M1; ……. tЗ=[N1ּ(2+2ּN2)+2]ּTМУ Время задержки tЗ выбирается: tЗ≥ tдреб. 4.4.4. Аппаратное обеспечение вывода логических сигналов При выводе логических сигналов из МПУ решают три основные задачи: • обеспечивают требуемый ток в нагрузке при выдаче логического сигнала (усиления по току); • преобразование логических сигналов из ТТЛ-уровней напряжения в иные логические уровни; • осуществляют оптоэлектронную гальваническую развязку; Для обеспечения требуемого тока в нагрузке могут использоваться следующие устройства: – интегральные буферные схемы (типа шинных формирователей К580ВА86/87; К589 АП16/24 либо интегральные буферные элементы К555 АП1/АП2) при этом ток в нагрузке обеспечивается от 20 до 100мА; – с использованием транзисторных эмиттерных повторителей; – с использованием повторителей на ОУ. 54 Преобразование ТТЛ-уровней в иные логические уровни напряжения может осуществляться с использованием: • интегральных преобразователей уровней; • интегральных схем с открытым коллектором и повышенной нагрузочной способностью; • схем на дискретных элементах (транзистор). Существуют следующие типы интегральных преобразователей уровней: – из ТТЛ в ЭСЛ («0» →-5В, «1»→+5В); [К500 ПУ125 из ТТЛ в ЭСЛ (прямое); К500 ПУ124 из ЭСЛ в ТТЛ (обратное)]. – из ТТЛ в RS («0»→-12В, «1»→+15В); [К170 АП2 (прямое); К170 УП2 (обратное); MAX 232 (прямое и обратное); – из ТТЛ в КМОП («0»→0≈В, «1»→+15В) ; [К176 ПУ4 (прямое); К564 ПУ6 (обратное)]. Замечание: При выборе функциональных интегральных схем (АЦП, ЦАП, аналог. коммутаторов и др.) необходимо обращать внимание – какими логическими уровнями управляется данная схема и нужно или нет использовать преобразователи уровней. Интегральные схемы с открытым коллектором и повышенной нагрузочной способностью удобно использовать для увеличения уровня напряжения логической единицы: Некоторые интегральные схемы R1 +15В (Eпит) 1 с ОК поддерживают напряжение EП вплоть до 30В и током нагрузки до К555ЛН4 К555ЛН4 50мА. Такие ИС удобно использовать для управления индикаторами, требующими повышенное напряжение (газоразрядные и некоторые светодиодные индикаторы). Кроме того ИС с ОК часто используют для управления миниатюрными герконовыми реле: +15В Если требуется обеспечить R1 +5В нестандартные логические уровни на выходе, то используют схемы 1 1 на дискретных элементах типа: Основным элементом преобразования является транзистор VT1, включённый по схеме с общей базой. Если напряжение на эмиттере VT1 соответствует логической единице (ок. +5В), то VT1 открывается и его коллекторным током открывается VT2 . При этом на выходе схемы формируется напряжение UВЫХ=-U2. Если на эмиттере VT1 напряжение соответствует уровню логического нуля, (меньше 0,4В), то VT1 заперт смещением формируемым на диодах VD1 и VD2 . В этом случае коллекторный ток не протекает, VT2 закрыт и UВЫХ=+U1. 55 Замечание: Для повышения КПД изображённые схемы выходную цепь на транзисторе VT2 чаще реализуют на двух транзисторах (как в усилителях мощности). В этом случае будет исключено протекание прямого тока между +U1 и –U2. Замечание: Вместо транзисторов для преобразования уровней часто используют ОУ. 4.4.5. Особенности ввода коротких логических сигналов Короткими логическим сигналами называют сигналы, продолжительность которых соизмерима с машинными циклами микропроцессора. τ≈МЦ. Для ввода в МПС логических сигналов τ≤ТМЦ используют специальные приёмы: Пример: U M1: JB P1.0,M1; (2мц=12.2мт). 1 τ Команда JB осуществляет опрос линии порта P1.0 только течении одного t машинного такта из 24-х , в течении которого эта команда выполняется. Следовательно, появление короткого импульса τ на линии P1.0 (τ≤ТМЦ) может не совпасть с машинным тактом опроса линии P1.0. Т.о. циклически выполняемая команда JB с большой вероятностью может не обнаружить короткого сигнала. Аналогичная ситуация и при подаче коротких сигналов τ на входы запроса прерывания контроллера ( INT1 и INT0 для ОМК ВЕ51) или на счётные входы внутренних таймеров–счётчиков (Т1, Т0 для ВЕ51). Т.к. опрос перечисленных входов схемно также реализуется в течении одного МТ за МЦ. Для фиксации подобных коротких импульсов используются внешние триггерные схемы, которые запоминают сигнал. CLR P1.1; сброс триггера SETB P1.1; M1: JB P1.0, M1; +5В DD1 R1 1k D C R T Q Q P1.0 P1.1 ОМК ВЕ51 Рассматриваемая последовательность команд и схема обеспечит ввод любого короткого сигнала длительности τ≥0,01 нс. Замечание: Для обеспечения ввода и подсчёта коротких логических 56 сигналов, следующих через короткие интервалы времени друг за другом, используют внешние двоичные счётчики на триггерах. Информация с данных счётчиков водится через порты ввода-вывода в ОМК. 4.5. Обеспечение взаимодействия микропроцессорных устройств и ЭВМ верхнего уровня Для обеспечения взаимодействия МПУ как между собой так и с ЭВМ ВУ используют: – последовательные интерфейсы (типа RS232, ИРПС «токовая петля» и др.); – промышленные сети, типа FieldBus. Перечисленные последовательные интерфейсы реализуют радиальную структуру подключения. Это означает, что для подключения к каждому МПУ необходимо реализовать свой последовательный интерфейс: КПИ – встроенные контроллеры последовательного интерфейса; ССЛС – схема согласования с ЛС; ЛС – линия связи; Подобные соединения устройств называются соединениями типа точка-точка (point-point). В интерфейсе RS232С информация передаётся побайтно по трём проводным линиям бит за битом. При этом используются две информационные линии (Т×D передаваемых данных , R×D – принимаемых данных) и общий провод – GND (земля). Каждый передаваемый бит в линии связи интерфейса RS232С кодируется уровнем напряжения «0» – -12В, «1» – +12В. Скорость передачи в RS232С для ЛС типа «витая пара» измеряется в пределах 100 Кбод. Длина линии может достигать 0,5 км. В интерфейсе ИРПС «токовая петля 20 mA» передача информации осуществляется по четырёхпроводной линии, при этом каждая пара проводов образуют свою токовую петлю: – R+, R- – токовая петля для приёма информации; – Т+, Т- – токовая петля для передачи информации. Каждый передаваемый бит кодируется уровнем тока: «1» – 18÷20мА «0» – 0÷3 мА. Замечание: Использование тока для кодирования информации повышает помехозащищённость передаваемой информации, но как правило, снижает скорость передачи. Длина линии связи ИРПС «токовая петля» может достигать 10км. при скорости передачи 100б÷19,2 Кбод (1бод=1бит в 1с.). 57 Следует помнить: увеличение длины линии связи требует снижения скорости передачи для обеспечения бесперебойного обмена информацией: Снижение скорости передачи объясняется V, Кбод увеличением переходных процессов в длинных 100 линиях и помехами. В качестве схемы сопряжения с линией связи ССЛС в интерфейсе RS232С удобно 0,1 l, км 0,01 0,5 использовать интегральную схему типа MAX232: C3 1,0 MAX 232C P3.1 TxD TxD P3.0 RxD RxD C1+ C1 C2 1,0 1,0 C1C2+ C2- Ucc 1,0 U+ U- C4 1,0 TL RL +5В C5 ЛС TxD RxD GND Для сопряжения напряжения интерфейса ИРПС «толовая петля» используют следующую схему: DA1, DA2 – AОТ110А; +5В R1 T+ DA1 VD1, VD2 – КД522. DD1 1k Диоды VD1, VD2 ИРПС 1 TxD VD1 ЛС P3.1 служат для защиты R2 RxD 20k TP3.0 транзистора и диода оптопар R3 +5В от возможных обратных DD2 200 1 напряжений в линии связи. DA2 Пример схемы сопряжения R+ VD1 источника и приёмника ИРПС ЛС сигналов с ИРПС «токовая R4 R20k петля»: Интерфейс ИРПС «токовая петля» обязательно подразумевает гальваническую развязку. Промышленная сеть представляет собой последовательную двухпроводную магистраль, в которой параллельно может находиться несколько микропроцессорных устройств и ЭВМ ВУ: В настоящее время используются следующие типы промышленных сетей: – CAN – сеть (Control ЭВМ Area Network) – сеть МПУ1 МПУ1 .... ВУ области управления. 2 2 2 Это последовательная магистраль магистраль с разрешением 58 коллизий на основе приоритетов. Скорость передачи 10Мбит/сек., длина ЛС –до нескольких километров. – ProfiBus (RS-485) – маркерная последовательная магистраль, передача и приём информации в которой каждым МПУ осуществляется в строго выделенные интервалы времени . Скорость передачи может достигать 12 Мбит/сек. Длина ЛС – до неск. км. В современных 16-ти разрядных ОМК SAB80C167 (Infineon), Z8 (Zilog) реализованы встроенные контроллеры промышленных сетей. Однако возможна и дополнительная реализация сети с использованием внешних контроллеров: SAB80 C91 (CAN–сеть). Для реализации сопряжения с ЛС используют следующие шинные формирователи: – RLE6850 (Infineon) – CAN-сеть. – MAX485 (MAXIM) – Pofi Bus. Замечание: Эти интегральные схемы подобны MAX232, только для промышленных сетей. В рассмотренных промышленных сетях обязательно подразумевается гальваническая развязка с ЛС. 4.6. Средства взаимодействия МПУ с оператором Для взаимодействия с оператором в МПУ используют: – индикаторы для отображения информации – клавиатуры для ввода информации. Если количество кнопок, подключаемой клавиатуры МПУ>5, то при подключении кнопки организуют в виде матрицы: Такое включение позволяет экономить число требуемых линий портов ввода-вывода для подключения кнопок: Пример: 12 кнопок: – традиционный способ – 12 линий – матричный –7 линий. Опрос (сканирование) матричной клавиатуры осуществляют следующим образом: 1) На линии порта PS последовательно выдают двоичные коды, содержащие 0 только в одном разряде: PS3 PS2 PS1 PS0 1 1 1 1 1 1 1 1 1 1 1 1 2) Переключение двоичных кодов осуществляют через короткие интервалы времени: 20÷40 мкс. После каждого переключения осуществляется считывание порта PO. 59 Если в строке, в которой была нажата кнопка, был выдан «0» , то нулевой уровень будет передан в соответствующий столбец и введён через порт PO . По информации портов PSи PO можно судить о нажатой кнопке. при вводе информации из порта PO необходимо устранить дребезг контактного датчика. Диоды VD1, …, VD4 необходимы для защиты линий порта PS от к.з. при одновременном нажатии кнопок в одном столбце. Для индикации алфавитной и цифровой информации в МПУ , как правило используют семисегментные (матричные), светодиодные, газоразрядные или ж/к индикаторы. Светодиодный семисегментный индикатор представляет собой совокупность светодиодов, включённых по схеме с общим анодом или катодом: В матричных индикаторах HG выводимый символ A A A синтезируется из отдельных B C мелких сегментов, B B образованных, как правило, в H C C матрице: H H 0V 0V 0V 5×7, 6×8, 9×12,… АЛС 324 АЛС 321 (с ОА) (с ОК) Возможны два основных способа подключения индикатора: – в режиме статической индикации – в режиме динамической индикации. Для простоты рассмотрим указанные способы подключения на примере сегментного индикатора. В режиме статической индикации для подключения каждого сегмента индикатора используется отдельная линия порта вывода P1.0 P1.1 A P1.2 F G P1.3 P1.4 P1.5 P1.7 B C E D Определение: Cемисегментным кодом символа называют двоичный код, который при записи его в порт вывода обеспечивает свечение на индикаторе данного символа: P1.6 Разряды порта вывода→ P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 C H D E G F A Код двойки: 00111011=3ВН, т.о. семисегментный код двойки – 3ВН. B 60 Для сокращения требуемых линий порта вывода при подключении 7-ми сегментного индикатора используют внешние 7-ми сегментные дешифраторы: DD1 HG1 Семисегментный дешифратор DD1 обеспечивает преобразование 160 ричной цифры в её семисегментный 1 Порт D D код. выво E E 2 да F F Замечание: недостаток 3 G G использования DD1: вывод на H H индикацию только HEX цифр. К512ИД1 0V (с ОА) Для уменьшения требуемых К512ИД2 АЛС321В линий портов при подключении сразу (с ОК) нескольких индикаторов (индикаторная линейка) используют режим динамической индикации. Схема подключения индикаторов имеет вид: DC A B C A B C 8 линий Пример: для подключения пяти семисегментных индикаторов: – в статическом режиме потребуется 5×8=40 линий портов; – в динамическом режиме : 8+5=13 линий. 4.7. Жидкокристаллические индикаторные панели В современном МПУ (пейджеры, сотовые телефоны и др.) часто используют жидкокристаллические индикаторные панели. Они предназначены для вывода как символьной, так и графической информации. При этом графическое изображение синтезируется отдельными точками. Каждая ЖКИ панель включает: –матричный ЖК индикатор; –контроллер вывода информации, реализующий режим динамической индикации. Наличие контроллера позволяет осуществить вывод информации в динамическом режиме без участия центрального процессора. Простейшим ЖКИ панелями являются символьные 1-, 2-, 4-х строчные панели с числом символов в строке до 40. К таким панелям относятся ЖКИ, например, SUNLIKE (Bolymin). Замечание: Основной отличительной особенностью ЖКИ является подключения к системной магистрали МК. Рассмотрим схему подключения ЖКИ типа CS1609D (Bolymin) 1 строка 16 символов. ⎧0ААН⎫ ⎬ ⎩0ААВ ⎭ Адрес индикатора 1010101х= ⎨ 61 Поясним основные выводы контроллера DD1: D7,…,D0–линии предназначенные для записи выводимой на индикацию информации, а также команд индикатора; ЖКИ панель имеет внутреннее ОЗУ индикатора, в котором и записывается отображаемая информация (как правило в виде ASCII кода) R/w–вход линия определяющая осуществляется чтение (1) либо запись (0) информации. RS–вход линия, передающая записывается данные (0) или команда Е–вход сигнал разрешения операции чтения/записи с контроллера. Перечень основных команд контроллера DD1 индивидуален для каждой индикаторной панели и определяется по инструкции. К этим командам относятся: –команда записи информации В ОЗУ индикатора; –команда чтения информации ОЗУ; –очистка ОЗУ (экрана); –формирование своих символов в виде точечной матрицы. 4.8. Совмещенные контроллеры клавиатуры и индикатора Разработаны БИС (например К580ВД79, I8279,…) представляют собой устройства одновременно осуществление: –автоматическое сканирование матричной клавиатуры без участия центрального процессора; –вывод на индикаторные линейки в режиме динамической индикации без участия центрального процессора требуемой информации. Такие микросхемы называются контроллеры клавиатуры и индикатора (ККИ). Контроллер ККИ К580ВД79 (I8279) обеспечивает выполнения следующих функций: 1)автоматическое сканирования матричных клавиш размером 8х8 2)автоматическое устранение дребезга контактных датчиков 3)индикация в автономном режиме информации на линейке из шестнадцати 7-сегментных индикаторов (в динамическом режиме) Общая схема использования ККИ 580ВД79 имеет вид: Замечание: ККИ К580ВД79 имеет два внутренних ОЗУ: –ОЗУ клавиатуры размером 8байт для хранения кодов нажатых клавиш –ОЗУ индикаторов размером 16байт для хранения 7-сегментных кодов отражаемых символов Назначения основных выводов ККИ ВД79: –D0…D7-линии, используемые для обмена данными и командами с ККИ, подключенных к ШД МПУ –CS-входной сигнал выбора ККИ для обмена информацией с процессором, подключен к селектору адреса 62 +5 В 1К к ШД 8 D7 D6 D5 D4 D3 D2 D1 D0 КВД к СА f=0.1-3.1 МГц АО (ША) ЧТВВ ЗПВВ +5 В 1К CS CLK AO RD WR IRQ CNTL Shift К580 ВД79 RL0 RL1 RL2 RL3 RL4 RL5 RL6 RL7 SL2 SL1 SL0 BB0 BB1 BB2 BB3 BA0 BA1 BA2 BA3 BD DD2 22 DC 21 20 A0 A1 A2 A3 A4 A5 A6 A7 shift 8 OE DD3 BF 1 2 3 4 5 6 7 1К 1К VD1...VD8 +5 В B0 B1 B2 B3 B4 B5 B6 B7 VT8 OV A B C D E F G H T 1 DD4 +5 В VT1 OV A B C D E F G H HL1 8 HL8 8 –CLK-вход для подачи тактовой частоты синхронизации ККИ (f=0,13,1 МГц) –А0-вход адресная линия, определяющая доступ к двум внутренним регистрам ККИ: 1)регистру команд (А0=1) 2)регистру данных (А0=0) Замечание: через перечисленные регистры и осуществляется обмен данными и командами ККИ. –RD, WR-вход сигналы чтения и записи информации ККИ, подключается к сигналам ШУ –IRQ-вых сигнал запрос прерывания, генерируемый при нажатии клавиш, подключается к входам запроса прерываний МП; –CNTL, Shift-вход линии для подключения управляющих клавиш ‘CONTR’ и ‘Shift’. В отличии от кнопок матричных клавиатуры не генерирует прерывания; –RL0…RL7-вход линии чтения состояния строк матричной клавиатуры; –SL0…SL3-выход линии сканирования клавиатуры и выбора индикатора в линейке при динамической индикации, на них выдается двоичный номер опрашиваемого столбца матричной клавиатуры и индикатора в линейке, на который выдают информацию. Увеличение номера на этих линиях осуществляется с интервалом ~1÷100мс. –ВВ0…ВВ3, ВА0…ВА3-выход линии, на которые выдается 7сегментный код отображаемого символа. Информация на линиях изменяется синхронно с изменением состояния SL0…SL3. 63 –BD-выход сигнал гашения всех индикаторов в линейке, генерируется автоматически ККИ при смене отображаемой информации. 64 _____________________________________________________________ Тема 6. - 18 часов (у.з.-3). Организация ввода-вывода аналоговых сигналов. Системы сбора и обработки информации. Системы цифрового управления. Вывод аналоговых сигналов. Простейшие ЦАП, их недостатки и способы устранения. Интегральные ЦАП. Получение биполярного напряжения на выходе ЦАП. Ввод аналоговых сигналов. Структура канала ввода. Устройство выборкихранения. Алгоритмы аналого-цифрового преобразования. Интегральные АЦП. Устройства выборки хранения. Средства согласования с объектом управления. АЦП с дельта-сигма модуляцией. 5. Организация подсистем ввода/вывода аналоговых сигналов МПУ 5.1. Вывод аналоговых сигналов Основным элементом подсистем вывода аналоговых сигналов является устройство преобразования двоичных кодов К в аналоговые величины (U, I). В МПУ в качестве таких устройств используются: 1) ЦАП; 2) ШИМ с НЧ фильтром на выходе; Общая структура ЦАП имеет вид: К n ЦАП Uцап Uцап=ŋ·К , ŋ=const. ЦАП для МПУ выбирают по следующим его характеристикам: 1) погрешность преобразования (разрешающая способность ЦАП) δ= 1 ⋅100 0 0 , 2 −1 n-разрядность; n 2) время преобразования - интервал времени между подачей кода на входы ЦАП и получение устойчивого напряжения на выходе; 3) Нелинейность преобразования Д нл (К ) = U ЦАП − η К . Простейшим ЦАП является ЦАП суммирования токов на основе ОУ: двоичный код К R. 2n-1 D0 D1 . . . Dn-1 R . 2n-2 R. 2n-0 I1 I∑ I2 UЦАП In 65 1 1 1⎤ K ⎡ U ЦАП = − U "1" ⎢ D0 n −1 + D1 n − 2 + ... + Dn −1 0 ⎥ = − U"1" n −1 2 2 ⎦ 2 ⎣ 2 D0…Dn-1 – двоичные разряды кода, подаваемого на ЦАП; U”1”–напряжение соответствующее уровню «1». Недостатки данного ЦАП: –из-за нестабильности уровней логической «1» и «0» (U”1” и U”0”), ЦАП имеет высокую погрешность (U”1”=5÷2,4В; U”0”=0÷0,4В); –требуется определенное количество точных резисторов с номиналами отличающихся на 2. Для устранения первого недостатка логические сигналы D0…Dn-1 используют только для управления ключами, которые коммутируют сопротивление к постоянному высокостабильному источнику напряжения (опорное). U D R. 2 КТ1…КТn–как правило КТ1 транзисторные ключи на полевых R D R.2 транзисторах. КТ2 U Для устранения неполадки второго недостатка, (требуем большой D R. КТn 2 номенклатуры резисторов) используют лестничные на резисторах типа “R-2R”. опор n-1 1 n-2 ЦАП n +Uопор R I0 R R 2R I0/2 I0/4 I0/8 2R 2R 2R 2R 2R Dn-2 Dn-3 D1 D0 Dn-1 I0/2 I0 = n U ОПОР = const R R n I ∑ = ∑ Ii i =1 [ ] I I I ⎤ ⎡ U ЦАП = − R ⎢ D0 n0−1 + D1 n0−2 + ... + Dn−1 01 ⎥ = − RI 0 D0 2 −(n−1) + D1 2 −(n−2 ) + Dn−1 2 −1 = 2 2 ⎦ ⎣ 2 К = − U ОПОР n−1 2 где К= Dn-1; Dn-2;…-целое двоичное число; Основным свойством схемы “R-2R” является способность делить ток I0 на 2 при любой коммутации ключей Dn-1, Dn-2,…,D0. Осуществляется многократное деление на 2. 66 Пример: Определить двоичное число, которое при выводе ЦАП сформирует на выходе напряжение –5,3В, если опорное напряжение равно Uопор=+10,24, а n=11. K=- U ЦАП U опор ⋅ 2 n −1 = − 5,3 ⋅ 2 n −1 = 530 n = 212 k = 1000010010 2 − 10,24 Современные ЦАП строятся как правило на основе схем “R-2R” c внутренним или внешним суммированием токов на ОУ. В зависимости от включения данного ОУ и источника опорного напряжения ЦАПы могут работать в режимах: – однополярного выходного напряжения 0 ≤ UЦАП ≤ UОПОР. – Двуполярного - UОПОР/2 ≤ UЦАП ≤ UОПОР/2. 5.2. Общая структура подсистемы ввода аналоговых сигналов Структура имеет вид: U11,…,Unm–измеряемые сигналы; К1,…,Кn–аналоговые коммутаторы сигналов в группах; выбор сигнала определяется кодом подаваемым на шину “выбор в группе”; НУ1,…,НУn–нормирующий усилитель -для преобразования диапазона измерения сигнала к максимальному диапазону измерения сигнала на входе АЦП (УВХ); КГ–коммутатор групп- для подключения одной из групп; С U11 U12 U1m С К1 выбор в группе выбор группы хранение преобразование С НУ1 d КГ УВХ АЦП N к МПУ к МПУ Un1 Un2 Unm Кn НУn напряжение с датчиков УВХ–для сохранения сигналов неизменными, во время его АЦ преобразования. К1,…,Кn; КГ–реализуется на основе интегрированных схем КМОП и НМОП аналоговых коммутаторов (серии К590, К591,CD4000 и т.д.) Основными характеристиками при выборе аналоговых коммутаторов является: 67 – – – – число коммутаторных входов; диапазон коммутируемых напряжений; максимально коммутируемый ток; переходное сопротивление с коммутируемого ключа и др. Ну как правило реализуется на основе инвертируемых и не инвертируемых усилителей с ООС на основе ОУ. Коэффициент усиления НУ выбирается исходя из диапазона измеряемого сигнала и диапазона входного сигнала на АЦП: К ну = U max АЦП − U min АЦП U max СГ − U min СГ В случае измерения (слабого изменения) сигналов, ОУ для НУ выбирается по напряжению смещения нуля Uсм0: U −U Uсм0 ⋅ K ну ≤ ∆ АЦП ∆ АЦП = max АЦПn min АЦП . 2 −1 ∆АЦП–измерение входного напряжения АЦП на единицу младшего разряда (максимальная погрешность). Изображенная схема подсистемы ввода аналоговых сигналов используется при измерении сигналов с сильно различающимися диапазонами измерения. В этом случае сигналы с близким диапазоном измерения формируется в единую группу. Такое объединение позволяет уменьшить число требуемых НУ. 5.3. Основные типы АЦП, используемые в МПУ. Основные характеристики выбора АЦП В настоящее время в МПУ используют следующие типы АЦП: – АЦП на основе преобразователей “напряжение-частота”. К данному типу относят АЦП с дельта –сигма -модуляцией; – АЦП “время-импульсные” однократным и двойным интегрированием сигнала, они преобразуют измеряемое напряжение в временной интервал; – АЦП последовательного счета и последовательных приближений. Они строятся на основе ЦАП; – АЦП параллельного преобразования, данный тип быстродействующий, но малоразрядный. Выбор АЦП для МПУ осуществляют на основе следующих характеристик: U max АЦП − U min АЦП 1 ⋅ 1) погрешность преобразования ∆ = ± 2n − 1 2 2) время преобразования –интервал времени между подачей сигнала на вход АЦП и появление устойчивого кода на выходе; 68 3) апертурное время –интервал времени, в течении которого невозможно точно сказать к какому из моментов времени относится полученное измерение (погрешность измерения сигнала во времени). Для интегральных АЦП немаловажными являются: 4) интерфейс передачи полученного в МПУ: 5) наличие встроенного источника опорного напряжения, УВХ. Рассмотрим подробно, программно -аппаратную реализацию основных типов АЦП. 5.4. Программно–аппаратная реализация время– импульсного АЦП с однократным интегрированием Общая структура имеет вид: АК –аналоговый компаратор, используется для сравнения Uвх и Uгпн ⎧1, U вх〉 U гпн ⎫ Uk = ⎨ ⎬ ⎩0, U вх ≤ U гпн⎭ порт МПУ конец преобразования Р1.0 ГПН –генератор пилообразного Uвх АК напряжения. Uк Алгоритм управления АЦП с Р1.1 ГПН Uгпн однократным интегрированием: пуск 1) МПУ в момент t1 формирует сигнал Пуск=0, тем самым заставляя ГПН формировать на выходе линейно –нарастающее напряжение. 2) Осуществляется Uвх, Uгпн постоянный опрос выхода АК, в случае, когда выход АК Uk=0 Uвх (Uвх =Uгпн), Uгпн формируется второй момент времени t2. Uk t1 t2 t3 t 3) Измеренный интервал времени ∆t с помощью внутренних таймеров – t=t2-t1 счетчиков и будет являться числовым f мц эквивалентом N входного t напряжения Uвх. число N t1 подсчет МЦ t2 t 69 мпк DD1 пуск (порт вывода) VD VT 1 R2 DA1 == конец преобразова ния (порт ввода) Замечания: изменяя наклон прямой напряжения можно добиться практически любого коэффициента преобразования к АЦП: R1 iэ C ic N = Int [k ⋅ U ВХ ] N –двоичный код на выходе +5В R3 АЦП. Пример: принципиальная схема Uвх программно – аппаратной реализации время – импульсного АЦП с К521СА3 однократным интегрированием. На элементах VD, R1, VT, R2 реализован генератор постоянного тока ic=const, которым заряжают конденсатор С: U − U ЭБ VT iC ≈ i Э = VD ≈ const R1 Получим выражение, описывающее время –импульсное преобразование АЦП t U C = U ГПН 1 1 i = ∫ iC dt = C (t2 − t1 ) С t2 C U ВХС iC ∆t ∆t = (1) iC C Получили выражение, описывающее время –импульсное преобразование АЦП. Замечание: Т.к. в формулу (1) входят параметры схемы (С,ic), которые могут изменяться от температуры или старения, то можно сказать, что точность преобразования данного АЦП невысока и зависит от изменения этих параметров. Изображенный АЦП имеет низкую помехозащищенность, так присутствие в Uвх случайной помехи может резко повлиять на точность результата. U ВХ = U C = 5.5. Время–импульсный АЦП двойного интегрирования Обладает более высокой помехоустойчивостью. Общая структурная схема имеет вид (при программно –аппаратной реализации): К1 Uвх МПК управление ключем(Р1.0) конец преобразо вания (Р1.1) -Uопор U1 Интегр. Uинт AK Uk ⎧0, U ИНТ 〈 0 ⎫ UK = ⎨ ⎬ ⎩1, U ИНТ ≥ 0⎭ Работу АЦП двойного интегрирования поясним на временной диаграмме. 70 -UИНТ Алгоритм работы АЦП U'ИНТ двойного интегрирования: U1= -Uопор U1=Uвх 1) В момент t1 (когда напряжение на интеграторе Uинт=0) на t1 t2 t3 t Uk вход интегратора подают T=t2-t1 U1=Uвх. В течении заранее заданного интервала T=t2-t1 t=t3+t2 осуществляется интегрирование Uвх, при этом t напряжение на выходе U счет интегратора достигает U’инт. t~Uвх 2) В момент t2 на вход интегратора подключают отрицательное опорное напряжение U1= -Uопор и с t измеренное время момента t2 начинают подсчет пропорциональна Uвх времени. 3) В момент t3, когда Uинт=0, прекращают подсчет времени и интервал ∆t=t3-t2 считают числовым эквивалентом измеряемого входного напряжения. ∆t измеряют, как правило, внутренними таймерами – счетчиками. Момент t3 определяют по переключению Uk на выходе компаратора. Замечание: интервал T=t2-t1 стараются выбрать кратным периоду основной промышленной частоты (1/50 Гц). В этом случае интегрирование Uвх на интервале Т автоматически исключит из сигнала помеху, обусловленную промышленной частотой. Данный АЦП часто используют для измерения напряжения с удаленных датчиков, т.к. он легко исключает из сигнала промышленную частоту. Пример: принципиальная схема программно-аппаратного АЦП двойного интегрирования. ⎧0, U1 = U вх ⎫ ⎧0, U инт 〈 0 ⎫ Р1.0 = ⎨ Р1.1 = ⎬ ⎨ ⎬ = − 1 , U U 1 , U ≥ опор опор инт ⎩ ⎭ ⎩ ⎭ 71 Получим основное выражение для АЦП двойного интегрирования: t 1 2 Uвх (t2 − t1 ) = U'инт dt = Uинт (t2 ) = U вх RC ∫t1 RC t U опор 1 3 U вх (t3 − t2 ) ≡ 0 U инт (t3 ) = U'инт − U T dt = опор RC RC t∫2 RC U опор U вх T= ∆t RC RC ∆t = U вх T U опор (2) Замечание: Т.к. в формулу преобразования (2) для АЦП двойного интегрирования не входят параметры схемы (R, C, и т.д.), то следовательно эти параметры не влияют на точность преобразования. И их изменения от температуры или во времени никак не сказывается на погрешность измерения. Т.к. это АЦП на компараторе сравнивается интеграл Uвх, то следовательно АЦП не чувствителен к случайным импульсным помехам. C Пример фрагмента DA1 DA2 MX программы Uвх x0 управления U1 R -Uопор x1 Y Uинт АЦП двойного управление интегрирования A0 К1 R (Р1.0) . Для подсчета К140УД7 К590КН1 ОМК временных DD1 == +5 В интервалов Т=t2-t1; ∆t=t3-t2 R 1К используют внутренний конец преобразования (Р1.1) ОМК таймер Т0 ОМК К521СА3 ВЕ51. 72 5.6. Программно–аппаратная реализация АЦП последовательного счета и последовательных приближений Данный АЦП реализуется на основе ЦАП по следующей схеме: ОМК АК–аналоговый компаратор. Порт U цап АК Работа данного ЦАП вывода U+ = = Р2 типа АЦП состоит в N (код К) подборе такого U вых двоичного кода К (порт Р2), чтобы ОМК напряжение UЦАП=UВХ. UU вх Порт Существует два ввода типа алгоритма Р1.1 подбора кода К: – алгоритм последовательного счета; – алгоритм последовательных приближений. Алгоритм последовательного счета: 1) На цифровые входы ЦАП подается увеличивающий на единицу nразрядный двоичный код, при этом на выходе ЦАП формируется линейно нарастающее напряжение UЦАП. 2) При достижении UЦАП уровня входного напряжения UВХ происходит переключение аналогового компаратора (АК) и Uk=0. Двоичный код к выданной в этот момент на ЦАП и является тем числовым эквивалентом. Замечание: недостатками АЦП последовательного счета является: –большое время преобразования, так при 8-разрядном ЦАП требуется до 255 циклов суммирования К, а при 16-разрядном до 216=65536. –невысокая помехозащищенность. Для ускорения аналого-цифрового преобразования используют алгоритм последовательных приближений (поразрядного взвешивания). Основные этапы этого алгоритма: 1) на цифровые входы ЦАП выдают двоичный код К с установленным в «1» только старшим разрядом (100…0). При этом на выходе ЦАП формируется напряжение: U ЦАП = U ЦАП max ,где Uцап- напряжение, соответствующее коду 2 111…1. 2) анализируется состояние АК, если переключение не произошло (т.е. Uвх
«Основные понятия и определения микропроцессорной техники. Понятие об архитектуре микропроцессорной системы. Классификация однокристальных микроконтроллеров (ОМК) и микропроцессоров. RISC-архитектура ОМК. Основные типы МПСУ. Принципы построения и структура технических средств микропроцессорного контроллера (МПК). Основные этапы разработки микропроцессорной системы. Цифровые сигнальные процессоры.» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Тебе могут подойти лекции

Смотреть все 493 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot