Проектировка структурной схемы устройства сбора данных
Некоммерческое акционерное общество
«АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ»
Кафедра электроники
Курсовая
работа
по
дисциплине «Цифровые устройства и микропроцессоры»
Алматы
2013г.
Содержание
Введение
Техническое
задание
1. Проектировка
структурной схемы устройства сбора данных (УСД)
. Программа
работы УСД
2.1 Алгоритм
работы устройства
2.2 Составление
программы на языке ассемблера и её размещение в ОЗУ
Оценка
быстродействия устройства
Заключение
Список
литературы
Введение
Курсовая работа по дисциплине «Цифровые
устройства и микропроцессоры» предназначена главным образом для того чтобы
студент получил навыки схемотехники, организации и программирования
микрокомпьютеров. Данная работа показывает все возможности данной дисциплины в
области телекоммуникаций. Задачей курсовой работы является углубление знаний,
полученных при изучении курса, а также развитие навыков самостоятельной работы
с технической и справочной литературой. Основной задача это разработка
функционально законченного устройства для обработки входных сигналов линии с
использованием цифровых устройств и аналого-цифровых узлов.
Техническое задание
Спроектировать устройство сбора
данных (УСД), которое должно работать следующим образом: последовательно
опрашивая аналоговые сигналы, поступающие на F
входов коммутатора каналов (КК), необходимо с помощью аналого-цифрового
преобразователя (АЦП) преобразовать эти сигналы в цифровую форму (двоичные
слова разрядностью 1 байт=8бит) и разместить в некоторую область оперативного
запоминающего устройства (ОЗУ), начиная с ячейки, имеющей адрес с символическим
названием М. УСД имеет в своем составе ОЗУ емкостью Q
= N·n
(N ячейка с
разрядностью n) и форматом
адресного слова 2 байта =16 бит. Синхронизация работы микропроцессорной системы
осуществляется от генератора тактируемых импульсов (ГТИ). Частота синхронизации
f=500 кГц. Исходные
данные:
· Число входов коммутатора каналов F=9
· текущий адрес очередного канала
должен храниться в регистре R=В
· область оперативного запоминающего
устройства (ОЗУ) M=012A
ёмкость ОЗУ Q=32768x8
· программа будет размещаться в памяти
начиная с ячейки с адресом BEG=031A
Требуется:
а) проработать вопрос
организации ОЗУ;
б) реализовать УСД в виде
микропроцессорного устройства, выполненного на основе микропроцессора (МП) i8085.
При этом, текущий адрес очередного канала должен храниться, согласно заданному
варианту таблицы 1, в регистре R.
Микропроцессорное устройство необходимо довести до уровня структурной схемы,
составить программу его функционирования на языке ассемблера, составить таблицу
размещения программы в памяти, начиная с ячейки с адресом BEG,
а также составить программу в кодовых комбинациях (на машинном языке);
в) оценить быстродействие УСД.
1. Проектировка структурной схемы устройства
сбора данных (УСД)
Сначала выбираем микросхемы, которые будем
использовать для решения поставленной перед нами задачи. Выберем микросхему HM62256
с организацией 32K×8
для ОЗУ. Она содержит 32K
ячеек с разрядностью 8 бит. В нашем случае нужно использовать одну микросхему
данного типа.
Обращение к ячейке, расположенной в той или иной
линейке, обеспечивается с помощью управляющего сигнала CS
- выбор кристалла. Для простоты примем, что микросхема в любой реализации имеет
всего один вход CS. Тогда при CS
=1 обращение к кристаллу (микросхеме) в данной линейке ОЗУ будет заблокировано.
При CS =0
обращение разрешается(работает).
Для построения ОЗУ емкостью 32КХ8 потребуется 1
такая микросхема,
так как
где М1 - емкость одной выбранной
микросхемы,
Мт - требуемая емкость.
В этой микросхеме есть управляющий
сигнал (добавлен сигнал разрешения выхода -OE). Когда этот сигнал пассивен
(равен единице), входы/выходы данных микросхемы не функционируют независимо от
режима работы, а если OE = 0 функционирует. Введение дополнительного сигнала
позволяет более гибко управлять работой микросхемы. К тому же обычно в подобных
микросхемах при пассивном сигнале -CS (равном единице) значительно уменьшается
потребляемая мощность.
Рисунок 1. Схема построения ОЗУ
На рисунке 1 приведена схема
построения такого ОЗУ. У микросхемы количество адресных входов А =15, так как
215 = 32К.
Применим микросхему HM62256.
Рисунок 2. Структурная схема УСД.
Структурная схема УСД, построенного
в виде микропроцессорного устройства (МПУ), представлена на рисунке 2. Кроме
микропроцессора, АЦП, оперативной памяти (ОП) и коммутатора аналоговых каналов,
схема МПУ содержит два устройства ввода и одно устройство вывода данных, роль
которых могут выполнять программно-управляемые регистры-порты, например,
многорежимные буферные регистры (МБР) К580ИК80А. В таком варианте МПУ и шина
управления может состоять всего из двух линий: ЗАПИСЬ и ЧТЕНИЕ. На схеме
рисунка 2 для простоты не показаны: дешифратор сигналов выборки модуля ОП (CS) и
триггер-флаг АЦП (Тфл).
2.
Программа работы УСД
.1 Алгоритм работы устройства
По условиям задания Мhex
= 012A
BEGhex =031A,
Mdec = 298, BEGdec
= 794. Переведя из шестнадцатеричной системы счисления в десятичную систему мы
видим, что программа начинается перед массивом, в который должны быть записаны
снимаемые с АЦП данные.
Зададим начальные условия в первых трёх блоках.
В первом блоке записываем в парный регистр HL
адрес хранения данных М = 012A.
Во втором блоке в регистр B
записываем число каналов F
= 9 = Ah. Согласно
заданию в качестве счётчика регистра применим регистр B
- блок 3. В аккумулятор загрузим начальный адрес канала 00h.
Начинается цикл проверки количества проверенных
каналов.
Начинается цикл проверки стробирующего сигнала.
Блок 5: число (адрес) записанное в аккумуляторе
по шине данных передаём в устройство вывода №1. После чего срабатывают
переключатели в коммутаторе каналов и соединяется устройство (амперметр,
вольтметр, спектрометр или другое устройство) с АЦП.
Блок 6: С выхода STR
АЦП подаётся стробирующий сигнал в устройство ввода № 2. Двоичный код с АЦП
поступает в устройство ввода №2. С устройства вывода № 2 передаём бит в регистр
А.
Блок 7: Так как это только один бит и для того
чтобы определить его значения необходимо сдвинуть его с первой позиции сразу в
триггер С, а нулевое значение бита С на место 15 бита и так далее. То есть
произвести сдвиг всех битов слева на право.
Блок 8: После чего проверяем сигнальный флаг
триггера С. Если триггер С равен нулю возвращаемся в пятый блок и так до тех
пор пока не поступит стробирующий бит.
Конец цикла проверки стробирующего бита.
Блок 9: Двоичный код с АЦП поступает в
устройство ввода №1. С адреса устройства считываем код и записываем значение
сигнала в регистр А.
Блок 10: После чего необходимо переписать в
первую ячейку выделенную под память.
Блок 11: Увеличиваем значение регистра HL
на один в данном цикле программы, для того чтобы следующее значение не затёрло
предыдущие.
Блок 12: Увеличиваем значение регистра D
на один для того чтобы в следующем цикле включился следующий по счёту канал.
Блок 13: Записываем значение находящееся в
регистре D в аккумулятор.
Блок 14: Вычитаем из значение регистра А
значение регистра B.
Блок 15: Проверяем флаговый триггер Z.
Если он равен нулю начинаем цикл заново, то есть возврат в блок 5
Заканчивается цикл проверки количества
проверенных каналов.
Программа закончила свою работу.
Блок-схема
2.2 Составление программы на языке ассемблера и
её размещение в ОЗУ
В таблице 2 приведена таблица программы.
Применим две метки M1 и M2
для циклов проверок.
Таблица 2
№
|
Метки
|
Операнды
|
Комментарий
|
Байты
|
Циклы
|
Такты
|
1
|
|
LXI
|
H,
012A
|
HL012Ah3310
|
|
|
|
2
|
|
MVI
|
D, 0Ah
|
D0Ah227
|
|
|
|
3
|
|
MVI
|
B, 00h
|
B00h227
|
|
|
|
4
|
|
MOV
|
A,
B
|
AB115
|
|
|
|
5
|
M2
|
OUT
|
1
|
А
Уст. Выв.
№12310
|
|
|
|
6
|
M1
|
IN
|
2
|
АУст. Ввода
№ 22310
|
|
|
|
7
|
|
RRC
|
|
A Сдв П(А)114
|
|
|
|
8
|
|
JNC
|
M1
|
Проверка
триггера С
|
3
|
3
|
10
|
9
|
|
IN
|
1
|
АУст.
Ввода
№12310
|
|
|
|
10
|
|
MOV
|
M, A
|
М(А)127
|
|
|
|
11
|
|
INX
|
H
|
HL(HL)+1115
|
|
|
|
12
|
|
INR
|
B
|
B(B)+1115
|
|
|
|
13
|
|
MOV
|
A,
B
|
A(B)115
|
|
|
|
14
|
|
CMP
|
D
|
(A) - (D)
|
1
|
1
|
4
|
15
|
|
JNZ
|
Проверка
триггера Z
|
3
|
3
|
10
|
В таблице 3 приведено соответствие команд и
ячеек памяти, сохраненных данных и ячеек.
Таблица 3.
№
команды
|
Адрес (hex)
|
1
|
031A 031B 031C
|
2
|
031D 031E
|
3
|
031F 0320
|
4
|
0321
|
5
|
0322 0323
|
6
|
0324 0325
|
7
|
0326
|
8
|
0327 0328 0329
|
9
|
032A 032B
|
10
|
032C
|
11
|
032D
|
12
|
032E
|
13
|
032F
|
14
|
0330
|
15
|
0331 0332 0333
|
В таблице 4 приведена программа цикла в кодовых
комбинациях.
Таблица 4.
№
команды
|
Адрес
ОП16
|
Мнемокод
|
Операдны
|
Команда
2
|
Команда
16
|
Комментарий
|
1
|
031A 031B 031C
|
LXI
|
H,
031A
|
0010 0001
|
21
|
HL←031A B3 ст.байт
B2
мл.байт
|
|
|
|
|
0001 0001
|
031
|
|
|
|
|
|
0011 0110
|
A
|
|
2
|
031D 031E
|
MVI
|
D, ØAh
|
0000 0110
|
06
|
D←A16
|
|
|
|
|
0000 1110
|
0A
|
|
3
|
031F 0320
|
MVI
|
0001 0110
|
16
|
B←00
|
|
|
|
|
0000 0000
|
00
|
|
4
|
0321
|
MOV
|
A,
B
|
0111 1010
|
7A
|
A←(B)
|
5
|
0322 0323
|
OUT
|
1
|
1101 0011
|
D3
|
А←У.выв№1
|
|
|
|
|
0000 0001
|
01
|
|
6
|
0324 0325
|
IN
|
2
|
1101 1011
|
DB
|
А←(У.ввода№2)
|
|
|
|
|
0000 0010
|
02
|
|
7
|
0326
|
RRC
|
|
0000 1111
|
0F
|
А←сдв.П(А)
|
8
|
0327 0328 0329
|
JNC
|
М1
|
1101 0010
|
D2
|
УП
при С=0 переход к ячейке 0327 B3 ст.байт B2 мл.байт
|
|
|
|
|
1000 1100
|
1A
|
|
|
|
|
|
0100 1100
|
03
|
|
9
|
032A 032B
|
IN
|
1
|
1101 1011
|
DB
|
А←(У.ввода№1)
|
|
|
|
|
0000 0001
|
01
|
|
10
|
032C
|
MOV
|
M, A
|
0111 0111
|
77
|
М←(А)
|
11
|
032D
|
INX
|
H
|
0010 0011
|
23
|
HL←(HL)+1
|
032E
|
INR
|
B
|
0001 0100
|
14
|
B←(B)+1
|
13
|
032F
|
MOV
|
A,
B
|
0111 1010
|
7A
|
A←(B)
|
14
|
0330
|
CMP
|
D
|
1011 1011
|
BB
|
(A)-(D)
|
15
|
0331 0332 0333
|
JNZ
|
М2
|
1100 0010
|
C2
|
УП
при z=0 переход
к ячейке 1A
B3 ст.байт B2 мл.байт
|
|
|
|
|
1000 1010
|
1A
|
|
|
|
|
|
0100 1100
|
03
|
|
Оценка быстродействия
устройства
Для оценки быстродействия микропроцессорного
устройства будем считать, что максимальная длительность преобразования АЦП
меньше длительности периода синхроимпульсов Т=2 мкс. Тогда в соответствии с
таблицей 3 получим: на выполнение команд 1 ÷
4 требуется 10+7+7+5=29тактов. На один проход по большому
циклу (на выполнение команд 5 ÷
15) нужно 10+10+4+10+10+7+5+5+5+4+10=80 тактов. Всего
таких проходов F=910,
что требует 80∙9=720 тактов. В итоге длительность цикла сбора данных
составит t
=
(29+720)
∙2 мкс=1498 мкс.
ассемблер сигнал цифровой алгоритм
Заключение
В данной курсовой работе мы спроектировали
устройство сбора данных на микропроцессорной основе, на примере микросхемы HM
62256. Проработали вопрос организации ОЗУ МП-системы. ОЗУ емкостью M=N*n
(N ячейки с
разрядностью n) и форматом
адресного слова 2 байта = 16 бит.
Преобразовали структурную схему и блок-схему
алгоритма функционирования МПС и составили программу на языке ассемблера в
мнемонических и машинных кодах с размещением ее в ОЗУ, начиная с ячейки c
031А.
Оценили быстродействие микропроцессорного
устройства.
Список литературы
1.
С.Н. Петрищенко, Программа, методические указания и курсовая работа, АИЭиС,
Алматы 2008.
.
Суэцу Харуками, Микропроцессорные системы управления, 2008.
.
Угрюмов Е.П. Цифровая схемотехника.- СПб.: БХВ - Санкт-Петербург, 2000. - 528
с.
.
Бойко В.И., Гуржий А.Н., Жуйков В.Я. и др. Схемотехника электронных устройств.
Цифровые устройства.- СПб.: БХВ - Петербург, 2004. - 512 с.
.
Бойко В.И., Гуржий А.Н., Жуйков В.Я. и др. Схемотехника электронных устройств.
Микропроцессоры и микроконтроллеры.- СПб.: БХВ - Петербург, 2004. - 464 с.