телевизори. Конзоли. Проектори и аксесоари. Технологии. Цифрова телевизия

Къде е lpt1 портът на принтера? Научаване за работа с LPT порт LTP конектор

Още в зората на първите компютри, създателите са били изправени пред задачата да могат да свързват различни устройства към тях. Това стана особено актуално, когато компютрите вече не заемаха цели стаи, а започнаха да се побират на масата, тоест станаха лични. В крайна сметка компютърът е не само средство за извършване на изчисления, но и устройство, чийто потребител може да изпълнява много различни функции: да отпечатва текст или снимки, да управлява различни устройства, пускайте филми и музика, свързвайте се с други потребители от цял ​​свят, като използвате компютърна мрежа. Всичко това става възможно чрез свързване на външни устройства към компютъра, които най-общо се наричат ​​периферни, чрез специални унифицирани конектори, наречени портове.

Портове за персонален компютър

Портове персонален компютър(в противен случай те се наричат ​​още интерфейси) са специални устройства, разположени на дънната платка на компютъра, или свързани към нея допълнителни платки, които са предназначени за прехвърляне на данни между компютъра и външни устройства (принтер, мишка, монитор, уеб камера и др.). Всички портове могат да бъдат разделени на 2 големи групи:

  • Вътрешен - за свързване на устройства вътре в компютъра ( твърди дискове, видео карти, разширителни карти).
  • Външен - за свързване на външна периферия (скенер, монитор, клавиатура, камера, флашка).

В тази статия ще разгледаме един вид външен порт, а именно LPT-порт, неговия принцип на работа, свързани устройства и съвременни приложения.

Появата на LPT порт

Първоначално LPT-портът (наричан още той е разработен само за свързване на принтери към компютър, това е отразено дори в името му - Line Printer Terminal, терминал за принтер ред по ред. Но по-късно този интерфейс започва да се използва за свързване на други устройства: скенери, дискови устройства и дори компютри помежду си.

LPT-портът е разработен от Centronics, която се занимаваше с производство на матрични принтери през 70-те години на миналия век. Но след 10 години IBM започна да го използва за свързване на своите високоскоростни устройства. Стигна се до там, че имаше няколко варианта на този интерфейсот различни производители на периферни устройства.

В оригиналната версия този порт беше еднопосочен, тоест можеше да предава данни само в една посока: от компютъра към периферното устройство. Но това ограничение скоро престана да устройва потребителите, тъй като устройствата с възможност за предаване на данни в двете посоки започнаха масово да навлизат на пазара. За да постигнат това, различни производители са предложили свои подобрения - двупосочни, ECP, EPP и други. До приемането на международния стандарт IEEE 1284 през 1994 г.

Диаграма на LPT порт

LPT портът се нарича паралелен, тъй като предаването на данни чрез него се извършва през няколко проводника едновременно, т.е. паралелно. Този интерфейс има 8-битова шина за данни, 5-битова сигнална шина и 4-битова шина за състоянието.

По-долу има диаграма на щифтовете на LPT порта.

Принципът на работа на LPT порта

В най-простата конфигурация, за да се реализира принципът на работа на паралелния интерфейс, ще са достатъчни само единадесет проводника, а именно: 1 проводник към тялото (земя), 2 проводника за потвърждение и 8 проводника за пренос на данни. Но според общоприетия стандарт IEEE 1284 всеки от осемте проводника за предаване на данни (2-9) има отделно заземяване.

По време на прехвърляне на данни и двете устройства трябва да съобщават статуса си едно на друго. Това се осъществява с помощта на щифтове 18 и 35, които се захранват с напрежение от 0 V или 5 V.

Специален STROBE сигнал се предава по проводник 1, което показва, че компютърът е инсталирал байт данни на линията и принтерът може да започне да печата.

Пин 11 предава сигнала BUSY към компютъра, което показва, че устройството извършва действие (заето), обработвайки информацията, която е в буфера.

Пинове 12-14 предават сигнали, които осигуряват контролни сигнали за състоянието на принтера и конфликти в неговия хардуер.

Чрез проводник 12 се предава информация към компютъра, че в принтера няма хартия. Компютърът реагира на това, като предава сигнали по линиите SELECT и ERROR и спира да печата.

Чрез проводник 13 информацията за състоянието на принтера се предава на компютъра - включен и готов или изключен и не е готов.

Пин 14 изпраща сигнал към принтера за автоматично подаване на ред.

Пин 31 (16) изпраща сигнал за прехвърляне на принтера в първоначалното му състояние и изчиства буфера за данни, т.е. всички данни се изтриват от паметта на принтера.

Пин 32 (15) предава всички сигнали за грешка по време на трансфер на данни. Сигналите, изпратени по тази линия, засягат всички останали щифтове и могат да спрат отпечатването. Например, често срещана грешка на принтера е Time Out, която възниква, когато принтерът е зает да работи с данни от същия тип и не може да предаде на компютъра чрез сигнала BUSY, че не е готов да получи нови данни. След известно време грешка за изчакване се предава на компютъра чрез реда ERROR и не се прехвърлят нови данни. В противен случай, при липса на сигнал ГРЕШКА, би настъпил допълнителен трансфер на данни, което би довело до замръзване на цялата система.

Пин 36 (17) предава информация за готовността на принтера за работа, например след отстраняване на грешка.

Режими на работа на LPT порта

Има няколко режима на работа на LPT порта, които стандартът IEEE 1284 позволява:

  • SPP (Standard Parallel Port) е еднопосочен порт, който работи перфектно с интерфейса на Centronics.
  • NibbleMode - използването на този порт е възможността да се организира двупосочен обмен на данни в режим SPP, като се използват контролни линии (4 бита) за предаване на данни от периферно устройство към контролера.
  • Byte Mode е режим за двупосочен обмен на данни, който се използва доста рядко. Използван е в някои по-стари контролери преди приемането на стандарта IEEE 1284.
  • EPP (Enhanced Parallel Port) - няколко добре известни компании са работили върху развитието на този порт: Intel, Xircom и Zenith Data Systems. При работата си той е двупосочен порт, който предава данни със скорост до 2 MB/sec.
  • ECP (Extended Capabilities Port) - тази версия на порта се появи в резултат на работата на две компании: HP и Microsoft. Вече има допълнителни възможности, например възможност за хардуерно компресиране на данни, наличие на буфер и възможност за работа в DMA режим. Той също така поддържа двупосочен обмен на данни (симетричен), чиято скорост може да бъде до 2,5 MB/s.

Настройка на LPT порт

Настройката на LPT порт се извършва на два етапа: предварителна конфигурация на хардуера на порта и текущо превключване на режимите на порта с помощта на приложен софтуер.

Методът и опциите за конфигуриране на LPT порт зависят от неговото местоположение и тип дизайн. Портовете, разположени на разширителните карти, обикновено се конфигурират чрез джъмпери на самите карти, докато портовете, разположени директно на дънната платка на компютъра, се конфигурират чрез настройките на BIOS.

Изборът на режими директно или през BIOS сам по себе си не води до увеличаване на скоростта на обмен на данни между компютъра и периферните устройства, но служи за избор на драйвер оптимален режимработа. Но съвременните драйвери на устройства сами задават автоматично най-ефективните режими на работа на паралелния порт, така че ръчната конфигурация в повечето случаи вече не е необходима.

Видове реализации на LPT портове

Преди това повечето производители на дънни платки поставяха LPT-порт контролери на своите продукти или на задния панел на платката. Имаше още една опция за местоположение. В някои случаи беше удобно да поставите контролера на самата платка - конектор за свързване на външна LPT-портова лента. Но след появата на по-високоскоростни интерфейси за пренос на данни дънните платки със запоени LPT портове стават все по-малко. В днешно време дори не всеки производител има такива платки в продуктовата си гама. И тогава на помощ идват разширителните карти, свързани с по-модерни интерфейси:

  • PCI - LPT-порт. Преходник между LPT порт и по-модерен PCI конектор.
  • PCI2 - LPT-порт (PCI-Ex. 2.0). Адаптер между LPT порт и PCI-Ex.2.0 конектор
  • USB - LPT-порт. Преходник между LTP порт и модерна версия на масово използвания USB конектор.

Съвременно използване на LPT порт

Благодарение на възможностите за паралелен трансфер на данни на такъв порт, през 70-те и 80-те години той се утвърди като един от най-бързите компютърни интерфейси. Следователно дори се използва за свързване на 2 компютъра един към друг. Но същата тази характеристика налага и ограничение на максимална дължинакабел поради смущения, възникващи в съседни проводници. Дължината не може да надвишава 5 m, в противен случай изкривяването на сигнала ще надхвърли допустимото за правилно разпознаване на данни.

С появата на по-бързи интерфейси значението на LPT порта изчезна. Той получи втори вятър от радиолюбители, които го използват за управление сглобени вериги(осветление в къщата, лека музика и други устройства).

И така, време е да напишем проста програма, илюстрираща как да четете и записвате данни на LPT порт. Засега ще го напишем в конзолната версия, така че на етапа на разбиране и анализиране на тази програма да не се налага да „копаем“ в дебрите на код под Windows (не се притеснявайте, следващата статия ще да бъдат посветени конкретно на приложение с визуален интерфейс).


Преди да продължим и да напишем програма, трябва да разберем LPT порта, да видим от какво се състои и как можем да го използваме за нашите собствени цели. Ако говорим на битово ниво, можем да кажем, че LPT портът е набор от контакти, на които можем да настроим напрежението на 0 или +5 V (логически 0 и 1) от програмата или това може да стане от външен устройство отвън.



Нека да разберем кои контакти можем да оперираме и кои не. Чертежът по-долу ще ни помогне за това (не е нарисуван от мен, авторът ми е неизвестен. Но е много добър, аз самият го използвам през цялото време).

Фигурата показва, че щифтовете на порта могат да бъдат разделени на четири групи: това "глинен"заключения. Те са маркирани в черно (щифтове 18-25). Всички те са свързани помежду си, така че можете да използвате всеки от тях като земя за вашето развитие.

Изводите на така наречения регистър са маркирани в червено Данни(щифтове 2-9). Под регистър имаме предвид (на ежедневно ниво) асоциирането на група контакти на LPT порт. В регистъра на данните има 8 от тях. Това е най-разумният регистър - той ни позволява както от програмата, така и от външно устройство да зададем логическата 0 или 1 на контактите му, т.е. той е двупосочен. Точно това използвахме в първата ни програма. Port.exe- свързахме светодиода към 2-рия пин на порта (както вече можете да видите, този пин принадлежи към регистъра на данните и е неговият нулев бит) и пин 25 (земя) и с помощта на програмата контролирахме подаването на напрежение към щифта 2 спрямо земята. За достъп до този регистър трябва да знаете неговия адрес: 0x378- в шестнадесетична система или 888 в десетичен знак.


На фигурата пише &H378 - това е същото като 0x378, просто първото обозначение е присъщо на езика Pascal и други подобни, но ние пишем на C.


Запомняне на програмата отново Port.exe, имайте предвид, че осъществихме достъп до регистъра, използвайки следната функция _outp(Address, 0); , където променливата Адресбеше дефиниран преди като 888. Сега е ясно, че с това посочихме функциите _outp()че искаме да работим конкретно с регистъра на данните.

Нека продължим да разглеждаме пристанището. Остават още два регистъра. Следващият ще бъде регистърът Статус(щифтове 10-13, 15). Това е еднопосочен регистър. Той може да се управлява само „отвън“, чрез външно устройство (това означава промяна на данните в него; можете да четете от всеки регистър във всяка посока). Той има адрес 0x379- в шестнадесетична система или 889 в десетичен знак. И се регистрирайте контрол(контакти 1, 14, 16-17). Има само 4 контакта и се управлява само с програма. Неговият адрес: 890 в десетичната система.



Сега нека да разгледаме как данните се записват и четат в LPT порт регистрите, т.е. Как да настроим необходимите пинове на 0 или 1?


Запис/четене на данни в регистъра на данните

И така, нека веднага да разгледаме един практически проблем. Искам LPT порт номер 3 (бит D1 на регистъра Данни) беше зададено логическо 1 (т.е. така, че да има +5 V между него и земята) и останалите пинове на този регистър (2.4-9 пина на порта) бяха нули. Пишем кода:

Вътрешен адрес = 888; int данни = 2; Out32(Адрес, данни);

Използвах функцията Out32()библиотеки inpout32.dll, ще свикнем, защото... още примериЩе го анализираме с помощта на тази библиотека. Ако този код се изпълни, се оказва, че има +5 V на пин 3 на порта, а нулата виси на 2.4-9. Как се случи това?

Нека започнем да го разбираме: предаваме числото 888 като първи параметър на функцията Out32(), както вече знаете, това е адресът на портовия регистър на данните LPT. Сега функцията знае къде да записва данни. След това предаваме числото 2 като втори параметър, т.е. стойност за запис в порта. Моля, обърнете внимание, че две е в десетичната бройна система. Какво се случва след това? За по-добра визуализация на процеса преобразуваме числото 2 от десетична в двоична бройна система. Всяка цифра от двоично число, отдясно наляво, се записва по ред в регистъра, започвайки от цифрата от по-нисък ред D0 (щифт 2 на порта) и завършвайки с високата цифра D7 (щифт 9). Ако преобразувате числото 2 от десетична в двоична и добавите 8 цифри към числото (според броя на цифрите в регистъра), ще получите 00000010 . Нулева цифра на двоично число - 0 (най-дясно) се записва в D0, тогава 1 се записва на D1. И така до края, всичките 8 цифри.

Е, изморихте ли се малко, докато четете? Сега ще стане по-ясно. Да отидем в регистъра ДанниНека запишем числото 245. Записваме кода:

Вътрешен адрес = 888; int данни = 245; Out32(Адрес, данни);

Отново преобразуваме 245 в двоичната бройна система и записваме цифрите на числото в съответните битове на регистъра отдясно наляво. В резултат на това получаваме напрежение от +5 V на щифтовете на LPT порта с номера 2,4,6-9 и нула на щифтове 3.5.

Е, сега мисля да записвам данни в регистъра Данниразбрахме го. Трябва да се отбележи, че диапазонът от десетични числа, които могат да бъдат записани в регистъра Даннилежи между 0 преди 255 . Нашият регистър е 8-битов, което означава, че максималният брой комбинации от 0 и 1 на неговите изводи е 2 8 -1=256-1=255.


Четене на данни

Сега нека прочетем предварително записаните данни в порта, а именно да разберем текущата статистика на регистъра Данни. Искаме да знаем кои регистрационни щифтове ДанниСега нивото на напрежение е високо и при което е ниско. Помните ли по-горе, че написахме номер 245 в порта? Нека да го вземем от пристанището сега. Пишем кода:

Вътрешен адрес = 888; int данни; данни = Inp32(Адрес);

Inp32()- това е функция за четене на данни от порта на библиотеката inpout32.dll. Единственият параметър за него е адресът на регистъра, от който искаме да прочетем данните. На изхода връща десетично число, съответстващо на текущото съдържание на регистъра. Изпълнявайки този код, променливата даннище съдържа числото 245. Какво означава това? За да го разберем, преобразуваме числото 245 от десетично в двоично и можем спокойно да кажем, че на изводите на порт 2,4,6-9 вече има +5 V, а на изводите 3,5 0 V. (вижте фигурата по-горе)


Запис/четене на данни в контролния регистър

Сега нека управляваме контролния регистър. Той е еднопосочен; само нашата програма може да записва данни в него. Обърнете внимание на няколко характеристики на този регистър. Първо, той съдържа само четири работещи щифта. Това означава, че можете да напишете число в диапазона от 0 до 2 4 -1=16-1=15. Второ, има много неприятна особеност: някои от изходите му са обърнати, т.е. ако напишете 1 на този щифт, тогава той е настроен на 0. И обратно, четете 1, но всъщност има 0. Следователно значението на записаните и прочетените данни не е съвсем очевидно. Ето пример за запис на число в контролния регистър. Пишем кода:

Вътрешен адрес = 890; int данни = 10; Out32(Адрес, данни);

И пример за четене:

Вътрешен адрес = 890; int данни; данни = Inp32(Адрес);

Записване/четене на данни в регистъра на състоянието

Най-накрая стигна до регистъра Статус. Той е еднопосочен, само в него могат да се записват данни външно устройство, т.е. В програмата можем да четем само съдържанието на този регистър. След като прочете данните от Статус, и преобразувайки ги в двоично число, веднага е доста трудно да се разбере какво наистина се случва с напреженията на изходите на този регистър. Първо, той също има обърнати щифтове, и второ, работните битове са числа 4-7, а 0-3 не се използват и следователно номерът е написан доста умно.

Възниква въпросът как да инсталирате тези данни върху него? Доста просто. Засега ще действате като външно устройство. Стартирайте този код.

Вътрешен адрес = 889; int данни; данни = Inp32(Адрес);

Ще получите някакъв номер. Сега вземете проводник и го свържете към някой от заземяващите щифтове на порта (18-25) с някакъв регистриращ щифт Статус(10-13, 15), например с десетата. И пак прочети. Ще получите различен номер. Отстранете проводника. След като прочетете, ще получите оригиналния номер. Как работи? Първоначално всички щифтове на този регистър имат високо ниво на напрежение от +5 V. Когато свързахме един от щифтовете му към земята, напрежението върху него съответно стана нула, т.е. логическа нула. Можете да опитате да окъсите други пинове на регистъра Статускъм земята, късо съединение няколко наведнъж.

Трябва да се отбележи, че при такива експерименти с регистъра СтатусВъзниква не съвсем ясна ситуация с другите щифтове на LPT порта. След първото затваряне на терминалите Статус, изходите започват да мигат ДанниИ контрол. Това се дължи на факта, че LPT портът е предназначен за свързване на принтер и щифтовете Статусизползва се, за да предостави на компютъра някаква сервизна информация. Промени в щифтовете Статусрегистрира системния драйвер на операционната система. Той също така извършва ответни действия, които са видими за нас под формата на периодични промени в състоянието на други изводи. Нищо не можеш да направиш по въпроса. Обикновено просто затварям някой регистърен ред в началото на работа с порта Статусна земята и изчакайте около минута, докато водачът се „успокои“. След това портът е свободен и нови операции в регистъра Статусне водят до неконтролирани процеси в пристанището.


© Дмитрий Иванов
2005-2006

На Хабре за управление на лампа през интернет дойде идеята да управлявам осветлението у дома от компютър и тъй като вече имам компютърно управление, конфигурирано с мобилен телефон, това означава, че светлината може да се управлява от същия телефон. След като показах статията на един от моите колеги, той каза, че точно това му трябва. Защото често заспива, докато гледа филми на компютъра. Известно време след края на филма компютърът също заспива и изключва монитора, но светлината в стаята продължава да свети. Тези. реших, че това нещо е полезно и започнах да събирам информация и подробности за това чудо.
Останалата информация е съкратена (внимавайте, има много снимки - трафик).

Схема на устройството

Оригиналната схема е взета от една от схемите, намерени в интернет и изглеждаше така:

Но само с малка промяна: добавен е резистор от 390 ома между 1-ви щифт на оптрона 4N25 и 2-ри щифт LPT, а също така е добавен светодиод за индикация на включване. Веригата беше сглобена в тестов режим, т.е. просто свързан с кабели според нуждите и тестван. В тази версия тя просто включи и изключи старо съветско фенерче.
Решено е, че ако ще правим контрол, то не за едно устройство, а за поне 4 устройства (на база: една лампа на масата, полилей с два ключа, резервен контакт). На този етап стана необходимо да се изгради пълна схема на устройството и започна изборът на различни програми.
Инсталирано:

  1. KiCAD
  2. орел
След като ги разгледах всички, се спрях на Eagle, тъй като имаше „подобни“ части в библиотеката си. Ето какво се случи в него:

Диаграмата използва DB9 порт, т.е. обикновен COM порт, това беше направено от съображения за спестяване както на място на платката, така и на самите конектори (имах COM), и тъй като ще използваме само 5 проводника, това ще ни бъде достатъчно с резерв също така направете адаптер от DB25 (LPT) към DB9 (COM), в моя случай това се прави по следния начин:
LPT 2-9 пина = COM 1-8 пина са щифтове за контрол на данни;
LPT 18-25 щифт (често те са свързани помежду си) = COM 9 щифт - това е нашата земя.
Веригата също използва допълнително захранване от 12 V за захранване на релето; според плана, това ще бъде просто китайско зарядно устройство или може би 9V Krona (едно реле работи добре, трябва да проверите за 4 едновременно). За осигуряване на порта на компютъра се използва отделно захранване и галванична изолация с помощта на оптрон. Ако желаете, можете, разбира се, да го захранвате от 12V компютърно захранване, но всеки прави това сам и на свой собствен риск.

Необходими части за създаване на устройството
  1. COM порт - 1 бр
  2. захранващ конектор - 1 бр.
  3. зелен светодиод - 4 бр
  4. оптрон 4n25 - 4 бр
  5. седалка за оптрон (имах само за 8 крака) - 4 бр.
  6. резистор 390 Ohm - 4 бр.
  7. резистор 4,7 kOhm - 4 бр.
  8. транзистор KT815G - 4 бр.
  9. реле HJR-3FF-S-Z - 4 бр.
  10. скоби за 3 контакта - 4 бр.
  11. фолио PCB

Подготовка на схемата на печатната платка

След като се опитах да използвам Eagle за подготовка на печатна платка, разбрах, че ще бъде малко сложно и реших да намеря по-лесен вариант. Тази опция беше програмата sprint layout 5, дори и да е направена за Windows, но работи без проблеми във wine под Linux. Интерфейсът на програмата е интуитивен, на руски език и програмата има доста ясна помощ (помощ). Следователно всички по-нататъшни действия по разработването на печатната платка бяха извършени в спринтово оформление 5 (наричано по-нататък SL5).
Въпреки че много хора използват тази програмаза да разработя платки за моите устройства, не съдържаше частите, от които се нуждаех (дори в купчината изтеглени макро колекции). Следователно трябваше първо да създадем липсващите части:
  1. COM порт (този, който не беше същият като моя, според монтажните отвори)
  2. контакт
  3. тризъба скоба
  4. реле HJR-3FF-S-Z
Тип на тези части:

След добавяне на необходимите части започна същинското проектиране на печатната платка. Отне няколко опита, имаше около пет от тях. Всяка версия на дъската беше отпечатана върху картон, дупки бяха пробити и в тях бяха поставени части. Всъщност беше установено, че моят COM порт не съвпада с този, който беше в SL5. В релейната верига също се появи малка грешка - всъщност тялото на релето беше изместено с 2-3 мм. Естествено, всички грешки бяха коригирани.
На първата печатна версия също се оказа, че транзисторът е свързан неправилно;
След всички корекции и настройки, получената платка изглеждаше така:

SL5 има функция Photo View за преглед на платката, ето как изглежда в нея:

Окончателната версия на дъската ще има още някои настройки на пистите, но иначе изглежда по същия начин.

SL5 има и удобна опция за отпечатване на платката;

Подготовка на печатната платка

Беше решено платката да се направи по метода LUT (технология с лазерно желязо). След това целият процес е на снимката.

Изрежете парче печатна платка с необходимия размер.

Взимаме най-фината шкурка и внимателно почистваме медната повърхност.

След почистване на повърхността, тя трябва да се измие и обезмасли. Можете да го измиете с вода и да го обезмаслите с ацетон (в моя случай беше разтворител 646).
След това печатаме лазерен принтервърху хартия с покритие нашата дъска, като не забравяме да настроим принтера на най-дебел печат (без пестене на тонер). Този вариант се оказа малко неуспешен, тъй като тонера се размаза, но друг опит беше точно.

Сега трябва да прехвърлите чертежа от хартия на текстолит. За да направите това, изрязваме дизайна и го прилагаме върху текстолита, опитваме се да го подравним според нуждите и след това да го нагреем с ютия. Необходимо е да се загрее старателно цялата повърхност, така че тонерът да се разтопи и да залепне за медната повърхност. След това оставяме дъската да се охлади малко и отиваме да я намокрим под течаща вода. Когато хартията се намокри достатъчно, тя трябва да се отдели от дъската. Само заседналият тонер ще остане върху платката. Изглежда така:

След това трябва да подготвите разтвор за ецване. Използвах железен хлорид за това. На буркана с железен хлорид пише, че разтворът трябва да бъде 1 към 3. Аз се отклоних малко от това и направих 60 г железен хлорид на 240 г вода, т.е. Оказа се 1 към 4, въпреки това ецването на дъската се случи нормално, само малко по-бавно. Моля, имайте предвид, че процесът на разтваряне на сух железен хлорид във вода произвежда топлина, така че трябва да го излеете във водата на малки порции и да разбъркате. Естествено, за ецване е необходимо да се използват неметални контейнери; в моя случай това беше пластмасов контейнер (като херинга). Получих това решение:

Преди да спусна дъската в разтвора, използвах лента, за да залепя въдица към задната й страна, за да улесня отстраняването и обръщането на дъската. Ако разтворът попадне върху ръцете ви, трябва бързо да го измиете със сапун (сапунът го неутрализира), но петна все още могат да останат, всичко зависи от конкретните условия. Петната от дрехите изобщо не се премахват, но имах късмета да не тествам това за себе си. Дъската трябва да се потопи в разтвора с медната страна надолу и не цялата плоска, а под ъгъл. От време на време е препоръчително да почиствате дъската от копаене, тъй като пречи на по-нататъшното ецване. Това може да стане с помощта на памучни тампони.

Целият процес на ецване ми отне 45 минути, 40 минути щяха да са достатъчни, но просто бях зает с още нещо.
След ецване измиваме дъската със сапун, откъсваме лентата с въдица и получаваме:

внимание! Не изливайте разтвора на железен хлорид в мивката (канализацията) - това може да повреди металните части на мивката и като цяло разтворът все още може да бъде полезен.
След това трябва да измием тонера, това се прави успешно със същия разтворител 646, който е бил използван за обезмасляване (продължителният контакт на разтворителя с кожата може да я повреди).

Следващата стъпка е пробиването на дупките. Първоначално имах 1 мм и 1,5 мм отвори на дъската, тъй като не можах да намеря по-тънки свредла. В нашия град също не беше възможно да се намери цанга, за да се прикрепи към електрически мотор, така че всичко беше направено с голяма бормашина.

Пристигна първото устройство

Първият път взех само две бормашини и когато използвах такава бормашина, това се оказа недостатъчно. Едното свредло се счупи, а другото беше огънато. Всичко, което успях да пробия през първия ден:

На следващия ден купих пет бормашини. И имаше достатъчно от тях, защото ако не се счупят (между другото, само един от петте се счупи), те стават тъпи и когато се пробиват с тъпи, следите се влошават и медта започва да се отлепва. След пълното пробиване на дъската получаваме:

След пробиване е необходимо да калайдисвате дъската. За да направя това, използвах стария метод - поялник, флюс TAGS и калай. Исках да го пробвам с Rose alloy, но не може да се намери в нашия град.

След калайдисването получаваме следния резултат:

След това трябва да измиете дъската, за да премахнете остатъците от флюс, тъй като TAGS може да се почиства с вода, това може да се направи с вода или алкохол. Направих нещо средно - измих го със стара водка и го забърсах с памучни тампони. След всички тези стъпки нашата дъска е готова.

Монтаж на части

За да проверя правилността на платката, първоначално сглобявам само една (от четири) линия части, никога не знаете къде се е промъкнала грешка.

След като инсталираме частите, отиваме и свързваме устройството към компютъра чрез LPT, за това е запоен адаптер от DB25(LPT) към DB9(COM) в следната форма:

  • 2-пинов DB25 към 1-пинов DB9
  • 3-пинов DB25 към 2-пинов DB9
  • 4 пинов DB25 към 3 пинов DB9
  • 5 пинов DB25 към 4 пинов DB9
  • 6 пинов DB25 към 5 пинов DB9
  • 7 пинов DB25 към 6 пинов DB9
  • 8 пинов DB25 до 7 пинов DB9
  • 21-пинов DB25 (всеки от 18 до 25 е възможен) до 9-пинов DB9
Тъй като като проводник беше използвана обикновена усукана двойка, един проводник липсваше, но за това устройство са достатъчни само пет проводника, така че тази опция е подходяща. Нашият превключен товар е обикновен съветски фенер. Е, като захранване - универсално китайско захранване (4 конектора и захранване от 3 до 12 V). Ето всичко събрано:

Но устройството вече работи:

Това приключи друга вечер и монтажът на останалите части беше оставен за следващия ден.

А ето и напълно сглобеното устройство:

Е, едно кратко видео за това как работи (качеството не е много добро, нямаше как да го снимам както трябва)

Това е всичко, остава само да се намери нормален калъф за устройството и да се използва.

Софтуерна част

Естествено, за да контролирате LPT порта, имате нужда от някакъв софтуер, но тъй като имам Linux у дома, беше решено просто да напиша проста програма сам и след това да я добавя и адаптирам според нуждите. Тя изглеждаше нещо подобно:
#включи
#включи
#включи
#включи
#define BASE 0x378
#define TIME 100000
int main()
{
int x = 0x0F;
int y = 0x00;
if (ioperm(BASE, 1, 1))
{
грешка ("ioperm()");
изход(77);
}
outb(x,BASE);
връщане 0;
}

Тази програма изпраща 0x0F = 00001111 към LPT порта, т.е. захранва 1 към щифтове 2-5 (Data0-Data3) и това е нашето управляващо напрежение между щифтове 2-5 и земята (щифтове 18-25), така че и четирите релета ще се включат. Програмата за изпращане на 0x00 към порт за изключване работи по абсолютно същия начин, просто изпраща y вместо x - outb (y, BASE). Можете също да прочетете състоянието на порта:
#define BASEPORT 0x378 /* lp1 */
...
printf("статус: %d\n", inb(BASEPORT));
...

Единственото предупреждение на тази програма е, че тя трябва да се изпълнява като root, тъй като функцията ioperm не е достъпна за обикновените потребители. Мисля, че не е нужно да ви казваме как да разрешите такъв проблем, всеки ще избере опцията, която му подхожда повече.

Впоследствие програмата беше модифицирана така, че чрез подаване на параметри от командния ред към нея можеше да се посочи кое устройство и какво да прави.
Изход от "sw --help":
Програма за управление на релета през LPT порт.
Една програма може да има един или два параметъра.
Формат на параметъра: sw [номер на устройство] [действие]
номер на устройството - от 1 до 8
действие - "on", "off", "st" - включено, изключено, състояние
Пример: "sw 2 on" за включване на второто устройство или "sw --help" за показване на помощ

PS Ако някой има нужда от него, мога да публикувам някъде файла с диаграмата на платката в sl5 и изходния код на контролната програма.

Паралелен порт и PPR

Повечето съвременни периферни устройства, свързани към LPT-nop, поддържат стандарта 1284 и функциите PnP. За да поддържате тези функции на компютър, от хардуерна гледна точка е достатъчно да имате интерфейсен контролер, който отговаря на стандарта 1284. Ако свързаното устройство поддържа PnP, то може да „договаря“ с порта, представляващ „. интереси” на компютъра относно възможните режими на обмен, използвайки протокола за договаряне на режим 1284. След това, за да работи PnP, свързаното устройство трябва да предостави на операционната система цялата необходима информация за себе си. Като минимум това са идентификатори на производителя, модели и набор от поддържани команди. По-подробна информация за устройството може да включва идентификатор на клас, Подробно описаниеи ID на устройството, с което е осигурена съвместимост. Въз основа на получената информация за поддръжка на дадено устройство, операционната система може да предприеме стъпки за инсталиране на необходимия софтуер.

Устройствата с PnP поддръжка се разпознават от операционната система на етапа на зареждане, ако, разбира се, са свързани към порта с интерфейсен кабел и захранването им е включено. Ако Windows открие свързано PnP устройство, което е различно от това, което е регистрирано в неговия регистър за даден порт (или просто ново устройство), той се опитва да инсталира необходимите драйвери за устройството от дистрибуцията на ОС или от комплекта за доставка на ново устройство. Ако Windows не иска да забележи новосвързано PnP устройство, това може да означава проблем с порта или кабела. PPR системата не работи, ако устройството е свързано с евтин „не-двупосочен“ кабел, който няма връзка по линията Selectln# (пин 17 на LPT порта и пин 36 на конектора Centronics).

Обикновено LPT порт се използва за свързване на принтер (вижте раздел 8.3.1), но това не е краят на използването му.

За свързване на два компютъраПаралелният интерфейс използва различни кабели в зависимост от режимите на използваните портове. Най-простият и най-бавният е режимът на хапане, който работи всекипристанища. За този режим е достатъчно да имате 10 сигнални и един общ проводник в кабела. Окабеляването на кабелните конектори е дадено в табл. 1.11. Комуникацията между два компютъра с този кабел се поддържа от стандартен софтуер като Interlnk от MS-DOS или Norton Commander.

Високоскоростна комуникация между два компютъра може да се осъществи и в режим ECP (режимът EPP е неудобен, защото изисква синхронизиране на входно-изходните цикли на шината на два компютъра).

Връзка скенеркъм LPT порт е ефективен само ако портът осигурява поне двупосочен режим (Би-Ди)тъй като основната нишка е входна. По-добре е да използвате ECP порта, ако този режим се поддържа от скенера (или EPP, което е малко вероятно).


Връзка външни дискове(Iomega Zip устройство, CD-ROM и др.), LAN адаптерии други симетрични входно-изходни устройства има своите специфики. В режим SPP, заедно със забавянето на устройството, се забелязва фундаменталната асиметрия на този режим: четене на даннисе случва два пъти по-бавно от(много бавно) запис.Приложение двупосоченрежим (Би-Диили PS/2 обиколка 1)ще премахне тази асиметрия - скоростите ще бъдат равни.Само като преминете към EPP или ECP, можете да получите нормалноскорост на работа. В режим EPP или ECP свързването към LPT порт е почти толкова бързо, колкото свързването през ISA контролер. Това важи и при свързване на устройства със стандартен шинен интерфейс към LPT портове чрез преобразуватели на интерфейси (например LPT - IDE, LPT - SCSI, LPT - PCMCIA). Имайте предвид, че IDE твърд диск, свързан чрез адаптер към LPT порт, може да бъде представен на системата като SCSI устройство (това е по-логично с програмна точкавизия).

2. Серийни интерфейси

Серийният интерфейс за предаване на данни използва единична сигнална линия, по която информационните битове се предават един след друг последователно. Оттук и името на интерфейса и порта. английски термини - Сериен интерфейсИ Серийна част(понякога неправилно преведено като "сериен"). Серийното предаване ви позволява да намалите броя на сигналните линии и да увеличите обхвата на комуникация. Характерна особеност е използването на не-TTL сигнали. Редица серийни интерфейси използват галванична изолация на външни (обикновено входни) сигнали от заземяването на веригата на устройството, което позволява свързването на устройства с различни потенциали. По-долу ще разгледаме интерфейсите RS-232C, RS-422A, RS-423A, RS-485, текущата верига, MIDI и COM порта.

2.1. Методи за серийно предаване

Серийното предаване на данни може да се извършва в асинхронен или синхронен режим. При асинхроненвсеки байт се предхожда от стартов бит,сигнализиране на приемника за началото на предаване, последвано от битове даннии може би, бит за четност(паритет,). Завършва пратката стоп малко,гарантираща пауза между изпращанията (фиг. 2.1). Началният бит на следващия байт се изпраща във всеки момент след стоп-бита, т.е. възможни са паузи с произволна продължителност между предаванията. Стартовият бит, който винаги има строго определена стойност (логическа 0), осигурява прост механизъм за синхронизиране на приемника със сигнал от предавателя. Предполага се, че приемникът и предавателят работят с една и съща скорост на предаване. Вътрешният тактов генератор на приемника използва контра-делител на референтната честота, който се нулира в момента, в който се получи началото на стартовия бит. Този брояч генерира вътрешни светкавици, чрез които приемникът записва последващо получено

битове. В идеалния случай светкавиците са разположени в средата на битовите интервали, което позволява получаването на данни дори при леко несъответствие между скоростите на приемника и предавателя. Очевидно при предаване на 8 бита данни, един контролен бит и един стоп бит, максимално допустимото несъответствие на скоростта, при което данните ще бъдат разпознати правилно, не може да надвишава 5%. Като се вземат предвид фазовите изкривявания и дискретната работа на вътрешния синхронизиращ брояч, действително е допустимо по-малко отклонение на честотата. Колкото по-малък е коефициентът на разделяне на референтната честота на вътрешния осцилатор (колкото по-висока е честотата на предаване), толкова по-голяма е грешката при закрепване на гейтовете към средата на битовия интервал и изискванията за последователност на честотата стават по-строги. Колкото по-висока е честотата на предаване, толкова по-голям е ефектът от изкривяването на ръбовете върху фазата на получения сигнал. Взаимодействието на тези фактори води до повишени изисквания за съгласуване на честотите между приемника и предавателя, тъй като честотата на обмен се увеличава.

Форматът за асинхронно изпращане ви позволява да идентифицирате възможно грешки при предаване:

» Ако бъде получен край, сигнализиращ началото на предаване, и стартовият битов строб открие ниво на логическа единица, стартовият бит се счита за фалшив и приемникът се връща в състояние на изчакване. Приемникът може да не отчете тази грешка.

„Ако се открие ниво на логическа нула по време на времето на стоп бит, се открива грешка в стоп бит.

Ако се използва паритет, тогава след изпращане битът за данни се предава контролен бит.Този бит допълва броя на единичните битове данни до четен или нечетен в зависимост от приетата конвенция. Получаването на байт с неправилна стойност на контролен бит води до откриване на грешка.

Наблюдението на формата позволява откриване на прекъсване на ред:

в този случай се приема логическа нула, която първо се интерпретира като начален бит и нулеви битове данни, след което се задейства управлението на стоп бит.

За асинхронен режим се приема следната серия: стандартни скорости на предаване: 50, 75, 110, 150,300,600,1200,2400,4800,9600, 19200, 38400, 57600 и 115200 bps. Понякога се използва бод вместо единицата "bit/s", но това е неправилно, когато се разглеждат двоично предавани сигнали. Обичайно е честотата на промените в състоянието на линията да се измерва в бодове, а с недвоичен метод на кодиране (широко използван в съвременните модеми) в комуникационен канал, битовите скорости (битове/сек) и промените на сигнала (бодове) могат да се различават няколко пъти (за повече подробности вижте Приложение А).

Количество бит за данниможе да бъде 5, 6, 7 или 8 (5- и 6-битовите формати не са много разпространени). Количество стоп битможе да бъде 1, 1,5 или 2 („един и половина бита“ означава само продължителността на интервала на спиране).

Асинхронен обменв PC се реализира с помощта на COM порт сизползване на протокола RS-232C.

Синхроненрежимът на предаване предполага постоянна активност на комуникационния канал. Изпращането започва със синхронизиращ байт, непосредствено последван от поток от информационни битове. Ако предавателят няма данни за предаване, той запълва паузата чрез непрекъснато изпращане на байтове за синхронизиране. Очевидно, когато прехвърляте големи количества данни, разходите за синхронизация в този режим ще бъдат по-ниски, отколкото в асинхронен режим. Въпреки това, в синхронен режим е необходима външна синхронизация на приемника с предавателя, тъй като дори малко отклонение на честотата ще доведе до изкривяване на получените данни. Външната синхронизация е възможна или чрез използване на отделна линия за предаване на синхронизиращия сигнал, или чрез използване на самотактово кодиране на данни, при което синхронизиращите импулси могат да бъдат извлечени от получения сигнал от страната на приемника. Във всеки случай синхронният режим изисква скъпи комуникационни линии или терминално оборудване. За персонални компютри има специални платки - SDLC адаптери (скъпи), които поддържат режим на синхронен обмен. Те се използват предимно за комуникация с големи IBM машини (мейнфрейми) и не се използват широко. Сред синхронните адаптери в момента се използват интерфейсни адаптери V.35.

На физическо нивоСерийният интерфейс има различни реализации, които се различават по начина, по който се предават електрическите сигнали. Съществуват редица свързани международни стандарти: RS-232C, RS-423A, RS-422AИ RS-485.На фиг. Фигура 2.2 показва диаграми на свързване на приемници и предаватели, а също така показва ограничения за дължината на линията (L) и максималната скорост на трансфер на данни (V).

Небалансирани интерфейсни линии RS-232CИ RS-423Aимат най-ниската устойчивост на общ режим, въпреки че диференциалният вход на приемника RS-423Aомекотява донякъде ситуацията. Най-добрите опции имат интерфейс от точка до точка RS-422Aи неговия основен (автобусен) аналог RS-485работа по симетрични комуникационни линии. Те използват диференциални сигнали с отделна (усукана) двойка проводници за предаване на всеки сигнал.

В изброените стандарти сигналът е представен потенциал.Има серийни интерфейси, при които токът, протичащ през общата верига предавател-приемник - „токова верига“ и MIDI - е информативен. Стандартите за безжична инфрачервена комуникация са приети за комуникации на къси разстояния. Най-широко използваният в компютрите е най-простият от горните - стандартът RS-232C,изпълнявани от COM портове. Широко използван в индустриалната автоматизация RS-485и RS-422A,намира се и в някои принтери. Съществуват преобразуватели на сигнали, за да се приспособят към тези свързани интерфейси.

2.2. RS-232C интерфейс

Интерфейсът е предназначен за свързване на оборудване, което предава или получава данни (ООД -терминално оборудване за данни или ADF -оборудване за предаване на данни; DTE - терминално оборудване за данни),към крайното оборудване на каналите за данни (AKD; DCE - Оборудване за комуникация на данни).Компютър, принтер, плотер и друго периферно оборудване може да действа като ADF. Модемът обикновено играе ролята на ADC. Крайната цел на връзката е да се свържат две ADF устройства. Пълната схема на свързване е показана на фиг. 2.3. Интерфейсът ви позволява да премахнете дистанционния комуникационен канал заедно с двойка ADF устройства, като свържете устройствата директно с помощта на нулев модемен кабел (фиг. 2.4).

Стандартът описва сигнали за управление на интерфейса, трансфер на данни, електрически интерфейс и видове конектори. Стандартът осигурява асинхронен и синхронен режим на обмен, но поддържа само COM портове асинхронен режим.Функционално RS-232Cе еквивалентен на стандарта CCITT V.24/V.28 и интерфейса C2, но имат различни имена на сигнали.

2.2.1. Електрически интерфейс

Стандартен RS-232Cизползва предаватели и приемници с единичен край - сигналът се предава спрямо общ проводник - заземяване на веригата (балансирани диференциални сигнали се използват в други интерфейси - напр. RS-422).Интерфейс НЕ ОСИГУРЯВА ГАЛВАНИЧНА ИЗОЛАЦИЯустройства. Логическа съответства на напрежението при вход на приемникав диапазона -12...-3 V. За линиите на управляващия сигнал това състояние се нарича НА(„разрешено“), за серийни линии за данни - МАРК.Логическата нула съответства на обхвата +3...+12 V. За линиите на контролния сигнал се нарича състоянието ИЗКЛ(„изключено“), а за серийни линии за данни - ПРОСТРАНСТВО.Диапазонът -3...+3 V е мъртва зона, която причинява хистерезис на приемника: състоянието на линията ще се счита за променено само след преминаване на прага (фиг. 2.5). Нивата на сигнала на изходите на трансмитера трябва да бъдат в диапазоните -12...-5 V и +5...+12 V, за да представляват съответно единица и нула. Потенциалната разлика между заземяването на веригата (SG) на свързаните устройства трябва да бъде по-малка от 2 V с по-висока потенциална разлика, може да възникне неправилно възприемане на сигналите. Интерфейсът предполага присъствието ЗАЩИТНО ЗАЗЕМЯВАНЕза свързани устройства, ако и двете се захранват от мрежата променлив токи имат предпазители от пренапрежение.

Свързване и разкачване на интерфейсни кабелитрябва да се направят устройства със собствено захранване когато захранването е изключено.В противен случай разликата в неравномерните потенциали на устройствата по време на превключване може да се приложи към изходните или входните (което е по-опасно) интерфейсни вериги и да повреди микросхемите.

За интерфейс RS-232Cспециално произведени буферни приемни микросхеми (с хистерезис и биполярен сигнален предавател). Ако не се спазват правилата за заземяване и превключване, те обикновено са първите жертви на „пиротехнически“ ефекти. Понякога те се монтират в „креватчета“, което ги прави по-лесни за подмяна. Pinout на чиповете за преобразуване на сигнала RS-232Cпоказано на фиг. 2.6. Често буферните вериги са включени директно в интерфейсните LSI. Това намалява цената на продукта, спестява място на таблото, но при авария води до големи финансови загуби. Малко вероятно е интерфейсните микросхеми да бъдат повредени от късо съединение на сигнални вериги: ток късо съединениепредаватели обикновено не надвишава 20 mA.

Стандартен RS-232Cрегулира видове използвани конектори.

На оборудването ADF(включително на COM портове) е обичайно да се инсталира вилици(мъж - „татко“) ДБ-25Пили по-компактна версия - ДБ-9П.Девет-пиновите конектори нямат щифтове за допълнителните сигнали, необходими за синхронен режим (повечето 25-пинови конектори не използват тези щифтове).

На оборудването AKD(модеми) инсталирайте гнезда(жена - „майка“) DB-25Swm DB-9S.

Това правило предполага, че съединителите AKDмогат да бъдат свързани към съединители ADFдиректно или чрез преходни “прави” кабели с гнездо и щепсел, в които контактите са свързани “едно към едно”. Адаптерните кабели могат да бъдат и адаптери от 9- до 25-пинови конектори (фиг. 2.7).

Ако оборудването ADFсе свързва без модеми, тогава съединителите на устройството (щепселите) са свързани помежду си нулев модемен кабел(Zero-modem или Z-modem), имащи гнезда в двата края, чиито контакти са свързани кръстосано съгласно една от диаграмите, показани на фиг. 2.8.

Ако на някое устройство ADFима монтиран контакт - това е почти 100% знак, че трябва да се свърже с друго устройство с прав кабел, подобен на кабела за връзка на модема. Гнездото обикновено се инсталира на тези устройства, които имат дистанционна връзкачрез модем не се предоставя.

В табл 2.1 показва целта на контактите на конекторите на COM порта (и всяко друго оборудване ADF).Щифтовете на конектора DB-25S се определят от стандарта EIA/TIA-232-E, конекторът DB-9S се определя от стандарта EIA/TIA-574. При модемите имената на веригите и контактите са еднакви, но ролите на сигналите (вход-изход) са разменени.

Подмножество от сигнали RS-232C,свързани с асинхронен режим, ще разгледаме от гледна точка на COM порта на компютъра. Трябва да се помни, че активното състояние на сигнала („включено“) и логическа единицапредаваните данни съответстват отрицателен потенциал(под -3 V) интерфейсен сигнал и състоянието е „изключено“ и логическа нула - положителна(над +3 V). Предназначението на интерфейсните сигнали е дадено в табл. 2.2.

1* - 8-битов мултикартов кабел.

2* - кабел на 16-битови мултикарти и портове на дънни платки. 3* е вариант на портовия кабел на дънните платки. 4* - широк кабел към 25-пинов конектор.

2.2.2. Контрол на потока от данни

За управление на потока от данни (Flow Control) могат да се използват две опции на протокола - хардуерен и софтуерен. Понякога контролът на потока се бърка с ръкостискане, но това са различни методи за постигане на една и съща цел - съпоставяне на скоростта на предаване и приемане. Ръкостискане(Handshaking) включва изпращане на известие, че даден елемент е получен, докато контрол на нишкатавключва изпращане на известие за невъзможността за последващо получаване на данни.

Протокол за управление на хардуерен поток RTS/CTS (хардуерен контрол на потока) използва CTS сигнала, който ви позволява да спрете предаването на данни, ако приемникът не е готов да ги приеме (фиг. 2.9). Предавателят "освобождава" следващия байт само когато CTS линията е включена. Невъзможно е да се забави байт, който вече е започнал да се предава с CTS сигнал (това гарантира целостта на пакета). Хардуерният протокол осигурява най-бърза реакция на предавателя към състоянието на приемника. Асинхронните приемо-предавателни микросхеми имат поне два регистъра в приемната част -

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

Хардуерният протокол е удобен за използване при свързване на принтери и плотери, ако го поддържат (фиг. 2.10). При директно свързване на два компютъра (без модеми), хардуерният протокол изисква кръстосано свързване на линиите RTS - CTS.

Ако хардуерният протокол не се използва, предавателният терминал трябва да има състояние „включено“ на линията CTS, използвайки джъмпера RTS - CTS. В противен случай предавателят ще бъде „безшумен“.

Софтуерен протокол за управление на потока XON/XOFFпредполага наличието на двупосочен канал за предаване на данни. Протоколът работи по следния начин: ако устройството, получаващо данни, открие причини, поради които не може да продължи да ги получава, то изпраща байт-символ по обратния сериен канал XOFF(13 часа). Противоположното устройство, след като получи този символ, спира предаването на пауза. Когато приемащото устройство стане готово да получи отново данни, то изпраща знака

XON(llh), при получаване на което противоположното устройство възобновява предаването. Времето за реакция на предавателя към промяна в състоянието на приемника в сравнение с хардуерния протокол се увеличава поне с времето на предаване на символа (XONили XOFF)плюс времето за реакция на програмата на предавателя за получаване на символ (фиг. 2.11). От това следва, че данни без загуба могат да бъдат получени само от приемник, който има допълнителен буфер от получени данни и предварително сигнализира за неговата недостъпност (със свободно място в буфера).

Предимството на софтуерния протокол е, че не е необходимо да се предават сигнали за управление на интерфейса - минималният кабел за двупосочна комуникация може да има само 3 проводника (виж фиг. 2.8a). Недостатъкът, освен изискването за буфер и по-дълго време за реакция (намаляване на общата производителност на канала поради изчакване на сигнал XON),е сложността на прилагането на пълен дуплексен режим на обмен. В този случай символите за контрол на потока трябва да бъдат извлечени (и обработени) от получения поток от данни, което ограничава набора от предавани символи. Минимална кабелна опция за свързване на принтер (плотер) с протокола XON/XOFFпоказано на фиг. 2.12.

В допълнение към тези два общи стандартни протокола, поддържани както от PU, така и от OS, има и други. Някои серийни плотери използват софтуерно управление, но не изпращат стандартни знаци. XON/XOFFА думи(ASCII низове). Този обмен е на ниво поддръжка на систематаНа практика няма поддръжка на протоколи (тези плотери директно „говорят“ с приложната програма). Разбира се, можете да напишете драйвер за COM порт (прихващач INT 14h),но необходимостта от обработка на текстови съобщения от изходно устройство в него обикновено не вълнува системния програмист. Свързващият кабел е същият, както е показано на фиг. 2.12.

2.3. Интерфейс на текущата верига

Обща опция за сериен интерфейс е текущата верига. В него електрическият сигнал не е нивото на напрежението спрямо общия проводник, а текущв двупроводна линия, свързваща приемника и предавателя. Логическа единица (състояние „включено“) съответства на протичане на ток от 20 mA, а логическа нула съответства на липса на ток. Това представяне на сигнали за описания асинхронен формат на изпращане ви позволява да откриете прекъсване на ред - приемникът ще забележи липсата на стоп бит ( прекъсването на реда действа като постоянна логическа нула).

Токовата верига обикновено включва галванична изолациявходни вериги на приемника от веригата на устройството. В този случай източникът на ток в контура е предавателят (тази опция се нарича активен предавател). Също така е възможно да се захранва от приемника (активен приемник), докато изходният превключвател на предавателя може също да бъде галванично изолиран от останалата част от веригата на предавателя. Има опростени опции без галванична изолация, но това вече е изроден случай на интерфейса. Галванично изолирана токова верига позволява сигналите да се предават на разстояния до няколко километра. Разстоянието се определя от съпротивлението на двойката проводници и нивото на смущение. Тъй като интерфейсът изисква чифт проводници за всеки сигнал, обичайно е да се използват само два интерфейсни сигнала. В случай на двупосочна комуникация се използват само сигналите на предадените и получените данни и се използва софтуерен метод за управление на потока XON/XOFF.Ако не се изисква двупосочна комуникация, се използва една линия за данни, а обратната линия се използва за CTS сигнала (хардуерен протокол) или линията за данни на брояча (софтуерен протокол) за контрол на потока.

Преобразуване на сигнали RS-232Cв текущия цикъл с помощта проста схема(фиг. 2.13). Тук принтерът е свързан чрез токова верига към COM порт с хардуерен контрол на потока. За да се получи биполярният сигнал, необходим за входните сигнали на COM порта, захранването се подава от интерфейса.

С подходящ софтуер единична токова верига може да осигури двупосочна полудуплексна комуникация между две устройства. В този случай всеки приемник „чува“ както сигналите на предавателя от противоположната страна на канала, така и сигналите на собствения си предавател. Те се разглеждат от комуникационните пакети просто като ехо сигнал. За безпроблемно приемане, предавателите трябва да работят последователно.

2.4. MIDI интерфейс

Цифров интерфейс за музикален инструмент MIDI(Цифров интерфейс за музикални инструменти) е двупосочен сериен асинхронен интерфейс с честота на предаване от 31,25 Kbps. Този интерфейс, разработен през 1983 г., се превърна в де факто стандарт за свързване на компютри, синтезатори, устройства за запис и възпроизвеждане, миксери, устройства за специални ефекти и друго електронно музикално оборудване.

Интерфейсът използва такава верига от 10 mA(евентуално 5 mA) с галванична изолация на входната верига. Това елиминира свързването на „земите на веригата“ на свързаните устройства чрез интерфейсния кабел, елиминирайки смущенията, които са изключително нежелани за аудио оборудване. Намаляването на смущенията се постига и чрез избор на честота на предаване, която съвпада с една от честотите на квантуване, приети в цифровия аудио запис.

Асинхронно изпращанесъдържа начален бит, 8 информационни бита и 1 стоп бит, няма контрол на четността. Най-значимият бит от изпращането е знакът „команда/данни“. Стойността му нула показва наличието на седем бита данни в нисък ред. Когато стойността е единица, битовете съдържат команден код,и битовете са номер на канал.Командите могат да бъдат или адресирани към определен канал, или излъчвани без адрес. Последната група включва команди за стартиране, спиране и времеви печат, които осигуряват синхронизация на устройствата (система за синхронизация MIDI синхронизацияИ MTS - MIDI времеви код).

Интерфейсът дефинира три типа портове: MIDI-In, MIDI-Out nMIDI-Thru.

MIDI-In порте входът на интерфейса “10 mA current loop”, галванично изолиран от приемника чрез оптрон със скорост не по-лоша от 2 μs. Устройството следи информационния поток на този вход и отговаря на команди и данни, адресирани до него.

MIDI-Out портпредставлява изхода на източник на ток 10 mA, галванично свързан към веригата на устройството. Ограничителните резистори предпазват изходните вериги от късо съединение към масата или 5 V източник на информация се подава към изхода. Потокът може също да съдържа преведен входен поток.

MIDI-Thru проходен порт(по избор) служи за препредаване на входния сигнал.

Използваните конектори са 5-пинови DIN конектори, често срещани в домакинското аудио оборудване. Всички уреди са оборудвани с контакти и кабели с щепсели. Всички MIDI свързващи кабели са унифицирани (фиг. 2.14). Контакт 2 - екранировка на кабела - свързва се към общия проводник само от страната на предавателя (на конекторите MIDI изходИ MIDI Thru).

Има несъответствия в маркировките на входовете и изходите, посочени в близост до конекторите. Някои производители пишат „In“ или „Out“ в съответствие с функцията на конектора на дадено устройство (и това е правилно), след което всеки кабел свързва „In“ и „Out“. Други смятат, че подписът трябва да показва функцията на свързаното устройство. След това кабелът ще свърже съединители, обозначени с "In" - "In" и "Out" - "Out".

Интерфейсът ви позволява да свържете група от до 16 устройства в локална мрежа. Топологията трябва да се подчинява на правилото:

вход MIDI входедно устройство трябва да бъде свързано към изхода MIDI изходили MIDI Thruдруг. Когато планирате MIDI мрежа, трябва да вземете предвид информационните потоци и комуникациите на устройството. Устройствата за управление - клавиатури, секвенсери (в режим на възпроизвеждане), източници на синхронизация - трябва да бъдат разположени пред управляваните. Ако устройствата се нуждаят от двупосочна комуникация, те се свързват в пръстен. Възможно е да използвате специални мултиплексори, които ви позволяват логически да превключвате няколко входни потока в един изходен поток. Изроден случай на пръстен е двупосочна връзка на две устройства. Няколко опции за свързване са показани на фиг. 2.15.

В PC MIDI портът е наличен на повечето звукови адаптери; неговите сигнали се насочват към неизползваните щифтове (12 и 15) на съединителя на адаптера за игра. Свързването на MIDI устройства изисква адаптер,внедряване на интерфейса на “токовата верига”. Адаптерът обикновено е вграден в специален кабел, чиято диаграма е показана на фиг. 2.16. Някои модели компютри имат вградени адаптери и стандартни 5-пинови MIDI конектори.

На компютър MIDI интерфейсът използва портове, съвместими с контролера МПУ-401(Roland) в режим UART. В I/O пространство МПУ-401заема два съседни адреса MPU(обикновено 330h) и MPU+1:

Порт ДАННИ(адрес MPU+0) -запис и четене на байтове, предавани и получавани през MIDI интерфейса. Порт СТАТУС/КОМАНДА(адрес MPU+1) -команди за четене на статус / запис (запис - само за интелигентен режим). Следните битове са дефинирани в байта на състоянието:

Бит 7 - DSR(Data Set Ready) - готовност (DSR-0)получени данни за четене. Битът е зададен на "I", когато всички получени байтове са прочетени от регистъра на данните.

Бит 6 - DRR(Data Read Ready) - готовност (DRR=0) UART за запис в регистъра на данни или команди. Условието за готовност за запис няма да възникне, ако приемникът има непрочетен байт данни.

Някои дънни платки използват LSI интерфейсни контролери, в които UART, използван за COM порта, може да бъде превключен в режим на MIDI порт чрез конфигуриране чрез BIOS SETUP.

Горещо препоръчваме среща с него. Там ще намерите много нови приятели. Освен това това е най-бързият и ефективен начин за връзка с администраторите на проекти. Разделът Антивирусни актуализации продължава да работи - винаги актуален безплатни актуализацииза Dr Web и NOD. Нямахте време да прочетете нещо? Пълното съдържание на тикера може да бъде намерено на тази връзка.

Работа с LPT порт в Win NT/2000/XP

LPT порт (Лине Прин T er) е паралелен интерфейсен порт, който първоначално е създаден за свързване на принтер. BIOS осигурява поддръжка за LPT порта, който е необходим за организиране на изхода чрез интерфейса Centronics. Адресното пространство на порта заема диапазона &H378-&H37F

LPT портът има 12 изходни и 5 входни линии. Такъв доста голям брой линии прави възможно свързването на просто оборудване към порта, което може дори да няма собствен микроконтролер. Следователно този порт, въпреки изчезването на принтери с LPT интерфейс, се използва активно за свързване на прости програмисти на чипове с памет, JTAG интерфейси за мигане (замяна на софтуер) сателитни приемници, DVD плейъри и друго електронно оборудване. LPT портът също е популярен сред модерите, тъй като ви позволява да свързвате LCD дисплеи към вашия компютър, без да правите сложни интерфейсни платки.

Windows 2000/XP не позволява на приложенията директен достъп до I/O портове. За да направите това, трябва да използвате драйвер, работещ в режим KERNEL (в режим на ядрото на операционната система).

Ограничаването на достъпа до I/O портове за общи приложни програми (работещи в потребителски режим) прави операционната система по-стабилна. Въпреки че, от друга страна, никой не спира програмиста да напише драйвер, който има достъп до портовете.

Интересното е, че можете да напишете драйвер за процесор Intel x86, който използва един от двата фундаментално различни подхода. Първият вариант е драйверът сам да има достъп до портовете, а приложната програма само казва на драйвера какво да прави. Тази опция обикновено е стандартна и предпочитана.

За да разрешите проблема, има четири популярни опции за драйвери, които позволяват на приложна програма да има достъп до I/O портове: драйвер DLPortIO, шофьор Потребителски порт, шофьор GiveIO.sis, шофьор Порт95нт.

И четирите варианта са почти еквивалентни.

DLPortIO драйвер

DLportIO - драйвер за достъп до порт от пакета DriverLINXот Scientific Software Tools, Inc. (http://www.sstnet.com) в съкратен вид (без описание и ненужна документация). За нормалната работа на програмите за поддръжка на LCD индикатори можем да препоръчаме тази опция на драйвера.

Самият драйвер се състои от два компонента:
. DLPortIO.dll - Win32 DLL, осигуряващ хардуерен I/O и
. DLPortIO.sys - драйвер за WinNT, работещ в режим на ядрото на ОС (не се изисква за Win95/98)

В инсталационния пакет на драйвера, освен тези два компонента, има и файла Install.exe, който премества двата гореспоменати драйвера на Windows в папката с драйвери на Windows и ги регистрира в системата.

За този драйвер няма какво повече да се пише. Не е необходима настройка. Изтеглено, инсталирано, използване. Не забравяйте да погледнете края на статията и да прочетете за осигуряването на функционалността на LPT порта.

Инсталацията е проста - стартирайте файла Install.exe и инсталирайте. След като инсталацията приключи, погледнете в папката C:\Windows\System32\drivers и проверете за наличието на два файла с драйвери (DLPortIO.sys и DLPortIO.dll). Ако видим, че тези файлове не са копирани, ги вземаме от инсталационния пакет и ги копираме ръчно. Не се притеснявайте, нищо лошо няма да се случи на вашия компютър. Рестартираме компютъра и работим с LPT порта.

Ако внезапно, в резултат на манипулации с оборудването, получите съобщение от драйвера като това: „Драйверът на устройството dlportio.sys не е зареден, няма да има ефект“, не се паникьосвайте. Този проблем се коригира по следния начин:
. Стартирайте regedit.
. Отиваме в клона в регистъра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\.
. В папката dlportio променете стойността на параметъра ЗапочнетеНа 1 .
. Рестартирайте компютъра.

UserPort драйвер

Шофьор Потребителски портотваря достъп до портове в Win NT/2000/XP за програми. Тази версия на драйвера за LPT порт се използва най-често от „техници“, които работят с програмисти и JTAG, тъй като драйверът има поне някои настройки за конфигурация, също така може да се използва за работа с програми за поддръжка на LCD индикатори.

Архивът на драйверите съдържа три файла:
. UserPort.sys - драйвер за WinNT, работещ в режим на ядрото на ОС,
. UserPort.exe е програма за конфигуриране на драйвера и
. UserPort.pdf - файл с описание.

Инсталиране на UserPort:
. 1. Разопаковайте архива в отделна папка.
. 2. Копирайте файла UserPort.sys в C:\Windows\System32\drivers

Настройка на UserPort:
. Стартирайте UserPort.exe.
. Пред нас ще се появи панел с 2 прозореца.

Левият прозорец се отнася за програмата, работеща в прозорец на DOS, десният за цял екран. По подразбиране те съдържат номера на LPT портове - всички те могат да бъдат премахнати чрез бутона "Премахване". И в двата прозореца трябва да въведете необходимите номера на портове, които планирате да използвате.

За използване от драйвера с повечето програмисти, JTAG и програми за обслужване на дисплея, добавете следните параметри към лявата колона:
378 , 379 И 37АЗа LPT1
278 , 279 И 27АЗа LPT2(Ако адресът на LPT порта е преназначен в BIOS).

Нека обясня какво означават числата. 0x378- това е адресът на порта.
. Адрес 0x378Наречен основени се използва за писане и четене данникъм и от порта, чрез шината за данни D0-D7.
. Адрес 0x379 (основен+1)създаден за чете битовесъстояние от устройство, свързано към LPT порта.
. Адрес 0x37A (основен+2)служи за битов записуправление на устройството, свързано към LPT порта.

Добавете го така:
0x378-0x378
0x37A-0x37A



Трябва да добавите адреси на портове към списъка през прозореца за въвеждане и чрез бутона "Добавяне". Адрес 0x379най-често не е необходимо и може да се пропусне, тъй като е предназначено за чете битовесъстояние от устройство, свързано към LPT порта, и повечето устройства (особено програмисти, JTAG и LCD индикатори) не генерират сигнали за състояние. Ако желаете, можете, напротив, да въведете целия диапазон от адреси, разпределени от системата за LPT порта 0x378-0x37F.

Хайде да отидем до Контролен панел, Система, изберете раздела Оборудване, мениджър на устройства, отидете на Портове (COM и LPT) и вижте свойствата на LPT порта, през който искате да установите връзка. В Свойства отворете раздела Ресурси и вижте стойността на параметъра Обхват на вход/изход (I/O).. (Обикновено в Windows XP е така 378 - 37F)

След като генерирате списъка с адреси, трябва да щракнете върху бутона "Старт", драйверът ще се стартира и ще се появи съобщението:



След това щракнете върху бутона "Актуализиране", драйверът ще бъде регистриран в системата, след това "Изход". Разбира се, няма нужда да натискаме бутона "Стоп", докато използваме драйвера.

Ако системата се рестартира, когато щракнете върху бутона „Актуализиране“, трябва да опитате да регистрирате драйвера в системата с администраторски права или да опитате временно да деактивирате защитната стена или антивирусната програма, което може да блокира намесата в системните процеси. Ако нещо не работи, прочетете UserPort.pdf

За да проверите дали има достъп до портовете, можете да стартирате програмата "lpt-test.exe".

След стартиране на програмата ще се появи прозорец със следното съдържание:



Липсата на съобщението „LPT портът се тества (адрес XXXh)“ и редовете след него показват, че драйверът не работи.

Тази програма просто изпраща различни числа към регистъра за данни Dx и контролния регистър Ux на LPT порта и след това ги чете. Регистърът за състояние на LPT порт Sx е само за четене. Номерът и адресът на тествания LPT порт се показват на екрана. Ако портът е здрав, тогава не трябва да се издават съобщения за Dx и Ux регистрите.



LPT-TEST v1.03 1995-2003 Copyright (C) S.B.Alemanov. Москва "БИНАР".
По време на тестването не трябва да се свързват периферни устройства към портовете.
Dx - рег. данни (изход), Ux - рег. контрол (вън), Sx - рег. състояние (inp).

LPT1 портът се тества (адрес 378h)
2-ри контакт (D0) - няма "1"
3-ти контакт (D1) - няма "1"
4-ти контакт (D2) - няма "1"
5-ти щифт (D3) - няма "1"
6-ти щифт (D4) - няма "1"
7-ми щифт (D5) - няма "1"
8-ми щифт (D6) - няма "1"
9-ти щифт (D7) - няма "1"
1-ви контакт (U0) - няма "1"
14-ти щифт (U1) - няма "1"
17-ти щифт (U3) - няма "1"
1-ви контакт (U0) - няма "0"
14-ти щифт (U1) - няма "0"
17-ти контакт (U3) - няма "0"
15-ти контакт (S3) - няма "0"


Ако регистрите Dx или Ux са дефектни, тогава се показва съобщението "no 0" или "no 1" и се показва номерът на щифта на LPT конектора (сигналите на този щифт могат да се видят с осцилоскоп). Входът на регистъра за състояние Sx може да бъде "0" или "1", но обикновено, когато нищо не е свързано към LPT порта, всички входове на регистъра за състояние са "1". Появата на статус „0“ на входа на регистъра може да е знак, че входът е бил нарушен, ако преди това там винаги е имало „1“.
При някои машини, ако регистърът на данните или контролният регистър е повреден, тогава достъпът до LPT порта изобщо не се появява. Очевидно, когато включите компютъра, BIOS тества LPT порта и, ако е дефектен, го деактивира.

Ако възникнат проблеми, е възможно някои драйвери да се намесват в работата, като периодично изпращат импулси към LPT порта (това може да се види с осцилоскоп). Например, можете да прекъснете връзката от LPT порта в настройките на принтера:
изключете LPT1: Порт за принтер
активирайте FILE: Печат във файл

След като всички проблеми са разрешени и тестът е преминал, трябва да се появи достъп до портовете и можете да стартирате програма, която използва LPT порта. В противен случай устройството, свързано към порта на такава машина, няма да работи.

GiveIO.sys драйвер

През 1996 г. американският програмист Дейл Робъртс проведе серия от експерименти, резултатът от които беше драйверът GiveIO.sys. Досега този драйвер остава един от популярните инструменти, който позволява на приложна програма да осъществява достъп до I/O портове.

Самият автор на драйвера силно препоръчва използването на този драйвер само за отстраняване на грешки. Крайната версия на приложната програма трябва, вместо да осъществява достъп до I/O портовете, да повери тази задача на драйвер, написан специално за тези цели. Драйверът трябва да се държи "правилно", като проверява дали устройството вече се използва от някое друго приложение.

Въпреки това, ако сте абсолютно сигурни, че никой не използва необходимите I/O портове освен вас (например нямате принтер, свързан към LPT), можете безопасно да използвате драйвера GiveIO.sys.

Инсталиране на драйвери:

1. Изтеглете архива, разопаковайте и копирайте файла GiveIO.sys в директорията C:\Windows\System32\Drivers (ако приемем, че вашият Windows е инсталиран в директорията C:\Windows).
. 2. Стартирайте файла install.reg. На екрана ще се появи следното съобщение:


. 3. Отговаряме утвърдително. Ще се появи съобщение, което показва, че информацията е въведена успешно в регистъра. Ако желаете, можете да проверите това. Стартираме редактора на системния регистър regedit.exe и в клона HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\giveioПроверяваме наличието на следните записи:


. 4. Рестартирайте компютъра и проверете работата на програмите с помощта на драйвера.

Шофьор GiveIO.sysхората активно го използват и с течение на времето се появи други опции за инсталирането му.

Например – шофьор GiveIO.sysако има файл с "хардуерна информация" GiveIO.infможе да се инсталира чрез аплета "Инсталиране на хардуер".




Ще покажем драйвера GiveIO.sys на операционната система, така че тя да повярва в съществуването на хардуера „GiveIO“.

Изтеглете набор от файлове за тази опция за инсталиране на драйвер GiveIO.sys(giveio_sys_v2.rar - 78kb). Архивът съдържа файловете GiveIO.sys и GiveIO.inf, както и подробни инструкцииинструкции за монтаж с илюстрации.

В допълнение към опциите за „ръчно“ инсталиране на драйвери, са написани няколко версии на инсталатора, които извършват инсталацията автоматично.

Изтеглете набор от файлове за автоматично инсталиране на драйвери GiveIO.sys(giveio_sys_install.rar - 28kb). Архивът съдържа файловете GiveIO.sys и instdrv.exe, както и файла remove-giveio.cmd, с който драйверът GiveIO.sysмогат да бъдат премахнати от системата.

Драйвер за port95nt

Терминът " шофьор Port95nt" тук няма да е напълно правилно. По същество това е същия драйвер DLPortIOот опаковката DriverLINXот Scientific Software Tools, Inc., само в пълна версия, с няколко помощни програми за управление на портове, с описание и много примери за програмисти. Средният потребител няма полза от допълнителни компоненти, а компонентите на драйвера DLPortIO.sys и DLPortIO.dll са абсолютно същите като в съкратената версия.

Споменах Port95nt като драйвер по две причини. Първият е да попълните списъка с препратки към драйвери за LPT портове, намерени в Интернет.

Втората причина е, че в някои случаи може да има проблеми с инсталирането на съкратена версия на DLPortIO под WinXP. Обикновено, но не често, това се случва в съкратените "авторски" компилации на WinXP. В този случай можете да вземете пълна версияинсталатор (1,5 MB). Въпреки че според мен ще бъде по-бързо да поставите ръчно DLPortIO.sys и DLPortIO.dll в желаната папка, отколкото да се занимавате с избора на инсталатор, който може да направи това вместо вас.

Допълнителни мерки

В допълнение към инсталирането на един от гореспоменатите драйвери, за нормална работа на LPT порта под WinXP OS, трябва да редактирате системния регистър с помощта на REG файл xp_stop_polling.reg(xp_stop_polling.rar - 0.48kb)

Под WinXP устройствата, използващи LPT порта, понякога са нестабилни. Причината за такива повреди може да е подсистемата Plug-and-Play (PnP) в Windows, която периодично проверява LPT за откриване на свързани устройства. Това запитване се извършва, когато системата се зарежда, но може да се случи и по време на работа. За съжаление, драйверът DLportIO.sys и другите опции на драйвера не блокират достъпа до LPT от други програми, когато работят с клиентския порт на този драйвер, а PnP подсистемата е сигурна, че портът не е зает, осъществява достъп до него и прекъсва работата на външни устройства. REG файлът се използва за отстраняване на проблема. xp_stop_polling.reg. Този файл е записан в системния регистър Windows ключ, което забранява подобно запитване, докато системата работи.

В допълнение към инсталирането на драйвера и ограничаването на едновременния достъп до порта за програми, за да се осигури хардуерна съвместимост и нормална работа на оборудването с LPT порта, е необходимо да се настрои правилен адрес И режим на работа на порта(„Нормално“, SPP или EPP, но не и ECP).

Следните параметри могат да бъдат конфигурирани чрез BIOS Setup:

Базов адрес, който може да бъде 378h, 278h и 3BCh. По време на инициализацията BIOS проверява за наличие на портове по адрес точно в този ред и съответно присвоява логическите имена LPT1, LPT2, LPT3 на откритите портове. Адрес 3BCh има порт адаптер, разположен на платката MDA или HGC (предшественици на съвременните видеокарти). Повечето портове са конфигурирани да адресират 378h по подразбиране и могат да бъдат превключени на 278h.

Използваната линия за заявка за прекъсване, IRQ7 обикновено се използва за LPT1, IRQ5 за LPT2. В много настолни приложения прекъсванията на принтера не се използват и този оскъден компютърен ресурс може да бъде спестен. Въпреки това, когато използвате ECP (Fast Centronics) високоскоростни режими, операцията по прекъсване може значително да подобри производителността и да намали натоварването на процесора.

В същото време режимът ECP не може да се използва с устройства, които изискват ограничени времена (програмисти и JTAG интерфейси).

В заключение, малко за терминологията:

. SPP(Standard Parallel Port - стандартен паралелен порт). Често, за да се опрости разбирането, в BIOS се обозначава с термина " нормално".
. ЕНП(Enhanced Parallel Port) - опция за високоскоростен двупосочен интерфейс. Променено е предназначението на някои сигнали, въведени са възможност за адресиране на множество логически устройства и 8-битов вход на данни, както и 16-байтов хардуерен FIFO буфер. Максимална скоростобмен - до 2 Mb/s.
. ECP(Enhanced Capability Port) - интелигентна версия на EPP. Въведена е възможност за разделяне на предаваната информация на команди и данни, поддръжка на DMA и компресиране на предаваните данни чрез метода RLE (Run-Length Encoding).



Свързани публикации