git: 9b76f4a447 - main - update translation of articles/serial-uart to Russian
Vladlen Popolitov <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.cvs.doc |
|---|---|
| Message-ID | <[email protected]> |
The branch main has been updated by vladlen: URL: https://cgit.FreeBSD.org/doc/commit/?id=9b76f4a44709ba53ee5ad3d219e977ea40ae93d4 commit 9b76f4a44709ba53ee5ad3d219e977ea40ae93d4 Author: Vladlen Popolitov <[email protected]> AuthorDate: 2025-09-24 15:38:51 +0000 Commit: Vladlen Popolitov <[email protected]> CommitDate: 2025-09-24 15:38:51 +0000 update translation of articles/serial-uart to Russian Reviewed by: maxim (mentor) Approved by: maxim (mentor) Differential Revision: https://reviews.freebsd.org/D51970 --- .../content/ru/articles/serial-uart/_index.adoc | 1034 ++++++ .../content/ru/articles/serial-uart/_index.po | 3864 ++++++++++++++++++++ 2 files changed, 4898 insertions(+) diff --git a/documentation/content/ru/articles/serial-uart/_index.adoc b/documentation/content/ru/articles/serial-uart/_index.adoc new file mode 100644 index 0000000000..5b1233a256 --- /dev/null +++ b/documentation/content/ru/articles/serial-uart/_index.adoc @@ -0,0 +1,1034 @@ +--- +authors: + - + author: 'Frank Durda' + email: [email protected] +description: 'ÐодÑÐ¾Ð±Ð½Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾Ð± иÑполÑзовании поÑледоваÑелÑнÑÑ Ð¿Ð¾ÑÑов и UART в FreeBSD' +tags: ["Serial", "hardware", "UART", "Tutorial", "FreeBSD"] +title: 'УÑебное ÑÑководÑÑво по поÑледоваÑелÑÐ½Ð¾Ð¼Ñ Ð¸Ð½ÑеÑÑейÑÑ Ð¸ UART' +trademarks: ["freebsd", "microsoft", "general"] +--- + += УÑебное ÑÑководÑÑво по поÑледоваÑелÑÐ½Ð¾Ð¼Ñ Ð¸Ð½ÑеÑÑейÑÑ Ð¸ UART +:doctype: article +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:source-highlighter: rouge +:experimental: +:images-path: articles/serial-uart/ + +ifdef::env-beastie[] +ifdef::backend-html5[] +include::shared/authors.adoc[] +include::shared/mirrors.adoc[] +include::shared/releases.adoc[] +include::shared/attributes/attributes-{{% lang %}}.adoc[] +include::shared/{{% lang %}}/teams.adoc[] +include::shared/{{% lang %}}/mailing-lists.adoc[] +include::shared/{{% lang %}}/urls.adoc[] +:imagesdir: ../../../images/{images-path} +endif::[] +ifdef::backend-pdf,backend-epub3[] +include::../../../../shared/asciidoctor.adoc[] +endif::[] +endif::[] + +ifndef::env-beastie[] +include::../../../../../shared/asciidoctor.adoc[] +endif::[] + +[.abstract-title] +ÐнноÑаÑÐ¸Ñ + +ÐÑа ÑÑаÑÑÑ ÑаÑÑказÑÐ²Ð°ÐµÑ Ð¾Ð± иÑполÑзовании поÑледоваÑелÑного обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ FreeBSD. + +''' + +toc::[] + +[[uart]] +== UART: ЧÑо ÑÑо и как ÑабоÑÐ°ÐµÑ + +_Copyright (R) 1996 `{uhclem}`, All Rights Reserved. 13 ÑнваÑÑ 1996 год_ + +УнивеÑÑалÑнÑй аÑÐ¸Ð½Ñ ÑоннÑй пÑиÑмопеÑедаÑÑик (UART) â ÑÑо клÑÑевой ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ Ð¿Ð¾Ð´ÑиÑÑÐµÐ¼Ñ Ð¿Ð¾ÑледоваÑелÑной пеÑедаÑи даннÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа. UART пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð±Ð°Ð¹ÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¸ пеÑедаÑÑ Ð¾ÑделÑнÑе биÑÑ Ð¿Ð¾ÑледоваÑелÑно. Ðа ÑÑоÑоне пÑиÑмника вÑоÑой UART ÑобиÑÐ°ÐµÑ Ð±Ð¸ÑÑ Ð¾Ð±ÑаÑно в полнÑе байÑÑ. + +ÐоÑледоваÑелÑÐ½Ð°Ñ Ð¿ÐµÑедаÑа даннÑÑ Ð¾Ð±ÑÑно иÑполÑзÑеÑÑÑ Ñ Ð¼Ð¾Ð´ÐµÐ¼Ð°Ð¼Ð¸ и Ð´Ð»Ñ Ð½Ðµ ÑеÑевого взаимодейÑÑÐ²Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑами, ÑеÑминалами и дÑÑгими ÑÑÑÑойÑÑвами. + +СÑÑеÑÑвÑÐµÑ Ð´Ð²Ðµ оÑновнÑе ÑоÑÐ¼Ñ Ð¿Ð¾ÑледоваÑелÑной пеÑедаÑи даннÑÑ : ÑÐ¸Ð½Ñ ÑÐ¾Ð½Ð½Ð°Ñ Ð¸ аÑÐ¸Ð½Ñ ÑоннаÑ. РзавиÑимоÑÑи Ð¾Ñ Ñежимов, поддеÑживаемÑÑ Ð¾Ð±Ð¾ÑÑдованием, название подÑиÑÑÐµÐ¼Ñ ÑвÑзи обÑÑно вклÑÑÐ°ÐµÑ Ð±ÑÐºÐ²Ñ `A`, еÑли она поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð°ÑÐ¸Ð½Ñ ÑоннÑÑ Ð¿ÐµÑедаÑÑ, и бÑÐºÐ²Ñ `S`, еÑли поддеÑживаеÑÑÑ ÑÐ¸Ð½Ñ ÑÐ¾Ð½Ð½Ð°Ñ Ð¿ÐµÑедаÑа. Ðбе ÑоÑÐ¼Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ñ Ð½Ð¸Ð¶Ðµ. + +ÐекоÑоÑÑе ÑаÑпÑоÑÑÑанÑннÑе ÑокÑаÑениÑ: + +[.blockquote] +UART Universal Asynchronous Receiver/Transmitter â УнивеÑÑалÑнÑй аÑÐ¸Ð½Ñ ÑоннÑй пÑиÑмопеÑедаÑÑик + +[.blockquote] +USART Universal Synchronous-Asynchronous Receiver/Transmitter â УнивеÑÑалÑнÑй ÑÐ¸Ð½Ñ Ñонно-аÑÐ¸Ð½Ñ ÑоннÑй пÑиÑмопеÑедаÑÑик + +=== Ð¡Ð¸Ð½Ñ ÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑледоваÑелÑÐ½Ð°Ñ Ð¿ÐµÑедаÑа + +Ð¡Ð¸Ð½Ñ ÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑледоваÑелÑÐ½Ð°Ñ Ð¿ÐµÑедаÑа даннÑÑ ÑÑебÑеÑ, ÑÑÐ¾Ð±Ñ Ð¾ÑпÑавиÑÐµÐ»Ñ Ð¸ полÑÑаÑÐµÐ»Ñ Ð¸Ð¼ÐµÐ»Ð¸ обÑий ÑакÑовÑй Ñигнал, либо ÑÑÐ¾Ð±Ñ Ð¾ÑпÑавиÑÐµÐ»Ñ Ð¿ÑедоÑÑавлÑл ÑÑÑоб-Ñигнал или дÑÑгой Ñигнал ÑÐ¸Ð½Ñ ÑонизаÑии, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑаÑÐµÐ»Ñ Ð·Ð½Ð°Ð», когда "ÑÑиÑÑваÑÑ" ÑледÑÑÑий Ð±Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ . РболÑÑинÑÑве ÑоÑм ÑÐ¸Ð½Ñ Ñонной поÑледоваÑелÑной ÑвÑзи, еÑли в даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð½ÐµÑ Ð´Ð¾ÑÑÑпнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð»Ñ Ð¿ÐµÑедаÑи, вмеÑÑо Ð½Ð¸Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ Ð¾ÑпÑавлен заполнÑÑÑий Ñимвол, ÑÑÐ¾Ð±Ñ Ð¿ÐµÑеР´Ð°Ñа даннÑÑ Ð½Ðµ пÑеÑÑвалаÑÑ. Ð¡Ð¸Ð½Ñ ÑÐ¾Ð½Ð½Ð°Ñ ÑвÑÐ·Ñ Ð¾Ð±ÑÑно более ÑÑÑекÑивна, Ñак как Ð¼ÐµÐ¶Ð´Ñ Ð¾ÑпÑавиÑелем и полÑÑаÑеР»ÐµÐ¼ пеÑедаÑÑÑÑ ÑолÑко биÑÑ Ð´Ð°Ð½Ð½ÑÑ , однако она Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð±Ð¾Ð»ÐµÐµ заÑÑаÑной, еÑли ÑÑебÑÑÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе пÑовода и ÑÑ ÐµÐ¼Ñ Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° ÑакÑовÑм Ñигналом Ð¼ÐµÐ¶Ð´Ñ Ð¾ÑпÑавиÑелем и полÑÑаÑелем. + +ФоÑма ÑÐ¸Ð½Ñ Ñонной пеÑедаÑи иÑполÑзÑеÑÑÑ Ñ Ð¿ÑинÑеÑами и ÑÑÑÑойÑÑвами Ñ Ð¶ÑÑÑкими диÑками, где даннÑе пеÑедаÑÑÑÑ Ð¿Ð¾ Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð½Ð°Ð±Ð¾ÑÑ Ð¿Ñоводов, а ÑакÑовÑй Ñигнал или ÑÑÑоб â по дÑÑÐ³Ð¾Ð¼Ñ Ð¿ÑоводÑ. ÐÑинÑеÑÑ Ð¸ ÑÑÑÑойÑÑва Ñ Ð¶ÑÑÑкими диÑками обÑÑно не ÑвлÑÑÑÑÑ Ð¿Ð¾ÑледоваÑелÑнÑми ÑÑÑÑойÑÑвами, Ñак как болÑÑинÑÑво ÑÑандаÑÑов инÑеÑÑейÑов жÑÑÑÐºÐ¸Ñ Ð´Ð¸Ñков пеÑедаÑÑ Ñелое Ñлово даннÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑакÑового Ñигнала или ÑÑÑоба, иÑполÑзÑÑ Ð¾ÑделÑнÑй пÑов од Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ биÑа Ñлова. РиндÑÑÑÑии ÐÐ Ñакие ÑÑÑÑойÑÑва извеÑÑÐ½Ñ ÐºÐ°Ðº паÑаллелÑнÑе. + +СÑандаÑÑное обоÑÑдование Ð´Ð»Ñ Ð¿Ð¾ÑледоваÑелÑной ÑвÑзи в ÐРне поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÐ¸Ð½Ñ ÑоннÑе опеÑаÑии. ÐÑÐ¾Ñ Ñежим опиÑан здеÑÑ ÑолÑко Ð´Ð»Ñ ÑÑавнениÑ. + +=== ÐÑÐ¸Ð½Ñ ÑÐ¾Ð½Ð½Ð°Ñ Ð¿Ð¾ÑледоваÑелÑÐ½Ð°Ñ Ð¿ÐµÑедаÑа + +ÐÑÐ¸Ð½Ñ ÑÐ¾Ð½Ð½Ð°Ñ Ð¿ÐµÑедаÑа позволÑÐµÑ Ð¿ÐµÑедаваÑÑ Ð´Ð°Ð½Ð½Ñе без Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи оÑпÑавки ÑакÑового Ñигнала Ð¾Ñ Ð¾ÑпÑавиÑÐµÐ»Ñ Ðº полÑÑаÑелÑ. ÐмеÑÑо ÑÑого оÑпÑавиÑÐµÐ»Ñ Ð¸ полÑÑаÑÐµÐ»Ñ Ð·Ð°Ñанее ÑоглаÑовÑваÑÑ Ð¿Ð°ÑамеÑÑÑ ÑÐ¸Ð½Ñ ÑонизаÑии, а к ÐºÐ°Ð¶Ð´Ð¾Ð¼Ñ ÑÐ»Ð¾Ð²Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑÑÑ ÑпеÑиалÑнÑе биÑÑ, коÑоÑÑе иÑполÑзÑÑÑÑÑ Ð´Ð»Ñ ÑÐ¸Ð½Ñ ÑонизаÑии пеÑедаÑÑего и пÑинимаÑÑего ÑÑÑÑойÑÑв. + +ÐÑи пеÑедаÑе Ñлова ÑеÑез UART в аÑÐ¸Ð½Ñ Ñонном Ñежиме к наÑÐ°Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ пеÑедаваемого Ñлова добавлÑеÑÑÑ Ð±Ð¸Ñ, назÑваемÑй "ÑÑаÑÑовÑм биÑом". СÑаÑÑовÑй Ð±Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¾Ð¿Ð¾Ð²ÐµÑÐµÐ½Ð¸Ñ Ð¿ÑиÑмника о наÑале пеÑедаÑи Ñлова даннÑÑ , а Ñакже Ð´Ð»Ñ ÑÐ¸Ð½Ñ ÑонизаÑии ÑакÑового Ñигнала пÑиÑмника Ñ ÑакÑовÑм Ñигналом пеÑедаÑÑика. ÐÑи два ÑакÑовÑÑ Ñигнала Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð´Ð¾ÑÑаÑоÑно ÑоÑнÑми, ÑÑÐ¾Ð±Ñ Ð¸Ñ ÑаÑÑ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ðµ по ÑаÑÑоÑе не пÑевÑÑало 10% во вÑÐµÐ¼Ñ Ð¿ÐµÑедаÑи оÑÑÐ°Ð²Ñ Ð¸Ñ ÑÑ Ð±Ð¸Ñов Ñлова. (Ðанное ÑÑебование бÑло ÑÑÑановлено во вÑемена Ð¼ÐµÑ Ð°Ð½Ð¸ÑеÑÐºÐ¸Ñ ÑелеÑайпов и легко вÑполнÑеÑÑ Ñ ÑовÑеменнÑм ÑлекÑÑоннÑм обоÑÑдованием.) + +ÐоÑле ÑÑаÑÑового биÑа пеÑедаÑÑÑÑ Ð¾ÑделÑнÑе биÑÑ Ñлова даннÑÑ , наÑÐ¸Ð½Ð°Ñ Ñ Ð¼Ð»Ð°Ð´Ñего знаÑаÑего биÑа (LSB). ÐаждÑй Ð±Ð¸Ñ Ð¿ÐµÑедаеÑÑÑ Ð² ÑеÑение ÑоÑно Ñакого же вÑемени, как и вÑе оÑÑалÑнÑе биÑÑ, и пÑиемник "пÑовеÑÑеÑ" ÑоÑÑоÑние линии пÑимеÑно на ÑеÑедине инÑеÑвала, оÑведенного Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ биÑа, ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделиÑÑ, ÑвлÑеÑÑÑ Ð»Ð¸ Ð±Ð¸Ñ `1` или `0`. ÐапÑимеÑ, еÑли пеÑедаÑа каждого биÑа Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑ Ð´Ð²Ðµ ÑекÑндÑ, пÑиемник пÑовеÑÐ¸Ñ Ñигнал, ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделиÑÑ, ÑвлÑÐµÑ ÑÑ Ð»Ð¸ он `1` или `0`, ÑеÑез Ð¾Ð´Ð½Ñ ÑекÑндÑ, заÑем Ð¿Ð¾Ð´Ð¾Ð¶Ð´ÐµÑ Ð´Ð²Ðµ ÑекÑÐ½Ð´Ñ Ð¸ пÑовеÑÐ¸Ñ Ð·Ð½Ð°Ñение ÑледÑÑÑего биÑа, и Ñак дР°Ð»ÐµÐµ. + +ÐÑпÑавиÑÐµÐ»Ñ Ð½Ðµ знаеÑ, когда полÑÑаÑÐµÐ»Ñ Â«Ð¿Ð¾ÑмоÑÑел» знаÑение биÑа. ÐÑпÑавиÑÐµÐ»Ñ Ð·Ð½Ð°ÐµÑ ÑолÑко, когда по ÑакÑÐ¾Ð²Ð¾Ð¼Ñ ÑÐ¸Ð³Ð½Ð°Ð»Ñ Ð½Ñжно наÑаÑÑ Ð¿ÐµÑедаÑÑ ÑледÑÑÑего биÑа Ñлова. + +Ðогда вÑе Ñлово даннÑÑ Ð¾ÑпÑавлено, пеÑедаÑÑик Ð¼Ð¾Ð¶ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð±Ð¸Ñ ÑеÑноÑÑи, коÑоÑÑй он генеÑиÑÑеÑ. ÐÐ¸Ñ ÑеÑноÑÑи Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑполÑзован пÑиемником Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÑоÑÑой пÑовеÑки на оÑибки. ÐаÑем пеÑедаÑÑик оÑпÑавлÑÐµÑ ÐºÐ°Ðº минимÑм один ÑÑоповÑй биÑ. + +Ðогда пÑиемник полÑÑил вÑе биÑÑ Ð² Ñлове даннÑÑ , он Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑовеÑиÑÑ Ð±Ð¸ÑÑ ÑеÑноÑÑи (как оÑпÑавиÑелÑ, Ñак и пÑиемник Ð´Ð¾Ð»Ð¶Ð½Ñ Ð´Ð¾Ð³Ð¾Ð²Ð¾ÑиÑÑÑÑ Ð¾ Ñом, бÑÐ´ÐµÑ Ð»Ð¸ иÑполÑзоваÑÑÑÑ Ð±Ð¸Ñ ÑеÑноÑÑи), а заÑем пÑиемник иÑÐµÑ ÑÑоповÑй биÑ. ÐÑли ÑÑоповÑй Ð±Ð¸Ñ Ð½Ðµ поÑвлÑеÑÑÑ, когда должен, UART ÑÑиÑÐ°ÐµÑ Ð²Ñе Ñлово иÑкаженнÑм и ÑообÑÐ¸Ñ Ð¾Ð± оÑибке кадÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð³Ð»Ð°Ð²Ð½Ð¾Ð¼Ñ Ð¿ÑоÑеÑÑоÑÑ Ð¿Ñи ÑÑении Ñлова даннÑÑ . ÐбÑÑÐ½Ð°Ñ Ð¿ÑиÑина оÑибки кадÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ â неÑовпадение ÑкоÑоÑÑи ÑаРºÑовÑÑ Ñигналов оÑпÑавиÑÐµÐ»Ñ Ð¸ пÑиемника или пÑеÑÑвание Ñигнала. + +ÐезавиÑимо Ð¾Ñ Ñого, бÑли ли даннÑе полÑÑÐµÐ½Ñ Ð¿ÑавилÑно или неÑ, UART авÑомаÑиÑеÑки оÑбÑаÑÑÐ²Ð°ÐµÑ Ð±Ð¸Ñ ÑÑÑноÑÑи, ÑÑаÑÑовÑй и ÑÑоповÑй биÑÑ. ÐÑли оÑпÑавиÑÐµÐ»Ñ Ð¸ полÑÑаÑÐµÐ»Ñ Ð½Ð°ÑÑÑÐ¾ÐµÐ½Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾, ÑÑи биÑÑ Ð½Ðµ пеÑедаÑÑÑÑ Ñ Ð¾ÑÑÑ. + +ÐÑли гоÑово ÑледÑÑÑее Ñлово Ð´Ð»Ñ Ð¿ÐµÑедаÑи, ÑÑаÑÑовÑй Ð±Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ñлова Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑпÑавлен ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле Ñого, как бÑÐ´ÐµÑ Ð¾ÑпÑавлен ÑÑоповÑй Ð±Ð¸Ñ Ð¿ÑедÑдÑÑего Ñлова. + +ÐоÑколÑÐºÑ Ð°ÑÐ¸Ð½Ñ ÑоннÑе даннÑе ÑвлÑÑÑÑÑ "ÑамоÑÐ¸Ð½Ñ ÑонизиÑÑÑÑимиÑÑ", еÑли Ð½ÐµÑ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð»Ñ Ð¿ÐµÑедаÑи, Ð»Ð¸Ð½Ð¸Ñ Ð¿ÐµÑедаÑи Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÐ°ÐºÑивна. + +=== ÐÑÑгие ÑÑнкÑии UART + +Ðомимо оÑновной задаÑи пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸Ð· паÑаллелÑного ÑоÑмаÑа в поÑледоваÑелÑнÑй Ð´Ð»Ñ Ð¿ÐµÑедаÑи и из поÑледоваÑелÑного в паÑаллелÑнÑй пÑи пÑиеме, UART обÑÑно пÑедоÑÑавлÑÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе ÑÑ ÐµÐ¼Ñ Ð´Ð»Ñ Ñигналов, коÑоÑÑе могÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑоÑÑоÑÐ½Ð¸Ñ ÑÑÐµÐ´Ñ Ð¿ÐµÑедаÑи и ÑегÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñока даннÑÑ Ð² ÑлÑÑае, еÑли Ñдаленное ÑÑÑÑойÑÑво не гоÑово пÑинимаÑÑ Ð±Ð¾Ð»ÑÑе даннÑÑ . ÐапÑимеÑ, когда ÑÑÑÑойÑÑво, подклÑÑенное к UART, ÑÐ²Ð»Ñ ÐµÑÑÑ Ð¼Ð¾Ð´ÐµÐ¼Ð¾Ð¼, модем Ð¼Ð¾Ð¶ÐµÑ ÑообÑаÑÑ Ð¾ налиÑии неÑÑÑей на ÑелеÑонной линии, в Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº компÑÑÑÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð´Ð°ÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¼Ð¾Ð´ÐµÐ¼Ñ ÑбÑоÑиÑÑ ÑÐµÐ±Ñ Ð¸Ð»Ð¸ не пÑинимаÑÑ Ð²ÑзовÑ, Ð¿Ð¾Ð´Ð½Ð¸Ð¼Ð°Ñ Ð¸Ð»Ð¸ опÑÑÐºÐ°Ñ Ð¾Ð´Ð¸Ð½ или неÑколÑко из ÑÑÐ¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ Ñигналов. ФÑнкÑÐ¸Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из ÑÑÐ¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ Ñигналов опÑеделена в ÑÑандаÑÑе EIA RS232-C. + +=== СÑандаÑÑÑ RS232-C и V.24 + +РболÑÑинÑÑве компÑÑÑеÑнÑÑ ÑиÑÑем UART подклÑÑен к ÑÑ ÐµÐ¼Ðµ, коÑоÑÐ°Ñ Ð³ÐµÐ½ÐµÑиÑÑÐµÑ ÑигналÑ, ÑооÑвеÑÑÑвÑÑÑие ÑпеÑиÑикаÑии EIA RS232-C. Также ÑÑÑеÑÑвÑÐµÑ ÑÑандаÑÑ CCITT под названием V.24, коÑоÑÑй оÑÑÐ°Ð¶Ð°ÐµÑ ÑпеÑиÑикаÑии, вклÑÑеннÑе в RS232-C. + +==== ÐазнаÑÐµÐ½Ð¸Ñ Ð±Ð¸Ñов RS232-C (меÑки и пÑобелÑ) + +Ð ÑÑандаÑÑе RS232-C знаÑение `1` назÑваеÑÑÑ `ÐаÑкеÑ` (Mark), а знаÑение `0` â `ÐÑобел` (Space). Ðогда Ð»Ð¸Ð½Ð¸Ñ ÑвÑзи Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² ÑоÑÑоÑнии покоÑ, говоÑÑÑ, ÑÑо она "маÑкиÑÑеÑ" (Marking), Ñо еÑÑÑ Ð¿ÐµÑедаÑÑ Ð½ÐµÐ¿ÑеÑÑвнÑе знаÑÐµÐ½Ð¸Ñ `1`. + +СÑаÑÑовÑй Ð±Ð¸Ñ Ð²Ñегда Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение `0` (пÑобел). СÑоповÑй Ð±Ð¸Ñ Ð²Ñегда Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение `1` (меÑка). ÐÑо ознаÑаеÑ, ÑÑо на линии вÑегда бÑÐ´ÐµÑ Ð¿ÐµÑÐµÑ Ð¾Ð´ Ð¾Ñ Ð¼ÐµÑки (1) к пÑÐ¾Ð±ÐµÐ»Ñ (0) в наÑале каждого Ñлова, даже пÑи пеÑедаÑе неÑколÑÐºÐ¸Ñ Ñлов подÑÑд. ÐÑо гаÑанÑиÑÑеÑ, ÑÑо оÑпÑавиÑÐµÐ»Ñ Ð¸ полÑÑаÑÐµÐ»Ñ Ð¼Ð¾Ð³ÑÑ ÑÐ¸Ð½Ñ ÑонизиÑоваÑÑ Ñвои ÑакÑовÑе ÑÐ¸Ð³Ð½Ð°Ð»Ñ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо Ð¾Ñ ÑодеÑжимого пеÑедаваемÑÑ Ð±Ð¸Ñов даннÑÑ . + +ÐÑÐµÐ¼Ñ Ð¿ÑоÑÑÐ¾Ñ Ð¼ÐµÐ¶Ð´Ñ ÑÑоповÑм и ÑÑаÑÑовÑм биÑами не обÑзаÑелÑно должно бÑÑÑ ÑоÑнÑм кÑаÑнÑм (вклÑÑÐ°Ñ Ð½Ð¾Ð»Ñ) ÑкоÑоÑÑи пеÑедаÑи даннÑÑ ÐºÐ¾Ð¼Ð¼ÑникаÑионного канала, однако болÑÑинÑÑво UART ÑпÑоекÑиÑÐ¾Ð²Ð°Ð½Ñ Ñаким обÑазом Ð´Ð»Ñ Ð¿ÑоÑÑоÑÑ. + +Ð ÑÑандаÑÑе RS232-C Ñигнал «Marking» (логиÑеÑÐºÐ°Ñ `1`) пÑедÑÑавлен напÑÑжением Ð¾Ñ -2 Рдо -12 Ð, а Ñигнал «Spacing» (логиÑеÑкий `0`) â напÑÑжением Ð¾Ñ 0 Рдо +12 Ð. ÐеÑедаÑÑик должен вÑдаваÑÑ +12 Рили -12 Ð, а пÑиÑмник должен ÑÑиÑÑваÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñе поÑеÑи напÑÑÐ¶ÐµÐ½Ð¸Ñ Ð² длиннÑÑ ÐºÐ°Ð±ÐµÐ»ÑÑ . ÐекоÑоÑÑе маломоÑнÑе пеÑедаÑÑики (напÑимеÑ, в поÑÑаÑивнÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑÐ°Ñ ) иногда иÑполÑзÑÑÑ ÑолÑко +5 Ри -5 Ð, но ÑÑи знаÑÐµÐ½Ð¸Ñ Ð²ÑÑ ÐµÑÑ Ð´Ð¾Ð¿ÑÑÑÐ¸Ð¼Ñ Ð´Ð»Ñ Ð¿ÑиÑмника RS232-C пÑи ÑÑловии иÑполÑзоР²Ð°Ð½Ð¸Ñ коÑоÑÐºÐ¸Ñ ÐºÐ°Ð±ÐµÐ»ÐµÐ¹. + +==== Cигнал Break в RS232-C + +RS232-C Ñакже опÑеделÑÐµÑ Ñигнал под названием `Break`, коÑоÑÑй вÑзÑваеÑÑÑ Ð¿ÐµÑедаÑей непÑеÑÑвнÑÑ Ð·Ð½Ð°Ñений Spacing (без ÑÑаÑÑовÑÑ Ð¸Ð»Ð¸ ÑÑоповÑÑ Ð±Ð¸Ñов). Ðогда на линии даннÑÑ Ð¾ÑÑÑÑÑÑвÑÐµÑ Ð½Ð°Ð¿ÑÑжение, ÑÑиÑаеÑÑÑ, ÑÑо Ð»Ð¸Ð½Ð¸Ñ Ð¿ÐµÑÐµÐ´Ð°ÐµÑ `Break`. + +Сигнал `Break` должен имеÑÑ Ð´Ð»Ð¸ÑелÑноÑÑÑ Ð±Ð¾Ð»ÑÑе, Ñем вÑемÑ, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾Ðµ Ð´Ð»Ñ Ð¿ÐµÑедаÑи полного байÑа, вклÑÑÐ°Ñ ÑÑаÑÑовÑй, ÑÑоповÑй и биÑÑ ÑеÑноÑÑи. ÐолÑÑинÑÑво UART ÑпоÑÐ¾Ð±Ð½Ñ ÑазлиÑиÑÑ Ð¾ÑÐ¸Ð±ÐºÑ ÐºÐ°Ð´ÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ñигнал Break, но еÑли UART не поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÑÑ ÑÑнкÑиÑ, Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Break можно иÑполÑзоваÑÑ Ð¾Ð±Ð½Ð°ÑÑжение оÑибки кадÑиÑованиÑ. + +Ðо вÑемена ÑелеÑайпов, когда множеÑÑво пÑинÑеÑов по вÑей ÑÑÑане бÑли ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ñ Ð¿Ð¾ÑледоваÑелÑно (напÑимеÑ, в ÑлÑÐ¶Ð±Ð°Ñ Ð½Ð¾Ð²Ð¾ÑÑей), лÑбое ÑÑÑÑойÑÑво могло вÑзваÑÑ `Break`, вÑеменно ÑазмÑÐºÐ°Ñ Ð²ÑÑ ÑепÑ, ÑÑÐ¾Ð±Ñ Ñок не пÑоÑекал. ÐÑо иÑполÑзовалоÑÑ Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¼ÐµÑÑо Ñ ÑÑоÑнÑми новоÑÑÑми могло пÑеÑваÑÑ ÑÑÑÑойÑÑво в дÑÑгом меÑÑе, коÑоÑое в даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¿ÐµÑедавало инÑоÑмаÑиÑ. + +Ð ÑовÑеменнÑÑ ÑиÑÑÐµÐ¼Ð°Ñ ÑÑÑеÑÑвÑÐµÑ Ð´Ð²Ð° Ñипа Ñигналов Break. ÐÑли Break длиÑÑÑ Ð´Ð¾Ð»ÑÑе 1,6 ÑекÑнд, он ÑÑиÑаеÑÑÑ "ÐодемнÑм Break", и некоÑоÑÑе Ð¼Ð¾Ð´ÐµÐ¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾ запÑогÑаммиÑоваÑÑ Ð½Ð° завеÑÑение ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸ пеÑÐµÑ Ð¾Ð´ в Ñежим Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ð²Ñ Ð¾Ð´ в команднÑй Ñежим модема пÑи обнаÑÑжении ÑÑого Ñигнала. ÐÑли Break коÑоÑе 1,6 ÑекÑнд, ÑÑо ознаÑÐ°ÐµÑ "Break даннÑÑ ", и ÑдалÑннÑй компÑÑÑÐµÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑеÑиÑÑ, как ÑеагиÑоваÑÑ Ð½Ð° ÑÑÐ¾Ñ Ñигнал. Ðногда ÑÐ°ÐºÐ°Ñ ÑоÑма Break иÑполÑзÑеÑÑÑ ÐºÐ°Ðº Ñигнал "Ðнимание" или "ÐÑеÑÑвание", а иногда пÑинимаеÑÑÑ ÐºÐ°Ðº замена ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ ASCII CONTROL-C. + +ÐеÑки и пÑÐ¾Ð±ÐµÐ»Ñ Ñакже ÑквиваленÑÐ½Ñ "дÑÑкам" и "оÑÑÑÑÑÑÐ²Ð¸Ñ Ð´ÑÑок" в ÑиÑÑÐµÐ¼Ð°Ñ Ñ Ð±Ñмажной ленÑой. + +[NOTE] +==== +РазÑÑÐ²Ñ Ð½Ðµ могÑÑ Ð±ÑÑÑ ÑгенеÑиÑÐ¾Ð²Ð°Ð½Ñ Ñ Ð¿ÐµÑÑоленÑÑ Ð¸Ð»Ð¸ из лÑбого дÑÑгого байÑового знаÑениÑ, поÑколÑÐºÑ Ð±Ð°Ð¹ÑÑ Ð²Ñегда оÑпÑавлÑÑÑÑÑ Ñо ÑÑаÑÑовÑм и ÑÑоповÑм биÑами. UART обÑÑно ÑпоÑобен генеÑиÑоваÑÑ Ð½ÐµÐ¿ÑеÑÑвнÑй Ñигнал Spacing в оÑÐ²ÐµÑ Ð½Ð° ÑпеÑиалÑнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¾Ñ Ð³Ð»Ð°Ð²Ð½Ð¾Ð³Ð¾ ÑпÑавлÑÑÑего ÑÑÑÑойÑÑва (пÑоÑеÑÑоÑа пеÑедаÑи). +==== + +==== RS232-C ÑÑÑÑойÑÑва DTE и DCE + +СпеÑиÑикаÑÐ¸Ñ RS232-C опÑеделÑÐµÑ Ð´Ð²Ð° Ñипа обоÑÑдованиÑ: оконеÑное обоÑÑдование даннÑÑ (DTE â Data Terminal Equipment) и обоÑÑдование пеÑедаÑи даннÑÑ (DCE â Data Carrier Equipment). ÐбÑÑно ÑÑÑÑойÑÑво DTE â ÑÑо ÑеÑминал (или компÑÑÑеÑ), а DCE â модем. Ðа дÑÑгом конÑе ÑелеÑонной линии в ÑазговоÑе пÑинимаÑÑий модем Ñакже ÑвлÑеÑÑÑ ÑÑÑÑойÑÑвом DCE, а компÑÑÑеÑ, подклÑÑÑннÑй к ÑÑÐ¾Ð¼Ñ Ð¼Ð¾Ð´ÐµÐ¼Ñ, â ÑÑÑÑойÑÑвом DTE. УÑÑÑойÑÑво DCE пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑÐ¸Ð³Ð½Ð°Ð»Ñ Ð½Ð° ÑÐµÑ ÐºÐ¾Ð½ÑакÑÐ°Ñ , на коÑоÑÑÑ ÑÑÑÑо йÑÑво DTE пеÑедаÑÑ, и наобоÑоÑ. + +Ðогда два ÑÑÑÑойÑÑва, оба ÑвлÑÑÑиеÑÑ DTE или DCE, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ñ Ð²Ð¼ÐµÑÑе без модема или аналогиÑного пÑеобÑазоваÑÐµÐ»Ñ ÑÑÐµÐ´Ñ Ð¼ÐµÐ¶Ð´Ñ Ð½Ð¸Ð¼Ð¸, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ иÑполÑзоваÑÑ NULL модем. NULL модем ÑлекÑÑиÑеÑки пеÑеÑÑÑÐ°Ð¸Ð²Ð°ÐµÑ ÐºÐ°Ð±ÐµÐ»Ñ Ñак, ÑÑо вÑÑ Ð¾Ð´ пеÑедаÑÑика подклÑÑаеÑÑÑ ÐºÐ¾ Ð²Ñ Ð¾Ð´Ñ Ð¿Ñиемника на дÑÑгом ÑÑÑÑойÑÑве, и наобоÑоÑ. ÐналогиÑнÑе пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²ÑполнÑÑÑÑÑ Ð´Ð»Ñ Ð²ÑÐµÑ ÑпÑавлÑÑÑÐ¸Ñ Ñигналов, ÑÑÐ¾Ð±Ñ ÐºÐ°Ð¶Ð´Ð¾Ðµ ÑÑÑÑойÑÑво видело Ñо, ÑÑо оно ÑÑиÑÐ°ÐµÑ ÑигР½Ð°Ð»Ð°Ð¼Ð¸ DCE (или DTE) Ð¾Ñ Ð´ÑÑгого ÑÑÑÑойÑÑва. + +ÐолиÑеÑÑво Ñигналов, генеÑиÑÑемÑÑ ÑÑÑÑойÑÑвами DTE и DCE, не ÑиммеÑÑиÑно. УÑÑÑойÑÑво DTE генеÑиÑÑÐµÑ Ð¼ÐµÐ½ÑÑе Ñигналов Ð´Ð»Ñ ÑÑÑÑойÑÑва DCE, Ñем полÑÑÐ°ÐµÑ Ð¾Ñ Ð½ÐµÐ³Ð¾. + +==== ÐазнаÑение конÑакÑов RS232-C + +СпеÑиÑикаÑÐ¸Ñ EIA RS232-C (и ÐµÑ ÑÐºÐ²Ð¸Ð²Ð°Ð»ÐµÐ½Ñ ITU, V.24) пÑедÑÑмаÑÑÐ¸Ð²Ð°ÐµÑ Ð¸ÑполÑзование двадÑаÑипÑÑиконÑакÑного ÑазÑÑма (обÑÑно DB25) и опÑеделÑÐµÑ Ð½Ð°Ð·Ð½Ð°Ñение болÑÑинÑÑва конÑакÑов в ÑÑом ÑазÑÑме. + +Ð IBM Personal Computer и подобнÑÑ ÑиÑÑÐµÐ¼Ð°Ñ Ð¿Ð¾Ð´Ð¼Ð½Ð¾Ð¶ÐµÑÑво Ñигналов RS232-C пÑедоÑÑавлÑеÑÑÑ ÑеÑез девÑÑиконÑакÑнÑе ÑазÑÐµÐ¼Ñ (DB9). СигналÑ, коÑоÑÑе не вклÑÑÐµÐ½Ñ Ð² ÑазÑем ÐÐ, в оÑновном ÑвÑÐ·Ð°Ð½Ñ Ñ ÑÐ¸Ð½Ñ Ñонной ÑабоÑой, и ÑÑÐ¾Ñ Ñежим пеÑедаÑи не поддеÑживаеÑÑÑ UART, вÑбÑаннÑм IBM Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² IBM PC. + +РзавиÑимоÑÑи Ð¾Ñ Ð¿ÑоизводиÑÐµÐ»Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа, Ð´Ð»Ñ ÑвÑзи по RS232-C могÑÑ Ð¸ÑполÑзоваÑÑÑÑ ÑазÑÐµÐ¼Ñ DB25, DB9 или оба Ñипа. (Ð IBM PC Ñакже иÑполÑзÑеÑÑÑ ÑазÑем DB25 Ð´Ð»Ñ Ð¿Ð°ÑаллелÑного инÑеÑÑейÑа пÑинÑеÑа, ÑÑо иногда вÑзÑÐ²Ð°ÐµÑ Ð¿ÑÑаниÑÑ.) + +Ðиже пÑедÑÑавлена ÑаблиÑа назнаÑений Ñигналов RS232-C в ÑазÑÐµÐ¼Ð°Ñ DB25 и DB9. + +[.informaltable] +[cols="1,1,1,1,1,1,1", frame="none", options="header"] +|=== +| ÐонÑÐ°ÐºÑ Ð² DB25 RS232-C +| ÐонÑÐ°ÐºÑ Ð² DB9 IBM PC +| Символ Ñепи по EIA +| Символ Ñепи по CCITT +| ÐбÑее Ð¸Ð¼Ñ +| ÐÑÑоÑник Ñигнала +| ÐпиÑание + +|1 +|- +|AA +|101 +|PG/FG +|- +|ÐаÑиÑное заземление (Frame/Protective Ground) + +|2 +|3 +|BA +|103 +|TD +|DTE +|ÐеÑедаÑа ÐаннÑÑ (Transmit Data) + +|3 +|2 +|BB +|104 +|RD +|DCE +|ÐÑием даннÑÑ (Receive Data) + +|4 +|7 +|CA +|105 +|RTS +|DTE +|ÐапÑÐ¾Ñ Ð½Ð° пеÑедаÑÑ (Request to Send) + +|5 +|8 +|CB +|106 +|CTS +|DCE +|ÐоÑовноÑÑÑ Ðº пÑиÑÐ¼Ñ (Clear to Send) + +|6 +|6 +|CC +|107 +|DSR +|DCE +|ÐоÑовноÑÑÑ ÑеÑминалÑного обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ (Data Set Ready) + +|7 +|5 +|AV +|102 +|SG/GND +|- +|СигналÑÐ½Ð°Ñ Ð·ÐµÐ¼Ð»Ñ (Signal Ground) + +|8 +|1 +|CF +|109 +|DCD/CD +|DCE +|ÐбнаÑÑжение неÑÑÑей (Data Carrier Detect) + +|9 +|- +|- +|- +|- +|- +|ÐаÑезеÑвиÑовано Ð´Ð»Ñ Ð¢ÐµÑÑа + +|10 +|- +|- +|- +|- +|- +|ÐаÑезеÑвиÑовано Ð´Ð»Ñ Ð¢ÐµÑÑа + +|11 +|- +|- +|- +|- +|- +|ÐаÑезеÑвиÑовано Ð´Ð»Ñ Ð¢ÐµÑÑа + +|12 +|- +|CI +|122 +|SRLSD +|DCE +|ÐеÑекÑÐ¾Ñ Ñигнала вÑоÑиÑной линии пÑиÑма + +|13 +|- +|SCB +|121 +|SCTS +|DCE +|ÐÑоÑиÑнÑй Ñигнал гоÑовноÑÑи к пÑиÑÐ¼Ñ + +|14 +|- +|SBA +|118 +|STD +|DTE +|ÐÑоÑиÑÐ½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ Ð¿ÐµÑедаÑи даннÑÑ + +|15 +|- +|DB +|114 +|TSET +|DCE +|ТакÑиÑование ÑлеменÑов Ñигнала пеÑедаÑÑика (Trans. Sig. Element Timing) + +|16 +|- +|SBB +|119 +|SRD +|DCE +|ÐÑоÑиÑÐ½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ Ð¿Ñиема даннÑÑ + +|17 +|- +|DD +|115 +|RSET +|DCE +|ТакÑиÑование ÑлеменÑов Ñигнала пÑиÑмника (Receiver Signal Element Timing) + +|18 +|- +|- +|141 +|LOOP +|DTE +|ÐокалÑÐ½Ð°Ñ Ð¿ÐµÑÐ»Ñ + +|19 +|- +|SCA +|120 +|SRS +|DTE +|ÐÑоÑиÑнÑй запÑÐ¾Ñ Ð½Ð° пеÑедаÑÑ + +|20 +|4 +|CD +|108.2 +|DTR +|DTE +|ÐоÑовноÑÑÑ ÑеÑминалÑного обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ (Data Terminal Ready) + +|21 +|- +|- +|- +|RDL +|DTE +|Режим ÑдалÑнной ÑиÑÑовой пеÑли (Remote Digital Loopback) + +|22 +|9 +|CE +|125 +|RI +|DCE +|ÐндикаÑÐ¾Ñ Ð¿ÐµÑедаÑи даннÑÑ (Ring Indicator) + +|23 +|- +|CH +|111 +|DSRS +|DTE +|СелекÑÐ¾Ñ ÑкоÑоÑÑи пеÑедаÑи даннÑÑ + +|24 +|- +|DA +|113 +|TSET +|DTE +|ТакÑиÑование ÑлеменÑов Ñигнала пеÑедаÑÑика (Trans. Sig. Element Timing) + +|25 +|- +|- +|142 +|- +|DCE +|Режим ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ +|=== + +=== ÐиÑÑ, ÐÐ¾Ð´Ñ Ð¸ Ð¡Ð¸Ð¼Ð²Ð¾Ð»Ñ + +СкоÑоÑÑÑ Ð¿ÐµÑедаÑи даннÑÑ (Baud) â ÑÑо единиÑа измеÑÐµÐ½Ð¸Ñ ÑкоÑоÑÑи пеÑедаÑи в аÑÐ¸Ð½Ñ Ñонной ÑвÑзи. Ðз-за ÑазвиÑÐ¸Ñ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¹ модемной ÑвÑзи ÑÑÐ¾Ñ ÑеÑмин ÑаÑÑо оÑибоÑно иÑполÑзÑÑÑ Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÑкоÑоÑÑи пеÑедаÑи даннÑÑ Ð² ÑовÑеменнÑÑ ÑÑÑÑойÑÑÐ²Ð°Ñ . + +ТÑадиÑионно, ÑкоÑоÑÑÑ Ð¿ÐµÑедаÑи (Baud Rate) пÑедÑÑавлÑÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво биÑов, ÑакÑиÑеÑки пеÑедаваемÑÑ Ð¿Ð¾ ÑÑеде, а не обÑем даннÑÑ , коÑоÑÑе дейÑÑвиÑелÑно пеÑемеÑаÑÑÑÑ Ð¾Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑÑÑÑойÑÑва DTE к дÑÑгомÑ. ÐодÑÑÐµÑ Baud вклÑÑÐ°ÐµÑ ÑлÑжебнÑе биÑÑ â Start, Stop и Parity, коÑоÑÑе генеÑиÑÑÑÑÑÑ Ð¿ÐµÑедаÑÑим UART и ÑдалÑÑÑÑÑ Ð¿ÑинимаÑÑим UART. ÐÑо ознаÑаеÑ, ÑÑо 7-биÑнÑе Ñлова даннÑÑ Ð½Ð° Ñамом деле занимаÑÑ 10 Ð±Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¹ пеÑедаÑи. СледоваÑелÑно, модем, ÑпоÑобнÑй пеÑÐµÐ´Ð°Ð²Ð°Ñ Ñ 300 Ð±Ð¸Ñ Ð² ÑекÑндÑ, обÑÑно Ð¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑедаваÑÑ ÑолÑко 30 7-биÑнÑÑ Ñлов, еÑли иÑполÑзÑеÑÑÑ Parity и пÑиÑÑÑÑÑвÑÑÑ Ð¾Ð´Ð¸Ð½ Ð±Ð¸Ñ Start и один Ð±Ð¸Ñ Stop. + +ÐÑли иÑполÑзÑÑÑÑÑ 8-биÑнÑе Ñлова даннÑÑ Ð¸ биÑÑ ÑеÑноÑÑи, ÑкоÑоÑÑÑ Ð¿ÐµÑедаÑи даннÑÑ ÑнижаеÑÑÑ Ð´Ð¾ 27,27 Ñлов в ÑекÑндÑ, Ñак как ÑепеÑÑ Ð´Ð»Ñ Ð¿ÐµÑедаÑи воÑÑмибиÑнÑÑ Ñлов ÑÑебÑеÑÑÑ 11 биÑ, а модем по-пÑÐµÐ¶Ð½ÐµÐ¼Ñ Ð¿ÐµÑÐµÐ´Ð°ÐµÑ ÑолÑко 300 Ð±Ð¸Ñ Ð² ÑекÑндÑ. + +ФоÑмÑла пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð°Ð¹Ñов в ÑекÑÐ½Ð´Ñ Ð² бодовÑÑ ÑкоÑоÑÑÑ Ð¸ наобоÑÐ¾Ñ Ð±Ñла пÑоÑÑой до поÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ¼Ð¾Ð² Ñ ÐºÐ¾ÑÑекÑией оÑибок. ÐÑи Ð¼Ð¾Ð´ÐµÐ¼Ñ Ð¿ÑинимаÑÑ Ð¿Ð¾ÑледоваÑелÑнÑй поÑок биÑов Ð¾Ñ UART в компÑÑÑеÑе (даже внÑÑÑенние Ð¼Ð¾Ð´ÐµÐ¼Ñ ÑаÑÑо ÑабоÑаÑÑ Ñ Ð¿Ð¾ÑледоваÑелÑнÑми даннÑми) и пÑеобÑазÑÑÑ Ð±Ð¸ÑÑ Ð¾Ð±ÑаÑно в байÑÑ. ÐаÑем ÑÑи байÑÑ Ð¾Ð±ÑединÑÑÑÑÑ Ð² пакеÑÑ Ð¸ пеÑедаÑÑÑÑ Ð¿Ð¾ ÑелеÑонной линии Ñ Ð¸ÑполÑзованием ÑÐ¸Ð½Ñ Ñонного меÑода пеÑедаÑи. ÐÑо ознаÑаеÑ, ÑÑо ÑÑоповÑе, ÑÑаÑÑовÑе и биÑÑ ÑеÑноÑÑи, добавленнÑе UART в DTE (компÑÑÑеÑе), ÑдалÑÑÑÑÑ Ð¼Ð¾Ð´ÐµÐ¼Ð¾Ð¼ пеÑед пеÑедаÑей оÑÐ¿Ñ Ð°Ð²Ð»ÑÑÑим модемом. Ðогда ÑÑи байÑÑ Ð¿ÑинимаÑÑÑÑ ÑдалÑннÑм модемом, он добавлÑÐµÑ ÑÑаÑÑовÑе, ÑÑоповÑе и биÑÑ ÑеÑноÑÑи к Ñловам, пÑеобÑазÑÐµÑ Ð¸Ñ Ð² поÑледоваÑелÑнÑй ÑоÑÐ¼Ð°Ñ Ð¸ оÑпÑавлÑÐµÑ Ð½Ð° пÑинимаÑÑий UART в ÑдалÑнном компÑÑÑеÑе, коÑоÑÑй заÑем ÑдалÑÐµÑ ÑÑаÑÑовÑе, ÑÑоповÑе и биÑÑ ÑеÑноÑÑи. + +ÐÑиÑина, по коÑоÑой вÑполнÑÑÑÑÑ Ð²Ñе ÑÑи дополниÑелÑнÑе пÑеобÑазованиÑ, заклÑÑаеÑÑÑ Ð² Ñом, ÑÑÐ¾Ð±Ñ Ð´Ð²Ð° модема могли оÑÑÑеÑÑвлÑÑÑ ÐºÐ¾ÑÑекÑÐ¸Ñ Ð¾Ñибок. ÐÑо ознаÑаеÑ, ÑÑо пÑинимаÑÑий модем Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð¿ÑоÑиÑÑ Ñ Ð¿ÐµÑедаÑÑего модема повÑоÑнÑÑ Ð¾ÑпÑÐ°Ð²ÐºÑ Ð±Ð»Ð¾ÐºÐ° даннÑÑ , коÑоÑÑй бÑл полÑÑен Ñ Ð½ÐµÐºÐ¾ÑÑекÑной конÑÑолÑной ÑÑммой. ÐÑа пÑовеÑка обÑабаÑÑваеÑÑÑ Ð¼Ð¾Ð´ÐµÐ¼Ð°Ð¼Ð¸, и ÑÑÑÑойÑÑва DTE обÑÑно не оÑознаÑÑ, ÑÑо ÑÑÐ¾Ñ Ð¿ÑоÑеÑÑ Ð¿ÑоиÑÑ Ð¾Ð´Ð¸Ñ. + +УдалÑÑ ÑÑаÑÑовÑе, ÑÑоповÑе и биÑÑ ÑеÑноÑÑи, дополниÑелÑнÑе биÑÑ Ð´Ð°Ð½Ð½ÑÑ , коÑоÑÑе два модема Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¾Ð±Ð¼ÐµÐ½Ð¸Ð²Ð°ÑÑÑÑ Ð¼ÐµÐ¶Ð´Ñ Ñобой Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾ÑÑекÑии оÑибок, в оÑновном ÑкÑÑваÑÑÑÑ Ð¾Ñ ÑÑÑекÑивной ÑкоÑоÑÑи пеÑедаÑи, наблÑдаемой оÑпÑавлÑÑÑим и пÑинимаÑÑим обоÑÑдованием DTE. ÐапÑимеÑ, еÑли модем оÑпÑавлÑÐµÑ Ð´ÐµÑÑÑÑ 7-биÑнÑÑ Ñлов дÑÑÐ³Ð¾Ð¼Ñ Ð¼Ð¾Ð´ÐµÐ¼Ñ Ð±ÐµÐ· вклÑÑÐµÐ½Ð¸Ñ ÑÑаÑÑовÑÑ , ÑÑоповÑÑ Ð¸ биÑов ÑеÑноÑÑи, оÑпÑавлÑÑÑий модем ÑÐ¼Ð¾Ð¶ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ 30 Ð±Ð¸Ñ Ñво ей ÑобÑÑвенной инÑоÑмаÑии, коÑоÑÑÑ Ð¿ÑинимаÑÑий модем Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑ Ð´Ð»Ñ ÐºÐ¾ÑÑекÑии оÑибок, не влиÑÑ Ð½Ð° Ñ ÐºÐ¾ÑоÑÑÑ Ð¿ÐµÑедаÑи ÑеалÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ . + +ÐÑполÑзование ÑеÑмина "Ðод" дополниÑелÑно оÑложнÑеÑÑÑ Ð¼Ð¾Ð´ÐµÐ¼Ð°Ð¼Ð¸, вÑполнÑÑÑими ÑжаÑие. Ðдно 8-биÑное Ñлово, пеÑеданное по ÑелеÑонной линии, Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑедÑÑавлÑÑÑ Ñобой дÑÐ¶Ð¸Ð½Ñ Ñлов, пеÑеданнÑÑ Ð½Ð° оÑпÑавлÑÑÑий модем. ÐÑинимаÑÑий модем ÑазвеÑнÑÑ Ð´Ð°Ð½Ð½Ñе обÑаÑно в Ð¸Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ðµ ÑодеÑжимое и пеÑедаÑÑ ÑÑи даннÑе пÑинимаÑÑÐµÐ¼Ñ DTE. + +СовÑеменнÑе Ð¼Ð¾Ð´ÐµÐ¼Ñ Ñакже вклÑÑаÑÑ Ð±ÑÑеÑÑ, коÑоÑÑе позволÑÑÑ ÑкоÑоÑÑи пеÑедаÑи биÑов по ÑелеÑонной линии (DCE к DCE) оÑлиÑаÑÑÑÑ Ð¾Ñ ÑкоÑоÑÑи пеÑедаÑи биÑов Ð¼ÐµÐ¶Ð´Ñ DTE и DCE на Ð¾Ð±Ð¾Ð¸Ñ ÐºÐ¾Ð½ÑÐ°Ñ ÑоединениÑ. ÐбÑÑно ÑкоÑоÑÑÑ Ð¼ÐµÐ¶Ð´Ñ DTE и DCE вÑÑе, Ñем ÑкоÑоÑÑÑ Ð¼ÐµÐ¶Ð´Ñ DCE и DCE, из-за иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑжаÑÐ¸Ñ Ð¼Ð¾Ð´ÐµÐ¼Ð°Ð¼Ð¸. + +ÐоÑколÑÐºÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво биÑов, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ÑÑ Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð±Ð°Ð¹Ñа, менÑлоÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ Ð¿ÐµÑедаÑи Ð¼ÐµÐ¶Ð´Ñ Ð´Ð²ÑÐ¼Ñ Ð¼Ð°Ñинами, а Ñакже из-за ÑазлиÑаÑÑÐ¸Ñ ÑÑ ÑкоÑоÑÑей пеÑедаÑи в биÑÐ°Ñ Ð² ÑекÑÐ½Ð´Ñ Ð½Ð° линиÑÑ DTE-DCE и DCE-DCE, иÑполÑзование ÑеÑмина «Ðод» Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð¾Ð±Ñей ÑкоÑоÑÑи ÑвÑзи вÑзÑÐ²Ð°ÐµÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¸ Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑкажаÑÑ ÑеалÑнÑÑ ÑкоÑоÑÑÑ Ð¿ÐµÑедаÑи. Таким обÑазом, ÑеÑмин «ÐиÑÑ Ð² ÑекÑндÑ» (bps) ÑвлÑеÑÑÑ ÐºÐ¾ÑÑекÑнÑм Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÑкоÑоÑÑи пеÑедаÑи на инÑеÑÑейÑе DCE-DCE, а ÑеÑÐ¼Ð¸Ð½Ñ Â«Ðод» или «ÐиÑÑ Ð² ÑекÑндÑ» допÑÑÑимÑ, когда Ñоединение ÑÑÑанавливаеÑÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð´Ð²ÑÐ¼Ñ ÑиÑÑемами Ñ Ð¿Ñ Ð¾Ð²Ð¾Ð´Ð½Ñм подклÑÑением или иÑполÑзÑеÑÑÑ Ð¼Ð¾Ð´ÐµÐ¼, не вÑполнÑÑÑий коÑÑекÑÐ¸Ñ Ð¾Ñибок или ÑжаÑие. + +СовÑеменнÑе вÑÑокоÑкоÑоÑÑнÑе Ð¼Ð¾Ð´ÐµÐ¼Ñ (2400, 9600, 14,400 и 19,200 биÑ/Ñ) на Ñамом деле вÑÑ ÐµÑÑ ÑабоÑаÑÑ Ð½Ð° ÑкоÑоÑÑи 2400 бод или ниже, или, ÑоÑнее, 2400 Ñимволов в ÑекÑндÑ. ÐÑÑокоÑкоÑоÑÑнÑе Ð¼Ð¾Ð´ÐµÐ¼Ñ ÑпоÑÐ¾Ð±Ð½Ñ ÐºÐ¾Ð´Ð¸ÑоваÑÑ Ð±Ð¾Ð»ÑÑе Ð±Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² каждÑй Ñимвол Ñ Ð¸ÑполÑзованием ÑÐµÑ Ð½Ð¸ÐºÐ¸, назÑваемой "Ðаполнение ÑÐ¾Ð·Ð²ÐµÐ·Ð´Ð¸Ñ (Constellation Stuffing)", поÑÑÐ¾Ð¼Ñ ÑÑÑекÑÐ¸Ð²Ð½Ð°Ñ ÑкоÑоÑÑÑ Ð¿ÐµÑедаÑи даннÑÑ Ð² биÑÐ°Ñ Ð² ÑекÑÐ½Ð´Ñ Ñ Ð¼Ð¾Ð´ÐµÐ¼Ð° вÑÑе, но модем пÑÐ¾Ð´Ð¾Ð»Ð¶Ð°ÐµÑ ÑабоÑаÑÑ Ð² огÑаниÑенной полоÑÐ µ пÑопÑÑÐºÐ°Ð½Ð¸Ñ Ð·Ð²ÑковÑÑ ÑаÑÑоÑ, пÑедоÑÑавлÑемой ÑелеÑонной ÑиÑÑемой. ÐодемÑ, ÑабоÑаÑÑие на ÑкоÑоÑÑÑÑ 28,800 и Ð²Ñ Ñе, имеÑÑ Ð¿ÐµÑеменнÑÑ ÑкоÑоÑÑÑ Ð¿ÐµÑедаÑи Ñимволов, но ÑÐµÑ Ð½Ð¸ÐºÐ° оÑÑаÑÑÑÑ Ñой же. + +=== UART в IBM PC + +ÐаÑÐ¸Ð½Ð°Ñ Ñ Ð¾ÑигиналÑного IBM Personal Computer, IBM вÑбÑала UART INS8250 Ð¾Ñ National Semiconductor Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² адапÑеÑе Parallel/Serial IBM PC. ÐоÑледÑÑÑие Ð¿Ð¾ÐºÐ¾Ð»ÐµÐ½Ð¸Ñ ÑовмеÑÑимÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑов Ð¾Ñ IBM и дÑÑÐ³Ð¸Ñ Ð¿ÑоизводиÑелей пÑодолжали иÑполÑзоваÑÑ INS8250 или ÑлÑÑÑеннÑе веÑÑии UART из ÑемейÑÑва National Semiconductor. + +==== ÐенеалогиÑеÑкое деÑево National Semiconductor UART + +СÑÑеÑÑвÑÐµÑ Ð½ÐµÑколÑко веÑÑий и поÑледÑÑÑÐ¸Ñ Ð¿Ð¾ÐºÐ¾Ð»ÐµÐ½Ð¸Ð¹ UART INS8250. ÐÑновнÑе веÑÑии опиÑÐ°Ð½Ñ Ð½Ð¸Ð¶Ðµ. + +[.programlisting] +.... +INS8250 -> INS8250B + \ + \ + \-> INS8250A -> INS82C50A + \ + \ + \-> NS16450 -> NS16C450 + \ + \ + \-> NS16550 -> NS16550A -> PC16550D +.... + +INS8250:: +ÐÑа ÑаÑÑÑ Ð¸ÑполÑзовалаÑÑ Ð² оÑигиналÑном IBM PC и IBM PC/XT. ÐеÑвонаÑалÑное название ÑÑой ÑаÑÑи â INS8250 ACE (Asynchronous Communications Element), и она изгоÑовлена по NMOS-ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸. ++ +8250 иÑполÑзÑÐµÑ Ð²Ð¾ÑÐµÐ¼Ñ Ð¿Ð¾ÑÑов ввода-вÑвода и Ð¸Ð¼ÐµÐµÑ Ð¾Ð´Ð½Ð¾Ð±Ð°Ð¹ÑовÑй бÑÑÐµÑ Ð¿ÐµÑедаÑи и однобайÑовÑй бÑÑÐµÑ Ð¿Ñиема. ÐÑÐ¾Ñ Ð¾ÑигиналÑнÑй UART Ð¸Ð¼ÐµÐµÑ Ð½ÐµÑколÑко ÑоÑÑоÑний гонки и дÑÑгие недоÑÑаÑки. ÐÑигиналÑнÑй BIOS IBM вклÑÑÐ°ÐµÑ ÐºÐ¾Ð´ Ð´Ð»Ñ Ð¾Ð±Ñ Ð¾Ð´Ð° ÑÑÐ¸Ñ Ð½ÐµÐ´Ð¾ÑÑаÑков, но ÑÑо Ñделало BIOS завиÑимÑм Ð¾Ñ Ð¸Ñ Ð½Ð°Ð»Ð¸ÑиÑ, поÑÑÐ¾Ð¼Ñ Ð¿Ð¾ÑледÑÑÑие модели, Ñакие как 8250A, 16450 или 16550, не могли бÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ Ð² оÑигиналÑном IBM PC или IBM PC/XT. +INS8250-B:: +ÐÑо более Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ð°Ñ ÑкоÑоÑÑÑ INS8250, ÑÐ¾Ð·Ð´Ð°Ð½Ð½Ð°Ñ Ð¿Ð¾ NMOS-ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸. Ðна Ð¸Ð¼ÐµÐµÑ Ñе же пÑоблемÑ, ÑÑо и оÑигиналÑнÑй INS8250. + +INS8250A:: +УлÑÑÑÐµÐ½Ð½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ INS8250 Ñ Ð¸ÑполÑзованием ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ XMOS, в коÑоÑой иÑпÑÐ°Ð²Ð»ÐµÐ½Ñ ÑазлиÑнÑе ÑÑнкÑионалÑнÑе недоÑÑаÑки. INS8250A изнаÑалÑно иÑполÑзовалаÑÑ Ð² ÐºÐ»Ð¾Ð½Ð°Ñ ÐÐ Ð¾Ñ Ð¿ÑоизводиÑелей, пÑименÑвÑÐ¸Ñ "ÑиÑÑÑе" пÑоекÑÑ BIOS. Ðз-за иÑпÑавлений в микÑоÑÑ ÐµÐ¼Ðµ ÑÑÐ¾Ñ Ñип не мог иÑполÑзоваÑÑÑÑ Ñ BIOS, ÑовмеÑÑимой Ñ INS8250 или INS8250B. + +INS82C50A:: +ÐÑо CMOS-веÑÑÐ¸Ñ (Ñ Ð½Ð¸Ð·ÐºÐ¸Ð¼ ÑнеÑгопоÑÑеблением) INS8250A и Ð¸Ð¼ÐµÐµÑ ÑÑ Ð¾Ð¶Ð¸Ðµ ÑÑнкÑионалÑнÑе Ñ Ð°ÑакÑеÑиÑÑики. + +NS16450:: +Так же, как NS8250A, но Ñ ÑлÑÑÑениÑми Ð´Ð»Ñ ÑабоÑÑ Ñ Ð±Ð¾Ð»ÐµÐµ бÑÑÑÑÑми Ñинами CPU. IBM иÑполÑзовала ÑÑÐ¾Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ Ð² IBM AT и обновила IBM BIOS, ÑÑÐ¾Ð±Ñ Ð¾Ð½Ð° болÑÑе не завиÑела Ð¾Ñ Ð¾Ñибок в INS8250. + +NS16C450:: +ÐÑо веÑÑÐ¸Ñ NS16450 Ñ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸ÐµÐ¹ CMOS (низкое ÑнеÑгопоÑÑебление). + +NS16550:: +То же, ÑÑо и NS16450, Ñ 16-байÑовÑм бÑÑеÑом пеÑедаÑи и пÑиема, но конÑÑÑÑкÑÐ¸Ñ Ð±ÑÑеÑа бÑла неÑдаÑной и не могла бÑÑÑ Ð½Ð°Ð´ÐµÐ¶Ð½Ð¾ иÑполÑзована. + +NS16550A:: +То же, ÑÑо и NS16550, но Ñ Ð¸ÑпÑавленнÑми недоÑÑаÑками бÑÑеÑа. 16550A и его пÑеемники ÑÑали наиболее попÑлÑÑнÑми UART-ÑÑÑÑойÑÑвами в индÑÑÑÑии ÐÐ, в оÑновном благодаÑÑ Ð¸Ñ ÑпоÑобноÑÑи надежно ÑабоÑаÑÑ Ð½Ð° вÑÑÐ¾ÐºÐ¸Ñ ÑкоÑоÑÑÑÑ Ð¿ÐµÑедаÑи даннÑÑ Ð² опеÑаÑионнÑÑ ÑиÑÑÐµÐ¼Ð°Ñ Ñ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ñм вÑеменем оÑклика пÑеÑÑваний. + +NS16C552:: +ÐÑÐ¾Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· двÑÑ CMOS UART NS16C550A в одном коÑпÑÑе. + +PC16550D:: +Так же, как NS16550A, Ñ Ð¸ÑпÑавленнÑми незнаÑиÑелÑнÑми недоÑÑаÑками. ÐÑо ÑÐµÐ²Ð¸Ð·Ð¸Ñ D ÑемейÑÑва 16550 и поÑледнÑÑ Ð´Ð¾ÑÑÑÐ¿Ð½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ Ð¾Ñ National Semiconductor. + +==== NS16550AF и PC16550D â ÑÑо одно и Ñо же + +ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ National ÑеоÑганизовала ÑÐ²Ð¾Ñ ÑиÑÑÐµÐ¼Ñ Ð½ÑмеÑаÑии деÑалей неÑколÑко Ð»ÐµÑ Ð½Ð°Ð·Ð°Ð´, и Ñип NS16550AFN болÑÑе не ÑÑÑеÑÑвÑÐµÑ Ð¿Ð¾Ð´ ÑÑим названием. (ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ NS16550AFN, поÑмоÑÑиÑе на даÑÑ Ð¸Ð·Ð³Ð¾ÑÐ¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° коÑпÑÑе â ÑÑо ÑеÑÑÑÐµÑ Ð·Ð½Ð°Ñное ÑиÑло, обÑÑно наÑинаÑÑееÑÑ Ñ Ð´ÐµÐ²ÑÑки. ÐеÑвÑе две ÑиÑÑÑ Ð¾Ð±Ð¾Ð·Ð½Ð°ÑаÑÑ Ð³Ð¾Ð´, а поÑледние две â Ð½ÐµÐ´ÐµÐ»Ñ Ð³Ð¾Ð´Ð°, когда Ñип бÑл Ñпакован. ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ NS16550AFN, ÑкоÑее вÑего, он Ñже доволÑно ÑÑаÑÑй.) + +ÐовÑе номеÑа вÑглÑдÑÑ ÐºÐ°Ðº PC16550DV, Ñ Ð½ÐµÐ·Ð½Ð°ÑиÑелÑнÑми оÑлиÑиÑми в ÑÑÑÑикÑнÑÑ Ð±ÑÐºÐ²Ð°Ñ Ð² завиÑимоÑÑи Ð¾Ñ Ð¼Ð°ÑеÑиала коÑпÑÑа и его ÑоÑмÑ. (ÐпиÑание ÑиÑÑÐµÐ¼Ñ Ð½ÑмеÑаÑии можно найÑи ниже.) + +Ðажно понимаÑÑ, ÑÑо в некоÑоÑÑÑ Ð¼Ð°Ð³Ð°Ð·Ð¸Ð½Ð°Ñ Ð¼Ð¾Ð¶Ð½Ð¾ заплаÑиÑÑ $15 (СШÐ) за микÑоÑÑ ÐµÐ¼Ñ NS16550AFN, вÑпÑÑеннÑÑ Ð² 1990 годÑ, а в ÑоÑеднем ÑÑике могÑÑ Ð»ÐµÐ¶Ð°ÑÑ Ð½Ð¾Ð²Ñе PC16550DN Ñ Ð½ÐµÐ±Ð¾Ð»ÑÑими иÑпÑавлениÑми, коÑоÑÑе National внеÑла Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа вÑпÑÑка AFN. PC16550DN, веÑоÑÑно, пÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ñ Ð² поÑледние полгода и ÑÑоÑÑ Ð²Ð´Ð²Ð¾Ðµ деÑевле (Ð¾Ñ $5 (СШÐ) пÑи опÑовой покÑпке), Ñем NS16550AFN, поÑколÑÐºÑ Ð¾Ð½Ð¸ легко доÑÑÑпнÑ. + +ÐоÑколÑÐºÑ Ð¿Ð¾ÑÑавки Ñипов NS16550AFN пÑодолжаÑÑ ÑокÑаÑаÑÑÑÑ, Ñена, веÑоÑÑно, бÑÐ´ÐµÑ ÑаÑÑи до ÑÐµÑ Ð¿Ð¾Ñ, пока болÑÑе лÑдей не ÑзнаÑÑ Ð¸ не пÑимÑÑ ÑÐ¾Ñ ÑакÑ, ÑÑо PC16550DN дейÑÑвиÑелÑно вÑполнÑÐµÑ ÑÑ Ð¶Ðµ ÑÑнкÑиÑ, ÑÑо и ÑÑаÑÑй Ð½Ð¾Ð¼ÐµÑ Ð´ÐµÑали. + +==== СиÑÑема нÑмеÑаÑии компоненÑов National Semiconductor + +СÑаÑÑе номеÑа деÑалей NS``__nnnnnrqp__`` ÑепеÑÑ Ð¸Ð¼ÐµÑÑ ÑоÑÐ¼Ð°Ñ PC``__nnnnnrgp__``. + +`_r_` â ÑÑо поле Ñевизии. ТекÑÑÐ°Ñ ÑÐµÐ²Ð¸Ð·Ð¸Ñ 16550 Ð¾Ñ National Semiconductor â `D`. + +`_p_` â ÑÑо поле Ñипа пакеÑа. ТипÑ: + +[.informaltable] +[cols="1,1,1", frame="none"] +|=== + +|"F" +|QFP +|(quad flat pack - квадÑаÑнÑй плоÑкий коÑпÑÑ) Ñ L-обÑазнÑми вÑводами + +|"N" +|DIP +|(dual inline package â коÑпÑÑ Ñ Ð´Ð²ÑÑÑоÑонним ÑаÑположением вÑводов) Ð´Ð»Ñ Ñквозного монÑажа Ñ Ð¿ÑÑмÑми вÑводами + +|"V" +|LPCC +|(lead plastic chip carrier â плаÑÑиковÑй коÑпÑÑ) Ñ J-обÑазнÑми вÑводами +|=== + +Ðоле _g_ обознаÑÐ°ÐµÑ ÐºÐ»Ð°ÑÑ Ð¸Ð·Ð´ÐµÐ»Ð¸Ñ. ÐÑли пеÑед бÑквой Ñипа пакеÑа ÑÑÐ¾Ð¸Ñ `I`, ÑÑо ÑказÑÐ²Ð°ÐµÑ Ð½Ð° «пÑомÑÑленнÑй» клаÑÑ Ð´ÐµÑали, коÑоÑÑй Ð¸Ð¼ÐµÐµÑ Ð±Ð¾Ð»ÐµÐµ вÑÑокие Ñ Ð°ÑакÑеÑиÑÑики, Ñем ÑÑандаÑÑÐ½Ð°Ñ Ð´ÐµÑалÑ, но не Ñакие вÑÑокие, как ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ Ð²Ð¾ÐµÐ½Ð½Ð¾Ð³Ð¾ назнаÑÐµÐ½Ð¸Ñ (Milspec). ÐÑо необÑзаÑелÑное поле. + +То, ÑÑо Ð¼Ñ ÑанÑÑе назÑвали NS16550AFN (DIP-коÑпÑÑ), ÑепеÑÑ Ð½Ð°Ð·ÑваеÑÑÑ PC16550DN или PC16550DIN. + +=== ÐÑÑгие пÑоизводиÑели и аналогиÑнÑе UART + +Ðа пÑоÑÑжении Ð¼Ð½Ð¾Ð³Ð¸Ñ Ð»ÐµÑ ÑÐ¸Ð¿Ñ 8250, 8250A, 16450 и 16550 лиÑензиÑовалиÑÑ Ð¸Ð»Ð¸ копиÑовалиÑÑ Ð´ÑÑгими пÑоизводиÑелÑми. Ð ÑлÑÑае Ñ 8250, 8250A и 16450 ÑоÑÐ½Ð°Ñ ÑÑ ÐµÐ¼Ð° ("мегаÑÑейка") бÑла лиÑензиÑована многими пÑоизводиÑелÑми, вклÑÑÐ°Ñ Western Digital и Intel. ÐÑÑгие пÑоизводиÑели пÑоводили обÑаÑнÑÑ ÑазÑабоÑÐºÑ Ñипа или Ñоздавали ÑмÑлÑÑии Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸ÑнÑм поведением. + +Ðо внÑÑÑÐµÐ½Ð½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ¼Ð°Ñ ÑазÑабоÑÑик модема ÑаÑÑо ÑмÑлиÑÑÐµÑ 8250A/16450 Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼Ð¸ÐºÑопÑоÑеÑÑоÑа модема, и ÑмÑлиÑованнÑй UART ÑаÑÑо Ð¸Ð¼ÐµÐµÑ ÑкÑÑÑÑй бÑÑÐµÑ ÑазмеÑом в неÑколÑко ÑоÑен байÑ. ÐлагодаÑÑ ÑазмеÑÑ Ð±ÑÑеÑа, ÑÑи ÑмÑлÑÑии могÑÑ Ð±ÑÑÑ Ñакими же надежнÑми, как 16550A, в ÑпоÑобноÑÑи обÑабаÑÑваÑÑ Ð²ÑÑокоÑкоÑоÑÑнÑе даннÑе. Ðднако болÑÑинÑÑво опеÑаÑионнÑÑ ÑиÑÑем по-пÑÐµÐ¶Ð½ÐµÐ¼Ñ ÑообÑаÑÑ, ÑÑо UART ÑвлÑеÑÑÑ ÑолÑко 8250A или 16450, и могÑÑ Ð½Ðµ ÑÑÑекÑивно иÑполÑзР¾Ð²Ð°ÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ Ð±ÑÑеÑизаÑиÑ, пÑиÑÑÑÑÑвÑÑÑÑÑ Ð² ÑмÑлиÑованном UART, еÑли не иÑполÑзÑÑÑÑÑ ÑпеÑиалÑнÑе дÑай веÑÑ. + +ÐекоÑоÑÑе пÑоизводиÑели модемов под давлением ÑÑноÑнÑÑ Ñил оÑказÑваÑÑÑÑ Ð¾Ñ ÐºÐ¾Ð½ÑÑÑÑкÑии Ñ Ð±ÑÑеÑом в ÑоÑни Ð±Ð°Ð¹Ñ Ð¸ вмеÑÑо ÑÑого иÑполÑзÑÑÑ UART 16550A, ÑÑÐ¾Ð±Ñ Ð¸Ñ Ð¿ÑодÑкÑÐ¸Ñ Ð²ÑглÑдела вÑигÑÑÑно в ÑÑноÑнÑÑ ÑÑавнениÑÑ , даже еÑли ÑÑо Ð¼Ð¾Ð¶ÐµÑ ÑнизиÑÑ ÑакÑиÑеÑкÑÑ Ð¿ÑоизводиÑелÑноÑÑÑ. + +РаÑпÑоÑÑÑанÑнное заблÑждение заклÑÑаеÑÑÑ Ð² Ñом, ÑÑо вÑе микÑоÑÑ ÐµÐ¼Ñ Ñ Ð¼Ð°ÑкиÑовкой "16550A" Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ Ð¿Ð¾ пÑоизводиÑелÑноÑÑи. Ðднако Ð¼ÐµÐ¶Ð´Ñ Ð½Ð¸Ð¼Ð¸ ÑÑÑеÑÑвÑÑÑ ÑазлиÑиÑ, а в некоÑоÑÑÑ ÐºÐ»Ð¾Ð½Ð°Ñ 16550A даже вÑÑÑеÑаÑÑÑÑ ÑеÑÑÑзнÑе недоÑÑаÑки. + +Ðогда ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ National Semiconductor ÑазÑабоÑала NS16550, она полÑÑила неÑколÑко паÑенÑов на ÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑÐ¸Ñ Ð¸ Ñакже огÑаниÑила лиÑензиÑование, ÑÑо заÑÑÑднило Ð´Ð»Ñ Ð´ÑÑÐ³Ð¸Ñ Ð¿ÑоизводиÑелей вÑпÑÑк Ñипов Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸ÑнÑми Ñ Ð°ÑакÑеÑиÑÑиками. Ð ÑезÑлÑÑаÑе паÑенÑов обÑаÑно ÑпÑоекÑиÑованнÑе конÑÑÑÑкÑии и ÑмÑлÑÑии Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±Ñли избегаÑÑ Ð½Ð°ÑÑÑÐµÐ½Ð¸Ñ Ð¿ÑнкÑов, Ð¾Ñ Ð²Ð°ÑÑваемÑÑ Ð¿Ð°ÑенÑами. ÐпоÑледÑÑвии ÑÑи копии поÑÑи никогда не ÑабоÑаÑÑ ÑоÑно Ñак же, как NS16550A или PC16 550D, коÑоÑÑе ÑвлÑÑÑÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñами, наиболее воÑÑÑебованнÑми пÑоизводиÑелÑми компÑÑÑеÑов и модемов, но иног да они не гоÑÐ¾Ð²Ñ Ð¿Ð»Ð°ÑиÑÑ ÑенÑ, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¾ÑигиналÑнÑÑ Ð´ÐµÑалей. + +ÐекоÑоÑÑе ÑазлиÑÐ¸Ñ Ð² ÐºÐ»Ð¾Ð½Ð°Ñ Ð¼Ð¸ÐºÑоÑÑ ÐµÐ¼ 16550A неÑÑÑеÑÑвеннÑ, в Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº дÑÑгие могÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¿ÑепÑÑÑÑвоваÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑÑÑойÑÑва Ñ Ð¾Ð¿Ñеделенной опеÑаÑионной ÑиÑÑемой или дÑайвеÑом. ÐÑи ÑазлиÑÐ¸Ñ Ð¼Ð¾Ð³ÑÑ Ð¿ÑоÑвиÑÑÑÑ Ð¿Ñи иÑполÑзовании дÑÑÐ³Ð¸Ñ Ð´ÑайвеÑов или пÑи возникновении опÑеделеннÑÑ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñий ÑобÑÑий, коÑоÑÑе не бÑли Ñ Ð¾ÑоÑо пÑоÑеÑÑиÑÐ¾Ð²Ð°Ð½Ñ Ð¸Ð»Ð¸ ÑÑÑÐµÐ½Ñ Ð² дÑайвеÑе Windows(R). ÐÑо пÑоиÑÑ Ð¾Ð´Ð¸Ñ Ð¿Ð¾ÑомÑ, ÑÑо болÑÑинÑÑво пÑоизводиÑелей Ð ¼Ð¾Ð´ÐµÐ¼Ð¾Ð² и клонов 16550 иÑполÑзÑÑÑ Ð´ÑайвеÑÑ Microsoft из Windows(R) for Workgroups 3.11 и ÑÑилиÑÑ Microsoft(R) MS-DOS(R) в каÑеÑÑве оÑновнÑÑ ÑеÑÑов на ÑовмеÑÑимоÑÑÑ Ñ NS16550A. ÐÑÐ¾Ñ ÑÑезмеÑно ÑпÑоÑеннÑй кÑиÑеÑий ознаÑаеÑ, ÑÑо пÑи иÑполÑзовании дÑÑгой опеÑаÑионной ÑиÑÑÐµÐ¼Ñ Ð¼Ð¾Ð³ÑÑ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½ÑÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¸Ð·-за ÑÐ¾Ð½ÐºÐ¸Ñ ÑазлиÑий Ð¼ÐµÐ¶Ð´Ñ ÐºÐ»Ð¾Ð½Ð°Ð¼Ð¸ и оÑигиналÑнÑми компоненÑами. + +National Semiconductor пÑедоÑÑавила пÑогÑÐ°Ð¼Ð¼Ñ Ð¿Ð¾Ð´ названием COMTEST, коÑоÑÐ°Ñ Ð²ÑполнÑÐµÑ ÑеÑÑÑ ÑовмеÑÑимоÑÑи незавиÑимо Ð¾Ñ ÐºÐ°ÐºÐ¸Ñ -либо дÑайвеÑов ÐС. СледÑÐµÑ Ð¿Ð¾Ð¼Ð½Ð¸ÑÑ, ÑÑо ÑÐµÐ»Ñ Ñакого Ñипа пÑогÑамм â демонÑÑÑаÑÐ¸Ñ Ð½ÐµÐ´Ð¾ÑÑаÑков в пÑодÑкÑÐ°Ñ ÐºÐ¾Ð½ÐºÑÑенÑов, поÑÑÐ¾Ð¼Ñ Ð¿ÑогÑамма бÑÐ´ÐµÑ ÑообÑаÑÑ ÐºÐ°Ðº о знаÑиÑелÑнÑÑ , Ñак и о кÑайне незнаÑиÑелÑнÑÑ ÑазлиÑиÑÑ Ð² поведении ÑеÑÑиÑÑемого компоненÑа. + +Ð ÑеÑии ÑеÑÑов, пÑоведеннÑÑ Ð°Ð²ÑоÑом ÑÑого докÑменÑа в 1994 годÑ, компоненÑÑ Ð¿ÑоизводÑÑва National Semiconductor, TI, StarTech и CMD, а Ñакже мегаÑÑейки и ÑмÑлÑÑии, вÑÑÑоеннÑе во внÑÑÑенние модемÑ, бÑли пÑоÑеÑÑиÑÐ¾Ð²Ð°Ð½Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ COMTEST. Ðиже пÑиведен ÑÑеÑÑик ÑазлиÑий Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ Ð¸Ð· ÑÑÐ¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñов. ÐоÑколÑÐºÑ ÑÑи ÑеÑÑÑ Ð¿ÑоводилиÑÑ Ð² 1994 годÑ, они могÑÑ Ð½Ðµ оÑÑажаÑÑ ÑекÑÑÑÑ Ð¿ÑоизводиÑелÑноÑÑÑ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ пÑодÑкÑа Ð¾Ñ Ð¿Ð¾ÑÑавÑика. + +СледÑÐµÑ Ð¾ÑмеÑиÑÑ, ÑÑо COMTEST обÑÑно завеÑÑÐ°ÐµÑ ÑабоÑÑ Ð¿Ñи обнаÑÑжении ÑÑезмеÑного колиÑеÑÑва или опÑеделÑннÑÑ Ñипов пÑоблем. Ð ÑÐ°Ð¼ÐºÐ°Ñ ÑÑого ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ COMTEST бÑл изменÑн Ñак, ÑÑÐ¾Ð±Ñ Ð¾Ð½ не завеÑÑал ÑабоÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо Ð¾Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑва обнаÑÑженнÑÑ ÑазлиÑий. + +[.informaltable] +[cols="1,1,1", frame="none", options="header"] +|=== +| ÐоÑÑавÑик +| ÐÐ¾Ð¼ÐµÑ Ð´ÐµÑали +| ÐÑибки (Ñакже извеÑÑнÑе как "ÑазлиÑиÑ" в оÑÑеÑÐ°Ñ ) + +|National +|(PC16550DV) +|0 + +|National +|(NS16550AFN) +|0 + +|National +|(NS16C552V) +|0 + +|TI +|(TL16550AFN) +|3 + +|CMD +|(16C550PE) +|19 + +|StarTech +|(ST16C550J) +|23 + +|Rockwell +|СÑандаÑÑнÑй модем Ñ Ð²Ð½ÑÑÑенним 16550 или его ÑмÑлÑÑией (RC144DPi/C3000-25) +|117 + +|Sierra +|Ðодем Ñ Ð²Ð½ÑÑÑенним 16550 (SC11951/SC11351) +|91 +|=== + +[NOTE] +==== +Ðа ÑегоднÑÑний Ð´ÐµÐ½Ñ Ð°Ð²ÑÐ¾Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ докÑменÑа не обнаÑÑжил ни одного не-National компоненÑа, коÑоÑÑй Ð±Ñ Ð¿Ð¾ÐºÐ°Ð·Ñвал нÑлевÑе ÑазлиÑÐ¸Ñ Ð¿Ñи иÑполÑзовании пÑогÑÐ°Ð¼Ð¼Ñ COMTEST. Также ÑледÑÐµÑ Ð¾ÑмеÑиÑÑ, ÑÑо Ñ National бÑло пÑÑÑ Ð²ÐµÑÑий 16550 за ÑÑи годÑ, и новейÑие компоненÑÑ Ð²ÐµÐ´ÑÑ ÑÐµÐ±Ñ Ð½ÐµÑколÑко инаÑе, Ñем клаÑÑиÑеÑкий NS16550AFN, коÑоÑÑй ÑÑиÑаеÑÑÑ ÑÑалоном ÑÑнкÑионалÑноÑÑи. COMTEST, по-видимомÑ, закÑÑÐ²Ð°ÐµÑ Ð³Ð»Ð°Ð·Ð° на ÑазлиÑÐ¸Ñ Ð²Ð½ÑÑÑи линейки пÑодÑкÑов National и не ÑообÑÐ°ÐµÑ Ð¾Ð± оÑÐ¸Ð±ÐºÐ°Ñ Ð² компоненÑÐ°Ñ National (за иÑклÑÑением оÑигиналÑной 16550), даже когда ÑÑÑеÑÑвÑÑÑ Ð¾ÑиÑиалÑнÑе errata, Ð¾Ð¿Ð¸Ñ ÑваÑÑие оÑибки в ÑевизиÑÑ A, B и C ÑÑÐ¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñов, поÑÑÐ¾Ð¼Ñ ÑÑÑ Ð¿ÑедвзÑÑоÑÑÑ COMTEST Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑÑиÑÑваÑÑ. +==== + +Ðажно понимаÑÑ, ÑÑо пÑоÑÑое подÑÑиÑÑвание ÑазлиÑий Ñ COMTEST не Ð´Ð°ÐµÑ Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ Ñом, какие ÑазлиÑÐ¸Ñ ÑÑÑеÑÑвеннÑ, а какие неÑ. ÐапÑимеÑ, около Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ñ ÑазлиÑий, обнаÑÑженнÑÑ Ð² двÑÑ Ð²ÑÑеÑпомÑнÑÑÑÑ Ð¼Ð¾Ð´ÐµÐ¼Ð°Ñ Ñ Ð²Ð½ÑÑÑенними UART, бÑли вÑÐ·Ð²Ð°Ð½Ñ Ñем, ÑÑо клоновÑе UART не поддеÑживаÑÑ ÑÐµÐ¶Ð¸Ð¼Ñ Ð¿ÑÑи- и ÑеÑÑибиÑнÑÑ Ñимволов. ÐаÑÑоÑÑие UART 16550, 16450 и 8250 поддеÑживаÑÑ ÑÑи ÑежимÑ, и COMTEST пÑовеÑÑÐµÑ Ð¸Ñ ÑÑнкÑионалÑноÑÑÑ, поÑÑÐ¾Ð¼Ñ ÑикÑиÑÑеÑÑÑ Ð±Ð¾Ð»ÐµÐµ пÑÑи деÑÑÑи ÑазлиÑий. Ðднако поÑÑи ни один ÑовÑеменнÑй модем не поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿ÑÑи- или ÑеÑÑибиÑнÑе ÑимволÑ, оÑобРµÐ½Ð½Ð¾ Ñе, ÑÑо обладаÑÑ ÑÑнкÑиÑми коÑÑекÑии оÑибок и ÑжаÑиÑ. ÐÑо ознаÑаеÑ, ÑÑо ÑазлиÑиÑ, ÑвÑзаннÑе Ñ Ñежимами пÑÑи- и ÑеÑÑибиÑнÑÑ Ñимволов, можно не ÑÑиÑÑваÑÑ. + +Ðногие ÑазлиÑиÑ, о коÑоÑÑÑ ÑообÑÐ°ÐµÑ COMTEST, ÑвÑÐ·Ð°Ð½Ñ Ñ Ð²ÑеменнÑми Ñ Ð°ÑакÑеÑиÑÑиками. Ðо Ð¼Ð½Ð¾Ð³Ð¸Ñ ÐºÐ»Ð¾Ð½Ð¸ÑованнÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑиÑÑ , когда Ñ Ð¾ÑÑ ÑиÑÐ°ÐµÑ Ð¸Ð· одного поÑÑа, ÑÑаÑÑÑнÑе биÑÑ Ð² дÑÑгом поÑÑе могÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑÑÑÑÑ Ñ Ð¸Ð½Ð¾Ð¹ ÑкоÑоÑÑÑÑ (бÑÑÑÑее или медленнее), Ñем Ñ _наÑÑоÑÑего_ NS16550AFN, и COMTEST вÑÑвлÑÐµÑ ÑÑи ÑазлиÑиÑ. ÐÑо ознаÑаеÑ, ÑÑо колиÑеÑÑво ÑазлиÑий Ð¼Ð¾Ð¶ÐµÑ Ð²Ð²Ð¾Ð´Ð¸ÑÑ Ð² заблÑждение: одно ÑÑÑÑойÑÑво Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð¼ÐµÑÑ Ð²Ñего одно или два ÑазлиÑиÑ, но они кÑайне ÐºÑ Ð¸ÑиÑнÑ, Ñогда как дÑÑгое ÑÑÑÑойÑÑво, обновлÑÑÑее ÑÑаÑÑÑнÑе ÑегиÑÑÑÑ Ð±ÑÑÑÑее или медленнее ÑÑалонной ÑаÑÑи (ÑÑо, веÑоÑÑно, никогда не повлиÑÐµÑ Ð½Ð° ÑабоÑÑ Ð¿ÑавилÑно напиÑанного дÑайвеÑа), Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð¼ÐµÑÑ Ð´ÐµÑÑÑки заÑегиÑÑÑиÑованнÑÑ ÑазлиÑий. + +COMTEST можно иÑполÑзоваÑÑ Ð² каÑеÑÑве инÑÑÑÑменÑа пÑовеÑки, ÑÑÐ¾Ð±Ñ Ð¿ÑедÑпÑедиÑÑ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑоÑа о налиÑии поÑенÑиалÑно неÑовмеÑÑимÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñов, коÑоÑÑе могÑÑ Ð²ÑзваÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¸Ð»Ð¸ поÑÑебÑÑÑ Ð¾Ñобого Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð°. + +ÐÑли Ð²Ñ Ð·Ð°Ð¿ÑÑкаеÑе COMTEST на 16550, коÑоÑÑй Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² модеме или к Ð¼Ð¾Ð´ÐµÐ¼Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÑн поÑледоваÑелÑнÑй поÑÑ, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑнаÑала оÑпÑавиÑÑ Ð¼Ð¾Ð´ÐµÐ¼Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ATE0&W, ÑÑÐ¾Ð±Ñ Ð¼Ð¾Ð´ÐµÐ¼ не ÑÑ Ð¾-повÑоÑÑл ни один из ÑеÑÑовÑÑ Ñимволов. ÐÑли Ð²Ñ Ð·Ð°Ð±ÑдеÑе ÑÑо ÑделаÑÑ, COMTEST ÑообÑÐ¸Ñ ÐºÐ°Ðº минимÑм об одном ÑазлиÑии: + +[source, shell] +.... +Error (6)...Timeout interrupt failed: IIR = c1 LSR = 61 +.... + +=== 8250/16450/16550 РегиÑÑÑÑ + +UART 8250/16450/16550 Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑ Ð²Ð¾ÑÐµÐ¼Ñ Ð¿Ð¾ÑледоваÑелÑнÑÑ Ð°Ð´ÑеÑов поÑÑов ввода-вÑвода. Ð IBM PC опÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ð´Ð²Ð° ÑаÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑÑÐ¸Ñ Ð²Ð¾ÑÑми поÑÑов, коÑоÑÑе вмеÑÑе извеÑÑÐ½Ñ ÐºÐ°Ðº [.filename]#COM1# и [.filename]#COM2#. ÐÑоизводиÑели PC-клонов и дополниÑелÑнÑÑ ÐºÐ°ÑÑ Ñоздали два дополниÑелÑнÑÑ Ð¾Ð±Ð»Ð°ÑÑи, извеÑÑнÑÑ ÐºÐ°Ðº [.filename]#COM3# и [.filename]#COM4#, но ÑÑи дополниÑелÑнÑе COM-поÑÑÑ ÐºÐ¾Ð½ÑликÑÑÑÑ Ñ Ð´ÑÑгим обоÑÑдованием на некоÑоÑÑÑ ÑиÑÑÐµÐ¼Ð°Ñ . Ðаиболее ÑаÑпÑоÑÑÑанÑннÑй конÑÐ»Ð¸ÐºÑ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°Ð µÑ Ñ Ð²Ð¸Ð´ÐµÐ¾Ð°Ð´Ð°Ð¿ÑеÑами, обеÑпеÑиваÑÑими ÑмÑлÑÑÐ¸Ñ IBM 8514. + +[.filename]#COM1# Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² диапазоне Ð¾Ñ 0x3f8 до 0x3ff и обÑÑно иÑполÑзÑÐµÑ IRQ 4. [.filename]#COM2# Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² диапазоне Ð¾Ñ 0x2f8 до 0x2ff и обÑÑно иÑполÑзÑÐµÑ IRQ 3. [.filename]#COM3# Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² диапазоне Ð¾Ñ 0x3e8 до 0x3ef и не Ð¸Ð¼ÐµÐµÑ ÑÑандаÑÑного IRQ. [.filename]#COM4# Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² диапазоне Ð¾Ñ 0x2e8 до 0x2ef и не Ð¸Ð¼ÐµÐµÑ ÑÑандаÑÑного IRQ. + +ÐпиÑание поÑÑов ввода-вÑвода UART 8250/16450/16550 пÑедÑÑавлено ниже. + +[.informaltable] +[cols="10%,10%,80%", frame="none", options="header"] +|=== +| ÐоÑÑ Ð²Ð²Ð¾Ð´Ð°/вÑвода +| ÐоÑÑÑп РазÑеÑен +| ÐпиÑание + +|+0x00 +|запиÑÑ (DLAB==0) +| + +РегиÑÑÑ Ð¿ÐµÑедаÑи даннÑÑ (THR). + +ÐнÑоÑмаÑиÑ, запиÑÐ°Ð½Ð½Ð°Ñ Ð² ÑÑÐ¾Ñ Ð¿Ð¾ÑÑ, обÑабаÑÑваеÑÑÑ ÐºÐ°Ðº Ñлова даннÑÑ Ð¸ пеÑедаеÑÑÑ ÑеÑез UART. + +|+0x00 +|ÑÑение (DLAB==0) +| + +РегиÑÑÑ Ð±ÑÑеÑа пÑиема (RBR). + +ÐÑбÑе Ñлова даннÑÑ , полÑÑеннÑе UART из поÑледоваÑелÑного ÑоединениÑ, доÑÑÑÐ¿Ð½Ñ Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ Ñ Ð¾ÑÑом ÑеÑез ÑÑÐ¾Ñ Ð¿Ð¾ÑÑ. + +|+0x00 +|запиÑÑ/ÑÑение (DLAB==1) +| + +ÐладÑий Ð±Ð°Ð¹Ñ Ð·Ð°Ñелки делиÑÐµÐ»Ñ (DLL â Divisor Latch LSB) + +ÐÑо знаÑение бÑÐ´ÐµÑ Ð¿Ð¾Ð´ÐµÐ»ÐµÐ½Ð¾ Ð¾Ñ Ð¾Ñновного Ð²Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑакÑового Ñигнала (в IBM PC оÑновной ÑакÑовÑй Ñигнал Ñавен 1,8432 ÐÐÑ), и полÑÑеннÑй ÑакÑовÑй Ñигнал бÑÐ´ÐµÑ Ð¾Ð¿ÑеделÑÑÑ ÑкоÑоÑÑÑ Ð¿ÐµÑедаÑи UART. ÐÑÐ¾Ñ ÑегиÑÑÑ ÑодеÑÐ¶Ð¸Ñ Ð±Ð¸ÑÑ Ñ 0 по 7 делиÑелÑ. + +|+0x01 +|запиÑÑ/ÑÑение (DLAB==1) +| + +СÑаÑÑий Ð±Ð°Ð¹Ñ Ð·Ð°Ñелки делиÑÐµÐ»Ñ (DLH â Divisor Latch MSB) + +ÐÑо знаÑение бÑÐ´ÐµÑ Ñазделено Ð¾Ñ Ð¾Ñновного Ð²Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑакÑового Ñигнала (в IBM PC оÑновной ÑакÑовÑй Ñигнал Ñавен 1,8432 ÐÐÑ), и полÑÑеннÑй ÑакÑовÑй Ñигнал бÑÐ´ÐµÑ Ð¾Ð¿ÑеделÑÑÑ ÑкоÑоÑÑÑ Ð¿ÐµÑедаÑи даннÑÑ UART. ÐÑÐ¾Ñ ÑегиÑÑÑ ÑодеÑÐ¶Ð¸Ñ Ð±Ð¸ÑÑ Ñ 8 по 15 делиÑелÑ. + +|+0x01 +|запиÑÑ/ÑÑение (DLAB==0) +|РегиÑÑÑ ÑазÑеÑÐµÐ½Ð¸Ñ Ð¿ÑеÑÑваний (IER) + + +UART 8250/16450/1655 клаÑÑиÑиÑиÑÑÐµÑ ÑобÑÑÐ¸Ñ Ð½Ð° ÑеÑÑÑе каÑегоÑии. ÐÐ°Ð¶Ð´Ð°Ñ ÐºÐ°ÑегоÑÐ¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð°ÑÑÑоена на генеÑаÑÐ¸Ñ Ð¿ÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¿Ñи возникновении лÑбого из ÑобÑÑий. UART 8250/16450/16550 генеÑиÑÑÐµÑ ÐµÐ´Ð¸Ð½Ñй внеÑний Ñигнал пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо Ð¾Ñ Ñого, ÑколÑко ÑобÑÑий в ÑазÑеÑÑннÑÑ ÐºÐ°ÑегоÑиÑÑ Ð¿ÑоизоÑло. ÐадаÑа главного пÑоÑеÑÑоÑа â обÑабоÑаÑÑ Ð¿ÑеÑÑвание и заÑем опÑоÑиÑÑ ÑазÑеÑÑннÑе каÑегоÑии пÑеÑÑваний (обÑÑно пÑеÑÑÐ²Ð°Ð½Ð¸Ñ ÑазÑеÑÐµÐ½Ñ Ð´Ð»Ñ Ð²ÑÐµÑ ÐºÐ°ÑÐµÐ³Ð¾Ñ Ð¸Ð¹), ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделиÑÑ Ð¸ÑÑиннÑÑ Ð¿ÑиÑинÑ(Ñ) пÑеÑÑваниÑ. + +ÐÐ¸Ñ 7 -> ÐаÑезеÑвиÑован, вÑегда 0. + +ÐÐ¸Ñ 6 -> ÐаÑезеÑвиÑован, вÑегда 0. + +ÐÐ¸Ñ 5 -> ÐаÑезеÑвиÑован, вÑегда 0. + +ÐÐ¸Ñ 4 -> ÐаÑезеÑвиÑован, вÑегда 0. + +ÐÐ¸Ñ 3 -> РазÑеÑение пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¿Ð¾ ÑоÑÑоÑÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ¼Ð° (EDSSI). УÑÑановка ÑÑого биÑа в "1" позволÑÐµÑ UART генеÑиÑоваÑÑ Ð¿ÑеÑÑвание пÑи изменении ÑоÑÑоÑÐ½Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð¹ или неÑколÑÐºÐ¸Ñ Ð»Ð¸Ð½Ð¸Ð¹ ÑÑаÑÑÑа. + +ÐÐ¸Ñ 2 -> РазÑеÑение пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¿Ð¾ ÑоÑÑоÑÐ½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¸ пÑиÑмника (ELSI). УÑÑановка ÑÑого биÑа в "1" пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº генеÑаÑии пÑеÑÑÐ²Ð°Ð½Ð¸Ñ UART пÑи обнаÑÑжении оÑибки (или Ñигнала BREAK) во Ð²Ñ Ð¾Ð´ÑÑÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ . + +ÐÐ¸Ñ 1 -> РазÑеÑение пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¿Ð¾ опÑÑÑоÑÐµÐ½Ð¸Ñ ÑегиÑÑÑа пеÑедаÑÑика (ETBEI). УÑÑановка ÑÑого биÑа в "1" пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº генеÑаÑии пÑеÑÑÐ²Ð°Ð½Ð¸Ñ UART, когда в UART поÑвлÑеÑÑÑ Ð¼ÐµÑÑо Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ или более дополниÑелÑнÑÑ Ñимволов, пÑедназнаÑеннÑÑ Ð´Ð»Ñ Ð¿ÐµÑедаÑи. + +ÐÐ¸Ñ 0 -> РазÑеÑение пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¿Ð¾ налиÑÐ¸Ñ Ð¿ÑинÑÑÑÑ Ð´Ð°Ð½Ð½ÑÑ (ERBFI). УÑÑановка ÑÑого биÑа в "1" пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº генеÑаÑии пÑеÑÑÐ²Ð°Ð½Ð¸Ñ UART, когда UART пÑинÑл доÑÑаÑоÑное колиÑеÑÑво Ñимволов Ð´Ð»Ñ Ð¿ÑевÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ñога FIFO, или иÑÑекло вÑÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ FIFO (ÑÑÑаÑевÑие даннÑе), или пÑинÑÑ Ð¾Ð´Ð¸Ð½Ð¾ÑнÑй Ñимвол пÑи оÑклÑÑÑнном FIFO. + +|+0x02 +|запиÑÑ +|РегиÑÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ FIFO (FCR â FIFO Control Register) (ÐÑÐ¾Ñ Ð¿Ð¾ÑÑ Ð¾ÑÑÑÑÑÑвÑÐµÑ Ð² UART 8250 и 16450.) + +ÐÐ¸Ñ 7 -> ÐÐ¸Ñ ÑÑиггеÑа пÑиемника #1 + +ÐÐ¸Ñ 6 -> ÐÐ¸Ñ ÑÑиггеÑа пÑиемника #0 + + +ÐÑи два биÑа опÑеделÑÑÑ, пÑи каком колиÑеÑÑве даннÑÑ Ð¿Ñиемник должен генеÑиÑоваÑÑ Ð¿ÑеÑÑвание, когда FIFO акÑивен. + +7 6 ÐолиÑеÑÑво Ñлов пеÑед генеÑаÑией пÑеÑÑÐ²Ð°Ð½Ð¸Ñ + +0 0 1 + +0 1 4 + +1 0 8 + +1 1 14 + +ÐÐ¸Ñ 5 -> ÐаÑезеÑвиÑован, вÑегда 0. + +ÐÐ¸Ñ 4 -> ÐаÑезеÑвиÑован, вÑегда 0. + +ÐÐ¸Ñ 3 -> ÐÑÐ±Ð¾Ñ Ñежима DMA. ÐÑли Ð±Ð¸Ñ 0 ÑÑÑановлен в "1" (FIFO вклÑÑенÑ), ÑÑÑановка ÑÑого биÑа изменÑÐµÑ ÑабоÑÑ Ñигналов -RXRDY и -TXRDY Ñ Ñежима 0 на Ñежим 1. + +ÐÐ¸Ñ 2 -> СбÑÐ¾Ñ Ð¿ÐµÑедаÑÑего FIFO. ÐÑи запиÑи "1" в ÑÑÐ¾Ñ Ð±Ð¸Ñ ÑодеÑжимое FIFO оÑиÑаеÑÑÑ. ÐÑбое Ñлово, коÑоÑое пеÑедаеÑÑÑ Ð² даннÑй моменÑ, бÑÐ´ÐµÑ Ð¾ÑпÑавлено полноÑÑÑÑ. ÐÑа ÑÑнкÑÐ¸Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð° Ð´Ð»Ñ Ð¿ÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¿ÐµÑедаÑи. + +ÐÐ¸Ñ 1 -> СбÑÐ¾Ñ Ð¿Ñиемного FIFO. ÐÑи запиÑи "1" в ÑÑÐ¾Ñ Ð±Ð¸Ñ ÑодеÑжимое FIFO оÑиÑаеÑÑÑ. ÐÑбое Ñлово, коÑоÑое в даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑобиÑаеÑÑÑ Ð² Ñдвиговом ÑегиÑÑÑе, бÑÐ´ÐµÑ Ð¿ÑинÑÑо полноÑÑÑÑ. + +ÐÐ¸Ñ 0 -> ÐклÑÑение FIFO 16550. ÐÑи ÑÑÑановке ÑÑого биÑа акÑивиÑÑÑÑÑÑ ÐºÐ°Ðº пеÑедаÑÑий, Ñак и пÑиемнÑй FIFO. ÐÑбое ÑодеÑжимое в ÑегиÑÑÑе Ñ ÑанениÑ, ÑдвиговÑÑ ÑегиÑÑÑÐ°Ñ Ð¸Ð»Ð¸ FIFO ÑеÑÑеÑÑÑ Ð¿Ñи вклÑÑении или оÑклÑÑении FIFO. + + +|+0x02 +|ÑÑение +|РегиÑÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑии пÑеÑÑваний + +ÐÐ¸Ñ 7 -> FIFO вклÑÑенÑ. Ðа UART 8250/16450 ÑÑÐ¾Ñ Ð±Ð¸Ñ Ñавен нÑлÑ. + +ÐÐ¸Ñ 6 -> FIFO вклÑÑенÑ. Ðа UART 8250/16450 ÑÑÐ¾Ñ Ð±Ð¸Ñ Ñавен нÑлÑ. + +ÐÐ¸Ñ 5 -> ÐаÑезеÑвиÑован, вÑегда 0. + +ÐÐ¸Ñ 4 -> ÐаÑезеÑвиÑован, вÑегда 0. + +ÐÐ¸Ñ 3 -> ÐÐ¸Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑа пÑеÑÑÐ²Ð°Ð½Ð¸Ñ â2. Ðа UART 8250/16450 ÑÑÐ¾Ñ Ð±Ð¸Ñ Ñавен нÑлÑ. + +ÐÐ¸Ñ 2 -> ÐÐ¸Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑа пÑеÑÑÐ²Ð°Ð½Ð¸Ñ â1 + +ÐÐ¸Ñ 1 -> ÐÐ¸Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑа пÑеÑÑÐ²Ð°Ð½Ð¸Ñ â0.ÐÑи ÑÑи биÑа обÑединÑÑÑÑÑ Ð´Ð»Ñ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÐºÐ°ÑегоÑии ÑобÑÑиÑ, вÑзвавÑего ÑекÑÑее пÑеÑÑвание. ÐÑи каÑегоÑии имеÑÑ Ð¿ÑиоÑиÑеÑÑ, поÑÑомÑ, еÑли неÑколÑко каÑегоÑий ÑобÑÑий пÑоиÑÑ Ð¾Ð´ÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменно, UART ÑообÑÐ¸Ñ Ð¾ более важнÑÑ ÑобÑÑиÑÑ Ð¿ÐµÑвÑми, и Ñ Ð¾ÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ обÑабаÑÑваÑÑ ÑобÑÑÐ¸Ñ Ð² поÑÑдке Ð¸Ñ Ð¿Ð¾ÑÑÑплениÑ. ÐÑе ÑобÑÑиÑ, вÑзвавÑие ÑекÑÑее пÑеÑÑвание, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¾Ð±ÑабоÑÐ°Ð½Ñ Ð´Ð¾ генеÑаÑии новÑÑ Ð¿ÑеÑÑваний. (ÐÑ Ð¾ огÑаниÑение аÑÑ Ð¸ÑекÑÑÑÑ ÐÐ.) + +2 1 0 ÐÑиоÑиÑÐµÑ ÐпиÑание + +0 1 1 ÐеÑвÑй ÐÑинÑÑÐ°Ñ Ð¾Ñибка (OE, PE, BI или FE) + +0 1 0 ÐÑоÑой ÐоÑÑÑÐ¿Ð½Ñ Ð¿ÑинÑÑÑе даннÑе + +1 1 0 ÐÑоÑой ÐденÑиÑикаÑÐ¸Ñ ÑÑÐ¾Ð²Ð½Ñ ÑÑиггеÑа (УÑÑаÑевÑие даннÑе в бÑÑеÑе пÑиема) + +0 0 1 ТÑеÑий ÐеÑедаÑÑик гоÑов пÑинÑÑÑ Ð±Ð¾Ð»ÑÑе даннÑÑ (THRE) + +0 0 0 ЧеÑвеÑÑÑй Ðзменение ÑоÑÑоÑÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ¼Ð° (-CTS, -DSR, -RI или -DCD) + +ÐÐ¸Ñ 0 -> ÐÐ¸Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¿ÑеÑÑваниÑ. ÐÑли ÑÑÐ¾Ñ Ð±Ð¸Ñ ÑÑÑановлен в "0", Ñо как минимÑм одно пÑеÑÑвание Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ Ð¾Ð±ÑабоÑки. + +|+0x03 +|запиÑÑ/ÑÑение +|РегиÑÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð»Ð¸Ð½Ð¸ÐµÐ¹ (LCR â Line Control Register) + +ÐÐ¸Ñ 7 -> ÐÐ¸Ñ Ð´Ð¾ÑÑÑпа к заÑелке делиÑÐµÐ»Ñ (DLAB). ÐÑи ÑÑÑановке доÑÑÑп к ÑегиÑÑÑÑ Ð¿ÐµÑедаÑи/пÑиема даннÑÑ (THR/RBR) и ÑегиÑÑÑÑ ÑазÑеÑÐµÐ½Ð¸Ñ Ð¿ÑеÑÑваний (IER) оÑклÑÑаеÑÑÑ. ÐÑбой доÑÑÑп к ÑÑим поÑÑам пеÑенапÑавлÑеÑÑÑ Ðº ÑегиÑÑÑам заÑелки делиÑелÑ. УÑÑановка ÑÑого биÑа, загÑÑзка ÑегиÑÑÑов делиÑÐµÐ»Ñ Ð¸ ÑбÑÐ¾Ñ DLAB Ð´Ð¾Ð»Ð¶Ð½Ñ Ð²ÑполнÑÑÑÑÑ Ð¿Ñи оÑклÑÑеннÑÑ Ð¿ÑеÑÑваниÑÑ . + +ÐÐ¸Ñ 6 -> УÑÑановка пÑеÑÑваниÑ. ÐÑи ÑÑÑановке в "1" пеÑедаÑÑик наÑÐ¸Ð½Ð°ÐµÑ Ð¿ÐµÑедаваÑÑ Ð½ÐµÐ¿ÑеÑÑвнÑй инÑеÑвал (Spacing), пока ÑÑÐ¾Ñ Ð±Ð¸Ñ Ð½Ðµ бÑÐ´ÐµÑ ÑбÑоÑен в "0". ÐÑо пеÑеопÑеделÑÐµÑ Ð»ÑбÑе пеÑедаваемÑе биÑÑ Ñимволов. + +ÐÐ¸Ñ 5 -> ФикÑиÑованнÑй Ð±Ð¸Ñ ÑеÑноÑÑи. ÐÑи вклÑÑенной пÑовеÑке ÑеÑноÑÑи ÑÑÑановка ÑÑого биÑа пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº ÑомÑ, ÑÑо Ð±Ð¸Ñ ÑеÑноÑÑи вÑегда бÑÐ´ÐµÑ "1" или "0" в завиÑимоÑÑи Ð¾Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð±Ð¸Ñа 4. +ÐÐ¸Ñ 4 -> ÐÑÐ±Ð¾Ñ ÑеÑноÑÑи (EPS). ÐÑи вклÑÑенной пÑовеÑке ÑеÑноÑÑи и еÑли Ð±Ð¸Ñ 5 Ñавен "0", ÑÑÑановка ÑÑого биÑа пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ ÑеÑной ÑеÑноÑÑи. РпÑоÑивном ÑлÑÑае иÑполÑзÑеÑÑÑ Ð½ÐµÑеÑÐ½Ð°Ñ ÑеÑноÑÑÑ. + +ÐÐ¸Ñ 3 -> РазÑеÑение пÑовеÑки ÑеÑноÑÑи (PEN). ÐÑи ÑÑÑановке в "1" Ð±Ð¸Ñ ÑеÑноÑÑи вÑÑавлÑеÑÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð¿Ð¾Ñледним биÑом даннÑÑ Ð¸ ÑÑоповÑм биÑом. UART Ñакже Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ Ð½Ð°Ð»Ð¸Ñие биÑа ÑеÑноÑÑи в пÑинимаемÑÑ Ð´Ð°Ð½Ð½ÑÑ . + +ÐÐ¸Ñ 2 -> ÐолиÑеÑÑво ÑÑоповÑÑ Ð±Ð¸Ñов (STB). ÐÑли ÑÑÑановлен в "1" и иÑполÑзÑÑÑÑÑ 5-биÑнÑе Ñлова даннÑÑ , пеÑедаеÑÑÑ Ð¸ ожидаеÑÑÑ 1.5 ÑÑоповÑÑ Ð±Ð¸Ñа в каждом Ñлове даннÑÑ . ÐÐ»Ñ 6, 7 и 8-биÑнÑÑ Ñлов даннÑÑ Ð¿ÐµÑедаеÑÑÑ Ð¸ ожидаеÑÑÑ 2 ÑÑоповÑÑ Ð±Ð¸Ñа. ÐÑли ÑÑÐ¾Ñ Ð±Ð¸Ñ ÑбÑоÑен в "0", иÑполÑзÑеÑÑÑ Ð¾Ð´Ð¸Ð½ ÑÑоповÑй Ð±Ð¸Ñ Ð² каждом Ñлове даннÑÑ . + +ÐÐ¸Ñ 1 -> ÐÐ¸Ñ Ð²ÑбоÑа Ð´Ð»Ð¸Ð½Ñ Ñлова #1 (WLSB1) + +ÐÐ¸Ñ 0 -> ÐÐ¸Ñ Ð²ÑбоÑа Ð´Ð»Ð¸Ð½Ñ Ñлова #0 (WLSB0) + +ÐмеÑÑе ÑÑи биÑÑ Ð¾Ð¿ÑеделÑÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво биÑов в каждом Ñлове даннÑÑ . + +1 0 Ðлина Ñлова + +0 0 5 Ð±Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ + +0 1 6 Ð±Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ + +1 0 7 Ð±Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ + +1 1 8 Ð±Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ + + +|+0x04 +|запиÑÑ/ÑÑение +|РегиÑÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ¼Ð¾Ð¼ (MCR â Modem Control Register) + +ÐÐ¸Ñ 7 -> ÐаÑезеÑвиÑован, вÑегда 0. + +ÐÐ¸Ñ 6 -> ÐаÑезеÑвиÑован, вÑегда 0. + +ÐÐ¸Ñ 5 -> ÐаÑезеÑвиÑован, вÑегда 0. + +ÐÐ¸Ñ 4 -> Режим пеÑли (Loop-Back). ÐÑи ÑÑÑановке в "1" пеÑедаÑÑик и пÑиÑмник UART ÑоединÑÑÑÑÑ Ð²Ð½ÑÑÑи Ð´Ð»Ñ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑики. Также вÑÑ Ð¾Ð´Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ¼Ð¾Ð¼ UART подклÑÑаÑÑÑÑ Ðº его Ð²Ñ Ð¾Ð´Ð°Ð¼: CTS к RTS, DTR к DSR, OUT1 к RI, а OUT2 к DCD. + +ÐÐ¸Ñ 3 -> OUT2. ÐÑпомогаÑелÑнÑй вÑÑ Ð¾Ð´, коÑоÑÑй пÑоÑеÑÑÐ¾Ñ Ð¼Ð¾Ð¶ÐµÑ ÑÑÑановиÑÑ Ð² вÑÑокий или низкий ÑÑовенÑ. РадапÑеÑе IBM PC (и болÑÑинÑÑве клонов) OUT2 иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¾ÑклÑÑÐµÐ½Ð¸Ñ Ñигнала пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¾Ñ UART 8250/16450/16550. + +ÐÐ¸Ñ 2 -> OUT1. ÐÑпомогаÑелÑнÑй вÑÑ Ð¾Ð´, коÑоÑÑй пÑоÑеÑÑÐ¾Ñ Ð¼Ð¾Ð¶ÐµÑ ÑÑÑановиÑÑ Ð² вÑÑокий или низкий ÑÑовенÑ. Ðа адапÑеÑе IBM PC не иÑполÑзÑеÑÑÑ. + +ÐÐ¸Ñ 1 -> ÐапÑÐ¾Ñ Ð½Ð° пеÑедаÑÑ (RTS). ÐÑи ÑÑÑановке в "1" вÑÑ Ð¾Ð´ линии -RTS UART пеÑÐµÑ Ð¾Ð´Ð¸Ñ Ð² низкий ÑÑÐ¾Ð²ÐµÐ½Ñ (акÑивное ÑоÑÑоÑние). + +ÐÐ¸Ñ 0 -> ÐоÑовноÑÑÑ ÑеÑминала даннÑÑ (DTR). ÐÑи ÑÑÑановке в "1" вÑÑ Ð¾Ð´ линии -DTR UART пеÑÐµÑ Ð¾Ð´Ð¸Ñ Ð² низкий ÑÑÐ¾Ð²ÐµÐ½Ñ (акÑивное ÑоÑÑоÑние). + + +|+0x05 +|запиÑÑ/ÑÑение +|РегиÑÑÑ ÑоÑÑоÑÐ½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¸ (LSR â Line Status Register) + +ÐÐ¸Ñ 7 -> ÐÑибка в FIFO пÑиемника. Ðа UART 8250/16450 ÑÑÐ¾Ñ Ð±Ð¸Ñ Ñавен нÑлÑ. ÐÑÐ¾Ñ Ð±Ð¸Ñ ÑÑÑанавливаеÑÑÑ Ð² «1», когда лÑбой из байÑов в FIFO Ð¸Ð¼ÐµÐµÑ Ð¾Ð´Ð½Ð¾ или неÑколÑко из ÑледÑÑÑÐ¸Ñ ÑÑловий оÑибки: PE, FE или BI. + +ÐÐ¸Ñ 6 -> ÐеÑедаÑÑик пÑÑÑ (TEMT). Ðогда ÑÑÑановлен в «1», в FIFO пеÑедаÑÑика или Ñдвиговом ÑегиÑÑÑе пеÑедаÑÑика не оÑÑалоÑÑ Ñлов. ÐеÑедаÑÑик полноÑÑÑÑ Ð±ÐµÐ·Ð´ÐµÐ¹ÑÑвÑеÑ. + +ÐÐ¸Ñ 5 -> РегиÑÑÑ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¿ÐµÑедаÑÑика пÑÑÑ (THRE). Ðогда ÑÑÑановлен в «1», в FIFO (или ÑегиÑÑÑе Ñ ÑанениÑ) ÑепеÑÑ ÐµÑÑÑ Ð¼ÐµÑÑо Ð´Ð»Ñ Ð¿ÐµÑедаÑи как минимÑм одного дополниÑелÑного Ñлова. ÐеÑедаÑÑик Ð¼Ð¾Ð¶ÐµÑ Ð²Ñе еÑе пеÑедаваÑÑ Ð´Ð°Ð½Ð½Ñе, когда ÑÑÐ¾Ñ Ð±Ð¸Ñ ÑÑÑановлен в «1». + +ÐÐ¸Ñ 4 -> ÐÑеÑÑвание по Break (BI). ÐÑиемник обнаÑÑжил Ñигнал Break. + +ÐÐ¸Ñ 3 -> ÐÑибка кадÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ (FE). ÐбнаÑÑжен ÑÑаÑÑовÑй биÑ, но ÑÑоповÑй Ð±Ð¸Ñ Ð½Ðµ поÑвилÑÑ Ð² ожидаемое вÑемÑ. ÐÑинÑÑое Ñлово, веÑоÑÑно, иÑкажено. + +ÐÐ¸Ñ 2 -> ÐÑибка ÑеÑноÑÑи (PE). ÐÐ¸Ñ ÑеÑноÑÑи Ð´Ð»Ñ Ð¿ÑинÑÑого Ñлова бÑл некоÑÑекÑен. + +ÐÐ¸Ñ 1 -> ÐÑибка пеÑÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ (OE). ÐÑло полÑÑено новое Ñлово, но в бÑÑеÑе пÑиема не бÑло меÑÑа. ÐÐ½Ð¾Ð²Ñ Ð¿Ð¾ÑÑÑпивÑее Ñлово в Ñдвиговом ÑегиÑÑÑе оÑбÑаÑÑваеÑÑÑ. Ðа UART 8250/16450 Ñлово в ÑегиÑÑÑе Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¾ÑбÑаÑÑваеÑÑÑ, а Ð²Ð½Ð¾Ð²Ñ Ð¿Ð¾ÑÑÑпивÑее Ñлово помеÑаеÑÑÑ Ð² ÑегиÑÑÑ Ñ ÑанениÑ. + +ÐÐ¸Ñ 0 -> ÐаннÑе гоÑÐ¾Ð²Ñ (DR). Ðдно или неÑколÑко Ñлов Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ð² FIFO пÑиемника, коÑоÑÑе Ñ Ð¾ÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑоÑиÑаÑÑ. Слово должно бÑÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¿ÑинÑÑо и пеÑемеÑено из Ñдвигового ÑегиÑÑÑа в FIFO (или ÑегиÑÑÑ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ 8250/16450) до Ñого, как ÑÑÐ¾Ñ Ð±Ð¸Ñ Ð±ÑÐ´ÐµÑ ÑÑÑановлен. + +|+0x06 +|запиÑÑ/ÑÑение +|РегиÑÑÑ ÑоÑÑоÑÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ¼Ð° (MSR â Modem Status Register) + +ÐÐ¸Ñ 7 -> ÐбнаÑÑжение неÑÑÑей даннÑÑ (DCD). ÐÑÑÐ°Ð¶Ð°ÐµÑ ÑоÑÑоÑние линии DCD на UART. + +ÐÐ¸Ñ 6 -> ÐндикаÑÐ¾Ñ Ð²Ñзова (RI). ÐÑÑÐ°Ð¶Ð°ÐµÑ ÑоÑÑоÑние линии RI на UART. + +ÐÐ¸Ñ 5 -> ÐоÑовноÑÑÑ Ð¿ÐµÑедаÑÑика даннÑÑ (DSR). ÐÑÑÐ°Ð¶Ð°ÐµÑ ÑоÑÑоÑние линии DSR на UART. + +ÐÐ¸Ñ 4 -> ÐоÑовноÑÑÑ Ðº пÑиÑÐ¼Ñ (CTS). ÐÑÑÐ°Ð¶Ð°ÐµÑ ÑоÑÑоÑние линии CTS на UART. + +ÐÐ¸Ñ 3 -> Ðзменение ÑоÑÑоÑÐ½Ð¸Ñ Ð¾Ð±Ð½Ð°ÑÑÐ¶ÐµÐ½Ð¸Ñ Ð½ÐµÑÑÑей даннÑÑ (DDCD). УÑÑанавливаеÑÑÑ Ð² "1", еÑли Ð»Ð¸Ð½Ð¸Ñ -DCD изменила ÑоÑÑоÑние еÑÑ Ñаз Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа поÑледнего ÑÑÐµÐ½Ð¸Ñ MSR Ñ Ð¾ÑÑом. + +ÐÐ¸Ñ 2 -> ФÑÐ¾Ð½Ñ Ñигнала вÑзова (TERI). УÑÑанавливаеÑÑÑ Ð² "1", еÑли Ð»Ð¸Ð½Ð¸Ñ -RI пеÑеÑла из низкого ÑÑÐ¾Ð²Ð½Ñ Ð² вÑÑокий Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа поÑледнего ÑÑÐµÐ½Ð¸Ñ MSR Ñ Ð¾ÑÑом. + +ÐÐ¸Ñ 1 -> Ðзменение ÑоÑÑоÑÐ½Ð¸Ñ Ð³Ð¾ÑовноÑÑи пеÑедаÑÑика даннÑÑ (DDSR). УÑÑанавливаеÑÑÑ Ð² "1", еÑли Ð»Ð¸Ð½Ð¸Ñ -DSR изменила ÑоÑÑоÑние еÑÑ Ñаз Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа поÑледнего ÑÑÐµÐ½Ð¸Ñ MSR Ñ Ð¾ÑÑом. + +ÐÐ¸Ñ 0 -> Ðзменение ÑоÑÑоÑÐ½Ð¸Ñ Ð³Ð¾ÑовноÑÑи к пÑиÑÐ¼Ñ (DCTS). УÑÑанавливаеÑÑÑ Ð² "1", еÑли Ð»Ð¸Ð½Ð¸Ñ -CTS изменила ÑоÑÑоÑние еÑÑ Ñаз Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа поÑледнего ÑÑÐµÐ½Ð¸Ñ MSR Ñ Ð¾ÑÑом. + +|+0x07 +|запиÑÑ/ÑÑение +|РегиÑÑÑ Scratch (SCR â Scratch Register). ÐÑÐ¾Ñ ÑегиÑÑÑ Ð½Ðµ вÑполнÑÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð¹ ÑÑнкÑии в UART. ХоÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð¿Ð¸ÑаÑÑ Ð»Ñбое знаÑение в ÑÑо меÑÑо и позднее ÑÑиÑаÑÑ ÐµÐ³Ð¾. +|=== + +=== Ðа пÑеделами UART 16550A + +ХоÑÑ National Semiconductor не пÑедлагала Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñов, ÑовмеÑÑимÑÑ Ñ 16550 и пÑедоÑÑавлÑÑÑÐ¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе ÑÑнкÑии, дÑÑгие пÑоизводиÑели Ñделали ÑÑо. ÐекоÑоÑÑе из ÑÑÐ¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñов опиÑÐ°Ð½Ñ Ð½Ð¸Ð¶Ðµ. СледÑÐµÑ Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÑÑ, ÑÑо Ð´Ð»Ñ ÑÑÑекÑивного иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑÐ¸Ñ ÑлÑÑÑений могÑÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ Ð´ÑайвеÑÑ Ð¾Ñ Ð¿ÑоизводиÑÐµÐ»Ñ Ñипа, поÑколÑÐºÑ Ð±Ð¾Ð»ÑÑинÑÑво попÑлÑÑнÑÑ Ð¾Ð¿ÐµÑаÑионнÑÑ ÑиÑÑем не поддеÑживаÑÑ ÑÑнкÑии, вÑÑ Ð¾Ð´ÑÑие за Ñамки возможноÑÑей 16550. + +ST16650:: +Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑа ÑаÑÑÑ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸Ñна NS16550A, но дополниÑелÑно можно вклÑÑиÑÑ ÑаÑÑиÑеннÑй 32-байÑовÑй бÑÑÐµÑ Ð¾ÑпÑавки и пÑиÑма. ÐÑоизводиÑÐµÐ»Ñ â StarTech. + +TIL16660:: +Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑа ÑаÑÑÑ Ð²ÐµÐ´ÑÑ ÑÐµÐ±Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸Ñно NS16550A, но дополниÑелÑно Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²ÐºÐ»ÑÑÑн ÑаÑÑиÑеннÑй 64-байÑнÑй бÑÑÐµÑ Ð¿ÐµÑедаÑи и пÑиÑма. ÐÑоизводиÑÑÑ Texas Instruments. + +Hayes ESP:: +ÐÑа пÑопÑиеÑаÑÐ½Ð°Ñ Ð²Ð½ÐµÑнÑÑ ÐºÐ°ÑÑа ÑодеÑÐ¶Ð¸Ñ Ð±ÑÑÐµÑ Ð¿ÐµÑедаÑи и пÑиема ÑазмеÑом 2048 Ð±Ð°Ð¹Ñ Ð¸ поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑкоÑоÑÑÑ Ð¿ÐµÑедаÑи даннÑÑ Ð´Ð¾ 230,4 ÐбиÑ/Ñ. ÐÑоизведено компанией Hayes. + +Рдополнение к ÑÑим "пÑоÑÑÑм" UART многие пÑоизводиÑели вÑпÑÑкаÑÑ Ð¸Ð½ÑеллекÑÑалÑнÑе плаÑÑ Ð´Ð»Ñ Ð¿Ð¾ÑледоваÑелÑной ÑвÑзи. Такой Ñип конÑÑÑÑкÑии обÑÑно вклÑÑÐ°ÐµÑ Ð¼Ð¸ÐºÑопÑоÑеÑÑоÑ, коÑоÑÑй взаимодейÑÑвÑÐµÑ Ñ Ð½ÐµÑколÑкими UART, обÑабаÑÑÐ²Ð°ÐµÑ Ð¸ бÑÑеÑизÑÐµÑ Ð´Ð°Ð½Ð½Ñе, а заÑем пÑи Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи ÑведомлÑÐµÑ Ð¾Ñновной пÑоÑеÑÑÐ¾Ñ ÐÐ. ÐоÑколÑÐºÑ Ð² Ñакой ÑиÑÑеме ÑвÑзи UART не доÑÑÑÐ¿Ð½Ñ Ð½Ð°Ð¿ÑÑмÑÑ Ð¿ÑоÑеÑÑоÑÑ ÐÐ, пÑоизводиÑÐµÐ»Ñ Ð½Ðµ обÑзаÑелÑно иÑполÑзоваÑÑ UART, ÑовмеÑÑиР¼Ñе Ñ 8250, 16450 или 16550. ÐÑо Ð´Ð°ÐµÑ ÑазÑабоÑÑÐ¸ÐºÑ ÑÐ²Ð¾Ð±Ð¾Ð´Ñ Ð²ÑбоÑа компоненÑов Ñ Ð»ÑÑÑими Ñ Ð°ÑакÑеÑиÑÑиками пÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ ÐµÐ»ÑноÑÑи. + +[[sio]] +== ÐаÑÑÑойка дÑайвеÑа [.filename]#sio# + +ÐÑÐ°Ð¹Ð²ÐµÑ [.filename]#sio# обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Ð¸Ð½ÑеÑÑейÑов ÑвÑзи EIA RS-232C (CCITT V.24) на оÑнове NS8250, NS16450, NS16550 и NS16550A. Также поддеÑживаÑÑÑÑ Ð½ÐµÑколÑко многопоÑÑовÑÑ ÐºÐ°ÑÑ. ÐодÑобнÑÑ ÑÐµÑ Ð½Ð¸ÑеÑкÑÑ Ð´Ð¾ÐºÑменÑаÑÐ¸Ñ ÑмоÑÑиÑе на man:sio[4]. + +=== Digi International (DigiBoard) PC/8 + +_ÐÑедоÑÑавлено `{awebster}`. 26 авгÑÑÑа 1995._ + +ÐÐ¾Ñ ÑÑÐ°Ð³Ð¼ÐµÐ½Ñ ÐºÐ¾Ð½ÑигÑÑаÑии Ñ Ð¼Ð°ÑинÑ, на коÑоÑой ÑÑÑановлена плаÑа Digi International PC/8 Ñ Ñипом 16550. Рней подклÑÑено 8 модемов, ÑабоÑаÑÑÐ¸Ñ Ð½Ð° ÑÑÐ¸Ñ 8 линиÑÑ , и они оÑлиÑно ÑÑнкÑиониÑÑÑÑ. Ðе забÑдÑÑе добавиÑÑ `options COM_MULTIPORT`, инаÑе ÑабоÑа бÑÐ´ÐµÑ Ð½ÐµÑÑабилÑной! + +[.programlisting] +.... +device sio4 at isa? port 0x100 flags 0xb05 +device sio5 at isa? port 0x108 flags 0xb05 +device sio6 at isa? port 0x110 flags 0xb05 +device sio7 at isa? port 0x118 flags 0xb05 +device sio8 at isa? port 0x120 flags 0xb05 +device sio9 at isa? port 0x128 flags 0xb05 +device sio10 at isa? port 0x130 flags 0xb05 +device sio11 at isa? port 0x138 flags 0xb05 irq 9 +.... + +ХиÑÑоÑÑÑ Ð½Ð°ÑÑÑойки заклÑÑаеÑÑÑ Ð² Ñом, ÑÑо ÑÑаÑÑий Ð±Ð¸Ñ Ñлагов пÑедÑÑавлÑÐµÑ Ð¿Ð¾Ñледний поÑÑ SIO, в данном ÑлÑÑае 11, поÑÑÐ¾Ð¼Ñ Ñлаги ÑÐ°Ð²Ð½Ñ 0xb05. + +=== Boca 16 + +_ÐÑедоÑÑавлено `{whiteside}`. 26 авгÑÑÑа 1995._ + +ÐÑоÑедÑÑÑ Ð¿Ð¾ наÑÑÑойке плаÑÑ Boca Ñ 16 поÑÑами в FreeBSD доволÑно пÑоÑÑÑ, но вам понадобиÑÑÑ Ð½ÐµÑколÑко веÑей Ð´Ð»Ñ ÑÑпеÑной ÑабоÑÑ: + +. Ðам Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ либо ÑÑÑановиÑÑ Ð¸ÑÑ Ð¾Ð´Ð½Ñе ÐºÐ¾Ð´Ñ ÑдÑа, ÑÑÐ¾Ð±Ñ Ð¿ÐµÑекомпилиÑоваÑÑ Ð½ÑжнÑе опÑии, либо найÑи кого-Ñо, кÑо ÑÐ´ÐµÐ»Ð°ÐµÑ ÑÑо за ваÑ. СÑандаÑÑное ÑдÑо веÑÑии 2.0.5 _не_ вклÑÑÐ°ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Ð½ÐµÑколÑÐºÐ¸Ñ Ð¿Ð¾ÑÑов, и в лÑбом ÑлÑÑае вам поÑÑебÑеÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð·Ð°Ð¿Ð¸ÑÑ ÑÑÑÑойÑÑва Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ поÑÑа. +. Ðва, вам нÑжно знаÑÑ Ð¿ÑеÑÑвание и наÑÑÑÐ¾Ð¹ÐºÑ Ð²Ð²Ð¾Ð´Ð°-вÑвода Ð´Ð»Ñ Ð²Ð°Ñей плаÑÑ Boca, ÑÑÐ¾Ð±Ñ Ð¿ÑавилÑно ÑÑÑановиÑÑ ÑÑи паÑамеÑÑÑ Ð² ÑдÑе. + +Ðажное замеÑание â ÑеалÑнÑе микÑоÑÑ ÐµÐ¼Ñ UART Ð´Ð»Ñ Boca 16 Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ð² ÑоединиÑелÑной коÑобке, а не на внÑÑÑенней плаÑе. ÐоÑÑомÑ, еÑли она оÑклÑÑена, попÑÑки пÑовеÑиÑÑ ÑÑи поÑÑÑ Ð·Ð°Ð²ÐµÑÑаÑÑÑ Ð½ÐµÑдаÑей. Я никогда не пÑовеÑÑл загÑÑÐ·ÐºÑ Ñ Ð¾ÑклÑÑÑнной коÑобкой и поÑледÑÑÑим ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑением, и не ÑекомендÑÑ Ð²Ð°Ð¼ ÑÑого делаÑÑ. + +ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑ Ð½ÐµÑ Ð½Ð°ÑÑÑоенного Ñайла конÑигÑÑаÑии полÑзоваÑелÑÑкого ÑдÑа, обÑаÑиÑеÑÑ Ðº extref:{handbook}[ÐонÑигÑÑаÑÐ¸Ñ ÑдÑа, kernelconfig] в ÑÑководÑÑве FreeBSD Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¾Ð±ÑÐ¸Ñ Ð¸Ð½ÑÑÑÑкÑий. Ðиже пÑÐ¸Ð²ÐµÐ´ÐµÐ½Ñ ÐºÐ¾Ð½ÐºÑеÑнÑе наÑÑÑойки Ð´Ð»Ñ Ð¿Ð»Ð°ÑÑ Boca 16, пÑедполагаеÑÑÑ, ÑÑо Ð²Ñ Ð¸ÑполÑзÑеÑе ÑдÑо Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ MYKERNEL и ÑедакÑиÑÑеÑе его Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ vi. + +[.procedure] +==== +. ÐобавÑÑе ÑÑÑÐ¾ÐºÑ ++ +[.programlisting] +.... +options COM_MULTIPORT +.... +в конÑигÑÑаÑионнÑй Ñайл. +. Ðде Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ ÑекÑÑие ÑÑÑоки `device sio__n__`, вам нÑжно добавиÑÑ ÐµÑÑ 16 ÑÑÑÑойÑÑв. Ð ÑледÑÑÑем пÑимеÑе показана плаÑа Boca Board Ñ Ð¿ÑеÑÑванием 3 и базовÑм адÑеÑом ввода-вÑвода 100h. ÐдÑÐµÑ Ð²Ð²Ð¾Ð´Ð°-вÑвода Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ поÑÑа ÑвелиÑиваеÑÑÑ Ð½Ð° 8 в ÑеÑÑнадÑаÑеÑиÑной ÑиÑÑеме оÑноÑиÑелÑно пÑедÑдÑÑего поÑÑа, поÑÑÐ¾Ð¼Ñ Ð°Ð´ÑеÑа бÑдÑÑ 100h, 108h, 110h... ++ +[.programlisting] +.... +device sio1 at isa? port 0x100 flags 0x1005 +device sio2 at isa? port 0x108 flags 0x1005 +device sio3 at isa? port 0x110 flags 0x1005 +device sio4 at isa? port 0x118 flags 0x1005 +... +device sio15 at isa? port 0x170 flags 0x1005 +device sio16 at isa? port 0x178 flags 0x1005 irq 3 +.... ++ +ÐапиÑÑ flags _обÑзаÑелÑно_ должна бÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð° по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ ÑÑим пÑимеÑом, еÑли Ð²Ñ Ð½Ðµ иÑполÑзÑеÑе ÑоÑно Ñакие же назнаÑÐµÐ½Ð¸Ñ sio. Флаги ÑÑÑанавливаÑÑÑÑ Ð² ÑооÑвеÑÑÑвии Ñ 0x``__MYY__``, где _M_ обознаÑÐ°ÐµÑ Ð¼Ð»Ð°Ð´Ñий Ð½Ð¾Ð¼ÐµÑ Ð³Ð»Ð°Ð²Ð½Ð¾Ð³Ð¾ поÑÑа (поÑледний поÑÑ Ð½Ð° Boca 16), а _YY_ ÑказÑваеÑ, вклÑÑен или вÑклÑÑен FIFO (вклÑÑен), иÑполÑзÑеÑÑÑ Ð»Ð¸ Ñазделение IRQ (да) и еÑÑÑ Ð»Ð¸ ÑегиÑÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ IRQ, ÑовмеÑÑимÑй Ñ AST/4 (неÑ). Ð ÑÑом пÑимеÑе, ++ +[.programlisting] +.... + flags + 0x1005 +.... +ÑказÑваеÑ, ÑÑо оÑновной поÑÑ - sio16. ÐÑли добавиÑÑ Ð´ÑÑгÑÑ Ð¿Ð»Ð°ÑÑ Ð¸ назнаÑиÑÑ Ð¿Ð¾ÑÑÑ Ñ sio17 по sio28, Ñлаги Ð´Ð»Ñ Ð²ÑÐµÑ 16 поÑÑов на _ÑÑой_ плаÑе бÑдÑÑ 0x1C05, где 1C обознаÑÐ°ÐµÑ Ð¼Ð¸Ð½Ð¾ÑнÑй Ð½Ð¾Ð¼ÐµÑ Ð¾Ñновного поÑÑа. Ðе изменÑйÑе знаÑение 05. +. Ð¡Ð¾Ñ ÑаниÑе и завеÑÑиÑе конÑигÑÑаÑÐ¸Ñ ÑдÑа, пеÑекомпилиÑÑйÑе, ÑÑÑановиÑе и пеÑезагÑÑзиÑеÑÑ. ÐÑедполагаÑ, ÑÑо Ð²Ñ ÑÑпеÑно ÑÑÑановили пеÑекомпилиÑованное ÑдÑо и наÑÑÑоили пÑавилÑнÑй адÑÐµÑ Ð¸ IRQ, ÑообÑение пÑи загÑÑзке должно ÑказÑваÑÑ Ð½Ð° ÑÑпеÑное обнаÑÑжение поÑÑов Boca ÑледÑÑÑим обÑазом: (оÑевидно, номеÑа sio, IO и IRQ могÑÑ Ð¾ÑлиÑаÑÑÑÑ) ++ +[source, shell] +.... +sio1 at 0x100-0x107 flags 0x1005 on isa +sio1: type 16550A (multiport) +sio2 at 0x108-0x10f flags 0x1005 on isa +sio2: type 16550A (multiport) +sio3 at 0x110-0x117 flags 0x1005 on isa +sio3: type 16550A (multiport) +sio4 at 0x118-0x11f flags 0x1005 on isa +sio4: type 16550A (multiport) +sio5 at 0x120-0x127 flags 0x1005 on isa +sio5: type 16550A (multiport) +sio6 at 0x128-0x12f flags 0x1005 on isa +sio6: type 16550A (multiport) +sio7 at 0x130-0x137 flags 0x1005 on isa +sio7: type 16550A (multiport) +sio8 at 0x138-0x13f flags 0x1005 on isa +sio8: type 16550A (multiport) +sio9 at 0x140-0x147 flags 0x1005 on isa +sio9: type 16550A (multiport) +sio10 at 0x148-0x14f flags 0x1005 on isa +sio10: type 16550A (multiport) +sio11 at 0x150-0x157 flags 0x1005 on isa +sio11: type 16550A (multiport) +sio12 at 0x158-0x15f flags 0x1005 on isa +sio12: type 16550A (multiport) +sio13 at 0x160-0x167 flags 0x1005 on isa +sio13: type 16550A (multiport) +sio14 at 0x168-0x16f flags 0x1005 on isa +sio14: type 16550A (multiport) +sio15 at 0x170-0x177 flags 0x1005 on isa +sio15: type 16550A (multiport) +sio16 at 0x178-0x17f irq 3 flags 0x1005 on isa +sio16: type 16550A (multiport master) +.... ++ +ÐÑли ÑообÑÐµÐ½Ð¸Ñ Ð¿ÑÐ¾Ñ Ð¾Ð´ÑÑ ÑлиÑком бÑÑÑÑо, ÑÑÐ¾Ð±Ñ Ð¸Ñ ÑвидеÑÑ, ++ +[source, shell] +.... +# dmesg | more +.... +Ð¿Ð¾ÐºÐ°Ð¶ÐµÑ Ð²Ð°Ð¼ ÑообÑÐµÐ½Ð¸Ñ Ð·Ð°Ð³ÑÑзки. +. Ðалее Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑоздаÑÑ ÑооÑвеÑÑÑвÑÑÑие запиÑи в [.filename]#/dev# Ð´Ð»Ñ ÑÑÑÑойÑÑв Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑкÑипÑа [.filename]#/dev/MAKEDEV#. ÐÑÐ¾Ñ Ñаг можно пÑопÑÑÑиÑÑ, еÑли Ð²Ñ Ð¸ÑполÑзÑеÑе FreeBSD 5.X Ñ ÑдÑом, в коÑоÑом вклÑÑена поддеÑжка man:devfs[5]. ++ +ÐÑли вам Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑоздаÑÑ Ð·Ð°Ð¿Ð¸Ñи в [.filename]#/dev#, вÑполниÑе ÑледÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ `root`: ++ +[source, shell] +.... +# cd /dev +# ./MAKEDEV tty1 +# ./MAKEDEV cua1 + +(everything in between) +# ./MAKEDEV ttyg +# ./MAKEDEV cuag +.... ++ +ÐÑли по какой-Ñо пÑиÑине вам не нÑÐ¶Ð½Ñ Ð¸Ð»Ð¸ не ÑÑебÑÑÑÑÑ ÑÑÑÑойÑÑва иÑÑ Ð¾Ð´ÑÑÐ¸Ñ Ñоединений, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе обойÑиÑÑ Ð±ÐµÐ· ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑÑÑÑойÑÑв [.filename]#cua*#. +. ÐÑли вам нÑжен бÑÑÑÑÑй и небÑежнÑй ÑпоÑоб ÑбедиÑÑÑÑ, ÑÑо ÑÑÑÑойÑÑва ÑабоÑаÑÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе пÑоÑÑо подклÑÑиÑÑ Ð¼Ð¾Ð´ÐµÐ¼ к ÐºÐ°Ð¶Ð´Ð¾Ð¼Ñ Ð¿Ð¾ÑÑÑ Ð¸ (как root) ++ +[source, shell] +.... +# echo at > ttyd* +.... +Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÑÑÑойÑÑва, коÑоÑое Ð²Ñ Ñоздали. ÐÑ _должнÑ_ ÑвидеÑÑ, как мигаÑÑ Ð¸Ð½Ð´Ð¸ÐºÐ°ÑоÑÑ RX Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑабоÑего поÑÑа. +==== + +=== ÐоддеÑжка деÑÑвÑÑ Ð¼Ð½Ð¾Ð³Ð¾ÐºÐ°Ð½Ð°Ð»ÑнÑÑ UART-каÑÑ + +_ÐÑедоÑÑавлено ХелÑге ÐлÑÐ´Ð°Ñ Ð¾Ð¼_ mailto:[email protected][[email protected]], ÑенÑÑбÑÑ 1999 года + +ÐÑ ÐºÐ¾Ð³Ð´Ð°-нибÑÐ´Ñ Ð·Ð°Ð´ÑмÑвалиÑÑ Ð¾ поддеÑжке FreeBSD ваÑей 20-доллаÑовой многоÑÑнкÑионалÑной каÑÑÑ Ñ Ð´Ð²ÑÐ¼Ñ (или более) COM-поÑÑами, ÑазделÑÑÑими IRQ? ÐÐ¾Ñ ÐºÐ°Ðº ÑÑо ÑделаÑÑ: + +ÐбÑÑно единÑÑвеннÑй ÑпоÑоб поддеÑжки ÑÐ°ÐºÐ¸Ñ Ð¿Ð»Ð°Ñ â иÑполÑзование оÑделÑного IRQ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ поÑÑа. ÐапÑимеÑ, еÑли ваÑа маÑеÑинÑÐºÐ°Ñ Ð¿Ð»Ð°Ñа Ð¸Ð¼ÐµÐµÑ Ð²ÑÑÑоеннÑй поÑÑ [.filename]#COM1# (он же [.filename]#sio0# â адÑÐµÑ Ð²Ð²Ð¾Ð´Ð°-вÑвода 0x3F8 и IRQ 4), а Ñ Ð²Ð°Ñ ÐµÑÑÑ ÑаÑÑиÑиÑелÑÐ½Ð°Ñ Ð¿Ð»Ð°Ñа Ñ Ð´Ð²ÑÐ¼Ñ UART, Ñо обÑÑно Ð¸Ñ Ð½Ñжно наÑÑÑоиÑÑ ÐºÐ°Ðº [.filename]#COM2# (он же [.filename]#sio1# â адÑÐµÑ Ð²Ð²Ð¾Ð´Ð°-вÑвода 0x2F8 и IRQ 3), а ÑÑеÑий поÑÑ (он же [.filename]#sio2#) â Ñ Ð°Ð´ÑеÑом 0x3E8 и IRQ 5. ÐÑевидно, ÑÑо ÑаÑÑоÑиÑелÑное иÑполÑÐ ·Ð¾Ð²Ð°Ð½Ð¸Ðµ ÑеÑÑÑÑов IRQ, Ñак как в пÑинÑипе возможно запÑÑÑиÑÑ Ð¾Ð±Ð° поÑÑа ÑаÑÑиÑиÑелÑной плаÑÑ Ñ Ð¾Ð´Ð½Ð¸Ð¼ IRQ, иÑполÑÐ·Ñ Ñ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ `COM_MULTIPORT`, опиÑаннÑÑ Ð² пÑедÑдÑÑÐ¸Ñ ÑÐ°Ð·Ð´ÐµÐ»Ð°Ñ . + +Такие недоÑогие плаÑÑ Ð²Ð²Ð¾Ð´Ð°-вÑвода обÑÑно имеÑÑ Ð¿ÐµÑемÑÑеÑнÑÑ Ð¼Ð°ÑÑиÑÑ 4x3 Ð´Ð»Ñ COM-поÑÑов, подобнÑÑ ÑледÑÑÑей: + +[.programlisting] +.... + o o o * +Port A | + o * o * +Port B | + o * o o +IRQ 2 3 4 5 +.... + +Ðоказано, ÑÑо поÑÑ A подклÑÑен Ð´Ð»Ñ IRQ 5, а поÑÑ B â Ð´Ð»Ñ IRQ 3. СÑолбÑÑ IRQ на ваÑей конкÑеÑной плаÑе могÑÑ Ð¾ÑлиÑаÑÑÑÑ â дÑÑгие плаÑÑ Ð¼Ð¾Ð³ÑÑ Ð¿ÑедоÑÑавлÑÑÑ Ð¿ÐµÑемÑÑки Ð´Ð»Ñ IRQ 3, 4, 5 и 7. + +Ðожно бÑло Ð±Ñ ÑделаÑÑ Ð²Ñвод, ÑÑо подклÑÑение Ð¾Ð±Ð¾Ð¸Ñ Ð¿Ð¾ÑÑов к IRQ 3 Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑамоделÑной пеÑемÑÑки, замÑкаÑÑей вÑе ÑÑи ÑоÑки ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð² колонке IRQ 3, ÑеÑÐ¸Ñ Ð¿ÑоблемÑ, но ÑÑо не Ñак. Ðевозможно дÑблиÑоваÑÑ IRQ 3, поÑÐ¾Ð¼Ñ ÑÑо вÑÑ Ð¾Ð´Ð½Ñе дÑайвеÑÑ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ UART ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ñ Ð¿Ð¾ ÑÑ ÐµÐ¼Ðµ "монÑажное Ð", и еÑли один из UART ÑпÑавлÑÐµÑ IRQ 3, вÑÑ Ð¾Ð´Ð½Ð¾Ð¹ Ñигнал бÑÐ´ÐµÑ Ð½Ðµ Ñаким, как ожидаеÑÑÑ. РзавиÑимоÑÑи Ð¾Ñ ÑеализаÑии плаÑÑ ÑаÑÑиÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ маÑеÑинÑкой плаÑÑ, Ð»Ð¸Ð½Ð¸Ñ IRQ 3 бÑдРµÑ поÑÑоÑнно Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑÑ Ð² вÑÑоком ÑÑовне или вÑегда оÑÑаваÑÑÑÑ Ð½Ð¸Ð·ÐºÐ¾Ð¹. + +Ðам Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑазделиÑÑ Ð´ÑайвеÑÑ Ð¿ÑеÑÑваний Ð´Ð»Ñ Ð´Ð²ÑÑ UART, ÑÑÐ¾Ð±Ñ Ð»Ð¸Ð½Ð¸Ñ Ð¿ÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¿Ð»Ð°ÑÑ Ð¿Ð¾Ð´Ð½Ð¸Ð¼Ð°Ð»Ð°ÑÑ ÑолÑко Ñогда (и ÑолÑко Ñогда), когда один из UART вÑзÑÐ²Ð°ÐµÑ Ð¿ÑеÑÑвание, и оÑÑавалаÑÑ Ð½Ð¸Ð·ÐºÐ¾Ð¹ в пÑоÑивном ÑлÑÑае. РеÑение бÑло пÑедложено ÐоÑгом ÐÑнÑем mailto:[email protected][[email protected]]: пÑипаÑÑÑ Ð¼Ð¾Ð½ÑажнÑÑ ÑÑ ÐµÐ¼Ñ "монÑажное ÐÐÐ", ÑоÑÑоÑÑÑÑ Ð¸Ð· двÑÑ Ð´Ð¸Ð¾Ð´Ð¾Ð² (пÑедпоÑÑиÑелÑно геÑманиевÑÑ Ð¸Ð»Ð¸ Ñипа ШоÑÑки) и ÑезиÑÑоÑа на 1 кÐм. ÐÐ¾Ñ ÑÑ ÐµÐ¼Ð°, наÑÐ¸Ð½Ð°Ñ Ñ Ðº онÑакÑного Ð¿Ð¾Ð»Ñ 4x3 вÑÑе: + +[.programlisting] +.... + Diode + +---------->|-------+ + / | + o * o o | 1 kOhm +Port A +----|######|-------+ + o * o o | | +Port B `-------------------+ ==+== + o * o o | Ground + \ | + +--------->|-------+ +IRQ 2 3 4 5 Diode +.... + +ÐаÑÐ¾Ð´Ñ Ð´Ð¸Ð¾Ð´Ð¾Ð² ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ñ Ð² обÑей ÑоÑке вмеÑÑе Ñ Ð¿Ð¾Ð´ÑÑгиваÑÑим ÑезиÑÑоÑом 1 кÐм. Ðажно подклÑÑиÑÑ ÑезиÑÑÐ¾Ñ Ðº земле, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð¿Ð»Ð°Ð²Ð°Ð½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¸ IRQ на Ñине. + +ТепеÑÑ Ð¼Ñ Ð³Ð¾ÑÐ¾Ð²Ñ Ð½Ð°ÑÑÑоиÑÑ ÑдÑо. ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ ÑÑÐ¾Ñ Ð¿ÑимеÑ, Ð¼Ñ Ð½Ð°ÑÑÑоим: + +[.programlisting] +.... +# standard on-board COM1 port +device sio0 at isa? port "IO_COM1" flags 0x10 +# patched-up multi-I/O extension board +options COM_MULTIPORT +device sio1 at isa? port "IO_COM2" flags 0x205 +device sio2 at isa? port "IO_COM3" flags 0x205 irq 3 +.... + +ÐбÑаÑиÑе внимание, ÑÑо наÑÑÑойка `flags` Ð´Ð»Ñ [.filename]#sio1# и [.filename]#sio2# дейÑÑвиÑелÑно важна; подÑобноÑÑи ÑмоÑÑиÑе в man:sio[4]. (ÐбÑÑно `2` в аÑÑибÑÑе "flags" оÑноÑиÑÑÑ Ðº [.filename]#sio#`2`, коÑоÑÑй ÑодеÑÐ¶Ð¸Ñ IRQ, и вам навеÑнÑка поÑÑебÑеÑÑÑ Ð½Ð¸Ð¶Ð½Ð¸Ð¹ ниббл `5`.) ÐÑи вклÑÑÑнном Ñежиме подÑобного вÑвода ÑдÑа ÑÑо должно даÑÑ ÑÑо-Ñо Ð¿Ð¾Ñ Ð¾Ð¶ÐµÐµ на ÑледÑÑÑее: + +[source, shell] +.... +sio0: irq maps: 0x1 0x11 0x1 0x1 +sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa +sio0: type 16550A +sio1: irq maps: 0x1 0x9 0x1 0x1 +sio1 at 0x2f8-0x2ff flags 0x205 on isa +sio1: type 16550A (multiport) +sio2: irq maps: 0x1 0x9 0x1 0x1 +sio2 at 0x3e8-0x3ef irq 3 flags 0x205 on isa +sio2: type 16550A (multiport master) +.... + +ХоÑÑ [.filename]#/sys/i386/isa/sio.c# вÑглÑÐ´Ð¸Ñ Ð½ÐµÑколÑко загадоÑно из-за иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð°ÑÑива "irq maps" вÑÑе, оÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð¸Ð´ÐµÑ Ð·Ð°ÐºÐ»ÑÑаеÑÑÑ Ð² Ñом, ÑÑо Ð²Ñ Ð½Ð°Ð±Ð»ÑдаеÑе `0x1` на пеÑвой, ÑÑеÑÑей и ÑеÑвеÑÑой позиÑиÑÑ . ÐÑо ознаÑаеÑ, ÑÑо ÑооÑвеÑÑÑвÑÑÑий IRQ бÑл ÑÑÑановлен пÑи вÑводе и ÑбÑоÑен поÑле, ÑÑо полноÑÑÑÑ ÑооÑвеÑÑÑвÑÐµÑ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñм. ÐÑли ваÑе ÑдÑо не демонÑÑÑиÑÑÐµÑ Ñакое поведение, ÑкоÑее вÑего, пÑоблема в ваÑей Ñазводке. + +[[cy]] +== ÐаÑÑÑойка дÑайвеÑа [.filename]#cy# + +_ÐÑедоÑÑавлено ÐлекÑом ÐÑÑем. 6 иÑÐ½Ñ 1996._ + +ÐногопоÑÑовÑе каÑÑÑ Cyclades оÑÐ½Ð¾Ð²Ð°Ð½Ñ Ð½Ð° дÑайвеÑе [.filename]#cy#, а не на обÑÑном дÑайвеÑе [.filename]#sio#, иÑполÑзÑемом дÑÑгими многопоÑÑовÑми каÑÑами. ÐаÑÑÑойка ÑводиÑÑÑ Ðº пÑоÑÑÑм дейÑÑвиÑм: + +[.procedure] +==== +. ÐобавÑÑе ÑÑÑÑойÑÑво [.filename]#cy# в конÑигÑÑаÑÐ¸Ñ ÑдÑа (обÑаÑиÑе внимание, ÑÑо паÑамеÑÑÑ irq и iomem могÑÑ Ð¾ÑлиÑаÑÑÑÑ). ++ +[.programlisting] +.... +device cy0 at isa? irq 10 iomem 0xd4000 iosiz 0x2000 +.... +. ÐеÑеÑÑÑойÑе и ÑÑÑановиÑе новÑй обÑаз ÑдÑа. +. СоздайÑе ÑÐ°Ð¹Ð»Ñ ÑÑÑÑойÑÑв, Ð²Ð²ÐµÐ´Ñ (ÑледÑÑÑий пÑÐ¸Ð¼ÐµÑ Ð¿ÑÐµÐ´Ð¿Ð¾Ð»Ð°Ð³Ð°ÐµÑ 8-поÑÑовÑÑ Ð¿Ð»Ð°ÑÑ): ++ +[source, shell] +.... +# cd /dev +# for i in 0 1 2 3 4 5 6 7;do ./MAKEDEV cuac$i ttyc$i;done +.... + *** 3944 LINES SKIPPED ***