49447 (Шина расширения ISA), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Шина расширения ISA", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49447"

Текст 2 страницы из документа "49447"

I/OR [8] [8/16] Сигнал - I/OR (I/O Read - Чтение устройства ввода/вывода) разрешается задатчиком на шине для чтения данных из устройства ввода/вывода по адресу, определяемому сигналами SA.

I/OW [8] [8/16] Сигнал - I/OW (I/O Write - Запись в устройства ввода/вывода) разрешается задатчиком на шине для записи данных в устройство ввода/вывода по адресу, определяемому сигналами SA.

MEM CS16 Сигнал - MEM CS16 (Memory Cycle Select - Выбор цикла для памяти) разрешается 16-разрядной памятью для сообщения задатчику шины о том, что память, к которой он обращается, имеет 16-разрядную организацию и ему следует выполнить 16-разрядный цикл доступа. Если этот сигнал запрещен, то только 8-разрядный цикл доступа может быть выполнен на шине. Память, к которой выполняется цикл доступа, должна выработать этот сигнал из адресных сигналов LA.

I/O CS16 Сигнал - I/O CS16 (I/O Cycle Select - Выбор цикла для УВВ) разрешается 16 - разрядным УВВ для сообщения задатчику шины о том, что УВВ, к которому он обращается, имеет 16-разрядную организацию и ему следует выполнить 16-разрядный цикл доступа. Если этот сигнал запрещен, то только 8-разрядный цикл доступа к УВВ может быть выполнен на шине. УВВ, к которому выполняется цикл доступа, должна выработать этот сигнал из адресных сигналов SA.

I/O CH RDY [8] [8/16] Сигнал I/O CH RDY (I/O Channel Ready - Готовность канала ввода/вывода) является асинхронным сигналом, вырабатываемый тем устройством, к которому осуществляется доступ на шине. Если этот сигнал запрещен, то цикл доступа удлиняется, так как в него будут добавлены такты ожидания на время запрещения. Когда задатчиком на шине является центральный процессор или внешняя плата, то каждый такт ожидания по длительности - половина периода частоты.

SYSCLK (для тактовой частоты SYSCLK=8 МГц длительность такта ожидания - 62.5 нс). Если задатчиком на шине является контроллер ПДП, то каждый такт ожидания - один период SYSCLK (для SYSCLK=8 МГц - 125 нс). При обращении к памяти на внешней плате ЦП всегда автоматически вставляет один такт ожидания (если сигнал - 0WS запрещен), поэтому, если внешней плате достаточно времени цикла с одним тактом ожидания, то запрещать сигнал I/O CH RDY не требуется.

RESET DRV [8] [8/16] Сигнал RESET DRV (Reset Driver - Сброс Устройства) вырабатывается центральным процессором для начальной установки всех ресурсов доступа на шине после включения питания или падения его напряжения. Минимальное время разрешения этого сигнала - 1 мс.

Благодаря простоте сопряжения устройства с шиной ISA, программирование устройства не составляет труда. Необходимо лишь сравнивать числа, поступившие с линий SA [19; 0] - шина адреса, с выбранным адресом устройства. Также я учитываю состояние линий IOWR, IORD - эти сигналы указывают на попытку записи/чтения из порта.

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

4.2 Описание работы интерфейсной части устройства

При совпадении адреса на шине с базовым, формируется бит разрешения на выходе инвертора DD9.2. После этого рассматриваются сигналы - I/OR и - I/OW. Следует отметить, что все сигналы пропущены через буферные элемента микросхемы К155АП6. Если на линии взведен сигнал - I/OR, происходит стробирование регистра хранения, и данные с шины SD [0. .7] записываются в этот регистр. Младший бит регистра не рассматривается, т.к используется для записи информации о состоянии датчика температуры в шину. Второй бит отвечает за включение-выключение нагрузки. Следовательно, если записать во второй бит 1 - включится нагреватель, и наоборот. Остальные биты данных используются для управления мультиплексором (ключами). Допустимые значения для этих бит:

000001**

000010**

000100**

001000**

010000**

100000**

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

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


5. Описание работы принципиальной схемы

5.1 Выбор элементной базы

Вся элементная база "отечественная", предложенные варианты деталей автора приняты и в данном проекте. Критериев энергосбережения, скорости и пр. в задании нет, поэтому данные вопросы опускались, и выбирались компоненты по требуемому функционалу.

Симистор.

Единственный симистор на схеме - симистор VD2 серии КУ208Г.

Светодиод

Для индикации работы нагревателя ввели светодиод HL1 серии АЛ307БМ, который служит так же как нагрузка для высокочастотного трансформатора.

Резисторы.

В схеме используются резисторы с сопротивлением 1, 5.6, 10, 22, 47, 68 кОм. Также присутствует терморезистор RK1 серии ММТ-4.

Номинальная мощность при 70С- 0.25 Вт

Рабочее напряжение - 200 В

Максимально допустимое напряжение - 400 В

Диапазон рабочих температур - 55 +125С

Температурный коэффициент сопротивления - 100 ppm/С

Трансформатор

Т1 - стальной трансформатор Ш3x6, обмотка 1 - 600, обмотка 2 - 1000 витков провода ПЭВ-2 0.08.

Транзисторы.

Все транзисторы на схеме общего назначения КТ315Г.

Конденсаторы

C1 - К73-17 (0.47мк * 630В)

С2 (4700)

С3 (10мк * 25В)

С4-С5 (500мк * 16В)

Диоды

VD2 - КД209Б

VD3 - КД522А

Логические элементы

DD1.1-DD1.4 - К561ЛП2.

Операционный усилитель

См. пункт 5.2

Ключи

КМОП ключ К176КТ1.

5.2 Выбор интегральных микросхем

В устройстве применены микросхемы ТТЛ логики серии 155, 555, 1533. Выбор микросхем данной логики обоснован уровнями сигналов ISA, соответствующим уровням ТТЛ логики. Ниже приведены микросхемы, применяемые в устройстве.

К155ЛН1 - содержит шесть логических элементов выполняющих функцию НЕ. Условное графическое изображение микросхемы показано на рисунке 5.1.

Рисунок 5.1 – Микросхема

К155ЛН1

Микросхема типа КР1533АП6 содержит 8 двунаправленных шинных усилителей с третьим состоянием. Микросхема имеет вход переключения направления каналов и вход перехода в третье состояние E0. Условное графическое обозначение микросхемы представлено на рис.5.2.

Рис.5.2 Условное графическое обозначение микросхемы КР1533АП6.

КР155ЛЕ5 - Микросхема представляет собой четыре логических элемента 2И-НЕ.

Рисунок 5.3 Условное графическое изображение микросхемы ЛЕ5

КР1533ИД3 - представляет собой дешифратор 4-хзначного двоичного кода. При высоком уровне напряжения на входы разрешения Е выходы устанавливаются в состояние высокого уровня.

Рисунок 5.4 - Микросхема КР1533ИД3

К155ЛП5 - микросхема представляет собой 4 двухвходовых логических элемента "исключающее ИЛИ".

Рисунок 5.5 Условное графическое изображение К155ЛП5

Операционный усилитель К140УД12

Этот тип ОУ имеет следующие характеристики:

Iвх, мкА 7-50

fс, Мгц 0.3-1

Uвых, в/мкс' 0.1-0.8

Uпит, В + - (5% 15)

Iпотр., мА 0.03-0.6

Uсм, мВ 5

Кус Ц*103 50

Рис.5.6 Условное обозначение и цоколёвка операционного

усилителя К140УД12


6. Разработка графического структурного алгоритма программы

Прикладная программа, управляющая разработанным устройством, представляет собой исполняемый файл main.com. Работу устройства можно задать изначально в начале выполнения main.com, с помощью параметра D - число, заносимое в регистр RG для установки соответствующего сопротивления.

Программа должна:

1. Запросить управляющий байт.

2. Занести в указанный порт введённый байт.

3. Ожидать сигнала с шины данных, если он получен - вывести сообщение

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

Блок схема работы программы (структурный графический алгоритм) приведен в Приложении данного курсового проекта.

6.1 Разработка прикладной программы и описание её возможностей

По сложности программирования интерфейс ISA занимает среднее место между Centronics с одной стороны, и PCI и SCSI с другой. Особенностью программирования Centronics является абсолютная простота, т.к все сигналы доступны для программирования. ISA - доступность только шины данных и портов ввода-вывода, PCI - сложность программирования шины в целом.

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

Программа является резидентной, т.е. находится постоянно в памяти. Загружается командой “main.com”, инициализирует устройство, и предлагает ввести байт D, где D - число, заносимое в управляющий регистр (по умолчанию оно равно 0), и выгружается “main.com u".

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

6.2 Листинг программы

comsegment segment para

org 100h

start:

main proc near

jmp first_instruction

saved_int08labeldword

old_offsdw ?

old_segdw ?

vector= (08h)

isworkingdb 0

_TCCdb 0

uninst_message db 10,13,"Uninstalling... ",'$'

message db 10,13,"Already loaded!",10,13

db "'main u' for uninstall",10,13,'$'

string db " ",'$'

input_message db “Enter number (0-7): ”,'$'

begin_message db "Wormer started",10,13,'$'

end_message db "Wormer stopped",10,13,'$'

int08_treater:

jmp gonow

db '08hook'

gonow:

push ax bx

mov bl, 0102h

in al, bl; пытаемся получить статус устройства из порта 258

and al, 10000000b

cmp al, 10000000b

je start_loop

cmp cs: isworking, 1

je end_loop

jmp leave_treater

start_loop:

mov cs: isworking, 1

push bx ax

mov bx, ds

mov ax, cs

mov ds, ax

xor ax, ax

mov ah, 09h; если нагреватель включился - выдаём сообщение об этом

lea dx, begin_message

int 21h

mov ds, ax

pop ax bx

jmp leave_treater

end_loop:

mov cs: isworking, 0

push bx ax

mov bx, ds

mov ax, cs

mov ds, ax

xor ax, ax

mov ah, 09h; если нагреватель выключен - включаем

lea dx, end_message

int 21h

mov ds, ax

pop ax bx

leave_treater: ; выход из обработчика

pop bx ax

jmp cs: saved_int08

release:

mov ah, 09h

lea dx, uninst_message

int 21h

mov ax,3508h

int 21h

mov ax,es: old_seg

mov ds,ax

mov ax,es: old_offs

mov dx,ax

mov ax,2508h

int 21h

mov ah,49h

int 21h

mov ax,4c00h

int 21h

first_instruction:

cmp byte ptr [es: 80h],1

jbe resume

mov bx, 82h

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4144
Авторов
на СтудИзбе
666
Средний доход
с одного платного файла
Обучение Подробнее