نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی

طرح هایی برای پورت LPT کامپیوتر. عیب یابی و تست پورت های موازی

پورت "LPT" به ندرت در رایانه های مدرن یافت می شود. این یک کانکتور مخصوص کامپیوتر برای اتصال یک چاپگر است. برخی از کامپیوترها به چندین پورت "LPT" مجهز بودند. این پورت ها شماره گذاری شدند: "LPT1"، "LPT2" و غیره.

پورت های موازی

از لحاظ تاریخی، پورت های اتصال کامپیوتر به دو دسته تقسیم می شوند: پورت های سریال و موازی. "LPT" به پورت های موازی اشاره دارد. این بدان معنی است که اطلاعات در طول هشت سیم مختلف حرکت می کنند، یعنی به طور همزمان و موازی. کامپیوترها با اطلاعات باینری سروکار دارند. باینری اطلاعات را به آرایه های صفر و یک تبدیل می کند. یک عدد باینری منفرد (صفر یا یک) بیت نامیده می شود. به گروه هشت بیتی بایت می گویند. هشت بیت از هر بایت که از کامپیوتر به درگاه موازی، به طور همزمان حرکت کنید. نوع دیگری از کابل متصل به درگاه سریال، هشت بیت از هر بایت را یکی پس از دیگری حرکت می دهد.

معنی

پورت موازی یک نام دارد. نام پیش فرض تنها پورت موازی کامپیوتر "LPT1" است. این نوع پورت عمدتا برای اتصال چاپگر استفاده می شود. دستگاه های دیگر را می توان به این پورت ها متصل کرد، اما کاربران بسیار بیشتر از دستگاه های دیگر از چاپگر استفاده می کنند. اتصال یک چاپگر به یک کامپیوتر، آن را به یک "طراحی جانبی" تبدیل می کند. "تجهیزات جانبی" می تواند هر دستگاه اضافی متصل به کامپیوتر با استفاده از یک کابل خاص باشد. این تجهیزات "محیطی" فقط توسط یک کامپیوتر در یک زمان قابل استفاده است. تنها راه اتصال یک دستگاه "جانبی" از قبل متصل به رایانه دیگر برای استفاده از چاپگر متصل به رایانه اول از طریق شبکه و نرم افزار است. این فرآیند با چاپگر شبکه ای متفاوت است که به جای یک کامپیوتر به یک شبکه متصل می شود. در این حالت از نوع کابل متفاوت و نوع پورت متفاوت استفاده می شود.

ارتباط

پورت موازی "LPT" و کانکتور مربوطه دارای 25 پین هستند و "DB-25" یا "D-Type 25" نامیده می شوند. پین های کانکتور در معرض دید قرار می گیرند. آنها به 25 سوراخ پورت موازی وارد می شوند. 8 پین از 25 پین وظیفه انتقال داده ها را بر عهده دارند، بقیه یا داده های کنترلی یا دستورالعمل های چاپگر، مانند پیام هایی از چاپگر در مورد کمبود کاغذ در چاپگر، دارند.

آینده

چاپگرهای شبکه نه با استفاده از پورت "LPT" بلکه با استفاده از پورت "Ethernet" به رایانه متصل می شوند. شما می توانید نه تنها یک چاپگر، بلکه دستگاه های دیگر را نیز به پورت LPT متصل کنید. امروزه دستگاه های "پیرامونی" از پورت های موازی استفاده نمی کنند. هر دو پورت "LPT" و پورت های سریال در حال حاضر موضوعی تاریخی هستند و با پورت "USB" جایگزین شده اند. پورت شبکه. قابلیت اتصال بی سیم پرینترها و لوازم جانبی جدید جایگزین دیگری برای پورت "LPT" به عنوان راهی برای اتصال چاپگر به کامپیوتر است.

یکی از قدیمی ترین پورت های کامپیوتر، پورت LPT یا پورت موازی است. و اگرچه پورت LPT اکنون در هر مادربرد قابل مشاهده نیست، با این وجود، خوانندگان ممکن است علاقه مند به دانستن چیستی آن باشند.

اول از همه، بیایید به نام پورت نگاه کنیم. شاید همه ندانند مخفف LPT مخفف چیست. در واقع LPT مخفف Line Print Terminal است. بنابراین، مشخص می شود که درگاه LPT در درجه اول برای اتصال چاپگرها در نظر گرفته شده است. به همین دلیل است که پورت LPT نام دیگری دارد - پورت چاپگر. اگرچه از نظر تئوری دستگاه های دیگر را می توان به LPT متصل کرد.

پورت LPT سابقه ای طولانی دارد. این پورت توسط Centronics توسعه داده شد (به همین دلیل است که این پورت اغلب پورت Centronics نامیده می شود) که چاپگرهای ماتریس نقطه ای را قبل از دوران رایانه شخصی در اوایل دهه 1970 تولید می کرد. و در اوایل دهه 1980، پورت LPT توسط IBM در رایانه های خود مورد استفاده قرار گرفت و برای مدتی به پورت استاندارد برای اتصال دستگاه های پرسرعت (در آن زمان) تبدیل شد.

ظاهر پورت موازی در پشت کامپیوتر

رابط LPT در چندین نسخه وجود داشته است. در نسخه اصلی، پورت LPT یک طرفه بود، یعنی می توانست داده ها را فقط در یک جهت انتقال دهد - به دستگاه ثانوی. البته، این وضعیت برای کاربران مناسب نبود، زیرا چاپگرهایی وجود داشتند که نیاز به انتقال داده در هر دو جهت داشتند. بنابراین، رابط LPT متعاقبا چندین بار بهبود یافت تا اینکه استاندارد بین‌المللی آن IEEE 1284 توسعه یافت. مطابق با این استاندارد، رابط پورت موازی از چندین حالت عملیاتی پشتیبانی می‌کرد و همچنین با استانداردهای قدیمی‌تر سازگار بود. علاوه بر این، این رابط در نسخه نهایی خود از نرخ انتقال داده نسبتاً بالایی پشتیبانی می کند - تا 5 مگابیت بر ثانیه.

نحوه عملکرد پورت موازی

پورت LPT موازی نامیده می شود زیرا کابل متصل به آن داده ها را به صورت موازی، یعنی همزمان در طول چند هادی انتقال می دهد. این ویژگی یک پورت موازی را از سایر پورت های کامپیوتر متمایز می کند - درگاه سریال COM.

8 هادی وجود دارد که خود داده ها را در کابل Centronics منتقل می کند، علاوه بر این، کابل شامل چندین خط است که سیگنال های کنترلی از طریق آنها منتقل می شود.

اگرچه پورت موازی بیشتر برای اتصال چاپگرها استفاده می شود، اما کاربردهای دیگری نیز برای آن وجود داشت. در مرحله اول، با استفاده از پورت LPT می توانید مستقیماً دو رایانه را با استفاده از یک کابل اینترلینک ویژه متصل کنید. قبل از استفاده گسترده از کارت های شبکه اترنت، چنین اتصالی اگرچه سرعت انتقال داده بالایی را برای کاربر فراهم نمی کرد، اما اغلب تنها راه برای اتصال دو رایانه بود. کلیدهای الکترونیکی نیز برای اتصال به پورت LPT طراحی شده اند.

کابل انتقال داده بین کامپیوتر - Interlink

مانند بسیاری از دستگاه های دیگر روی مادربرد، حالت های عملکرد پورت موازی را اغلب می توان از طریق راه اندازی BIOS پیکربندی کرد. به عنوان یک قاعده، از گزینه های BIOS مانند Parallel Port، Parallel Port IRQ، Parallel Port DMA و غیره برای این کار استفاده می شود.

کانکتور پورت موازی مادربرد و کابل Centronics

کانکتور پورت LPT معمولاً مستقیماً روی مادربرد قرار دارد، البته تا اواسط دهه 1990. معمولاً روی یک به اصطلاح چند کارتی وجود داشت که در یک شکاف توسعه قرار داده شده بود، که درگاه های دیگر رایانه نیز در آن قرار داشتند. خروجی پورت یک کانکتور مادگی 25 پین به نام کانکتور DB25 است.

کارت چندگانه ISA با LPT (DB25 - "مادر") و یک درگاه بازی روی برد.

برای اتصال به چاپگر استفاده می شود کابل مخصوص– کابل Centronics یک سر (دوشاخه) کابل Centronics به پورت متصل است، دیگری (همچنین دوشاخه) به یک کانکتور مخصوص روی چاپگر متصل است. آخرین کانکتور دارای 36 پین است. بنابراین یکی از ویژگی های کابل Centronics این است که در دو طرف آن کانکتورهای مختلفی دارد.

ظاهر کابل Centronics.

اگرچه کانکتور کابل مادربرد اغلب کانکتور Centronics نامیده می شود، اما به طور دقیق، کانکتور Centronics فقط یک کانکتور 36 پین برای اتصال به چاپگر است و نه به مادربرد. کانکتور کابل برای اتصال به پورت، کانکتور Amphenolstacker نامیده می شود که از نام سازنده کانکتور آمریکایی Amphenol که آن را توسعه داده است.

ویژگی های پورت موازی

با توجه به اینکه پورت LPT از انتقال موازی اطلاعات پشتیبانی می کند، در اولین کامپیوترهای شخصی این پورت یکی از سریع ترین پورت های کامپیوتر به حساب می آمد. انتقال داده از طریق چندین خط باعث می شود که رابط LPT از نظر معماری به اتوبوس های کامپیوتری بسیار نزدیک تر شود. با این حال، این شرایط همچنین محدودیتی را در طول کابل ایجاد می کند که به دلیل تداخل ایجاد شده در کابل، نمی تواند از 5 متر تجاوز کند.

حداکثر ولتاژ مورد استفاده در خطوط سیگنال پورت +5 ولت است. برای انتقال داده ساده، تنها ده خط سیگنال مورد نیاز است - اینها 8 خط داده، یک خط سیگنال بارق است، یعنی سیگنالی که پورت آماده انتقال داده است. و یک خط شلوغ . خطوط باقی مانده برای سازگاری با استاندارد Centronics استفاده می شود.

پورت LPT از نوع "زن" با شماره تماس.

پینوت رابط پورت موازی DB25:

  • 1 – داده strobe
  • 2-9 - داده ها، بیت های 0-7
  • 10 - تأیید (تأیید از چاپگر)
  • 11 - مشغول
  • 12 - کاغذ خارج کنید
  • 13 - انتخاب کنید (چاپگر فعال)
  • 14 - تغذیه خودکار
  • 15 - خطا
  • 16 - Init (راه اندازی اولیه چاپگر)
  • 17 – ورودی را انتخاب کنید
  • 18-25 - زمین

نتیجه

پورت LPT یک رابط است کامپیوتر شخصی، که در حال حاضر منسوخ شده و فاقد پشتیبانی قابل توجهی از سوی سازندگان سخت افزار و نرم افزار کامپیوتر است. با این حال، پورت موازی هنوز با موفقیت در بسیاری از مدل های قدیمی کامپیوترها و چاپگرها استفاده می شود.

یک پورت رابط موازی به رایانه شخصی برای اتصال یک چاپگر - پورت LPT (Line Printer - چاپگر خط) وارد شد.

آداپتور رابط موازی است مجموعه ای از رجیسترهادر فضای I/O قرار دارد. رجیسترهای پورت نسبت به آدرس پایه پورت آدرس دهی می شوند که مقادیر استاندارد آن 386h، 378h و 278h است. بندر دارد خارجی 8 بیتی گذرگاه داده 5 بیتی لاستیکسیگنال ها حالتو 4 بیتی گذرگاه سیگنال کنترل

بایوس تا چهار پورت LPT (LPT1-LPT4) را با سرویس وقفه INT 17h پشتیبانی می کند که ارتباط با چاپگرها را از طریق رابط Centronics فراهم می کند.با این سرویس، BIOS خروجی کاراکتر، رابط و مقداردهی اولیه چاپگر و همچنین وضعیت چاپگر را انجام می دهد. رای گیری

رابط Centronics

اصطلاح Centronics هم به مجموعه سیگنال ها و پروتکل های ارتباطی و هم به کانکتور 36 پین نصب شده روی چاپگرها اشاره دارد. هدف از سیگنال ها در جدول آورده شده است. 1.

جدول1.

سیگنال های رابط Centronics

هدف

بارق داده. داده ها توسط سطح سیگنال پایین گرفته می شود

خطوط داده داده 0 (پین 2) - کم اهمیت ترین بیت

Acknowled - یک پالس تایید بایت (درخواستی برای دریافت مورد بعدی). می تواند برای ایجاد یک درخواست وقفه استفاده شود

مشغول. دریافت داده تنها زمانی امکان پذیر است که سطح سیگنال پایین باشد

سطح بالا نشان دهنده پایان کاغذ است

سیگنال می دهد که چاپگر روشن است

ترجمه خط خودکار

خطا: خطای پایان کاغذ، خارج از خط یا خطای داخلی چاپگر

مقداردهی اولیه

انتخاب چاپگر (سطح پایین). وقتی سطح بالا باشد، چاپگر سیگنال های رابط دیگر را درک نمی کند

سیم رابط مشترک

جهت

(ورودی/خروجی) در رابطه با چاپگر.

رابط Centronics توسط اکثر چاپگرها با رابط موازی پشتیبانی می شود؛ آنالوگ داخلی آن رابط است. IRPR-M.

پورت lpt سنتی

پورت سنتی SPP (Standard Parallel Port) یک پورت یک طرفه است که بر اساس آن پروتکل تبادل Centronics در نرم افزار پیاده سازی می شود.این پورت توانایی ایجاد درخواست وقفه سخت افزاری بر اساس یک پالس در ورودی ACK# را فراهم می کند. سیگنال های پورت خروجی به اتصال دهندهDB-25S(سوکت) مستقیماً روی برد آداپتور (یا برد سیستم) نصب می شود یا با کابل نواری به آن متصل می شود. نام و هدف سیگنال های رابط پورت (جدول 2) با رابط Centronics مطابقت دارد.

جدول 2.

اتصال پورت استاندارد LPT

با DB-25S تماس بگیرید

سیم حلقه

هدف

18, 20, 22, 24, 26

* I/O جهت انتقال (ورودی/خروجی) سیگنال پورت را تنظیم می کند. 0/I نشان دهنده خطوط خروجی است که حالت آنها با خواندن از درگاه های خروجی مربوطه خوانده می شود.

** نماد "\" سیگنال های معکوس را نشان می دهد (1 در رجیستر مربوط به سطح خط پایین است).

***ورودی Ack# توسط یک مقاومت (10 کیلو اهم) به منبع تغذیه +5 ولت متصل می شود.

پورت استاندارد دارد سه رجیستر 8 بیتیدر آدرس‌های مجاور در فضای ورودی/خروجی، از آدرس پایه پورت (BASE) قرار دارد.

ثبت داده ها (DR) - ثبت داده ها،آدرس= BASE.داده های نوشته شده در این پورت است نمایش داده می شوندبه خطوط خروجی رابط. داده های خوانده شده از این رجیستر، بسته به مدار آداپتور، مربوط به داده های ثبت شده قبلی یا سیگنال های روی همان خطوط است.

ثبت وضعیت (SR) -ثبت وضعیتنمایندگی پورت ورودی 5 بیتیسیگنال های وضعیت چاپگر (بیت های SR.4-SR.7)، آدرس = BASE+1. BitSR.7 معکوس است - سطح سیگنال پایین مربوط به یک مقدار بیت واحد در ثبات است و بالعکس.

هدف بیت های ثبت وضعیت(تعداد کنتاکت های رابط در داخل پرانتز آورده شده است):

SR.7-Busy - نمایش معکوس حالت خط مشغول (11);

SR.6 -ACK (Acknowledge) - وضعیت خط Ack# (10) را نمایش می دهد.

SR.5 -PE (پایان کاغذ) - وضعیت خط پایان کاغذ (12) را نشان می دهد.

SR.4-Select - وضعیت خط انتخاب را نشان می دهد (13) یک مقدار منفرد مربوط به سیگنال روشن کردن چاپگر است.

SR.3-Error - وضعیت خط خطا (15) را نمایش می دهد.

SR.2 - PIRQ - پرچم وقفه برای سیگنال Ack# (فقط برای پورت PS/2). اگر سیگنال Ack# باعث وقفه سخت افزاری شود، بیت پاک می شود. مقدار واحد با تنظیم مجدد سخت افزار و پس از خواندن ثبت وضعیت تنظیم می شود.

SR - رزرو شده است.

ثبت کنترل (CR) - ثبت کنترل،آدرس=BA5E+2. مانند ثبت داده ها، این پورت خروجی 4 بیتیرا می توان نوشت و خواند (بیت های 0-3)، اما بافر خروجی آن معمولاً از نوع است کلکتور بازاین به شما این امکان را می دهد که از خطوط این ثبات به عنوان ورودی در هنگام برنامه نویسی آنها در سطح بالا به درستی استفاده کنید. بیت های O، 1، 3 معکوس می شوند - یک مقدار واحد در رجیستر مربوط به سطح سیگنال پایین است و بالعکس.

هدف از بیت های ثبت کنترل:

CR - رزرو شده است.

CR.5 - جهت - بیت کنترل جهت انتقال (فقط برای پورت های PS/2) نوشتن یک، پورت داده را به حالت ورودی تبدیل می کند.

CR.4 -ACKINTEN (Ack Interrupt Enable) - یک مقدار منفرد اجازه می دهد تا زمانی که سیگنال روی خط Ackff می افتد، وقفه ایجاد شود - سیگنال درخواست بایت بعدی.

CR.3 - انتخاب In - یک مقدار تک بیت مربوط به سطح پایینی در خروجی انتخاب (17) است - سیگنالی که به چاپگر اجازه می دهد از طریق رابط Centronics کار کند.

CR.2 - Init - مقدار بیت صفر مربوط به یک سطح پایین در خروجی Imt# (16) - سیگنال تنظیم مجدد سخت افزار چاپگر است.

CR.1 - Auto LF - یک مقدار تک بیت مربوط به سطح پایین در خروجی Auto LF# (14) - یک سیگنال برای تغذیه خط خودکار (LF - Line Feed) پس از دریافت بایت برگشتی کالسکه (CR - Carriage Return) ).

CR.O -Strobe - یک مقدار تک بیت مربوط به سطح پایین در خروجی Strobeff (1) - سیگنال بارق داده خروجی است.

درخواست وقفه سخت افزاری(معمولا IRQ7 یا IRQ5) توسط افت سیگنال منفی در پایه 10 رابط رابط (ACK#) در زمانی که CR.4 = 1 تولید می شود. وقفه زمانی ایجاد می شود که چاپگر دریافت بایت قبلی را تأیید کند.

رویه خروجی بایتاز طریق رابط Centronics از طریق یک پورت استاندارد شامل مراحل زیر است (تعداد عملیات مورد نیاز گذرگاه پردازنده در داخل پرانتز آورده شده است):

خروجی بایت به ثبت داده (1 چرخه IOWR#).

ورودی از رجیستر وضعیت و بررسی آمادگی دستگاه (bit SR.7 - سیگنال BUSY).

پس از دریافت آمادگی، خروجی بارق داده را در رجیستر کنترل تنظیم می کند و خروجی بعدی بارق را حذف می کند (2 سیکل lOWRff).

پورت استاندارد بسیار نامتقارن است - در حالی که 12 خط (و بیت) وجود دارد که معمولاً به عنوان خروجی کار می کنند، تنها 5 خط وضعیت به عنوان ورودی کار می کنند. اگر ارتباط دو طرفه متقارن مورد نیاز باشد، روی تمام پورت های استاندارد کار می کند حالت نوک زدن - حالت Nibble.در این حالت نیز نامیده می شود هیولت پاکارد Bitronics، 4 بیت داده به طور همزمان منتقل می شود، خط پنجم برای دست دادن استفاده می شود.

یک پورت رابط موازی برای اتصال یک چاپگر به رایانه شخصی معرفی شد - از این رو پورت LPT (Line Printer - چاپگر خط) نامگذاری شد. پورت LPT سنتی که به عنوان استاندارد نیز شناخته می شود (به اصطلاح پورت SPP) بر روی خروجی داده متمرکز است، اگرچه با برخی محدودیت ها اجازه ورودی داده را نیز می دهد. تغییرات مختلفی در پورت LPT وجود دارد - دو طرفه، EPP، ECP و موارد دیگر، افزایش عملکرد آن، افزایش عملکرد و کاهش بار روی پردازنده. ابتدا ظاهر شدند راه حل های اختصاصیتولیدکنندگان منفرد، بعداً استاندارد IEEE 1284 به تصویب رسید.

در قسمت بیرونی، پورت دارای یک گذرگاه داده 8 بیتی، یک گذرگاه سیگنال وضعیت 5 بیتی و یک گذرگاه سیگنال کنترل 4 بیتی است که به یک کانکتور مادگی DB-25S متصل است. درگاه LPT از سطوح منطقی TTL استفاده می کند که طول کابل مجاز را به دلیل ایمنی کم نویز رابط TTL محدود می کند. عایق گالوانیکی وجود ندارد - زمین مدار دستگاه متصل به زمین مدار کامپیوتر متصل است. به همین دلیل، پورت یک نقطه آسیب پذیر رایانه است و در صورت نقض قوانین اتصال و اتصال به زمین، آسیب می بیند. از آنجایی که پورت معمولا روی مادربرد قرار دارد، در صورت سوختن آن، محیط اطراف آن اغلب از کار می افتد، حتی تا جایی که کل مادربرد می سوزد.

از سمت نرم افزار، یک پورت LPT مجموعه ای از ثبات ها است که در فضای ورودی/خروجی قرار دارند. رجیسترهای پورت نسبت به آدرس پایه پورت آدرس دهی می شوند که مقادیر استاندارد آن 3BCh، 378h و 278h است. پورت می تواند از خط درخواست وقفه سخت افزاری، معمولاً IRQ7 یا IRQ5 استفاده کند. در حالت های پیشرفته می توان از کانال DMA نیز استفاده کرد.

این پورت در سطح BIOS پشتیبانی می‌کند - جستجوی پورت‌های نصب‌شده در طول تست POST و خدمات چاپ Int 17h (به بخش 8.3.3 مراجعه کنید) خروجی نماد (بر اساس نظرسنجی آمادگی، بدون استفاده از وقفه‌های سخت‌افزاری)، مقداردهی اولیه رابط و چاپگر را ارائه می‌کند. و همچنین وضعیت چاپگر نظرسنجی. تقریباً تمام مادربردهای مدرن (که با بردهای PCI برای 486 پردازنده شروع می شود) دارای یک آداپتور پورت LPT داخلی هستند. کارت‌های ISA با پورت LPT وجود دارند که اغلب در مجاورت یک جفت پورت COM و همچنین کنترل‌کننده‌های رابط دیسک (FDC+IDE) قرار دارند. یک پورت LPT معمولاً روی بردهای آداپتور نمایشگر MDA (متن تک رنگ) و HGC (گرافیک تک رنگ هرکول) وجود دارد. همچنین کارت های PCI با پورت های LPT اضافی وجود دارد.

چاپگرها، پلاترها، اسکنرها، دستگاه های ارتباطی و دستگاه های ذخیره سازی داده و همچنین کلیدهای الکترونیکی، برنامه نویس ها و سایر دستگاه ها به پورت های LPT متصل می شوند. گاهی اوقات یک رابط موازی برای ارتباط بین دو رایانه استفاده می شود - نتیجه یک شبکه "ساخته شده روی زانو" است (LapLink).

1.1. پورت LPT سنتی

پورت سنتی LPT که به عنوان استاندارد نیز شناخته می شود، پورت موازی استاندارد (Standard Parallel Port, SPP) یا پورت SPP نامیده می شود و یک پورت یک جهته است که از طریق آن پروتکل تبادل Centronics در نرم افزار پیاده سازی می شود (به بخش 8.3.1 مراجعه کنید). . نام و هدف سیگنال های رابط پورت (جدول 1.1) با رابط Centronics مطابقت دارد.

جدول 1.1. اتصال پورت استاندارد LPT

با DB-25S تماس بگیرید تعداد سیم در کابل تکلیف I/O¹ بیت ² علامت
1 1 O/I CR.0\ بارق#
2 3 O (I) DR.0 داده 0
3 5 O (I) DR.1 داده 1
4 7 O (I) DR.2 داده 2
5 9 O (I) DR.3 داده 3
6 11 O (I) DR.4 داده 4
7 13 O (I) DR.5 داده 5
8 15 O (I) DR.6 داده 6
9 17 O (I) DR.7 داده 7
10 19 من³ SR.6 قبول#
11 21 من SR.7\ مشغول
12 23 من SR.5 PaperEnd (PE)
13 25 من SR.4 انتخاب کنید
14 2 O/I CR.1\ خودکار LF# (فید خودکار#)
15 4 من SR.3 خطا#
16 6 O/I CR.2 شروع#
17 8 O/I CR.3\ انتخاب در#
18-25 10, 12, 14, 16, 18, 20, 22, 24, 26 - - -

¹ I/O جهت انتقال (ورودی-خروجی) سیگنال پورت را مشخص می کند. O/I خطوط خروجی را نشان می دهد که حالت آنها با خواندن از درگاه های خروجی خوانده می شود. O(I) - خطوط خروجی که حالت آنها فقط در شرایط خاص قابل خواندن است (به زیر مراجعه کنید).

² نماد "\" سیگنال های معکوس را نشان می دهد (1 در رجیستر مربوط به سطح خط پایین است).

³ ورودی Ack# توسط یک مقاومت (10 کیلو اهم) به منبع تغذیه +5 ولت متصل می شود.

آداپتور پورت SPP شامل سه رجیستر 8 بیتی است که در آدرس های مجاور در فضای ورودی/خروجی قرار دارند و از آدرس پایه پورت BASE (3BCh، 378h، یا 278h) شروع می شوند.

ثبت داده (DR) - ثبت داده، آدرس=BASE. داده های نوشته شده در این ثبات به خطوط خروجی داده خروجی می شود. داده های خوانده شده از این رجیستر، بسته به مدار آداپتور، یا مربوط به داده های ضبط شده قبلی یا سیگنال های روی همان خطوط است که همیشه یکسان نیست.

ثبت وضعیت (SR) - ثبت وضعیت (فقط خواندنی)، آدرس=BASE+1. ثبات درگاه ورودی وضعیت چاپگر 5 بیتی (بیت های SR.4-SR.7) و پرچم وقفه را نمایش می دهد. بیت SR.7 معکوس است - سطح سیگنال پایین مربوط به یک مقدار بیت واحد در ثبات است و بالعکس.

هدف از بیت های ثبت وضعیت در زیر توضیح داده شده است (شماره پین ​​کانکتور پورت در پرانتز آورده شده است).

♦ SR.7 - Busy - نمایش معکوس وضعیت خط مشغول (11): وقتی سطح خط پایین است، مقدار بیت روی یک تنظیم می شود - اجازه خروجی بایت بعدی.

♦ SR.6 - Ack (Acknowledge) - وضعیت خط Ack# (10) را نمایش می دهد.

♦ SR.5 - PE (پایان کاغذ) - وضعیت خط پایان کاغذ (12) را نشان می دهد. یک مقدار منفرد مربوط به یک سطح خط بالا است - یک سیگنال در مورد انتهای کاغذ در چاپگر.

♦ SR.4 - Select - وضعیت خط Select (13) را نمایش می دهد. یک مقدار منفرد مربوط به سطح خط بالایی است - سیگنالی برای روشن کردن چاپگر.

♦ SR.3 - Error - وضعیت خط Error# (15) را نمایش می دهد. یک مقدار صفر مربوط به سطح خط پایین است - یک سیگنال از هرگونه خطای چاپگر.

♦ SR.2 - PIRQ - پرچم وقفه برای سیگنال Ack# (فقط برای پورت PS/2). اگر سیگنال Ack# باعث وقفه سخت افزاری شود، بیت پاک می شود. مقدار واحد با تنظیم مجدد سخت افزار و پس از خواندن ثبت وضعیت تنظیم می شود.

♦ SR - رزرو شده است.

ثبت کنترل (CR) - ثبت کنترل، آدرس = BASE + 2، اجازه نوشتن و خواندن را می دهد. رجیستر به یک پورت خروجی 4 بیتی برای سیگنال های کنترلی (بیت های 0-3) وصل شده است که قابل خواندن نیز می باشد. بافر خروجی معمولا از نوع کلکتور باز است. این به شما این امکان را می دهد که از خطوط این ثبات به عنوان ورودی در هنگام برنامه نویسی آنها در سطح بالا استفاده کنید. بیت های 0، 1، 3 معکوس هستند.

هدف از بیت های ثبت کنترل در زیر توضیح داده شده است.

♦ CR - رزرو شده است.

♦ CR.5 - جهت - بیت کنترل جهت انتقال (فقط برای پورت های PS/2، به زیر مراجعه کنید). نوشتن یک، پورت داده را در حالت ورودی قرار می دهد. هنگام خواندن، وضعیت بیت تعریف نشده است.

♦ CR.4 - AckINTEN (Ack Interrupt Enable) - یک مقدار منفرد اجازه می دهد تا زمانی که سیگنال روی خط Ack# قرار می گیرد وقفه ایجاد شود - سیگنال درخواست بایت بعدی.

♦ CR.3 - انتخاب In - مقدار تک بیت مربوط به سطح پایین خروجی Select In# (17) است - سیگنالی که به چاپگر اجازه می دهد از طریق رابط Centronics کار کند.

♦ CR.2 - Init - یک مقدار بیت صفر مربوط به سطح پایین خروجی Init# (16) - یک سیگنال تنظیم مجدد سخت افزار چاپگر.

♦ CR.1 - Auto LF - یک مقدار تک بیت مربوط به سطح پایین در خروجی Auto LF# (14) - یک سیگنال برای تغذیه خط خودکار (LF - Line Feed) پس از دریافت بایت بازگشتی (CR). گاهی اوقات سیگنال و بیت را AutoFD یا AutoFDXT می نامند.

♦ CR.0 - Strobe - مقدار تک بیت مربوط به سطح پایین در خروجی Strobe# (1) - سیگنال بارق داده خروجی است.

درخواست وقفه سخت افزاری (معمولا IRQ7 یا IRQ5) توسط لبه منفی سیگنال در پایه 10 رابط رابط (Ack#) در زمانی که CR.4 = 1 ایجاد می شود. برای جلوگیری از وقفه های کاذب، پایه 10 توسط یک مقاومت به ریل +5 ولت متصل می شود. زمانی که چاپگر دریافت بایت قبلی را تأیید کند، وقفه ایجاد می شود. همانطور که قبلا ذکر شد، BIOS از این وقفه استفاده یا سرویس نمی کند.

اجازه دهید مراحل فرآیند خروجی یک بایت از طریق رابط Centronics را فهرست کنیم که تعداد مورد نیاز عملیات گذرگاه پردازنده را نشان می دهد.

1. خروجی یک بایت به ثبت داده (1 چرخه IOWR#).

2. ورودی از رجیستر وضعیت و بررسی آمادگی دستگاه (bit SR.7 - Busy signal). این مرحله تا زمانی که آماده شود یا تا زمانی که یک مهلت زمانی نرم افزار رخ دهد (حداقل 1 چرخه IORD#) حلقه می شود.

3. پس از دریافت آمادگی، استروب داده توسط خروجی در رجیستر کنترل نصب می شود و بارق با خروجی بعدی حذف می شود. به طور معمول، برای جابجایی فقط یک بیت (strobe)، ابتدا رجیستر کنترل خوانده می شود که یک چرخه IORD# دیگر به دو چرخه IOWR# اضافه می کند.

مشاهده می شود که برای خروجی یک بایت، 4-5 عملیات I/O با رجیسترهای پورت مورد نیاز است (در بهترین حالت، زمانی که آمادگی با اولین خواندن ثبت وضعیت تشخیص داده شود). این منجر به عیب اصلی خروجی از طریق یک پورت استاندارد می شود - سرعت مبادله کم با بار قابل توجه پردازنده. پورت را می توان با سرعت 100 تا 150 کیلوبایت بر ثانیه اورکلاک کرد به طور کامل بارگذاری شده استپردازنده، که برای چاپ روی آن کافی نیست پرینتر لیزری. یکی دیگر از اشکالات عملکردی، دشواری استفاده از آن به عنوان پورت ورودی است.

پورت استاندارد نامتقارن است - در حالی که 12 خط (و بیت) وجود دارد که معمولاً به عنوان خروجی کار می کنند، تنها 5 خط وضعیت به عنوان ورودی کار می کنند. اگر ارتباط دو طرفه متقارن مورد نیاز باشد، حالت nibble در همه پورت های استاندارد موجود است. در این حالت که Hewlett Packard Bi-tronics نیز نامیده می شود، 4 بیت داده به طور همزمان دریافت می شود، خط پنجم برای دست دادن استفاده می شود. بنابراین، هر بایت در دو چرخه منتقل می شود و هر چرخه حداقل به 5 عملیات I/O نیاز دارد.

طراحی مدار بافرهای داده خروجی پورت های LPT بسیار متنوع است. در بسیاری از مدل‌های آداپتور قدیمی، پورت داده SPP نیز می‌تواند برای ورودی استفاده شود. اگر یک بایت با یک بایت در همه بیت ها در پورت داده بنویسید و از طریق ریزمدارهایی با خروجی نوع "کلکتور باز" (یا برخی از خطوط را با کلیدها به زمین مدار متصل کنید)، مقداری کد را روی خطوط خروجی رابط اعمال کنید. این کد را می توان از همان ثبت داده خواند. با این حال، مدارهای خروجی فرستنده اطلاعات باید با جریان خروجی واحد منطقی بافرهای خروجی آداپتور "مبارزه کنند". مدار TTL چنین راه حل هایی را ممنوع نمی کند، اما اگر دستگاه خارجی بر روی تراشه های CMOS ساخته شده باشد، ممکن است قدرت آنها برای "برنده شدن" این تضاد اتوبوس کافی نباشد. با این حال، آداپتورهای مدرن اغلب یک مقاومت مطابق با مقاومت تا 50 اهم در مدار خروجی دارند. جریان اتصال کوتاه خروجی به زمین معمولا کمتر از 30 میلی آمپر است. یک محاسبه ساده نشان می دهد که حتی در صورت اتصال کوتاه اتصال اتصال به زمین، هنگام خروجی "یک"، ولتاژ 1.5 ولت در این مقاومت کاهش می یابد که توسط مدار ورودی "یک" درک می شود. گیرنده. بنابراین، نمی توانید فرض کنید که این روش ورودی روی همه رایانه ها کار می کند. در برخی از آداپتورهای پورت قدیمی، بافر خروجی توسط یک جامپر روی برد غیرفعال می شود. سپس پورت به یک پورت ورودی معمولی تبدیل می شود.

1.2. الحاقیه های پورت موازی

ایرادات پورت استانداردتا حدی انواع جدید پورت هایی را که در رایانه های PS/2 ظاهر می شدند حذف کرد.

پورت دو جهته 1 (درگاه موازی نوع 1) رابطی است که در PS/2 معرفی شده است. علاوه بر حالت استاندارد، چنین پورتی می تواند در حالت ورودی یا حالت دو طرفه نیز کار کند. پروتکل تبادل توسط نرم افزار تولید می شود و برای نشان دادن جهت انتقال، یک بیت ویژه CR.5 به رجیستر کنترل پورت وارد می شود: 0 - بافر داده برای خروجی کار می کند، 1 - برای ورودی. این پورت را که به آن دو جهته تقویت شده نیز می گویند، با EPP اشتباه نگیرید. این نوع پورت ریشه در آن پیدا کرده است کامپیوترهای معمولی، در CMOS Setup ممکن است PS/2 یا Bi-Di نامیده شود.

یک پورت دسترسی مستقیم به حافظه (درگاه موازی DMA نوع 3) در مدل های PS/2 57، 90، 95 استفاده شد. این پورت برای افزایش توان و تخلیه پردازنده هنگام خروجی به چاپگر معرفی شد. برنامه ای که با پورت کار می کرد فقط باید یک بلوک از داده ها را برای خروجی در حافظه مشخص می کرد و سپس خروجی با استفاده از پروتکل Centronics بدون مشارکت پردازنده انجام شد.

بعدها، آداپتورهای پورت LPT دیگری ظاهر شدند که پروتکل تبادل Centronics را در سخت افزار پیاده سازی کردند - Fast Centronics. برخی از آنها از یک بافر داده FIFO - حالت پورت موازی FIFO استفاده می کردند. استاندارد نبودن، چنین پورت هایی از سازندگان مختلف به درایورهای خاص خود نیاز دارند. برنامه هایی که از کنترل مستقیم رجیسترهای پورت استاندارد استفاده می کنند، نمی توانند از آنها استفاده کنند ویژگی های اضافی. چنین پورت هایی اغلب در چند کارت VLB گنجانده می شدند. انواع مختلفی با گذرگاه ISA و همچنین مواردی که در مادربرد تعبیه شده است وجود دارد.

1.3. استاندارد IEEE 1284

استاندارد رابط موازی IEEE 1284 که در سال 1994 به تصویب رسید، پورت های SPP، EPP و ECP را توصیف می کند. این استاندارد 5 حالت تبادل داده، روش مذاکره حالت، رابط های فیزیکی و الکتریکی را تعریف می کند. طبق IEEE 1284، حالت های زیر برای تبادل داده از طریق پورت موازی امکان پذیر است:

♦ حالت سازگاری - یک طرفه (خروجی) از طریق پروتکل Centronics. این حالت مربوط به پورت SPP است.

♦ حالت Nibble - یک بایت را در دو چرخه (هر کدام 4 بیت)، با استفاده از خط وضعیت برای دریافت وارد می کند. این حالت تبادل برای هر آداپتور مناسب است، زیرا فقط از قابلیت های یک پورت استاندارد استفاده می کند.

♦ حالت بایت - کل بایت را با استفاده از خط داده برای دریافت وارد می کند. این حالت فقط روی پورت هایی کار می کند که اجازه خواندن داده های خروجی را می دهند (Bi-Directional یا PS/2 Type 1، به بالا مراجعه کنید).

♦ حالت EPP - تبادل داده دو طرفه (EPP مخفف Enhanced Parallel Port است). سیگنال های کنترل رابط توسط سخت افزار در طول چرخه دسترسی پورت تولید می شوند. هنگام کار با دستگاه ها موثر است حافظه خارجیو آداپتورهای شبکه محلی

♦ حالت ECP - تبادل دو طرفه داده با امکان فشرده سازی داده های سخت افزاری روش RLE(Run Length Encoding) و استفاده از بافرهای FIFO و DMA (ECP مخفف Extended Capability Port) است. سیگنال های کنترل رابط در سخت افزار تولید می شوند. برای چاپگرها و اسکنرها (در اینجا می توان از فشرده سازی استفاده کرد) و دستگاه های مختلف مبادله بلوک موثر است.

این استاندارد روشی را تعریف می‌کند که در آن نرم‌افزار می‌تواند حالت موجود را برای میزبان (کامپیوتر) و دستگاه جانبی (یا رایانه دوم متصل) تعیین کند. حالت های پورت های غیر استانداردی که پروتکل ارتباطی Centronics را در سخت افزار پیاده سازی می کنند (Fast Centronics, Parallel Port FIFO Mode) ممکن است با وجود ویژگی های EPP و ECP در آنها حالت های IEEE 1284 نباشند.

در رایانه های دارای پورت LPT روی مادربرد، حالت - SPP، EPP، ECP یا ترکیبی از آنها - در تنظیمات BIOS تنظیم شده است. حالت سازگاری کاملاً با پورت SPP سازگار است. حالت های باقی مانده به تفصیل در زیر مورد بحث قرار می گیرند.

هنگام توصیف حالت های مبادله، مفاهیم زیر ظاهر می شوند:

♦ میزبان - یک کامپیوتر با یک پورت موازی.

♦ PU - دستگاه جانبی متصل به این پورت.

♦ Ptr - در نام سیگنال ها واحد کنترل فرستنده را نشان می دهد.

♦ کانال مستقیم - کانال خروجی داده از میزبان به کنترل پنل.

♦ کانال معکوس - کانال برای ورودی داده به میزبان از کنترل پنل.

1.3.1. ورودی حالت نیبل

حالت Nibble برای ارتباط دو طرفه طراحی شده است و می تواند روی تمام پورت های استاندارد کار کند. پورت ها دارای 5 خط ورودی وضعیت هستند که با استفاده از آنها واحد کنترل می تواند بایت ها را به صورت تتراد (nibble - nibble، 4 بیت) در دو مرحله به هاست ارسال کند. سیگنال Ack# که باعث ایجاد وقفه ای می شود که در این حالت می توان از آن استفاده کرد، مربوط به بیت 6 ثبت وضعیت است، که دستکاری بیت ها را برای نرم افزار در هنگام مونتاژ یک بایت دشوار می کند. سیگنال های پورت در جدول آورده شده است. 1.2، نمودارهای زمان بندی - در شکل. 1.1.

جدول 1.2. سیگنال پورت LPT در حالت ورودی nibble

مخاطب سیگنال SPP I/O بیت شرح
14 فید خودکار# O CR.1\ HostBusy - سیگنال دست دادن. سطح پایین به معنای آمادگی برای دریافت تتراد است، سطح بالا تایید کننده دریافت تتراد است
17 SelectIn# O CR.3\
10 قبول# من SR.6 PtrClk. سطح پایین به معنای آماده بودن تتراد و سطح بالا به معنای پاسخ به سیگنال HostBusy است
11 مشغول من SR.7 بیت 3 و سپس بیت 7 داده را دریافت کنید
12 RE من SR.5 بیت ۲ و سپس بیت ۶ را دریافت کنید
13 انتخاب کنید من SR.4 بیت 1 و سپس بیت 5 داده را دریافت کنید
15 خطا# من SR.3 بیت داده 0 و سپس بیت 4 را دریافت کنید

برنج. 1.1. دریافت اطلاعات در حالت nibble

دریافت بایت داده در حالت nibble شامل مراحل زیر است:

2. PU با قرار دادن یک تتراد روی خطوط وضعیت ورودی پاسخ می دهد.

3. واحد کنترل با تنظیم خط PtrClk در سطح پایین، آمادگی تتراد را اعلام می کند.

4. میزبان خط HostBusy را بالا تنظیم می کند که نشان می دهد مشغول دریافت و پردازش نوت بوک است.

6. مراحل 1-5 برای نوت بوک دوم تکرار می شود.

حالت nibble به شدت پردازنده را بارگذاری می کند و امکان افزایش سرعت تبادل بیش از 50 کیلوبایت بر ثانیه وجود ندارد. مزیت بدون شک آن این است که روی همه پورت ها کار می کند. در مواردی که جریان داده کم است (مثلاً برای ارتباط با چاپگرها) استفاده می شود. با این حال، هنگام برقراری ارتباط با آداپتورهای LAN، درایوهای دیسک خارجی و CD-ROM ها، دریافت حجم زیادی از داده ها نیازمند صبر و حوصله کافی از جانب کاربر است.

1.3.2. حالت بایت دو جهته - حالت بایت

در این حالت داده ها با استفاده از یک پورت دو طرفه دریافت می شود که بافر داده خروجی آن را می توان با تنظیم بیت CR.5=1 غیرفعال کرد. مانند موارد قبلی، حالت توسط نرم افزار کنترل می شود - تمام سیگنال های تایید توسط راننده تجزیه و تحلیل و تنظیم می شوند. سیگنال های پورت در جدول توضیح داده شده است. 1.3، نمودارهای زمان بندی - در شکل. 1.2.

جدول 1.3. سیگنال پورت LPT در حالت I/O بایتی

مخاطب سیگنال SPP نام در حالت بایت I/O بیت شرح
1 بارق# HostClk O CR.0\ یک پالس (کم) دریافت یک بایت را در پایان هر چرخه تأیید می کند.
14 فید خودکار# HostBusy در باره CR.1\ سیگنال تصدیق سطح پایین به این معنی است که میزبان آماده دریافت بایت است. سطح بالا با دریافت یک بایت تنظیم می شود
17 SelectIn# 1284 فعال در باره CR.3\ سطح بالا نشان دهنده ارتباط در حالت IEEE 1284 (سطح پایین در حالت SPP) است.
16 شروع# شروع# O CR.2 استفاده نشده؛ بالا تنظیم کنید
10 قبول# PtrClk من SR.6 برای نشان دادن داده های معتبر در خطوط داده، پایین را تنظیم کنید. در پاسخ به سیگنال HostBusy کم تنظیم کنید
11 مشغول PtrBusy من SR.7\ وضعیت اشغال لینک فوروارد
12 پلی اتیلن. AcDataReq¹ من SR.5
13 انتخاب کنید Xflag¹ من SR.4 پرچم توسعه پذیری
15 خطا# DataAvail#¹ من SR.3 PU برای نشان دادن وجود یک کانال انتقال معکوس نصب شده است
2-9 داده ها داده ها I/O دکتر. کانال داده دو طرفه (جلو و معکوس).

برنج. 1.2. دریافت اطلاعات در حالت بایت

مراحل دریافت بایت داده در زیر فهرست شده است.

1. میزبان سیگنال می دهد که با تنظیم خط HostBusy پایین آماده دریافت داده است.

2. PU با قرار دادن یک بایت داده در خط داده پاسخ می دهد.

3. PU اعتبار بایت را با تنظیم خط PtrClk پایین نشان می دهد.

4. هاست روی خط HostBusy بالا می رود و نشان می دهد که مشغول دریافت و پردازش یک بایت است.

5. کنترل پنل با تنظیم خط PtrClk بالا پاسخ می دهد.

6. میزبان دریافت بایت را با پالس HostClk تایید می کند.

مراحل 1-6 برای هر بایت بعدی تکرار می شود. دست دادن توسط یک جفت سیگنال HostBusy و PtrClk انجام می شود. ممکن است PU از سیگنال HostClk استفاده نکند (این یک دعوت نامه برای صدور بایت بعدی است که یادآور سیگنال Ack# در رابط Centronics است). حالت بایت به بایت به شما امکان می دهد سرعت کانال معکوس را به سرعت کانال جلو در داخل افزایش دهید حالت استاندارد. با این حال، فقط می‌تواند روی پورت‌های دو طرفه کار کند، که قبلاً عمدتاً در دستگاه‌های کمتر رایج PS/2 استفاده می‌شدند، اما تقریباً همه پورت‌های مدرن را می‌توان به صورت دو طرفه پیکربندی کرد (در تنظیمات BIOS Setup - Bi-Di یا PS/2).

1.3.3. حالت EPP

پروتکل EPP (درگاه موازی پیشرفته) توسعه داده شد شرکت های اینتل، Xircom و Zenith Data Systems مدت ها قبل از پذیرش استاندارد IEEE 1284. این پروتکل برای بهبود عملکرد ارتباط پورت موازی طراحی شده است، ابتدا در چیپست Intel 386SL (تراشه 82360) پیاده سازی شد و متعاقباً توسط بسیاری از شرکت ها به عنوان یک موازی اختیاری پذیرفته شد. پروتکل پورت نسخه های پروتکل اجرا شده قبل از پذیرش IEEE 1284 با استاندارد فعلی متفاوت است (به زیر مراجعه کنید).

پروتکل EPP چهار نوع چرخه تبادل را ارائه می دهد:

♦ ثبت داده ها.

♦ خواندن داده ها.

♦ سابقه آدرس.

♦ خواندن آدرس.

هدف چرخه های نوشتن و خواندن داده ها واضح است. چرخه های آدرس برای انتقال آدرس، کانال و اطلاعات کنترل استفاده می شود. چرخه های تبادل داده با چرخه های آدرس با سیگنال های بارق استفاده شده متفاوت است. هدف سیگنال های پورت EPP و ارتباط آنها با سیگنال های SPP در جدول توضیح داده شده است. 1.4.

جدول 1.4. سیگنال پورت LPT در حالت EPP I/O

مخاطب سیگنال SPP نام در EPP I/O شرح
1 بارق# نوشتن# O سطح پایین - چرخه نوشتن، چرخه خواندن بالا
14 AutoLF# DataStb# O بارق داده. سطح پایین در چرخه های داده تنظیم می شود
17 SelectIn# AdrStb# O آدرس strobe. سطح پایین در چرخه های آدرس تنظیم می شود
16 شروع# بازنشانی# O تنظیم مجدد PU (سطح پایین)
10 قبول# INTR# من وقفه از PU
11 مشغول صبر کن# من سیگنال تصدیق سطح پایین اجازه شروع چرخه را می دهد (تنظیم بارق روی سطح پایین)، رفتن به سطح بالا امکان تکمیل چرخه (حذف بارق) را فراهم می کند.
2-9 داده ها آگهی I/O گذرگاه آدرس/داده دو طرفه
12 PaperEnd AcDataReq¹ من
13 انتخاب کنید Xflag¹ من به صلاحدید توسعه دهنده محیطی استفاده می شود
15 خطا# DataAvail#¹ من به صلاحدید توسعه دهنده محیطی استفاده می شود

¹ سیگنال ها در یک توالی منطبق عمل می کنند (به زیر مراجعه کنید).

پورت EPP دارای مجموعه گسترده ای از ثبات ها است (جدول 1.5)، که 5 تا 8 بایت مجاور را در فضای ورودی/خروجی اشغال می کند.

جدول 1.5. ثبت پورت EPP

نام ثبت نام جانبداری حالت R/W شرح
پورت داده SPP +0 SPP/EPP دبلیو ثبت داده های SPP
پورت وضعیت SPP +1 SPP/EPP آر ثبت وضعیت SPP
پورت کنترل SPP +2 SPP/EPP دبلیو ثبت کنترل SPP
پورت آدرس EPP +3 EPP R/W ثبت نام آدرس های EPP. خواندن یا نوشتن در آن یک چرخه خواندن یا نوشتن آدرس EPP مرتبط ایجاد می کند
پورت داده EPP +4 EPP R/W ثبت داده های EPP خواندن (نوشتن) چرخه خواندن (نوشتن) مرتبط داده های EPP را ایجاد می کند
تعریف نشده +5…+7 EPP N/A می تواند برای ورودی/خروجی 16-32 بیتی در برخی از کنترلرها استفاده شود

برخلاف حالت‌های کنترل‌شده توسط نرم‌افزار که در بالا توضیح داده شد، سیگنال‌های پورت EPP خارجی برای هر چرخه تبادل در سخت‌افزار توسط یک عملیات نوشتن یا خواندن در ثبت پورت تولید می‌شوند. در شکل شکل 1.3 یک نمودار چرخه نوشتن داده است که یک چرخه ارتباط خارجی تو در تو در یک چرخه نوشتن گذرگاه سیستم پردازنده را نشان می دهد (گاهی اوقات این چرخه ها چرخه های جفت شده نامیده می شوند). چرخه نوشتن آدرس با چرخه داده فقط توسط بارق رابط خارجی متفاوت است.

برنج. 1.3. چرخه ضبط داده های EPP

چرخه ثبت داده ها شامل مراحل زیر است.

1. برنامه یک حلقه خروجی (IOWR#) به پورت 4 (EPP Data Port) انجام می دهد.

2. آداپتور سیگنال Write# را تنظیم می کند (کم) و داده ها در گذرگاه خروجی پورت LPT نوشته می شوند.

3. وقتی Wait# کم است، داده strobe تنظیم می شود.

4. پورت منتظر تایید PU است (ترجمه Wait# به سطح بالا).

5. بارق داده حذف می شود - چرخه EPP خارجی به پایان می رسد.

6. چرخه پردازنده خروجی به پایان می رسد.

7. کنترل پنل Wait# را کم تنظیم می کند که نشان دهنده امکان شروع چرخه بعدی است.

نمونه ای از چرخه آدرس خواندن در شکل نشان داده شده است. 1.4. چرخه خواندن داده ها فقط در استفاده از سیگنال بارق متفاوت متفاوت است.

برنج. 1.4. چرخه آدرس خواندن EPP

وجه تمایز اصلی EPP این است که انتقالات خارجی را در طول یک چرخه پردازنده I/O انجام می دهد. این به شما امکان می دهد به سرعت انتقال بالایی (0.5-2 مگابایت بر ثانیه) برسید. PU متصل به پورت موازی EPP می تواند با سرعت دستگاه متصل شده از طریق اسلات ISA کار کند.

به طور طبیعی، واحد کنترل نباید پردازنده را در چرخه تبادل اتوبوس "آویزان" کند. این امر توسط مکانیزم وقفه زمانی PC تضمین می شود که هر چرخه ارتباطی بیش از 15 میکروثانیه را به زور خاتمه می دهد. در تعدادی از پیاده سازی های EPP، بازه زمانی رابط توسط خود آداپتور کنترل می شود - اگر PU در مدت زمان معینی (5 میکرو ثانیه) پاسخ ندهد، چرخه خاتمه می یابد و یک خطا در آداپتور اضافی (غیر استاندارد) ثبت می شود. ثبت وضعیت

دستگاه های EPP توسعه یافته قبل از IEEE 1284 در شروع چرخه متفاوت هستند: strobe DataStb# یا AdrStb# بدون توجه به وضعیت WAIT# تنظیم می شود. این بدان معنی است که PU نمی تواند شروع چرخه بعدی را به تاخیر بیندازد (اگرچه می تواند آن را برای مدت زمان مورد نیاز تمدید کند). این مشخصات EPP 1.7 نامیده می شود (پیشنهاد شده توسط Xircom). این همان چیزی است که در کنترلر 82360 استفاده شده است. لوازم جانبی سازگار با IEEE 1284 EPP با کنترلر EPP 1.7 به خوبی کار می کنند، اما EPP 1.7 PU ممکن است از کار با کنترلر EPP 1284 خودداری کند.

از نقطه نظر نرم افزار، کنترلر پورت EPP ساده به نظر می رسد (جدول 1.5 را ببینید). به سه رجیستر استاندارد پورت که دارای انحراف 0، 1 و 2 نسبت به آدرس پایه پورت هستند، دو رجیستر (EPP Address Port و EPP Data Port) اضافه می شود که خواندن و نوشتن آنها باعث ایجاد حلقه های خارجی مرتبط می شود.

هدف از رجیسترهای پورت استاندارد برای سازگاری پورت EPP با واحدهای کنترل و نرم افزار طراحی شده برای استفاده از تبادل کنترل شده توسط نرم افزار حفظ می شود. از آنجایی که سیگنال های دست دادن آداپتور در سخت افزار تولید می شوند، هنگام نوشتن در رجیستر کنترل CR، بیت های 0، 1 و 3 مربوط به سیگنال های Strobe#، AutoFeed# و SelectIn# باید دارای مقادیر صفر باشند. تداخل نرم افزاریمی تواند توالی دست دادن را مختل کند. برخی از آداپتورها دارند وسایل خاصحفاظت (EPP Protect)، هنگامی که فعال باشد، اصلاح نرم افزار این بیت ها مسدود می شود.

استفاده از رجیستر داده EPP اجازه می دهد تا بلوکی از داده ها با یک دستور REP INSB یا REP OUTSB منتقل شود. برخی از آداپتورها اجازه دسترسی 16/32 بیتی به ثبت داده EPP را می دهند. در این مورد، آداپتور به سادگی آدرس را با یک افست در محدوده 4-7 به عنوان آدرس ثبت داده EPP رمزگشایی می کند، اما به پردازنده گزارش می دهد که عرض آن 8 بیت است. سپس یک دسترسی 16 یا 32 بیتی به آدرس ثبت داده EPP به طور خودکار دو یا چهار چرخه اتوبوس را در آدرس‌های صعودی ایجاد می‌کند که از آفست 4 شروع می‌شود. این چرخه‌ها سریع‌تر از همان تعداد چرخه منفرد اجرا می‌شوند. آداپتورهای "پیشرفته" بیشتر برای آدرس ثبت داده EPP عرض 32 بیت را گزارش می دهند و برای آنها تا 4 بایت را می توان در یک چرخه پردازنده منتقل کرد. این عملکرد تا 2 مگابایت بر ثانیه را فراهم می کند که برای آداپتورهای LAN کافی است. درایوهای خارجی، استریمرها و سی دی رام ها. چرخه های آدرس EPP همیشه فقط در حالت تک بایتی اجرا می شوند.

یکی از ویژگی های مهم EPP این است که پردازنده در زمان واقعی به PU دسترسی دارد - هیچ بافری وجود ندارد. درایور قادر به نظارت بر وضعیت و صدور دستورات در زمان های دقیقاً مشخص است. چرخه های خواندن و نوشتن می توانند به ترتیب تصادفی متناوب یا در بلوک ها رخ دهند. این نوع مبادله برای دستگاه‌های کنترلی ثبت‌گرا یا بی‌درنگ، مانند دستگاه‌های جمع‌آوری و کنترل اطلاعات، مناسب است. این حالت برای دستگاه های ذخیره سازی، آداپتورهای شبکه، چاپگرها، اسکنرها و غیره نیز مناسب است.

متأسفانه، حالت EPP توسط همه پورت ها پشتیبانی نمی شود - به عنوان مثال، در تعدادی از رایانه های شخصی نوت بوک در دسترس نیست. بنابراین هنگام توسعه دستگاه های خود، به خاطر سازگاری بیشتر با رایانه ها، باید روی حالت ECP تمرکز کنید.

1.3.4. حالت ECP

پروتکل ECP (Extended Capability Port) توسط هیولت پاکارد و مایکروسافت برای ارتباط با دستگاه های کنترلی مانند چاپگرها یا اسکنرها پیشنهاد شد. مانند EPP، این پروتکل تبادل داده دو طرفه با کارایی بالا را بین میزبان و واحد کنترل فراهم می کند.

پروتکل ECP دو نوع حلقه را در هر دو جهت ارائه می دهد:

♦ چرخه های نوشتن و خواندن داده ها.

♦ چرخه های دستور را بنویسید و بخوانید.

چرخه های فرمان به دو نوع تقسیم می شوند: انتقال آدرس های کانال و ارسال شمارنده RLC (Run-Length Count).

در مقابل EPP، همراه با پروتکل ECP، یک استاندارد برای مدل نرم افزار (رجیستر) آداپتور آن بلافاصله ظاهر شد که در سند "پروتکل پورت ظرفیت های توسعه یافته IEEE 1284 و استاندارد رابط ISA" توسط مایکروسافت ارائه شده است. این سند ویژگی های پروتکل را تعریف می کند که توسط استاندارد IEEE 1284 مشخص نشده است:

♦ فشرده سازی داده ها توسط آداپتور میزبان با استفاده از روش RLE.

♦ بافر FIFO برای کانال های رو به جلو و معکوس.

♦ استفاده از DMA و نرم افزار I/O.

فشرده سازی بلادرنگ با استفاده از روش RLE (Run-Length Encoding) به شما امکان می دهد در حین انتقال به نسبت فشرده سازی 64:1 دست یابید. تصاویر شطرنجی، که دارای رشته های طولانی بایت های تکرار شونده است. فشرده سازی تنها در صورتی قابل استفاده است که هم میزبان و هم رابط کاربری از آن پشتیبانی کنند.

آدرس دهی پیوند ECP برای آدرس دهی چندین دستگاه منطقی موجود در یک دستگاه فیزیکی استفاده می شود. به عنوان مثال، یک دستگاه ترکیبی فکس/چاپگر/مودم که فقط به یک پورت موازی متصل است می‌تواند همزمان فکس را دریافت کرده و در چاپگر چاپ کند. در حالت SPP، اگر چاپگر سیگنال اشغالی را تنظیم کند، کانال با داده اشغال می شود تا زمانی که چاپگر آن را بپذیرد. در حالت ECP درایور نرم افزاربه سادگی به یک کانال منطقی متفاوت در همان پورت خطاب می شود.

پروتکل ECP سیگنال های SPP را لغو می کند (جدول 1.6).

جدول 1.6. سیگنال پورت LPT در حالت ECP I/O

مخاطب سیگنال SPP نام در ECP I/O شرح
1 بارق# HostClk در باره بارق داده، که همراه با PeriphAck برای انتقال رو به جلو (خروجی) استفاده می شود
14 AutoLF# HostAck در باره نوع چرخه (فرمان/داده) را هنگام ارسال در جهت جلو نشان می دهد. به عنوان یک سیگنال تصدیق جفت شده با PeriphClk برای انتقال در جهت معکوس استفاده می شود.
17 SelectIn# 1284 فعال O سطح بالا نشان دهنده ارتباط در حالت IEEE 1284 (سطح پایین در حالت SPP) است.
16 شروع# ReverseRequest# O درخواست معکوس سطح پایین نشان می دهد که کانال در جهت مخالف به انتقال تغییر می کند
10 قبول# PeriphClk من داده strobe، که در ارتباط با HostAck برای انتقال معکوس استفاده می شود
11 مشغول PeriphAck من به عنوان یک سیگنال تصدیق در ارتباط با HostClk برای انتقال رو به جلو استفاده می شود. نوع فرمان/داده را هنگام انتقال در جهت تصویری نشان می دهد
12 PaperEnd AckReverse# من تایید معکوس در پاسخ به ReverseRequest# کاهش می یابد
13 انتخاب کنید Xflag¹ من پرچم توسعه پذیری
15 خطا# PeriphRequest#¹ من PU برای نشان دادن در دسترس بودن (حضور) کانال انتقال معکوس¹ نصب شده است
2-9 داده ها داده ها I/O کانال داده دو طرفه

¹ سیگنال ها در یک توالی منطبق عمل می کنند (به زیر مراجعه کنید)

آداپتور ECP همچنین سیگنال های دست دادن پروتکل خارجی را در سخت افزار تولید می کند، اما عملکرد آن به طور قابل توجهی با حالت EPP متفاوت است.

در شکل 1.5، یک نمودار دو چرخه رو به جلو را نشان می دهد: یک چرخه داده و به دنبال آن یک چرخه فرمان. نوع چرخه با سطح روی خط HostAck تعیین می شود: در چرخه داده - زیاد، در چرخه فرمان - کم. در چرخه دستورالعمل، یک بایت می تواند حاوی آدرس کانال یا شمارنده RLE باشد. یک ویژگی متمایز بیت 7 است (مهمترین): اگر صفر باشد، بیت های 0-6 حاوی شمارنده RLE (0-127) هستند؛ اگر یک است، آدرس کانال. در شکل شکل 1.5b یک جفت چرخه انتقال معکوس را نشان می دهد.

برنج. 1.5. انتقال در حالت ECP: a - جلو، b - معکوس

برخلاف نمودارهای تبادل EPP، در شکل. 1.5 سیگنال های چرخه اتوبوس سیستم پردازنده را نشان نمی دهد. در این حالت تبادل برنامه با واحد کنترل به دو فرآیند نسبتا مستقل تقسیم می شود که از طریق بافر FIFO به هم متصل می شوند. تبادل درایور با بافر FIFO می تواند با استفاده از DMA یا نرم افزار ورودی/خروجی انجام شود. تبادل PU با بافر در سخت افزار توسط آداپتور ECP انجام می شود. درایور در حالت ECP هیچ اطلاعاتی در مورد وضعیت دقیق فرآیند ارتباطی ندارد، اما معمولاً تنها چیزی که مهم است این است که آیا کامل شده است یا خیر.

انتقال مستقیم داده در رابط خارجی شامل مراحل زیر است:

1. میزبان داده ها را در گذرگاه کانال قرار می دهد و حلقه داده (بالا) یا پرچم فرمان (کم) را در خط HostAck تنظیم می کند.

2. میزبان خط HostClk را پایین می کشد، که نشان دهنده داده های معتبر است.

3. کنترل پنل با تنظیم خط PeriphAck بالا پاسخ می دهد.

4. میزبان خط HostClk را بالا می کشد، و این لبه می تواند برای اتصال داده ها به PU استفاده شود.

5. PU خط PeriphAck را پایین تنظیم می کند تا آمادگی دریافت بایت بعدی را نشان دهد.

از آنجایی که انتقال به ECP از طریق بافرهای FIFO، که می‌توانند در هر دو طرف رابط وجود داشته باشند، انجام می‌شود، مهم است که بدانیم داده‌ها در چه مرحله‌ای منتقل شده‌اند. هنگامی که خط HostClk بالا می رود، داده ها در مرحله 4 منتقل می شوند. در این لحظه شمارنده بایت های ارسالی و دریافتی اصلاح می شوند. شرایطی در پروتکل ECP وجود دارد که باعث می شود تبادل بین مراحل 3 و 4 متوقف شود. سپس این داده ها نباید به عنوان انتقال در نظر گرفته شوند.

از شکل 1.5 تفاوت دیگری را بین ECP و EPP نشان می دهد. پروتکل EPP به راننده اجازه می دهد تا بین چرخه های انتقال جلو و عقب بدون نیاز به تایید برای تغییر جهت، متناوب کند. در ECP، تغییر جهت باید هماهنگ باشد: میزبان با تنظیم ReverseRequest# درخواست معکوس می کند، پس از آن باید منتظر تایید با سیگنال AckReverse# باشد. از آنجایی که حلقه قبلی می‌توانست از طریق دسترسی مستقیم اجرا شود، راننده باید منتظر بماند تا دسترسی مستقیم کامل شود یا آن را قطع کند، بافر FIFO را تخلیه کند، مقدار دقیق شمارنده انتقال بایت را تعیین کند و تنها پس از آن درخواست معکوس کند.

انتقال مجدد داده ها شامل مراحل زیر است:

1. میزبان با پایین کشیدن خط ReverseRequest# درخواست یک معکوس کانال می کند.

2. کنترل پنل با تنظیم یک سطح پایین در خط AckReverse# امکان تغییر جهت را می دهد.

3. PU داده ها را روی گذرگاه کانال قرار می دهد و پرچم چرخه داده (سطح بالا) یا فرمان (سطح پایین) را روی خط PeriphAck تنظیم می کند.

4. PU خط PeriphClk را پایین تنظیم می کند، که نشان می دهد داده ها معتبر هستند.

5. میزبان با تنظیم خط HostAck بالا پاسخ می دهد.

6. کنترل پنل خط PeriphClk را بالا تنظیم می کند. از این لبه می توان برای ارسال داده به هاست استفاده کرد.

7. میزبان خط HostAck را پایین می کشد تا نشان دهد که آماده دریافت بایت بعدی است.

1.3.5. حالت ها و رجیسترهای پورت ECP

رابط نرم افزار و رجیسترهای ECP برای آداپتورهای IEEE 1284 با مشخصات مایکروسافت تعریف شده اند. پورت ECP می تواند در حالت های مختلفی که در جدول نشان داده شده است کار کند. 1.7، که در آن کد مربوط به قسمت Mode ثبت (بیت) ECR است.

جدول 1.7. حالت های پورت ECP

کد حالت
000 حالت SPP، حالت استاندارد (سنتی).
001 حالت دو طرفه، پورت دو طرفه (نوع 1 برای PS/2)
010 Centronics سریع، یک طرفه با استفاده از FIFO و DMA
011 حالت پورت موازی ECP، خود حالت ECP
100 حالت پورت موازی EPP، حالت EPP¹
101 رزرو شده است
110 حالت تست، تست عملکرد FIFO و وقفه ها
111 حالت پیکربندی، دسترسی به رجیسترهای پیکربندی

¹ این حالت در مشخصات مایکروسافت گنجانده نشده است، اما اگر حالت ECP+EPP در راه اندازی CMOS تنظیم شده باشد، توسط بسیاری از آداپتورهای پورت به عنوان EPP تفسیر می شود.

مدل رجیستر آداپتور ECP (جدول 1.8) از ویژگی‌های معماری گذرگاه استاندارد و آداپتورهای ISA استفاده می‌کند، که در آن تنها از 10 خط با مرتبه پایین گذرگاه آدرس برای رمزگشایی آدرس‌های پورت‌های ورودی/خروجی استفاده می‌شود. بنابراین، برای مثال، تماس با آدرس‌های Port، Port+400h، Port+800h... به عنوان تماس با آدرس پورت در محدوده 0-3FFh درک می‌شود. رایانه های شخصی و آداپتورهای مدرن رمزگشایی می کنند مقدار زیادبیت های آدرس، بنابراین تماس با آدرس های 0378h و 0778H به دو رجیستر مختلف آدرس داده می شود. قرار دادن رجیسترهای ECP اضافی "پشت" رجیسترهای پورت استاندارد (offset 400-402H) دو هدف را دنبال می کند. اول، این آدرس ها هرگز توسط آداپتورهای سنتی و درایورهای آنها استفاده نشده اند و استفاده از آنها در ECP فضای آدرس ورودی/خروجی موجود را کاهش نمی دهد. ثانیا، این امر سازگاری با آداپتورهای قدیمی‌تر در سطح حالت‌های 000-001 و توانایی تعیین حضور یک آداپتور ECP با دسترسی به رجیسترهای توسعه‌یافته آن را تضمین می‌کند.

جدول 1.8. ESR ثبت می کند

جانبداری نام R/W حالت های ECP¹ نام
000 دکتر. R/W 000-001 ثبت داده ها
000 ECPAFIFO R/W 011 آدرس ECP FIFO
001 S.R. R/W همه ثبت وضعیت
002 CR R/W همه ثبت نام کنترل
400 SDFIFO R/W 010 داده های پورت موازی FIFO
400 ECPDFIFO R/W 011 ECP داده FIFO
400 TFIFO R/W 110 FIFO را تست کنید
400 ECPCFGA آر 111 ثبت پیکربندی A
401 ECPCFGB R/W 111 ثبت پیکربندی B
402 ECR R/W همه ثبت کنترل گسترده

¹ رجیسترها فقط در این حالت ها در دسترس هستند (مقادیر بیت های 7 تا 5 ثبت ECR نشان داده شده است)

هر حالت ECP دارای رجیسترهای عملکردی (و در دسترس) خود است. تغییر حالت با نوشتن در رجیستر ECR انجام می شود. حالت‌های آماده به کار که به‌طور پیش‌فرض فعال شده‌اند 000 یا 001 هستند. در هر یک از آنها، حالت ورودی nibble کار می‌کند. از این حالت‌ها همیشه می‌توانید به هر حالت دیگری تغییر دهید، اما از حالت‌های بالاتر (010–111) تغییر تنها در 000 یا 001 امکان‌پذیر است. عملکرد صحیحرابط، قبل از خروج از حالت های بالاتر، باید منتظر بمانید تا تبادل دسترسی مستقیم کامل شود و بافر FIFO پاک شود.

در حالت 000 (SPP)، پورت به عنوان یک پورت SPP یک طرفه کنترل شده توسط نرم افزار عمل می کند.

در حالت 001 (Bi-Di PS/2)، پورت به عنوان یک پورت PS/2 دو طرفه از نوع 1 عمل می کند. این پورت با حالت 000 در توانایی معکوس کردن کانال داده با استفاده از بیت CR.5 متفاوت است.

حالت 010 (Fast Centronics) فقط برای خروجی FIFO با کارایی بالا با استفاده از DMA است. سیگنال های دست دادن با استفاده از پروتکل Centronics در سخت افزار تولید می شوند. سیگنال درخواست وقفه بر اساس وضعیت بافر FIFO تولید می شود، اما نه بر اساس سیگنال Ack# (درایور خروجی بلوک سریع علاقه ای به درخواست یک بایت ندارد).

حالت 011 خود حالت ECP است که در بالا توضیح داده شد جریان داده ها و دستورات ارسال شده به واحد کنترل به ترتیب از طریق رجیسترهای ECPDFIFO و ECPAFIFO در بافر FIFO قرار می گیرد. از FIFO آنها با علامت چرخه مربوطه (حالت خط HostAck) خروجی می شوند. جریان داده دریافتی از PU از بافر FIFO از طریق ثبات ECPDFIFO استخراج می شود. دریافت آدرس در چرخه فرمان از واحد کنترل ارائه نشده است. تبادل با رجیستر ECPDFIFO نیز می تواند از طریق کانال DMA انجام شود.

فشرده سازی با استفاده از روش RLE در حین انتقال در نرم افزار انجام می شود. برای ارسال بیش از دو بایت یکسان از داده ها در یک ردیف، یک بایت در رجیستر ECPAFIFO نوشته می شود که 7 بیت پایینی آن حاوی شمارنده RLC است (مقدار RLC = 127 مربوط به 128 تکرار است) و مهم ترین بیت آن است. صفر پس از این، خود بایت به ECPDFIFO نوشته می شود. با دریافت این جفت بایت (بایت فرمان و بایت داده)، PU عملیات رفع فشرده سازی را انجام می دهد. هنگام دریافت یک جریان از PU، آداپتور ECP فشرده سازی را در سخت افزار انجام می دهد و داده های قبلاً فشرده شده را در بافر FIFO قرار می دهد. از اینجا واضح است که خروجی داده با استفاده از فشرده سازی همزمان و DMA غیرممکن است.

حالت 100 (EPP) یکی از راه‌های فعال کردن حالت EPP است (اگر توسط آداپتور پشتیبانی شود و در CMOS Setup فعال باشد).

حالت 110 (حالت تست) برای آزمایش تعامل FIFO و وقفه ها طراحی شده است. داده ها را می توان به و از ثبات TFIFO با استفاده از DMA یا انتقال داد به صورت برنامه ای. مبادله بر رابط خارجی تأثیر نمی گذارد. آداپتور عملیات بیکار را با حداکثر سرعت رابط انجام می دهد (مثل اینکه سیگنال های دست دادن بدون تاخیر می رسند). آداپتور وضعیت بافر را نظارت می کند و در صورت لزوم سیگنال های درخواست وقفه تولید می کند. به این ترتیب برنامه می تواند حداکثر را تعیین کند توان عملیاتیکانال

حالت 111 (حالت پیکربندی) برای دسترسی به رجیسترهای پیکربندی در نظر گرفته شده است. انتخاب حالت از آداپتور و پروتکل در برابر تغییرات پیکربندی نادرست در طول فرآیند تبادل محافظت می کند.

همانطور که قبلا ذکر شد، هر حالت ECP دارای ثبات های عملکردی خاص خود است (جدول 1.8).

ثبت داده DR فقط برای انتقال داده ها در حالت های کنترل شده نرم افزاری (000 و 001) استفاده می شود.

ثبت وضعیت SR معنی سیگنال ها را در خطوط مربوطه (مانند SPP) منتقل می کند.

رجیستر کنترل CR دارای تخصیص بیت های مشابه با SPP است. در حالت های 010، 011، نوشتن روی بیت های 0، 1 (سیگنال های AutoLF# و Strobe#) نادیده گرفته می شود.

رجیستر ECPAFIFO برای قرار دادن اطلاعات چرخه فرمان (آدرس کانال یا شمارنده RLE، بسته به بیت 7) در بافر FIFO استفاده می شود. اطلاعات از بافر در حلقه فرمان خروجی خروجی خواهد شد.

رجیستر SDFIFO برای انتقال داده ها در حالت 010 استفاده می شود. داده های نوشته شده به رجیستر (یا ارسال شده از طریق یک کانال DMA) از طریق بافر FIFO با استفاده از پروتکل سخت افزاری Centronics منتقل می شود. در این حالت جهت انتقال رو به جلو باید تنظیم شود (بیت CR.5=0).

ثبات DFIFO برای تبادل داده در حالت 011 (ECP) استفاده می شود. داده های نوشته شده یا خوانده شده از یک ثبات (یا از طریق یک کانال DMA) از طریق بافر FIFO با استفاده از پروتکل ECP منتقل می شود.

رجیستر TFIFO مکانیزمی را برای آزمایش بافر FIFO در حالت 110 فراهم می کند.

ثبات ECPCFGA به شما امکان می دهد اطلاعات مربوط به آداپتور را بخوانید (کد شناسایی به بیت).

ثبت ECPCFGB به شما امکان می دهد هر گونه اطلاعات را ذخیره کنید مورد نیاز راننده. نوشتن در رجیستر بر عملکرد پورت تأثیر نمی گذارد.

رجیستر ECR، رجیستر کنترل اصلی ESR است. بیت های آن اهداف زیر را دارند:

♦ ECR - ESR MODE - حالت ESR را تنظیم کنید.

♦ ECR.4 - ERRINTREN# - (Error Interrupt Disable) وقفه‌های سیگنال Error# را غیرفعال می‌کند (زمانی که مقدار بیت صفر است، یک درخواست وقفه در لبه منفی این خط ایجاد می‌شود).

♦ ECR.3 - DMAEN - (DMA Enable) امکان تبادل از طریق کانال DMA را فراهم می کند.

♦ ECR.2 - SERVICEINTR - (Service Interrupt) وقفه‌های سرویس را که در پایان چرخه DMA (در صورت فعال بودن)، توسط آستانه پر/خالی بافر FIFO (اگر DMA استفاده نشده است) و خطای سرریز بافر را غیرفعال می‌کند. از بالا یا پایین؛

♦ ECR.1 - FIFOFS - (وضعیت کامل FIFO) هنگامی که بافر پر است سیگنال می دهد. وقتی FIFOFS=1 یک بایت رایگان در بافر وجود ندارد.

♦ ECR.0 - FIFOES - (وضعیت خالی FIFO) نشان می دهد که بافر کاملا خالی است. ترکیب FIFOFS=FIFOES=1 به معنی خطا در کار با FIFO (سرریز از بالا یا پایین) است.

هنگامی که پورت در حالت استاندارد یا دو طرفه (000 یا 001) است، سه رجیستر اول دقیقاً مشابه رجیسترهای پورت استاندارد هستند. این تضمین می کند که درایور با آداپتورهای قدیمی و درایورهای قدیمی با آداپتورهای جدید سازگار است.

از نظر رابط با برنامه، پورت ECP شبیه EPP است: پس از تنظیم حالت (نوشتن کد در رجیستر ECR)، تبادل داده با دستگاه به خواندن یا نوشتن در رجیسترهای مربوطه کاهش می یابد. وضعیت بافر FIFO یا توسط رجیستر ECR یا با سرویس وقفه های سرویس از پورت نظارت می شود. کل پروتکل دست دادن توسط آداپتور در سخت افزار تولید می شود. تبادل داده با پورت ECP (به جز نرم افزارهای صریح) از طریق دسترسی مستقیم به حافظه (کانال DMA) نیز امکان پذیر است که در هنگام انتقال بلوک های بزرگ داده موثر است.

1.3.6. حالت مذاکره IEEE 1284

کنترلرهای استاندارد IEEE 1284 معمولاً نیازی به اجرای تمام حالت های ارائه شده توسط این استاندارد از سوی کنترلر ندارند. برای تعیین حالت‌ها و روش‌های کنترل برای یک دستگاه خاص، استاندارد یک ترتیب مذاکره ارائه می‌کند. توالی به گونه ای طراحی شده است که دستگاه های قدیمی که از IEEE 1284 پشتیبانی نمی کنند به آن پاسخ ندهند و کنترلر در حالت استاندارد باقی بماند. دستگاه های جانبی IEEE 1284 می توانند قابلیت های خود را گزارش دهند و کنترلر حالتی را تنظیم می کند که هم میزبان و هم PU را برآورده کند.

در طول مرحله مذاکره، کنترل‌کننده یک بایت توسعه‌پذیری را روی خط داده قرار می‌دهد و درخواست تأیید برای تغییر رابط به حالت مورد نیاز یا دریافت شناسه PU (جدول 1.9) می‌کند. شناسه در حالت درخواستی (هر حالت کانال معکوس به جز EPP) به کنترل کننده منتقل می شود. UE از سیگنال Xflag (انتخاب در شرایط SPP) برای تأیید حالت پیوند معکوس درخواستی استفاده می‌کند، به جز nibble که توسط همه دستگاه‌های IEEE 1284 پشتیبانی می‌شود. بیت درخواست پیوند توسعه‌پذیری برای تعیین استفاده خواهد شد. حالت های اضافیدر توسعه های آتی استاندارد.

جدول 1.9. بیت ها در یک بایت توسعه پذیری

بیت شرح ترکیب بیت های معتبر
7 پیوند توسعه درخواست - رزرو شده است 1000 0000
6 حالت EPP را درخواست کنید 0100 0000
5 درخواست حالت ECP با RLE 0011 0000
4 درخواست حالت ECP بدون RLE 0001 0000
3 رزرو شده است 0000 1000
2 درخواست شناسه دستگاه با پاسخ در حالت:
نیش زدن 0000 0100
بایت 0000 0101
ECP بدون RLE 0001 0100
ECP با RLE 0011 0100
1 رزرو شده است 0000 0010
0 درخواست حالت Nibble 0000 0001
هیچ یک درخواست حالت بایت 0000 0000

دنباله هماهنگی (شکل 1.6) از مراحل زیر تشکیل شده است.

1. میزبان بایت توسعه پذیری را در خطوط داده خروجی می دهد.

2. میزبان SelectIn# را زیاد و AutoFeed# را پایین تنظیم می‌کند، که نشان‌دهنده شروع توالی دست دادن است.

3. کنترل پنل با تنظیم سیگنال Ack# کم و زیاد - Error#، PaperEnd و Select پاسخ می دهد. دستگاهی که استاندارد 1284 را "نفهمد" پاسخی نخواهد داد و مراحل بعدیبرآورده نخواهد شد.

4. میزبان سیگنال Strobe# را کم تنظیم می کند تا بایت توسعه پذیری را در PU بنویسد.

5. میزبان سیگنال های Strobe# و AutoLF# را بالا تنظیم می کند.

6. اگر پانل کنترل دارای کانال انتقال داده معکوس باشد، پانل کنترل با تنظیم سیگنال‌های PaperEnd و Error# پاسخ می‌دهد. اگر حالت درخواستی توسط دستگاه پشتیبانی شود، خط Select روی سطح بالا و اگر پشتیبانی نشود، روی سطح پایین تنظیم می شود.

7. PU خط Ack# را برای نشان دادن تکمیل دنباله مذاکره بالا تنظیم می کند، پس از آن کنترل کننده حالت عملیاتی مورد نیاز را تنظیم می کند.

برنج. 1.6. IEEE 1284 Mode Negotiation Sequence

1.3.7. رابط های فیزیکی و الکتریکی

استاندارد IEEE 1284 ویژگی های فیزیکی گیرنده ها و فرستنده های سیگنال را که با سطوح TTL سازگار هستند را تعریف می کند. مشخصات پورت استاندارد انواع مدارهای خروجی، محدودیت‌های مقاومت بار، یا خازن معرفی‌شده توسط مدارها و هادی‌ها را مشخص نکرده است. در نرخ های نسبتاً پایین مبادله، گسترش این پارامترها مشکل سازگاری ایجاد نکرد. با این حال، حالت های پیشرفته (عملکردی و نرخ انتقال) نیاز به مشخصات واضح دارند. IEEE 1284 دو سطح از سازگاری رابط را تعریف می کند. سطح اول (سطح I) برای دستگاه هایی تعریف شده است که کند هستند، اما از تغییر جهت انتقال داده استفاده می کنند. سطح دوم (سطح II) برای دستگاه هایی که در حالت های پیشرفته با سرعت بالا و کابل های طولانی کار می کنند تعریف شده است. الزامات زیر برای فرستنده ها اعمال می شود.

♦ سطوح سیگنال بی باری نباید از -0.5…+5.5 V فراتر رود.

♦ سطوح سیگنال در جریان بار 14 میلی آمپر نباید کمتر از 2.4 + ولت برای سطح بالا (VOH) و بالاتر از 0.4 + ولت برای سطح پایین (VOL) در DC باشد.

♦ امپدانس خروجی RO اندازه گیری شده در کانکتور باید 5±50 اهم در سطح VOH-VOL باشد. برای اطمینان از امپدانس داده شده، استفاده کنید مقاومت های سریدر مدارهای خروجی فرستنده تطبیق امپدانس بین فرستنده و کابل نویز گذرا را کاهش می دهد.

♦ سرعت افزایش (افت) پالس باید در محدوده 0.05-0.4 V/ns باشد.

الزامات مربوط به گیرنده ها در زیر ذکر شده است.

♦ مقادیر مجاز سیگنال پیک 2.0-…+7.0 ولت است.

♦ آستانه عملیات نباید بیشتر از 2.0 ولت (VIH) برای سطح بالا و کمتر از 0.8 ولت (VIL) برای سطح پایین نباشد.

♦ گیرنده باید هیسترزیس در محدوده 0.2-1.2 V داشته باشد (ریزمدارهای ویژه - محرک های اشمیت - دارای پسماند هستند).

جریان ورودیریز مدارها (ورودی و خروجی) نباید از 20 μA تجاوز کنند، خطوط ورودی با مقاومت 1.2 کیلو اهم به گذرگاه برق +5 ولت متصل می شوند.

♦ ظرفیت ورودی نباید از 50 pF تجاوز کند.

هنگامی که مشخصات ECP ظاهر شد، مایکروسافت استفاده از پایانه های پویا را در هر خط رابط توصیه کرد. با این حال، در حال حاضر از مشخصات IEEE 1284 پیروی می شود که از پایانه های پویا استفاده نمی کند. نمودارهای پیشنهادی مدارهای ورودی، خروجی و دو طرفه در شکل نشان داده شده است. 1.7.

برنج. 1.7. مدارهای انتهایی خطوط رابط IEEE 1284: a - خطوط یک طرفه، b - دو طرفه

استاندارد IEEE 1284 سه نوع کانکتور مورد استفاده را تعریف می کند. انواع A (DB-25) و B (Centronics-36) برای کابل های اتصال چاپگر سنتی معمول هستند، نوع C یک رابط 36 پین جدید با اندازه کوچک است.

کابل های رابط سنتی بسته به تعداد سیم های GND بین 18 تا 25 سیم دارند. این هادی ها ممکن است در هم تنیده باشند یا نباشند. هیچ الزامات سختگیرانه ای برای محافظ کابل وجود نداشت. بعید است که چنین کابل هایی با سرعت انتقال 2 مگابایت بر ثانیه و طول بیش از 2 متر به طور قابل اعتماد کار کنند.

استاندارد IEEE 1284 خواص کابل ها را تنظیم می کند.

♦ تمام خطوط سیگنال باید با سیم های برگشتی (مشترک) جداگانه در هم تنیده شوند.

♦ هر جفت باید امپدانس 6±62 اهم اینچ داشته باشد محدوده فرکانس 4-16 مگاهرتز

♦ تداخل بین جفت ها نباید از 10% تجاوز کند.

♦ کابل باید دارای صفحه نمایش (فویل) باشد که حداقل 85 درصد از سطح خارجی را بپوشاند. در انتهای کابل، صفحه باید حلقه شده و به کنتاکت کانکتور متصل شود.

کابل هایی که این الزامات را برآورده می کنند دارای علامت "IEEE Std 1284-1994 Compliant" هستند. آنها می توانند تا 10 متر طول داشته باشند؛ نامگذاری نوع در جدول آورده شده است. 1.10.

جدول 1.10. انواع کابل IEEE 1284

تایپ کنید رمزگشایی رابط 1 رابط 2
AMAM نوع A نر - نوع A نر یک چنگال) یک چنگال)
AMAF نوع A نر - نوع A Female یک چنگال) یک (سوکت)
AB نوع A نر - پریز Ture B - کابل استانداردبه چاپگر یک چنگال) که در
AC نوع A Male - Ture C Plug - کابل جدید به چاپگر یک چنگال) با
قبل از میلاد مسیح. دوشاخه نوع B - دوشاخه نوع C که در با
CC نوع C Plug - نوع C Plug با با

1.3.8. توسعه استاندارد IEEE 1284

در زیر برخی از موارد اضافه شده به استاندارد اصلی IEEE 1284 ذکر شده است.

♦ استاندارد IEEE P1284.1 برای اطلاعاتفناوری برای رابط چاپگر/اسکنر مستقل از حمل و نقل (TIP/SI)". این استاندارد برای مدیریت و نگهداری اسکنرها و چاپگرها بر اساس پروتکل NPAP (پروتکل اتحاد چاپ شبکه) در حال توسعه است.

♦ IEEE P1284.2 "Standard for Test, Measurement and Conformance to IEEE Std. 1284 استانداردی برای تست پورت ها، کابل ها و دستگاه ها برای انطباق با IEEE 1284 است.

♦ IEEE P1284.3 "Standard for Interface and Protocol Extensions to IEEE Std. 1284 Compliant Peripheral and Host Adapter Ports" - استانداردی برای درایورها و استفاده از دستگاه ها توسط نرم افزارهای کاربردی (نرم افزار). مشخصات BIOS برای استفاده از EPP توسط درایورهای DOS اتخاذ شده است. استانداردی برای استفاده مشترک از یک پورت توسط زنجیره ای از دستگاه ها یا گروهی از دستگاه های متصل از طریق مالتی پلکسر در حال توسعه است.

♦ IEEE P1284.4 "Standard for Data Delivery and Logical Channels for IEEE Std. 1284 Interfaces" با هدف پیاده سازی یک پروتکل بسته برای انتقال داده قابل اعتماد از طریق یک پورت موازی است. اساس پروتکل MLC (Multiple Logical Channels) از شرکت Hewlett-Packard است، اما سازگاری با آن در نسخه نهایی استاندارد تضمین نشده است.

1.4. پشتیبانی سیستم از پورت LPT

پشتیبانی سیستم برای پورت LPT شامل جستجوی پورت های نصب شده و خدمات چاپ است (Int 17h، بخش 8.3.3 را ببینید). در طول تست POST اولیه، BIOS وجود پورت های موازی را در آدرس های 3BCh، 378h و 278h بررسی می کند و آدرس های پایه پورت های شناسایی شده را در BIOS Data Area 0:0408h، 040Ah، 040Ch، 040Eh قرار می دهد. این سلول ها آدرس پورت های LPT1-LPT4 را ذخیره می کنند؛ مقدار آدرس صفر نشان دهنده عدم وجود پورت با این عدد است. سلول‌های 0:0478، 0479، 047A، 047B حاوی ثابت‌هایی هستند که زمان‌بندی این پورت‌ها را تعیین می‌کنند.

جستجوی پورت ها معمولاً کاملاً ابتدایی انجام می شود - یک بایت آزمایشی (AAh یا 55h) در آدرس پایه (در ثبت داده پورت مورد نظر) خروجی می شود، سپس یک ورودی در همان آدرس ساخته می شود. اگر بایت خوانده شده با بایت نوشته شده مطابقت داشته باشد، فرض می شود که یک پورت LPT پیدا شده است. آدرس آن در سلول BIOS Data Area قرار می گیرد. آدرس های پورت پایه را می توان بعداً به صورت برنامه ریزی شده تغییر داد. سیستم BIOS نمی‌تواند آدرس پورت LPT4 را به تنهایی تنظیم کند، زیرا لیست آدرس‌های جستجوی استاندارد فقط شامل سه آدرس بالا است.

پورت های شناسایی شده مقداردهی اولیه می شوند - با نوشتن در رجیستر کنترل، سیگنال Init# تولید و حذف می شود، پس از آن مقدار 0Ch نوشته می شود. حالت اصلیسیگنال های رابط در برخی موارد، سیگنال Init# از لحظه بازنشانی سخت‌افزاری فعال است تا زمانی که درگاه راه‌اندازی شود. این را می توان با رفتار چاپگر در هنگام روشن شدن هنگام راه اندازی مجدد رایانه متوجه شد - نشانگر On-Line چاپگر برای مدت طولانی خاموش می شود. پیامد این پدیده ناتوانی در چاپ صفحات (مثلاً پارامترهای تنظیم بایوس) با فشار دادن یک کلید است. صفحه چاپقبل از بارگیری سیستم عامل

1.5. پورت موازی و PnP

اکثر دستگاه های جانبی مدرن متصل به پورت LPT از استاندارد 1284 و عملکردهای PnP پشتیبانی می کنند. برای پشتیبانی از این عملکردها در رایانه، از نظر سخت افزاری، کافی است یک کنترلر رابط مطابق با استاندارد 1284 داشته باشید. اگر دستگاه متصل از PnP پشتیبانی می کند، می تواند با پورتی که نشان دهنده «مذاکره» باشد. منافع» رایانه در مورد حالت های تبادل احتمالی با استفاده از پروتکل مذاکره حالت 1284. بعد، برای اینکه PnP کار کند، دستگاه متصل باید همه چیز را به سیستم عامل بگوید اطلاعات لازمدرمورد من. حداقل، اینها شناسه های سازنده، مدل ها و مجموعه ای از دستورات پشتیبانی شده هستند. اطلاعات دقیق تر دستگاه ممکن است شامل شناسه کلاس، توضیحات مفصل و شناسه دستگاهی باشد که سازگاری با آن ارائه شده است. طبق اطلاعات پذیرفته شده برای پشتیبانی از این دستگاه سیستم عاملمی تواند برای نصب نرم افزار مورد نیاز اقدام کند.

دستگاه هایی که از PnP پشتیبانی می کنند در مرحله بوت توسط سیستم عامل تشخیص داده می شوند، البته اگر با کابل رابط به پورت متصل شده و برق آن ها روشن باشد. اگر ویندوز یک دستگاه PnP متصل را تشخیص دهد که با آنچه در رجیستری آن برای یک پورت معین (یا به سادگی یک دستگاه جدید) ثبت شده متفاوت است، سعی می کند درایورهای مورد نیاز دستگاه را از توزیع سیستم عامل یا از دستگاه جدید نصب کند. اگر ویندوز متوجه دستگاه PnP تازه متصل نشده باشد، ممکن است نشان دهنده مشکل در پورت یا کابل باشد. اگر دستگاه با یک کابل ارزان قیمت "غیر دوطرفه" که اتصالی در خط SelectIn# ندارد (پین 17 پورت LPT و پایه 36 کانکتور Centronics) سیستم PnP کار نمی کند.

1.6. استفاده از پورت LPT

به طور معمول، یک پورت LPT برای اتصال یک چاپگر استفاده می شود (به بخش 8.3.1 مراجعه کنید)، اما این پایان استفاده از آن نیست.

برای اتصال دو کامپیوتر از طریق یک رابط موازی، بسته به حالت های پورت های مورد استفاده از کابل های مختلف استفاده می شود. ساده ترین و کندترین حالت nibble است که روی همه پورت ها کار می کند. برای این حالت کافی است 10 سیگنال و یک سیم مشترک در کابل وجود داشته باشد. سیم کشی کانکتورهای کابل در جدول آورده شده است. 1.11. ارتباط بین دو رایانه شخصی با این کابل توسط نرم افزارهای استاندارد مانند Interlnk از MS-DOS یا فرمانده نورتون. توجه داشته باشید که در اینجا ما از پروتکل خودمان، متفاوت از پروتکل توضیح داده شده در بند 1.3.1 استفاده می کنیم.

جدول 1.11. کابل ارتباطی PC-PC (4 بیتی)

X1، کانکتور PC#1 X2، کانکتور PC#2
بیت مخاطب مخاطب بیت
DR.0 2 15 SR.3
DR.1 3 13 SR.4
DR.2 4 12 SR.5
DR.3 5 10 SR.6
DR.4 6 11 SR.7
SR.6 10 5 DR.3
SR.7 11 6 DR.4
SR.5 12 4 DR.2
SR.4 13 3 DR.1
SR.3 15 2 DR.0
GND 18-25 18-25 GND

اتصالات X1 و X2 - DB25-P (شاخه).

ارتباط پرسرعت بین دو کامپیوتر را می توان در حالت ECP نیز انجام داد (حالت EPP ناخوشایند است زیرا نیاز به همگام سازی چرخه های اتوبوس دارد. I/Oدو کامپیوتر).

روی میز 1.12 سیم کشی کابل را نشان می دهد؛ در جدول مشابه در کتاب های قبلی نویسنده (نگاه کنید به و) یک خطا وجود دارد (پین های 13 و 15 با هم مخلوط شده بودند). از بین تمام سیگنال های موجود در کابل، فقط PeriphRequest# (پین 15) استفاده نمی شود. توصیه می شود که مقاومت های سری (0.5-1 کیلو اهم) را در خطوط داده قرار دهید تا از جریان بیش از حد جریان در زمانی که پورت های داده هر دو کامپیوتر در حالت خروجی هستند جلوگیری شود. این وضعیت زمانی رخ می دهد که نرم افزار ارتباطی رایانه ها هنوز اجرا نمی شود. ارتباط در حالت ECP توسط ویندوز 9x پشتیبانی می شود؛ درایور PARALINK.VxD در بسته تحویل این سیستم عامل ها موجود است، اما به دلیل یک خطای داخلی غیر قابل اجرا است. یک "پچ" برای این درایور، و همچنین یک ابزار آزمایشی و توضیحات لازم را می توان در اینترنت (www.lpt.com، www.lvr.com/parport.htm) یافت.

جدول 1.12. کابل ارتباطی PC-PC در حالت ECP و حالت بایت

رابط X1 رابط X2
مخاطب نام در ESR نام در ESR مخاطب
1 HostClk PeriphClk 10
14 HostAck PeriphAck 11
17 1284 فعال Xflag 13
16 ReverseRequest# AskReverse# 12
10 PeriphClk HostClk 1
11 PeriphAck HostAck 14
12 AckReverse# ReverseRequest# 16
13 Xflag 1284 فعال 17
2, 3…9 داده ها داده ها 2, 3…9

اتصال یک اسکنر به یک پورت LPT تنها در صورتی مؤثر است که پورت حداقل حالت دو طرفه (Bi-Di) را ارائه دهد، زیرا جریان اصلی ورودی است. اگر این حالت توسط اسکنر (یا EPP که بعید است) پشتیبانی می شود، بهتر است از پورت ECP استفاده کنید.

اتصال درایوهای خارجی (Iomega Zip Drive، CD-ROM، و غیره)، آداپتورهای LAN و سایر دستگاه های ورودی/خروجی متقارن ویژگی های خاص خود را دارد. در حالت SPP، همراه با کاهش سرعت دستگاه، عدم تقارن اساسی این حالت قابل توجه است: خواندن داده ها دو برابر کندتر از نوشتن (بسیار کند) است. استفاده از حالت دو جهته (Bi-Di یا PS/2 Type 1) این عدم تقارن را از بین می برد - سرعت ها برابر خواهند بود. فقط با جابجایی به EPP یا ECP می توانید سرعت عملیات عادی را بدست آورید. در حالت EPP یا ECP، اتصال به پورت LPT تقریباً به همان سرعت اتصال از طریق یک کنترلر ISA است. این همچنین در هنگام اتصال دستگاه ها با رابط استاندارداز طریق مبدل های رابط (به عنوان مثال، LPT-IDE، LPT-SCSI، LPT-PCMCIA) به پورت های LPT منتقل می شود. توجه داشته باشید که یک هارد دیسک IDE متصل شده از طریق یک آداپتور به یک پورت LPT می تواند به عنوان یک دستگاه SCSI به سیستم ارائه شود (این از نظر نرم افزاری منطقی تر است).

روی میز 1.13 هدف پین های اتصال پورت LPT در حالت های مختلف و مطابقت آنها با بیت های رجیستر پورت استاندارد را شرح می دهد.

جدول 1.13. تخصیص پین های اتصال پورت LPT و بیت های ثبت در حالت های SPP، ECP و EPP

مخاطب I/O بیت¹ SPP ECP EPP
1 O/I CR.0\ بارق# HostClk نوشتن#
2 O/I DR.0 داده 0 داده 0 داده 0
3 O/I DR.1 داده 1 داده 1 داده 1
4 O/I DR.2 داده 2 داده 2 داده 2
5 O/I DR.3 داده 3 داده 3 داده 3
6 O/I DR.4 داده 4 داده 4 داده 4
7 O/I DR.5 داده 5 داده 5 داده 5
8 O/I DR.6 داده 6 داده 6 داده 6
9 O/I DR.7 داده 7 داده 7 داده 7
10 من SR.6 قبول# PeriphClk INTR#
11 من SR.7\ مشغول PeriphAck صبر کن#
12 من SR.5 PaperEnd AckReverse#
13 من SR.4 انتخاب کنید Xflag
14 O/I CR.1\ خودکار LF# HostAck DataStb#
15 من SR.3 خطا# PeriphRequest#
16 O/I CR.2 شروع# ReverseRequest# بازنشانی#
17 O/I CR.3\ انتخاب در# 1284 فعال AdrStb#

¹ نماد "\" سیگنال های معکوس را نشان می دهد (1 در رجیستر مربوط به سطح خط پایین است).

² تعریف شده توسط کاربر.

1.7. پیکربندی پورت های LPT

مدیریت پورت موازی به دو مرحله تقسیم می شود - پیکربندی اولیه (تنظیم) سخت افزار پورت و سوئیچینگ فعلی (آنلاین) حالت های عملکرد برنامه یا نرم افزار سیستم. تعویض آنلاین فقط در محدوده حالت های مجاز در طول پیکربندی امکان پذیر است. این قابلیت هماهنگی سخت افزار با نرم افزار و مسدود کردن سوئیچ های نادرست ناشی از اقدامات نادرست برنامه را تضمین می کند.

پیکربندی یک پورت LPT به نسخه آن بستگی دارد. پورت، که روی یک کارت توسعه (چند کارت) نصب شده در یک اسلات ISA یا ISA+VLB قرار دارد، توسط پرش های روی خود برد پیکربندی می شود. پورت روی مادربرد از طریق BIOS Setup پیکربندی می شود.

پارامترهایی که باید پیکربندی شوند در زیر فهرست شده اند.

♦ آدرس پایه - 3BCh، 378h یا 278h. در طول اولیه سازی، BIOS وجود پورت ها را بر اساس آدرس دقیقاً به این ترتیب بررسی می کند و بر این اساس، نام های منطقی LPT1، LPT2، LPT3 را به پورت های شناسایی شده اختصاص می دهد. آدرس 3BCh دارای یک آداپتور پورت است که روی برد MDA یا HGC قرار دارد. اکثر پورت ها به صورت پیش فرض برای آدرس 378h پیکربندی شده اند و می توان آنها را به 278h تغییر داد.

♦ خط درخواست وقفه استفاده می شود: برای LPT - IRQ7، برای LPT2 - IRQ5. به طور سنتی، از وقفه های چاپگر استفاده نمی شود، و این منبع کمیاب را می توان ذخیره کرد. با این حال، هنگام استفاده از حالت‌های پرسرعت ECP (یا Fast Centronics)، کار از طریق وقفه‌ها می‌تواند به طور قابل توجهی عملکرد را بهبود بخشد و بار پردازنده را کاهش دهد.

♦ استفاده از یک کانال DMA برای حالت های ECP و Fast Centronics - وضوح و شماره کانال DMA.

♦ حالت های عملکرد بندر:

SPP - پورت فقط در حالت استاندارد یک طرفه کنترل شده توسط نرم افزار کار می کند.

PS/2، همچنین به عنوان Bi-Directional شناخته می شود - با SPP در توانایی معکوس کردن کانال (تنظیم CR.5=1) متفاوت است.

Fast Centronics - تولید سخت افزار پروتکل Centronics با استفاده از بافر FIFO و احتمالاً DMA.

EPP - بسته به استفاده از رجیسترها، پورت در حالت SPP یا EPP عمل می کند.

ECP - به طور پیش فرض در حالت SPP یا PS/2 روشن می شود؛ با نوشتن در ECR می توان آن را به هر حالت ECP منتقل کرد، اما انتقال به EPP با نوشتن کد 100 به ECR تضمین نمی شود.

ECP+EPP - همان ECP است، اما کد حالت نوشتن 100 در ECR پورت را به EPP تبدیل می کند.

انتخاب حالت EPP، ECP یا Fast Centronics به خودی خود منجر به افزایش سرعت تبادل با PUهای متصل نمی شود، بلکه فقط به درایور و PU اجازه نصب می دهد. حالت بهینهدر محدوده "درک" آنها. اکثر درایورها و برنامه‌های کاربردی مدرن سعی می‌کنند از حالت‌های کارآمد استفاده کنند، بنابراین با نصب، بال‌های خود را جدا کنید حالت های سادهبدون دلیل خوب ارزشش را ندارد.

چاپگرها و اسکنرها ممکن است به حالت ECP نیاز داشته باشند. ویندوز (3.x، 9x و NT) دارد درایورهای سیستمبرای این حالت در محیط DOS، چاپ از طریق ECP فقط توسط یک درایور قابل دانلود ویژه پشتیبانی می شود.

آداپتورهای شبکه، درایوهای خارجی و CD-ROM های متصل به پورت موازی می توانند از حالت EPP استفاده کنند. برای این حالت راننده خاصهنوز اعمال نشده است؛ پشتیبانی EPP در درایور خود دستگاه متصل گنجانده شده است.

1.8. عیب یابی و تست پورت های موازی

عاقلانه است که آزمایش پورت های موازی را با بررسی حضور آنها در سیستم آغاز کنید. لیست آدرس های پورت های نصب شده در جدولی که توسط BIOS روی صفحه نمایش داده می شود، قبل از بارگیری سیستم عامل ظاهر می شود. لیست را می‌توان با استفاده از برنامه‌های آزمایشی یا مستقیماً در BIOS Data Area با استفاده از دیباگر مشاهده کرد.

اگر BIOS پورت های کمتری را نسبت به آنچه که به صورت فیزیکی نصب شده است شناسایی کند، احتمالاً به دو پورت یک آدرس اختصاص داده شده است. با این حال، عملکرد هیچ یک از پورت های متضاد تضمین نمی شود: آنها به طور همزمان سیگنال های خروجی را صادر می کنند، اما هنگام خواندن ثبت وضعیت، تضاد اتوبوس به احتمال زیاد منجر به خراب شدن داده ها می شود. تست نرم افزار پورت بدون پلاگین عیب یاب (Loop Back) خطا را نشان نمی دهد، زیرا داده های رجیسترهای خروجی خوانده می شوند، و آنها برای همه تضادها (درگاه های جداگانه سالم) منطبق خواهند شد. این دقیقاً همان آزمایشی است که BIOS هنگام بررسی وجود پورت ها انجام می دهد. شما باید با تنظیم متوالی پورت ها و مشاهده آدرس های ظاهر شده در لیست، با این وضعیت مقابله کنید.

اگر فقط یک پورت به صورت فیزیکی نصب شده باشد و BIOS آن را تشخیص ندهد، در این صورت یا پورت در طول پیکربندی غیرفعال شده است یا از کار افتاده است (به احتمال زیاد به دلیل نقض قوانین اتصال). اگر خوش شانس باشید، نقص با "تحریف" برد در شکاف برطرف می شود - گاهی اوقات مشکلاتی در تماس ها در آنجا ایجاد می شود.

چنین "معجزه هایی" نیز مشاهده شده است - در هنگام راه اندازی مجدد "گرم" DOS پس از ویندوز 95، درگاه قابل مشاهده نیست (و برنامه ها نمی توانند از MS-DOS چاپ کنند). با این حال، پس از راه اندازی مجدد DOS، پورت در جای خود قرار دارد. کنار آمدن با این پدیده آسان تر از مبارزه با آن است.

تست پورت ها با استفاده از برنامه های تشخیصیبه شما امکان می دهد تا رجیسترهای خروجی را بررسی کنید، و هنگام استفاده از خرده های ویژه - همچنین خطوط ورودی. از آنجایی که تعداد خطوط خروجی پورت (12) و خطوط ورودی (5) متفاوت است، بررسی کامل پورت با استفاده از دوشاخه غیرفعال اساساً غیرممکن است. برنامه های مختلف تست نیاز به استفاده از شاخه های مختلف دارند (شکل 1.8).

برنج. 1.8. نمودار یک پلاگین برای آزمایش یک پورت LPT: a - برای CheckIt، b - برای Norton Diagnostics

بیشتر مشکلات هنگام کار با پورت های LPT ناشی از اتصالات و کابل ها است. برای بررسی پورت، کابل و چاپگر، می توانید از تست های ویژه برنامه های تشخیصی رایج (CheckIt، PCCheck و غیره) استفاده کنید. می توانید سعی کنید به سادگی یک فایل نمادین را به چاپگر خروجی دهید.

♦ اگر خروجی فایل از نقطه نظر DOS عبور کند (کپی کردن فایل در دستگاهی به نام LPTn یا PRN به سرعت و با موفقیت کامل شد)، و چاپگر (در حال کار) یک کاراکتر را چاپ نکرد - به احتمال زیاد این یک مدار باز است. (نه یک تماس در کانکتور) مدار Strobe#.

♦ اگر چاپگر در حالت On Line است و پیامی نشان می دهد که آماده نیست، دلیل آن را باید در خط Busy جستجو کنید.

♦ اگر چاپگر متصل به پورت به طور معمول در حالت استاندارد (SPP) چاپ می‌کند، اما هنگام تغییر به حالت ECP شروع به از کار افتادن می‌کند، باید کابل را بررسی کنید تا ببینید آیا با الزامات IEEE 1284 مطابقت دارد (به بالا مراجعه کنید). کابل‌های ارزان قیمت با سیم‌های تاب‌نخورده معمولاً در سرعت‌های 50-100 کیلوبایت بر ثانیه کار می‌کنند، اما در سرعت‌های 1-2 مگابایت بر ثانیه ارائه شده توسط ECP، آنها کاملاً حق دارند کار نکنند، به خصوص با طول بیش از 2 متر.

♦ اگر هنگام نصب درایور چاپگر PnP، پیامی در مورد نیاز به استفاده از "کابل دوطرفه" ظاهر شد، اتصال بین پایه 17 کانکتور DB-25 و پایه 36 کانکتور Centronics را بررسی کنید. اگرچه این اتصال در ابتدا ارائه شده بود، اما در تعدادی از کابل ها وجود ندارد.

♦ اگر چاپگر هنگام چاپ اطلاعات را تحریف کند، خطوط داده ممکن است شکسته شوند (یا کوتاه شوند). در این مورد، استفاده از یک فایل حاوی یک دنباله کد برای همه کاراکترهای قابل چاپ راحت است. اگر فایلی با تکرار برخی از کاراکترها یا گروه های آنها چاپ می شود، با فراوانی تکرار می توانید به راحتی سیم داده رابط شکسته را محاسبه کنید. استفاده از همین فایل برای بررسی Russification سخت افزاری چاپگر راحت است.

وقفه های سخت افزاری از پورت LPT همیشه استفاده نمی شود. حتی برنامه چاپ پس‌زمینه DOS PRINT با نظرسنجی وضعیت و وضعیت آن با پورت کار می‌کند فرآیند خدماتبا وقفه تایمر فعال می شود. بنابراین، خطاهای مرتبط با مدار قطع پورت اغلب رخ نمی دهد. با این حال، سیستم عامل های واقعا چند وظیفه ای (به عنوان مثال، NetWare) سعی می کنند با استفاده از وقفه ها با پورت کار کنند. شما می توانید خط وقفه را فقط با اتصال PU یا دوشاخه به پورت آزمایش کنید. اگر یک آداپتور را به پورتی با کانال وقفه معیوب وصل کنید شبکه محلی، احتمالاً کار خواهد کرد ، اما با سرعت بسیار پایین: پاسخ به هر درخواستی با تأخیر ده ها ثانیه می رسد - بسته دریافتی از آداپتور با وقفه (بلافاصله پس از رسیدن) دریافت نمی شود، بلکه توسط یک تایم اوت خارجی

پورت Lpt که اغلب موازی نامیده می شود، یکی از قدیمی ترین پورت های کامپیوتر است. اگرچه این روزها همه چنین بندری ندارند. مادربردهابا این حال، هنوز مقداری توزیع دارد و بنابراین بسیاری از کاربران رایانه و تجهیزات اداری، به ویژه چاپگرها، علاقه زیادی به یادگیری در مورد آن دارند.

ابتدا باید بفهمید مخفف پورت lpt به چه معناست. بنابراین، LPT به معنای مخفف ترکیبی از چندین کلمه انگلیسی است، یعنی: Line Print Terminal. LPT که به روسی ترجمه شده است به معنای پایانه چاپگر خطی است. بر اساس نام، مشخص می شود که در درجه اول برای چاپگر در نظر گرفته شده است. اما از نظر تئوری می توان برخی دستگاه های دیگر را به LPT متصل کرد. برای این منظور از یک آداپتور مخصوص استفاده می شود - یک آداپتور lpt. باید اضافه کرد که نام دیگری دارد که در بین کاربران پذیرفته شده است - پورت چاپگر.

به طور کلی، پورت lpt سابقه توسعه نسبتا طولانی دارد. این توسط کارمندان شرکت Centronics ساخته شد که در اوایل دهه 70 قرن گذشته در تولید دستگاه های چاپ ماتریس تخصص داشت. در اوایل دهه 80، این پورت چاپگر به طور گسترده توسط IBM مورد استفاده قرار گرفت و از آن در رایانه های شخصی خود استفاده کرد. در آن دهه، پورت lpt حتی توانست به یک گزینه استاندارد لازم برای اتصال دستگاه های با سرعت بالا در آن سال ها تبدیل شود.

در ابتدا، رابط LPT در چندین نسخه مختلف ارائه شد. علاوه بر این، در نسخه اصلی یک جهته بود، یعنی. با کمک آن امکان انتقال اطلاعات به طور انحصاری به یک دستگاه جانبی وجود داشت. البته این نوع شرایط برای بسیاری از کاربران مناسب نبود، زیرا ... قبلاً در آن سال ها دستگاه های چاپی تولید می شد که نیاز به انتقال اطلاعات در دو جهت داشتند. به همین دلیل است که مدتی بعد، توسعه دهندگان مجبور شدند چندین بار رابط LPTl را بهبود بخشند. این فرآیند تا زمان ارائه استاندارد آن به نام IEEE 1284 ادامه داشت و به این ترتیب توسعه دهندگان طرح نهایی پورت را ارائه کردند. استاندارد جدید چندین مورد را پشتیبانی می کند حالت های مختلفکار کردن علاوه بر این، با استانداردهای قبلی سازگار بود. در نسخه نهایی، رابط چاپگر می‌توانست از سرعت انتقال اطلاعات نسبتاً بالایی برای آن زمان پشتیبانی کند که به 5 مگابیت بر ثانیه می‌رسید!

پورت موازی چگونه کار می کند؟

نام LPT موازی به این دلیل است که انتقال داده در کابل متصل به آن به صورت موازی انجام می شود که برای آن از چندین هادی به طور همزمان استفاده می شود. دقیقاً به همین دلیل است که تفاوت قابل توجهی با برخی از آنها دارد که سازگار است. تعداد هادی های کابلی که به LPT متصل می شود معمولاً هشت عدد است. علاوه بر این، می تواند شامل چندین خط در نظر گرفته شده برای انتقال سیگنال های کنترل باشد. بنابراین، استفاده از پورت com در مقایسه با LPT دارای تعدادی محدودیت و معایب قوی است.

با اينكه پورت Centronicsعمدتاً برای سازماندهی ارتباط بین چاپگر و رایانه شخصی استفاده می شد، اما برای مقاصد دیگر نیز استفاده می شد. به عنوان مثال، با با استفاده از LPTمی توانید مستقیماً دو رایانه شخصی را به یکدیگر متصل کنید - معمولاً برای این کار از کابل Interlink استفاده می شود. تا زمانی که کارت های شبکه اترنت فراگیر شدند، این نوع اتصال بسیار محبوب بود. البته نمی توانست نرخ انتقال اطلاعات واقعاً بالایی را در اختیار کاربران قرار دهد، اما با وجود این، این روش اتصال دو رایانه به یکدیگر در آن سال ها تقریباً تنها روش ممکن بود. باید اضافه کرد که حتی کلیدهای الکترونیکی خاصی نیز وجود دارد که به طور خاص برای اتصال به پورت موازی طراحی شده اند.

درباره ویژگی های عملیات LPT

همانطور که در بالا ذکر شد، بر خلاف com، LPT از انتقال داده موازی پشتیبانی می کند. در اولین مدل های کامپیوترهای شخصی، یکی از سریع ترین ها بود. رابط آن، به دلیل توانایی انتقال اطلاعات از طریق چندین خط، از بسیاری جهات از نظر معماری مشابه اتوبوس های مورد استفاده در رایانه های شخصی است. اما دقیقاً چنین شرایطی است که طول کابل را محدود می کند که نمی تواند از 5 متر تجاوز کند. در غیر این صورت، تداخل دائمی در اتصال بین رایانه شخصی و چاپگر وجود خواهد داشت.

برای سازماندهی انتقال داده های معمولی، به عنوان یک قاعده، 10 خط سیگنال مورد نیاز است. در مورد خطوط باقی مانده، آنها برای سازگاری با استاندارد کابل Centronics استفاده می شوند. حداکثر تنظیم ولتاژ مورد استفاده در خطوط سیگنال LTP معمولاً +5 ولت است.

کانکتور پورت و کابل Centronics

اگر در مورد اتصال پورت موازی صحبت کنیم، روی خود مادربرد قرار دارد، اگرچه تا اواسط دهه 90 قرن گذشته این عنصرمعمولا در به اصطلاح واقع شده است چند کارت، که در شکاف توسعه قرار داده شده است. خروجی LPT یک کانکتور 25 پین DB25 است.

برای ایجاد ارتباط بین رایانه شخصی و تجهیزات اداری چاپ با استفاده از پورت شخصیباید از کابل Centronics استفاده کنید. در این حالت، کانکتور موجود در تجهیزات اداری 36 پین است. بنابراین ویژگی اصلی این کابل وجود دو کانکتور مختلف در دو طرف آن است.
همچنین در نظر بگیرید که اغلب به کانکتور Centronics کانکتور کابلی گفته می شود که برای مادربرد رایانه شخصی در نظر گرفته شده است، اما در واقع یک اتصال دهنده چاپگر است - یعنی. یکی که شامل 36 پین است. در مورد کانکتوری که مستقیماً برای LPT در نظر گرفته شده است، Amphenolstacker نامیده می شود. دانستن این گونه تفاوت ها در نام ها ضروری است تا همه چیز را به نام خود بخوانیم.

خط پایین

در خاتمه، می توان گفت که پورت موازی Line Print Terminal یک رابط کامپیوتری است که در حال حاضر کاملاً منسوخ شده است. این بندر با وجود استفاده گسترده در دهه های پایانی قرن گذشته، امروزه پشتیبانی چندانی از سوی بسیاری از شرکت های تولید کننده تجهیزات کامپیوتری، تجهیزات اداری و نرم افزاری ندارد. با وجود این، LPT هنوز با موفقیت در بسیاری از مدل‌های رایانه‌های شخصی و دستگاه‌های چاپی استفاده می‌شود که امروزه قدیمی شده‌اند. اما اغلب، برای سازماندهی ارتباط بین یک کامپیوتر و یک چاپگر قدیمی، یک آداپتور com-lpt مورد نیاز است. امروزه، در اصل، آنها را می توان در فروش یافت، اما مشروط به در دسترس بودن دانش لازمو مهارت ها، می توانید چنین آداپتوری را کاملاً مستقل نصب کنید.

بهترین مقالات در این زمینه