Пояснительная записка (1231534), страница 7
Текст из файла (страница 7)
Обычно прерывания принтера не используются, но дляскоростных режимов работа по прерыванию может снизить нагрузку напроцессор, повысив тем самым производительность системы.-Использование канала DMA для режимов ЕСР и FastCentronics - разрешение и номер канала DMA.Режимы работы порта:-SPP однонаправленный стандартный режим;-PS/2, или bi-directional - как и SPP, только с возможностью ре-верса канала данных, установкой CR.5=1;-FastCentronics-аппаратное формирование протоколаCentronics с возможностью использования DMA;-ЕРР - в зависимости от использования регистров порт рабо-тает в режиме SPP или ЕРР;-ЕСР - по умолчанию включается в режим SPP или PS/2, мо-жет переводиться в любой режим ЕСР, но перевод в ЕРР не гарантируется;-ЕСР+ЕРР - то же, что и ЕСР, но возможен перевод в ЕРР.2.6 Макетная плата LPT-КР580ВВ55АДля практического изучения режимов работы и методов взаимодействия с микросхемой КР580ВВ55А было создана специальная макетная плата, принципиальную и монтажную схемы которой можно увидетьна листе 3 графического материала.
Там же расположены фотографии42реализованной платы. Необходимость создания возникла из-за неудобства использования беспечного макетного поля.Управляющие входы A0, A1, WR, RD соединены с регистром контроля LPT-порта, линия Data – с линией Data, то есть два параллельныхинтерфейса легко были сопряжены между собой. Так как стандартныйLPT-порт не имеет линии питания, оно было получено с внешнего источника (телефонного блока питания) посредством штыревого разъёмаXP1.
Оставшиеся линии управления и порты ввода\вывода разведенына две колодки XS1 и XS2. На XS1 выведена PA, PB0..PB3, SR и GND;на XS2 – GND, CS, PB4..PB7, PC.Печатная плата была разработана в среде программных инструментов OrCAD.OrCAD - пакет компьютерных программ, предназначенный для автоматизации проектирования электроники. Используется в основном длясоздания электронных версий печатных плат для производства печатных плат, а также для производства электронных схем и их моделирования.Описание работы и методы проектирования печатных плат подробно описана в учебном пособии «Проектирование микропроцессорных систем» [5]. В результате получилась печатная плата, имеющая дваслоя.Изготавливалась печатная плата лабораторных условиях. Сначала вырезаем фольгированный текстолит по размеру бедующей платы(можно немного больше), затем зачищаем и обезжириваем её поверхность.
Переносим шаблон печатной платы на глянцевую бумагу с помощью лазерного принтера, и затем с этой бумаги, посредством утюжения,переносим его на фольгированный текстолит.43Ненужные участки меди (оставшиеся незакрашенными) необходимо растворить в специальном растворе. Был использовал растворхлорного железа (есть и другие способы).После растворения незакрашенных участков платы смываетсяслой тонера растворителем и сверлятся отверстия для вставляемыхэлементов.Во избежание окисления медных дорожек их необходимо залудить. При изготовлении этой платы лужение производилось с помощьюприпоя (есть и другие способы).Так как плата двусторонняя, эти процедуры проводились для каждой стороны, причём при травлении одной стороны, другая была заклеена клейкой бумагой.Последним этапом изготовления печатной платы был монтаж деталей и очистка поверхности платы от канифоли.Управлять платой можно с помощью специально написанного всреде программирования Delphi 7софта.2.6.1 Программа для работы с макетной платы LPT-КР580ВВ55АОрганизация ввода\вывода через LPT-порт через стандартныйдрайвер операционной системы затруднителен, и требует поддержкистандарта IEEE 1284 внешним устройством, который не реализован наполученной макетной плате.
Поэтому была использована библиотекаinpout32.dll, которая позволяет организовать ввод/вывод через системную шину в обход системного драйвера. Эта библиотека содержит двеосновные функции:-Inp32(PortAdr: word): byte;-Out32(PortAdr: word; Data: byte): byte.44Подключение библиотеки к Delphi 7 осуществляется размещением прототипов функций в секции uses следующих строк:usesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls,Forms,Dialogs, ExtCtrls, StdCtrls;function Inp32(PortAdr: word): byte; stdcall; external 'inpout32.dll';function Out32(PortAdr: word; Data: byte): byte; stdcall; external'inpout32.dll';Ввода/вывод информации в регистры порта можно выполнять спомощью этих функций.
Окно программы имеет вид, показанный на рисунке 2.1.Можно увидеть, что в центре окна расположена схема форматанастройки управляющего слова для программирования микросхемы.Процедура, вызываемая нажатием левой кнопкой мыши кнопки RoCWреализует алгоритм записи настроенного управляющего слова в РУС.procedure TForm1.btn1Click(Sender: TObject);begin…out32($378,Byte(RUS)) ;Contr:=Contr-[0]-[1]+[2]-[3]; sleep(10);out32($37A,Byte(Contr-[2])) ; sleep(10);out32($37A,Byte(Contr+[2])) ;...end;45Рисунок 2.1 - Окно программы управления макетной платыLPT-КР580ВВ55АСлева внизу находится панель ручного управления сигналами A0,A1, WR, RD, и по нажатию кнопки OUT 37A выбранная комбинация выводится в регистр контроля LPT-порта.Панель D0..D7 выводит данные в линию данных в реальном времени.Справа внизу расположены три кнопки port_A, port_B, port_C, которые реализуют алгоритм ввода/вывода данных в зависимости от состояния Checkbox IN_A, IN_B, IN_C.
Если он отмечен галочкой, то реализуется процедура ввода с соответствующего порта, если нет – выводана него. Информация о последней операции с портом находится надэтими кнопками.procedure TForm1.port_AClick(Sender: TObject);var46Data_: Byte;beginif IN_A.Checked thenbeginContr:=Contr+[0]+[1]+[2]-[3]+[5]; //пятый бит CR установит в 1out32($37A,Byte(Contr+[3])); //установка RD в 0Data_:= Inp32($378); //чтение данных с портаlbl2.Caption:='IN Port_A - '+IntToHex(byte(Data_),2)+'h';out32($37A,Byte(Contr-[3])); //установка RD в 1endelsebeginContr:=Contr+[0]+[1]+[2]-[3]-[5]; //пятый бит CR установит в 0DATA:=[0,1,2,3,4,5,6,7];IF che0.Checked then DATA:=DATA+[0] else DATA:=DATA-[0] ;IF che1.Checked then DATA:=DATA+[1] else DATA:=DATA-[1] ;IF che2.Checked then DATA:=DATA+[2] else DATA:=DATA-[2] ;IF che3.Checked then DATA:=DATA+[3] else DATA:=DATA-[3] ;IF che4.Checked then DATA:=DATA+[4] else DATA:=DATA-[4] ;IF che5.Checked then DATA:=DATA+[5] else DATA:=DATA-[5] ;IF che6.Checked then DATA:=DATA+[6] else DATA:=DATA-[6] ;IF che7.Checked then DATA:=DATA+[7] else DATA:=DATA-[7] ;out32($378,Byte(DATA)); //вывод данных в шину данныхout32($37A,Byte(Contr-[2])); //установка WR в 0out32($37A,Byte(Contr+[2])); //установка WR в 1lbl2.Caption:='OUT Port_A - '+IntToHex(byte(Data),2)+'h';end;end;472.7 USB протоколТопология сети USB – древовидная, причём в каждом узле такназываемого дерева находиться хаб, а в основании – корневой хаб.Схемотехника и программное обеспечение сети USB поддерживает горячее подключение и отлучение периферийных устройств без её повреждения, причём мастер способен автоматически в реальном времениопределить факт подключения или отключения устройств.
С учетом того, что мастер питает всю сеть, он контролирует энергопотреблениевсех её компонентов, и на основании информации, получаемой приопросе устройств об их потребностях, мастер может запретить работунекоторых, во избежание перегрузки.2.7.1 Физический уровеньЛиния связи в USB кабеле представлена в виде витой пары с импедансом 90 Ом.Упрощенная электрическая схема USB соединения показана налисте 4 графического материала. Когда к хосту никто не подключен, обесигнальные линии D+ и D- подтянуты резисторами 15 кОм к минусу питания.
При подключении устройства одна из линий подтягивается к+3,3 В через резистор 1,5 кОм. Устройства Low Speed подтягивают линию D-, а устройства Full Speed - D+. Таким образом хост определяетфакт подключения и тип подключенного устройства. Устройства HighSpeed в момент подключения работают как Full Speed, переключаясь ввысокоскоростной режим после обмена «визитками».Состояние дифпары, определенное резисторами подтяжки, в спецификации именуется Idle. При включенном драйвере обозначается буквой J (Jamp), а противоположное ему состояние - буквой K (Kill).