Структурная схема УСД, построенного в виде микропроцессорного устройства (МПУ), представлена на рис.10. Кроме микропроцессора и известных уже модулей АЦП, ОП и коммутатора аналоговых каналов, схема МПУ содержит два устройства ввода и одно устройство вывода данных, роль которых могут выполнять программно-управляемые регистры-порты, например МБР К5889ИР12. В таком варианте МПУ шина управления может состоять всего из двух линий ЗАПИСЬ и ЧТЕНИЕ. На рис.10 для простоты не показаны: дешифратор сигналов выборки модуля ОП (ВК) и триггер-флаг АЦП (Тфл).
Начальный адрес 071516 ячейки памяти области ОП, отведенной для сбора данных, будем хранить в паре регистров HL. Текущий номер (адрес) аналогового канала в соответствии с заданием будем помещать в регистр E.
Примем, что требуется соблюдать тот же порядок опроса аналоговых каналов, что и при реализации УСД на принципах схемной логики, то есть начиная с канала, имеющего номер (адрес) 0. Чтобы обеспечить формирование признака завершения цикла сбора данных, в регистре B поместим число F=1110 (число аналоговых каналов). Тогда блок-схема алгоритма сбора данных будет иметь вид (рис.11). Дадим краткое пояснение к блок-схеме. Так как по заданию программа представляет собой прерывающую программу в предложении, что в состав МПС входит контроллер прерываний КР580ВН69, то необходимо сначала сохранить содержимое всех регистров. Это показано в блоках 1ё4. В блоке 5 в пару регистров HL загружается начальный адрес G (071516). В блоке 6 в регистр B загружается число 1110 (0B16). Регистр E служит счетчиком адресов аналоговых каналов. В блоке 7 в него загружается адрес первого канала 0016. Затем этот адрес через аккумулятор и устройства вывода № 1 (блоки 9 и 8) поступает на адресный вход коммутатора (см. рис. 10).
Коммутатор подключает первый канал ко входу АЦП и запускает последний. МПУ переходит в режим ожидания окончания акта преобразования АЦП (блоки 10, 11 и 12). Сигнал с выхода ОК АЦП заносит младший разряд регистра порта ввода № 2. Пока ОК=0, акт преобразования в АЦП не окончен. В этом случае блоки 10ё12 обеспечивают запись в триггер-флаг Тс нуля и тем самым прохождение программы по малому циклу. Данный режим выполнения программы продолжается до тех пор, пока сигнал ОК на выходе АЦП не станет равным 1. Так обеспечивается режим ожидания. Как только ОК станет равным 1, то после выполнения команды блока 12 Тс=1 и осуществляется запись данных с выхода АЦП в ОП через устройство ввода № 1 и аккумулятор (блоки 13 и 14).
Далее происходит формирование адресов следующей ячейки памяти (блок 15) и следующего аналогового канала (блок 16). Новый адрес канала записывается в аккумулятор (блок 17). В блоке 18 выполняется операция сравнения содержимого регистров А и B. Если (А)=(B), то все каналы опрошены, результат операции сравнения дает 0 (Z=1) и цикл сбора данных завершён. Если же Z=0, то осуществляется опрос следующего канала, так как при выполнении операции сравнения содержимое аккумулятора остается неизменным, то есть в нём по-прежнему содержится адрес следующего канала, загружаемый в блоке 17. Таким образом, пока адрес очередного аналогового канала, сформированный в регистре E в блоке 16, остается меньше 0A16 обеспечивается прохождение программы по большому циклу. По завершению программы происходит чтение данных из стека и возврат из подпрограммы (блоки 20ё23 и 24).
Программа, записанная на языке Ассемблера микропроцессора КР580ВМ80, представлена в табл. 4.
Дадим краткое пояснение к таблице 4. Команды 1ё4 сохраняют содержимое всех регистров в стеке. Команды 5,6 и 7 в графе “Операнды” содержат коды чисел, загружаемых соответственно в регистры HL, B и E. Загружаемые числа представлены в шестнадцатиричной системе. Признаком шестнадцатиричной системы
№ команды | Мет ка | Операция | Операнды | Комментарий | Бай ты | Циклы | Так ты |
1 | PUSH | B | ;стек ¬( ВС ) | 1 | 3 | 11 | |
2 | PUSH | D | ;стек ¬( DE ) | 1 | 3 | 11 | |
3 | PUSH | H | ;стек ¬( HL ) | 1 | 3 | 11 | |
4 | PUSH | PSW | ;cтек ¬ PSW | 1 | 3 | 11 | |
5 | LXI | H,0715 H | ;HL ¬ 071516 | 3 | 3 | 10 | |
6 | MVI | B , 0A H | ;B ¬ 0A16 | 2 | 2 | 7 | |
7 | MVI | D , 00 H | ;D ¬ 0016 | 2 | 2 | 7 | |
8 | MOV | A , E | ; A ¬ ( E ) | 1 | 1 | 5 | |
9 | K2: | OUT | 1 | ;Устр.выв.№1¬(А) | 2 | 3 | 11 |
10 | K1: | IN | 2 | ; A¬(устр.вв. №2) | 2 | 3 | 11 |
11 | RRC | ; A ¬ Сдв.П ( А ) | 1 | 1 | 4 | ||
12 | JNC | K1 | ;Блок 2 УП | 3 | 3 | 10 | |
13 | IN | 1 | ; A¬(устр.вв. №1) | 2 | 3 | 11 | |
14 | MOV | M , A | ; M ¬ ( A ) | 1 | 2 | 7 | |
15 | INX | H | ;HL ¬ ( HL ) + 1 | 1 | 1 | 5 | |
16 | INR | E | ;E ¬ ( E ) + 1 | 1 | 1 | 5 | |
17 | MOV | A , E | ; A ¬ ( E ) | 1 | 1 | 5 | |
18 | CMP | B | ; ( A ) — ( B ) | 1 | 1 | 4 | |
19 | JNE | K2 | ;Блок 19 УП | 3 | 3 | 10 | |
20 | POP | PSW | ;PSW¬(стек) | 1 | 3 | 11 | |
21 | POP | H | ;HL ¬ (стек ) | 1 | 3 | 11 | |
22 | POP | D | ;DE ¬ (стек ) | 1 | 3 | 11 | |
23 | POP | B | ;BC ¬ (стек ) | 1 | 3 | 11 | |
24 | RET | ;Возврат из ППР | 1 | 3 | 11 |
Таблица 4
является символ Н, стоящий после числа. Номер устройства ввода и вывода (2 и 1), приведенные в графе “Операнды” команд 10 и 9, представлены в десятичной системе. Как известно, признаком десятичной системы может быть либо символ D, следующий за числом, либо отсутствие какого-либо символа. В данном случае использован второй из признаков. В комментарии использованы следующие сокращения:
Сдв.П(А)- сдвиг правый содержимого регистра А (аккумулятора);
УП - условный переход.
В соответствии с заданием программа должна быть размещена в области памяти, начиная с ячейки с адресом h=03B216. Размещение программы представлено в табл. 5.
Число ячеек ОП, отводимых под команду, определяется числом байтов в команде. В табл. 5 стрелками показана последовательность выполнения команд. В командах условного перехода, где последующее выполнение той или иной команды зависит от условия (признака), указаны пары стрелок, рядом с которыми приведены значения сигналов-условий.
№ команды | Адрес16 |
1 | 03B2 |
2 | 03B3 |
3 | 03B4 |
4 | 03B5 |
5 | 03B6 |
03B7 | |
| 03B8 |
6 | 03B9 |
| 03BA |
7 | 03BB |
| 03BC |
8 | 03BD |
9 | 03BE |
| 03BF |
10 | 03C0 |
| 03C1 |
11 | 03C2 |
12 | 03C3 |
| 03C4 |
| 03C5 |
13 | 03C6 |
| 03C7 |
14 | 03C8 |
15 | 03C9 |
16 | 03CA |
17 | 03CB |
18 | 03CD |
19 | 03CE |
03CF | |
| 03D0 |
20 | 03D1 |
21 | 03D2 |
22 | 03D3 |
23 | 03D4 |
24 | 03D5 |
Таблица 5
На основании табл. 4 и 5, а также системы микропроцессора КР580ВМ80 можно составить программу цикла сбора данных в кодовых комбинациях (на машинном языке), приведенную в табл. 6.
Как и прежде будем считать, что максимальная длительность акта преобразования АЦП меньше длительности периода синхроимпульсов Т=2мкс. Тогда в соответствии с табл. 4 получим:
На выполнение команд 1ё8 и 20ё24 требуется 11+11+11+11+10+ 7+7+5+11+11+11+11+11=128 тактов.
№ команды | Адрес ОП16 | Команда2 | Команда16 | Комментарий |
1 | 03B2 | 11 000 101 | C5 | ;стек ¬ ( ВС ) |
2 | 03B3 | 11 010 101 | D5 | ;стек ¬ ( DE ) |
3 | 03B4 | 11 100 101 | E5 | ;стек ¬ ( HL ) |
4 | 03B5 | 11 110 101 | F5 | ; стек ¬ PSW |
5 | 03B6 | 00 100 001 | 21 | ;HL ¬ 070116 |
03B7 | 0000 0001 | 01 | ||
03B8 | 0000 0111 | 07 | ||
6 | 03B9 | 00 000 110 | 06 | ; B ¬ 0D16 |
03BA | 0000 1110 | 0D | ||
7 | 03BB | 00 010 110 | 16 | ;D ¬ 0016 |
03BC | 0000 0000 | 00 | ||
8 | 03BD | 01 111 010 | 7A | ; A ¬ ( D ) |
9 | 03BE | 11 010 011 | D3 | ;Устр.выв.№1¬(А) |
03BF | 0000 0001 | 01 | ||
10 | 03C0 | 11 010 011 | D3 | ; A¬(устр.вв. №2) |
03C1 | 0000 0010 | 02 | ||
11 | 03C2 | 00 001 111 | 0F | ;A¬Сдв.П( А ) |
12 | 03C3 | 11 010 010 | D2 | ;УП При С = 0 |
03C4 | 1100 0011 | C3 | к ячейке 03C3 | |
03C5 | 0001 0110 | 03 | ||
13 | 03C6 | 11 011 011 | DB | ;A¬(устр.вв. №1) |
03C7 | 0000 0001 | 01 | ||
14 | 03C8 | 01 110 111 | 77 | ; M ¬ ( A ) |
15 | 03C9 | 00 100 011 | 23 | ;HL¬( HL ) + 1 |
16 | 03CA | 00 010 100 | 14 | ; D ¬ ( D ) + 1 |
17 | 03CB | 01 111 010 | 7A | ; A ¬ ( D ) |
18 | 03CD | 10 111 000 | B8 | ; ( A ) — ( B ) |
19 | 03CE | 11 000 010 | C2 | ;УП При Z = 0 |
03CF | 1100 0001 | C1 | к ячейке 03C1 | |
03D0 | 0000 0011 | 03 | ||
20 | 03D1 | 11 110 001 | F1 | ;PSW ¬(стек ) |
21 | 03D2 | 11 100 001 | E1 | ; HL ¬( стек ) |
22 | 03D3 | 11 010 001 | D1 | ; DE¬ ( стек ) |
23 | 03D4 | 11 000 001 | C1 | ;BC ¬ ( стек ) |
24 | 03D5 | 11 001 001 | C9 | ; Возврат из ППР |
Таблица 6
На один проход по большому циклу (на выполнение команд 9ё19) нужно 11+11+4+10+11+7+5+5+5+4+10=83 такта. Всего таких проходов F=1410, что требует 83.14=1162 тактов. Итого длительность цикла сбора данных составит S=(128+1162).2 мкс=2580 мкс. То есть быстродействие МПУ примерно в 31 раз ниже быстродействия УСД на схемной логике. Такова цена универсальности МПС.
1. Б.А.Калабеков “МП и их применение в системах передачи и обработки сигналов”
2. В.Н.Ульянов “Функциональные узлы цифровых устройств и микропроцессоров”
3. Г.Г.Капелин, В.М.Тузов “Функциональные модули микропроцессорных систем”
4. Е.П.Балашов, Д.В.Пузанков “Микропроцессоры и микропроцессорные системы”
5. Б.М.Каган, В.В.Сташин “Микропроцессоры в цифровых системах”
27
... ) 0,1098 4.4 Выбор сторожевого таймера. Т.к. работа системы происходит в автономном режиме и не предусматривает работу оператора с ней, то для случая зависания микро-ЭВМ в схему системы сбора данных добавляется интегральная микросхема MAX690AMJA – сторожевой таймер. Выполняющая две основные функции: выведение МП из состояния зависания и сброс МП при включении питания. Основные характеристики ...
... порту в терминал. Рисунок 4.4. - Блок - схема передачи данных в терминал. Далее после окончания приема или передачи данных , в терминал передается команда "устройство свободно", что разрешает дальнейшие запросы на обмен данными. Перезагрузка программы в память и инициализация происходят при нажатии кнопки RESET. Полная блок-схема алгоритма предоставленна в приложении. Данный алгоритм ...
... ; i3 – устройство основания; i4 – укладка дорожных плит; i5 – бурение; i5’ – вывоз изъятого грунта; i6 – монтаж арматуры; i7 – бетонирование; i8 – отрывка котлована под ростверк. До начала устройства буронабивных свай должны быть выполнены следующие работы: - разбиты и закреплены на местности оси опор и свай в свайном поле; - устроена площадка из железобетонных плит ПАГ по песчаному ...
... , В 3. Активное сопротивление, Ом «1» «10» «100» «1000» «1» «10» «100» «1000» «1» «10» «100» «1000» «10м» 2.2 Программное обеспечение тестирования устройства Программа тестирования ПЗУ по методу контрольной суммы LXI B 0040h ; Загрузить в ВС начальный адрес ПЗУ MVI D ...
0 комментариев