/O CS16 Сигнал - I/O CS16 (I/O Cycle Select - Выбор цикла для УВВ) разрешается 16 - разрядным УВВ для сообщения задатчику шины о том, что УВВ, к которому он обращается, имеет 16-разрядную организацию и ему следует выполнить 16-разрядный цикл доступа. Если этот сигнал запрещен, то только 8-разрядный цикл доступа к УВВ может быть выполнен на шине. УВВ, к которому выполняется цикл доступа, должна выработать этот сигнал из адресных сигналов SA<15...0>.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-50fс, Мгц 0.3-1Uвых, в/мкс' 0.1-0.8Uпит, В + - (5% 15)Iпотр., мА 0.03-0.6Uсм, мВ 5Кус Ц*103 50Рис.5.6 Условное обозначение и цоколёвка операционногоусилителя К140УД126. Разработка графического структурного алгоритма программыПрикладная программа, управляющая разработанным устройством, представляет собой исполняемый файл 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 paraorg 100hstart:main proc nearjmp first_instructionsaved_int08labeldwordold_offsdw ?old_segdw ?vector= (08h)isworkingdb 0_TCCdb 0uninst_message db 10,13,"Uninstalling... ",'$'message db 10,13,"Already loaded!",10,13db "'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 gonowdb '08hook'gonow:push ax bxmov bl, 0102hin al, bl; пытаемся получить статус устройства из порта 258and al, 10000000bcmp al, 10000000bje start_loopcmp cs: isworking, 1je end_loopjmp leave_treaterstart_loop:mov cs: isworking, 1push bx axmov bx, dsmov ax, csmov ds, axxor ax, axmov ah, 09h; если нагреватель включился - выдаём сообщение об этомlea dx, begin_messageint 21hmov ds, axpop ax bxjmp leave_treaterend_loop:mov cs: isworking, 0push bx axmov bx, dsmov ax, csmov ds, axxor ax, axmov ah, 09h; если нагреватель выключен - включаемlea dx, end_messageint 21hmov ds, axpop ax bxleave_treater: ; выход из обработчикаpop bx axjmp cs: saved_int08release:mov ah, 09hlea dx, uninst_messageint 21hmov ax,3508hint 21hmov ax,es: old_segmov ds,axmov ax,es: old_offsmov dx,axmov ax,2508hint 21hmov ah,49hint 21hmov ax,4c00hint 21hfirst_instruction:cmp byte ptr [es: 80h],1jbe resumemov bx, 82hand byte ptr es: [bx],0dfhcmp byte ptr es: [bx],'U'je releaseresume:mov ax,3508hint 21h; 30 39 68 6F 6F 6Bcmp word ptr es: [bx+2], 3830hjne setupTSRcmp word ptr es: [bx+4], 6f68hjne setupTSRcmp word ptr es: [bx+6], 6b6fhjne setupTSRjmp loadedsetupTSR:mov al, 0100h; инициализирую устройство управления чувствительностьюmov bl, 0out al, blpush bx axmov bx, dsmov ax, csmov ds, axxor ax, axmov ah, 09hlea dx, input_message; сообщение 0001 вводе управляющего байтаint 21hmov ah, 06h; вводим управляющий байтint 21hsub al, 48mov cs: _TCC, almov ds, axpop ax bxmov al, 0101hmov bl, cs: _TCC; посылаем порт 257 управляющий байтout al, blmov ax,3508hint 21hmov old_offs,bxmov old_seg,es; перехватываем прерывание, ставим свой обработчикclipush dspush cspop dslea dx, int08_treatermov ax, 2508hint 21hpop dsstiresident_end:mov dx,offset resident_end; конец, оставляем часть программы в памятиint 27hloaded:; если программа уже загружена - выдаём сообщение и на выходpush bx axmov bx, dsmov ax, csmov ds, axxor ax, axmov ah, 09hlea dx, messageint 21hmov ds, axpop ax bxRETmain endpcomsegment endsend startЗаключениеВ процессе курсового проектирования было разработано нестандартное периферийное устройство "Термостабилизатор с изолированным датчиком", интерфейсом сопряжения для которого является интерфейс ISA. Поддерживающая синхронный режим обмена информации (обмен в темпе исполнителя). Написана прикладная программа, управляющая устройством, работающая на компьютере семейства IBM PC под управлением операционной системы MS-DOS, либо в режиме эмуляции MS-DOS. Программа позволяет управлять работой устройства, путём изменения параметров в командной строке, и следить за сообщениями от устройства.Литература 1. http://radiotech. by.ru/Shematic_PCB/PIC-controlers/termo_reg (pic). htm 2. Цифровые интегральные микросхемы: Справ. / М.И. Богданович. - Мн.: Беларусь, 1991. - 493 с.: ил. 3. Интегральные микросхемы ТТЛ, ТТЛШ: Справ. / В.П. Левшин. - Мн.: Беларусь, 1993. - 374 с.: ил. 4. В.Л. Шило Популярные цифровые микросхемы: Справочник. - 2-е изд., - М: Радио и связь, 1989г. 5. ISA specification v1.0 6. Безюлев С. “Термостабилизатор с изолированным датчиком ”. - Радио, 2003, №2, с.42 7. Резисторы, конденсаторы, транзисторы, дроссели, коммутирующие устройства РЭА. Справ. / Н.Н. Акимов, Е.П. Ващуков, В.А. Прохоренко, Ю.П. Ходоренко - Мн.: Беларусь, 1994 8. М. Гук. Аппаратные интерфейсы ПК. Энциклопедия. - СПБ.: Питер, 2002. - 528с.: ил.
Страницы: 1, 2
|