svn commit: r52273 - in head/pt_BR.ISO8859-1/articles: . serial-uart

Edson Brandi ebrandi at FreeBSD.org
Tue Sep 18 03:29:16 UTC 2018


Author: ebrandi
Date: Tue Sep 18 03:29:14 2018
New Revision: 52273
URL: https://svnweb.freebsd.org/changeset/doc/52273

Log:
  pt_BR.ISO8859-1/articles/serial-uart: New pt_BR translation into .po format
  
  * content synchronized with en_US document (rev 44692)
  * article.xml converted to .po
  * .po file was translated to pt_BR
  * pt_BR.po and article.xml file has been set to UTF-8 encoding
  * information about volunteers who translated and/or revised the document was added to the header of the .po file.
  
  Approved by: gabor (mentor, implicit)
  Obtained from: The FreeBSD Brazilian Portuguese Documentation Project

Added:
  head/pt_BR.ISO8859-1/articles/serial-uart/
  head/pt_BR.ISO8859-1/articles/serial-uart/Makefile   (contents, props changed)
  head/pt_BR.ISO8859-1/articles/serial-uart/article.xml   (contents, props changed)
  head/pt_BR.ISO8859-1/articles/serial-uart/pt_BR.po   (contents, props changed)
Modified:
  head/pt_BR.ISO8859-1/articles/Makefile

Modified: head/pt_BR.ISO8859-1/articles/Makefile
==============================================================================
--- head/pt_BR.ISO8859-1/articles/Makefile	Mon Sep 17 06:07:22 2018	(r52272)
+++ head/pt_BR.ISO8859-1/articles/Makefile	Tue Sep 18 03:29:14 2018	(r52273)
@@ -33,6 +33,7 @@ SUBDIR+= pr-guidelines
 SUBDIR+= problem-reports
 SUBDIR+= rc-scripting
 SUBDIR+= remote-install
+SUBDIR+= serial-uart
 SUBDIR+= solid-state
 SUBDIR+= vinum
 SUBDIR+= vm-design

Added: head/pt_BR.ISO8859-1/articles/serial-uart/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/pt_BR.ISO8859-1/articles/serial-uart/Makefile	Tue Sep 18 03:29:14 2018	(r52273)
@@ -0,0 +1,24 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD Brazilian Portuguese Documentation Project
+#
+# $FreeBSD$
+#
+# Article:  Serial UART
+
+MAINTAINER=ebrandi at FreeBSD.org
+
+DOC?= article
+
+FORMATS?= html html-split
+WITH_ARTICLE_TOC?= YES
+
+INSTALL_COMPRESSED?= gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS=	article.xml
+
+URL_RELPREFIX?=	../../../..
+DOC_PREFIX?=	${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"

Added: head/pt_BR.ISO8859-1/articles/serial-uart/article.xml
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/pt_BR.ISO8859-1/articles/serial-uart/article.xml	Tue Sep 18 03:29:14 2018	(r52273)
@@ -0,0 +1,1582 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN" "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
+<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:its="http://www.w3.org/2005/11/its" version="5.0" xml:lang="pt_BR">
+  <info><title>Tutorial sobre Comunicações Seriais e UART</title>
+    
+
+    <authorgroup>
+      <author><personname><firstname>Frank</firstname><surname>Durda</surname></personname><affiliation> <address><email>uhclem at FreeBSD.org</email></address> </affiliation></author>
+    </authorgroup>
+
+    <legalnotice xml:id="trademarks" role="trademarks">
+      <para>FreeBSD is a registered trademark of the FreeBSD Foundation.</para>
+      <para>Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.</para>
+      <para>Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the <quote>™</quote> or the <quote>®</quote> symbol.</para>
+    </legalnotice>
+
+    <pubdate>$FreeBSD$</pubdate>
+
+    <releaseinfo>$FreeBSD$</releaseinfo>
+
+    <abstract>
+      <para>Este artigo fala sobre o uso de hardware serial com o FreeBSD.</para>
+    </abstract>
+  </info>
+
+  <sect1 xml:id="uart">
+    <title>A UART: O que é e como funciona</title>
+
+      <para><emphasis> Copyright © 1996 Frank Durda IV <email> uhclem at FreeBSD.org </email>, Todos os direitos reservados. 13 de Janeiro de 1996. </emphasis></para>
+
+      <para>O controlador UART (Universal Asynchronous Receiver / Transmitter) é o componente chave do subsistema de comunicação serial de um computador. O UART pega bytes de dados e transmite os bits individuais de forma seqüencial. No destino, um segundo UART reúne os bits em bytes completos.</para>
+
+      <para>A transmissão serial é comumente usada com modems e para comunicação entre computadores, terminais e outros dispositivos sem rede.</para>
+
+      <para>Existem duas formas primárias de transmissão serial: Síncrona e Assíncrona. Dependendo dos modos suportados pelo hardware, o nome do subsistema de comunicação geralmente incluirá um <literal>A</literal> se ele suportar comunicações assíncronas, e um <literal>S</literal> se ele suportar Comunicações síncronas. Ambas as formas são descritas abaixo.</para>
+
+      <para>Algumas siglas comuns são:</para>
+
+      <blockquote>
+	<para>UART Universal Asynchronous Receiver/Transmitter</para>
+      </blockquote>
+
+      <blockquote>
+	<para>USART Universal Synchronous-Asynchronous Receiver/Transmitter</para>
+      </blockquote>
+
+      <sect2>
+        <title>Transmissão Serial Síncrona</title>
+
+	<para>A transmissão serial síncrona requer que o emissor e o receptor compartilhem um clock entre si, ou que o remetente forneça um sinal estroboscópico ou outro sinal de tempo para que o receptor saiba quando deve <quote>ler</quote> o próximo bit dos dados. Na maioria das formas de comunicação serial síncrona, se não houver dados disponíveis em um dado instante para transmitir, um caractere de preenchimento deve ser enviado para que os dados sejam sempre transmitidos. A comunicação síncrona é geralmente mais eficiente, pois somente os bits de dados são transmitidos entre o emissor e o receptor, e a comunicação síncrona pode ser mais cara se fios e circuitos extras forem necessários para compartilhar um sinal de relógio entre o emissor e o receptor.</para>
+
+	<para>Uma forma de transmissão síncrona é usada com impressoras e dispositivos de disco fixo em que os dados são enviados em um conjunto de fios enquanto um clock ou strobe é enviado em um fio diferente. Impressoras e dispositivos de disco fixo normalmente não são dispositivos seriais porque a maioria dos padrões de interface de disco fixo envia uma palavra inteira de dados para cada sinal de clock ou de strobe usando um fio separado para cada bit da palavra. Na indústria de PCs, esses são conhecidos como dispositivos paralelos.</para>
+
+	<para>O hardware de comunicação serial padrão no PC não suporta operações síncronas. Este modo é descrito aqui apenas para fins de comparação.</para>
+      </sect2>
+
+      <sect2>
+        <title>Transmissão Serial Assíncrona</title>
+
+	<para>A transmissão assíncrona permite que os dados sejam transmitidos sem que o emissor tenha que enviar um sinal de relógio ao receptor. Em vez disso, o remetente e o receptor devem concordar com os parâmetros de tempo de antecedência e bits especiais são adicionados a cada palavra, os quais são usados para sincronizar as unidades de envio e recebimento.</para>
+
+	<para>Quando uma palavra é dada ao UART para uma transmissão assíncrona, um bit chamado "Start Bit" é adicionado ao início de cada palavra que deve ser transmitida. O Start Bit é usado para alertar o receptor de que uma palavra de dados está prestes a ser enviada e para forçar o clock do receptor a sincronizar-se com o clock do transmissor. Estes dois clocks devem ser precisos o suficiente para não ter um desvio de frequência em mais de 10% durante a transmissão dos bits restantes na palavra. (Esse requisito foi definido nos dias das teleimpressoras mecânicas e é facilmente atendido pelos equipamentos eletrônicos modernos.)</para>
+
+	<para>Após o Start Bit, os bits individuais da palavra de dados são enviados, com o Bit Menos Significativo (LSB) sendo enviado primeiro. Cada bit na transmissão é transmitido exatamente pelo mesmo período de tempo que todos os outros bits, e o receptor <quote>olha</quote> para o fio aproximadamente na metade do período atribuído a cada bit para determinar se o bit é um <literal>1</literal> ou um <literal>0</literal>. Por exemplo, se forem necessários dois segundos para enviar cada bit, o receptor examinará o sinal para determinar se é um <literal>1</literal> ou um <literal>0</literal> após ter passado um segundo, ele esperará dois segundos e examinará o valor do próximo bit, e assim por diante.</para>
+
+	<para>O remetente não sabe quando o receptor <quote>olhou</quote> para o valor do bit. O remetente só sabe quando o clock diz para começar a transmitir o próximo bit da palavra.</para>
+
+	<para>Quando toda a palavra de dados foi enviada, o transmissor pode adicionar um Bit de Paridade que o transmissor gera. O Bit de Paridade pode ser usado pelo receptor para executar uma verificação de erros simples. Então pelo menos um Stop Bit é enviado pelo transmissor.</para>
+
+	<para>Quando o receptor recebeu todos os bits na palavra de dados, ele pode verificar os bits de paridade (tanto o remetente quanto o receptor devem concordar se um bit de paridade deve ser usado), e então o receptor procura um Stop Bit. Se o Stop Bit não aparecer quando é suposto aparecer, o UART considera a palavra inteira como ilegível e irá relatar um Framing Error para o processador do host quando a palavra de dados é lida. A causa comum de um Framing Error é que os clocks do emissor e do receptor não estavam sendo executados na mesma velocidade ou que o sinal foi interrompido.</para>
+
+	<para>Independentemente de os dados terem sido recebidos corretamente ou não, o UART descarta automaticamente os Bits de Start, Paridade e Stop. Se o emissor e o receptor forem configurados de forma idêntica, esses bits não serão passados ​​para o host.</para>
+
+	<para>Se outra palavra estiver pronta para transmissão, o Start Bit da nova palavra pode ser enviado assim que o Stop Bit  da palavra anterior for enviado.</para>
+
+	<para>Como os dados assíncronos são <quote>auto-sincronizados</quote>, se não houver dados para transmitir, a linha de transmissão pode ficar inativa.</para>
+      </sect2>
+
+      <sect2>
+        <title>Outras funções UART</title>
+
+	<para>Além do trabalho básico de conversão de dados de paralelo para serial para transmissão e de serial para paralelo na recepção, um UART normalmente fornecerá circuitos adicionais para sinais que podem ser usados ​​para indicar o estado da mídia de transmissão, e para regular o fluxo de dados no caso de o dispositivo remoto não estar preparado para aceitar mais dados. Por exemplo, quando o dispositivo conectado à UART é um modem, o modem pode informar a presença de uma operadora na linha telefônica enquanto o computador pode instruir o modem a reinicializar a si mesmo ou a não atender chamadas, aumentando ou diminuindo mais um desses sinais extras. A função de cada um desses sinais adicionais é definida no padrão EIA RS232-C.</para>
+      </sect2>
+
+      <sect2>
+        <title>Os padrões RS232-C e V.24</title>
+
+	<para>Na maioria dos sistemas de computador, o UART é conectado a um circuito que gera sinais que atendem à especificação EIA RS232-C. Há também um padrão CCITT chamado V.24 que reflete as especificações incluídas no RS232-C.</para>
+
+	<sect3>
+	  <title>Atribuições de bit RS232-C (marcas e espaços)</title>
+
+	  <para>No RS232-C, um valor de <literal>1</literal> é chamado de <literal>Mark</literal> e um valor de <literal>0</literal> é chamado de <literal>Space</literal>. Quando uma linha de comunicação está inativa, a linha é chamada de <quote>Marking</quote>, ou seja, está transmitindo o valor <literal>1</literal> continuamente.</para>
+
+	  <para>O bit de início sempre tem um valor de <literal>0</literal> (um space). O bit de parada sempre tem um valor de <literal>1</literal> (uma mark). Isso significa que sempre haverá uma transição Mark (1) para Space (0) na linha no início de cada palavra, mesmo quando várias palavras forem transmitidas de volta para trás. Isso garante que o remetente e o destinatário possam ressincronizar seus relógios independentemente do conteúdo dos bits de dados que estão sendo transmitidos.</para>
+
+	  <para>O tempo inativo entre os bits de Stop e Start não precisa ser um múltiplo exato (incluindo zero) da taxa de bits do link de comunicação, mas a maioria dos UARTs é projetada dessa maneira para simplificar.</para>
+
+	  <para>No RS232-C, o sinal "Marking" (a <literal>1</literal>) é representado por uma tensão entre -2 VDC e -12 VDC, e um sinal "Spacing" (um <literal>0</literal>) é representado por uma tensão entre 0 e +12 VDC. O transmissor deve enviar +12 VDC ou -12 VCC, e o receptor deve permitir alguma perda de tensão em cabos longos. Alguns transmissores em dispositivos de baixa potência (como computadores portáteis) às vezes usam apenas +5 VCC e -5 VCC, mas esses valores ainda são aceitáveis ​​para um receptor RS232-C, desde que os comprimentos dos cabos sejam curtos.</para>
+	</sect3>
+
+	<sect3>
+	  <title>Sinal de quebra RS232-C</title>
+
+	  <para>O RS232-C também especifica um sinal chamado de <literal>Break</literal> (quebra), que é causado pelo envio de valores contínuos de espaçamento (sem bits de início ou de parada). Quando não há eletricidade presente no circuito de dados, a linha é considerada como enviando um <literal>Break</literal>.</para>
+
+	  <para>O sinal <literal>Break</literal> deve ter uma duração maior que o tempo que leva para enviar um byte completo mais os bits Start, Stop e Paridade. A maioria das UARTs pode distinguir entre um Framing Error e um intervalo, mas se a UART não puder fazer isso, a detecção de Framing Error pode ser usada para identificar quebras.</para>
+
+	  <para>Nos dias das teleimpressoras, quando numerosas impressoras em todo o país eram conectadas em série (como serviços de notícias), qualquer unidade poderia causar um <literal>Break</literal> abrindo temporariamente todo o circuito de modo que nenhuma corrente fluísse. Isso foi usado para permitir que um local com notícias urgentes interrompesse algum outro local que estava enviando informações no momento.</para>
+
+	  <para>Nos sistemas modernos existem dois tipos de sinais de quebra. Se o Break for maior que 1,6 segundos, será considerado um "Modem Break", e alguns modems podem ser programados para encerrar a conversa e colocar no gancho ou entrar no modo de comando dos modems quando o modem detectar este sinal. Se a quebra for menor que 1,6 segundos, significa uma quebra de dados e cabe ao computador remoto responder a esse sinal. Às vezes essa forma de quebra é usada como um sinal de Atenção ou Interrupção e às vezes é aceita como um substituto para o caractere ASCII CONTROL-C.</para>
+
+	  <para>Marcas e espaços também são equivalentes a <quote>furos</quote> e <quote>sem furos</quote> em sistemas de fita de papel.</para>
+
+	  <note>
+	    <para>As quebras não podem ser geradas a partir da fita de papel ou de qualquer outro valor de byte, uma vez que os bytes são sempre enviados com bit Start e Stop. A UART geralmente é capaz de gerar o sinal de espaçamento contínuo em resposta a um comando especial do processador host.</para>
+	  </note>
+	</sect3>
+
+	<sect3>
+	  <title>Dispositivos RS232-C DTE e DCE</title>
+
+	  <para>A especificação RS232-C define dois tipos de equipamento: o Data Terminal Equipment (DTE) e o Data Carrier Equipment (DCE). Normalmente, o dispositivo DTE é o terminal (ou computador) e o DCE é um modem. Em toda a  linha telefônica, no outro extremo de uma conversa, o modem receptor também é um dispositivo DCE e o computador conectado a esse modem é um dispositivo DTE. O dispositivo DCE recebe sinais nos pinos que o dispositivo DTE transmite e vice-versa.</para>
+
+	  <para>Quando dois dispositivos DTE ou DCE devem ser conectados sem utilizar um modem ou um tradutor de mídia similar entre eles, um modem NULL deve ser usado. O modem NULL reorganiza eletricamente o cabeamento para que a saída do transmissor seja conectada à entrada do receptor no outro dispositivo e vice-versa. Traduções semelhantes são executadas em todos os sinais de controle, de modo que cada dispositivo veja o que acha que são sinais de DCE (ou DTE) do outro dispositivo.</para>
+
+	  <para>O número de sinais gerados pelos dispositivos DTE e DCE não é simétrico. O dispositivo DTE gera menos sinais para o dispositivo DCE do que o dispositivo DTE recebe do DCE.</para>
+	</sect3>
+
+	<sect3>
+	  <title>Atribuições de pinos RS232-C</title>
+
+	  <para>A especificação EIA RS232-C (e o equivalente ITU, V.24) requer um conector de vinte e cinco pinos (geralmente um DB25) e define a finalidade da maioria dos pinos nesse conector.</para>
+
+	  <para>No IBM Personal Computer e em sistemas semelhantes, um subconjunto de sinais RS232-C é fornecido por meio de conectores de nove pinos (DB9). Os sinais que não estão incluídos no conector do PC lidam principalmente com a operação síncrona, e esse modo de transmissão não é suportado pelo UART que a IBM selecionou para uso no IBM PC.</para>
+
+	  <para>Dependendo do fabricante do computador, um DB25, um DB9 ou ambos os tipos de conectores podem ser usados ​​para comunicações RS232-C. (O IBM PC também usa um conector DB25 para a interface de impressora paralela, o que causa alguma confusão.)</para>
+
+	  <para>Abaixo está uma tabela das atribuições de sinal RS232-C nos conectores DB25 e DB9.</para>
+
+	  <informaltable frame="none" pgwide="1">
+	    <tgroup cols="7">
+	      <thead>
+	        <row>
+		  <entry>Pinos DB25 RS232-C</entry> <entry>Pinos DB9 IBM PC</entry> <entry>Símbolo do Circuito EIA</entry>
+		  <entry>Símbolo do Circuito CCITT</entry> <entry>Nome Comum</entry> <entry>Fonte de sinal</entry>
+		  <entry>Descrição</entry>
+		</row>
+	      </thead>
+
+	      <tbody>
+		<row>
+		  <entry>1</entry>
+		  <entry>-</entry>
+		  <entry>AA</entry>
+		  <entry>101</entry>
+		  <entry>PG/FG</entry>
+		  <entry>-</entry>
+		  <entry>Quadro / aterramento de proteção</entry>
+		</row>
+
+		<row>
+		  <entry>2</entry>
+		  <entry>3</entry>
+		  <entry>BA</entry>
+		  <entry>103</entry>
+		  <entry>TD</entry>
+		  <entry>DTE</entry>
+		  <entry>Transmit Data</entry>
+		</row>
+
+		<row>
+		  <entry>3</entry>
+		  <entry>2</entry>
+		  <entry>BB</entry>
+		  <entry>104</entry>
+		  <entry>RD</entry>
+		  <entry>DCE</entry>
+		  <entry>Receive Data</entry>
+		</row>
+
+		<row>
+		  <entry>4</entry>
+		  <entry>7</entry>
+		  <entry>CA</entry>
+		  <entry>105</entry>
+		  <entry>RTS</entry>
+		  <entry>DTE</entry>
+		  <entry>Request to Send</entry>
+		</row>
+
+		<row>
+		  <entry>5</entry>
+		  <entry>8</entry>
+		  <entry>CB</entry>
+		  <entry>106</entry>
+		  <entry>CTS</entry>
+		  <entry>DCE</entry>
+		  <entry>Clear to Send</entry>
+		</row>
+
+		<row>
+		  <entry>6</entry>
+		  <entry>6</entry>
+		  <entry>CC</entry>
+		  <entry>107</entry>
+		  <entry>DSR</entry>
+		  <entry>DCE</entry>
+		  <entry>Data Set Ready</entry>
+		</row>
+
+		<row>
+		  <entry>7</entry>
+		  <entry>5</entry>
+		  <entry>AV</entry>
+		  <entry>102</entry>
+		  <entry>SG/GND</entry>
+		  <entry>-</entry>
+		  <entry>Signal Ground</entry>
+		</row>
+
+		<row>
+		  <entry>8</entry>
+		  <entry>1</entry>
+		  <entry>CF</entry>
+		  <entry>109</entry>
+		  <entry>DCD/CD</entry>
+		  <entry>DCE</entry>
+		  <entry>Data Carrier Detect</entry>
+		</row>
+
+		<row>
+		  <entry>9</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>Reserved for Test</entry>
+		</row>
+
+		<row>
+		  <entry>10</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>Reserved for Test</entry>
+		</row>
+
+		<row>
+		  <entry>11</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>Reserved for Test</entry>
+		</row>
+
+		<row>
+		  <entry>12</entry>
+		  <entry>-</entry>
+		  <entry>CI</entry>
+		  <entry>122</entry>
+		  <entry>SRLSD</entry>
+		  <entry>DCE</entry>
+		  <entry>Sec. Recv. Line Signal Detector</entry>
+		</row>
+
+		<row>
+		  <entry>13</entry>
+		  <entry>-</entry>
+		  <entry>SCB</entry>
+		  <entry>121</entry>
+		  <entry>SCTS</entry>
+		  <entry>DCE</entry>
+		  <entry>Secondary Clear to Send</entry>
+		</row>
+
+		<row>
+		  <entry>14</entry>
+		  <entry>-</entry>
+		  <entry>SBA</entry>
+		  <entry>118</entry>
+		  <entry>DST</entry>
+		  <entry>DTE</entry>
+		  <entry>Secondary Transmit Data</entry>
+		</row>
+
+		<row>
+		  <entry>15</entry>
+		  <entry>-</entry>
+		  <entry>DB</entry>
+		  <entry>114</entry>
+		  <entry>TSET</entry>
+		  <entry>DCE</entry>
+		  <entry>Trans. Sig. Element Timing</entry>
+		</row>
+
+		<row>
+		  <entry>16</entry>
+		  <entry>-</entry>
+		  <entry>SBB</entry>
+		  <entry>119</entry>
+		  <entry>SRD</entry>
+		  <entry>DCE</entry>
+		  <entry>Secondary Received Data</entry>
+		</row>
+
+		<row>
+		  <entry>17</entry>
+		  <entry>-</entry>
+		  <entry>DD</entry>
+		  <entry>115</entry>
+		  <entry>RSET</entry>
+		  <entry>DCE</entry>
+		  <entry>Receiver Signal Element Timing</entry>
+		</row>
+
+		<row>
+		  <entry>18</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>141</entry>
+		  <entry>LOOP</entry>
+		  <entry>DTE</entry>
+		  <entry>Local Loopback</entry>
+		</row>
+
+		<row>
+		  <entry>19</entry>
+		  <entry>-</entry>
+		  <entry>SCA</entry>
+		  <entry>120</entry>
+		  <entry>SRS</entry>
+		  <entry>DTE</entry>
+		  <entry>Secondary Request to Send</entry>
+		</row>
+
+		<row>
+		  <entry>20</entry>
+		  <entry>4</entry>
+		  <entry>CD</entry>
+		  <entry>108.2</entry>
+		  <entry>DTR</entry>
+		  <entry>DTE</entry>
+		  <entry>Data Terminal Ready</entry>
+		</row>
+
+		<row>
+		  <entry>21</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>RDL</entry>
+		  <entry>DTE</entry>
+		  <entry>Remote Digital Loopback</entry>
+		</row>
+
+		<row>
+		  <entry>22</entry>
+		  <entry>9</entry>
+		  <entry>CE</entry>
+		  <entry>125</entry>
+		  <entry>RI</entry>
+		  <entry>DCE</entry>
+		  <entry>Ring Indicator</entry>
+		</row>
+
+		<row>
+		  <entry>23</entry>
+		  <entry>-</entry>
+		  <entry>CH</entry>
+		  <entry>111</entry>
+		  <entry>DSRS</entry>
+		  <entry>DTE</entry>
+		  <entry>Data Signal Rate Selector</entry>
+		</row>
+
+		<row>
+		  <entry>24</entry>
+		  <entry>-</entry>
+		  <entry>DA</entry>
+		  <entry>113</entry>
+		  <entry>TSET</entry>
+		  <entry>DTE</entry>
+		  <entry>Trans. Sig. Element Timing</entry>
+		</row>
+
+		<row>
+		  <entry>25</entry>
+		  <entry>-</entry>
+		  <entry>-</entry>
+		  <entry>142</entry>
+		  <entry>-</entry>
+		  <entry>DCE</entry>
+		  <entry>Test Mode</entry>
+		</row>
+	      </tbody>
+	    </tgroup>
+	  </informaltable>
+	</sect3>
+      </sect2>
+
+      <sect2>
+	<title>Bits, Baud e Simbolos</title>
+
+	<para>Baud é uma medida de velocidade de transmissão em comunicação assíncrona. Devido aos avanços na tecnologia de comunicação por modem, esse termo é frequentemente mal utilizado na descrição das taxas de dados em dispositivos mais recentes.</para>
+
+	<para>Tradicionalmente, uma taxa de transmissão representa o número de bits que estão realmente sendo enviados pela mídia, não a quantidade de dados que é realmente movida de um dispositivo DTE para outro. A contagem de Baud inclui os bits de Start, Stop e Paridade que são gerados pelo UART de envio e removidos pelo UART de recebimento. Isso significa que palavras de dados de sete bits na verdade levam 10 bits para serem completamente transmitidas. Portanto, um modem capaz de mover 300 bits por segundo de um lugar para outro normalmente só pode mover 30 palavras de 7 bits se a Paridade for usada e um bit de Start e Stop estiver presente.</para>
+
+	<para>Se palavras de dados de 8 bits são usadas e bits de paridade também são usados, a taxa de dados cai para 27,27 palavras por segundo, porque agora leva 11 bits para enviar as palavras de oito bits, e o modem ainda envia apenas 300 bits por segundo.</para>
+
+	<para>A fórmula para converter bytes por segundo em uma taxa de transmissão e vice-versa era simples até que os modems de correção de erros apareceram. Esses modems recebem o fluxo serial de bits da UART no computador host (mesmo quando os modems internos são usados, os dados ainda são frequentemente serializados) e convertem os bits de volta em bytes. Esses bytes são então combinados em pacotes e enviados pela linha telefônica usando um método de transmissão síncrona. Isso significa que os bits de Stop, Start e Paridade adicionados pelo UART no DTE (o computador) foram removidos pelo modem antes da transmissão pelo modem de envio. Quando esses bytes são recebidos pelo modem remoto, o modem remoto adiciona bits de Start, Stop e paridade às palavras, converte-os em um formato serial e envia-os para o UART receptor no computador remoto, que retira o Start, Stop e bits de paridade.</para>
+
+	<para>A razão pela qual todas essas conversões extras são feitas é para que os dois modems possam executar a correção de erros, o que significa que o modem receptor pode solicitar ao modem de envio para reenviar um bloco de dados que não foi recebido com a soma de verificação correta. Essa verificação é feita pelos modems, e os dispositivos DTE geralmente não sabem que o processo está ocorrendo.</para>
+
+	<para>Ao separar os bits de Start, Stop e Paridade, os bits adicionais de dados que os dois modems devem compartilhar entre si para executar a correção de erros são praticamente ocultados da taxa de transmissão efetiva vista pelo equipamento DTE de envio e recebimento. Por exemplo, se um modem enviar dez palavras de 7 bits para outro modem sem incluir os bits Start, Stop e Paridade, o modem de envio poderá adicionar 30 bits de suas próprias informações que o modem receptor pode usar para corrigir erros. sem afetar a velocidade de transmissão dos dados reais.</para>
+
+	<para>O uso do termo Baud é ainda mais confuso pelos modems que executam compressão. Uma única palavra de 8 bits transmitida pela linha telefônica pode representar uma dúzia de palavras que foram transmitidas para o modem de envio. O modem de recebimento irá expandir os dados de volta ao seu conteúdo original e passar esses dados para o DTE de recebimento.</para>
+
+	<para>Os modems modernos também incluem buffers que permitem que a taxa na qual os bits se movem pela linha telefônica (do DCE para o DCE) seja uma velocidade diferente da velocidade que os bits se movem entre o DTE e o DCE em ambas as extremidades da conversação. Normalmente, a velocidade entre o DTE e o DCE é maior que a velocidade do DCE para o DCE devido ao uso de compactação pelos modems.</para>
+
+	<para>Como o número de bits necessários para descrever um byte variou durante a viagem entre as duas máquinas, mais as diferentes velocidades de bits por segundo usadas nos links DTE-DCE e DCE-DCE, o uso do termo Baud para descrever a velocidade geral de comunicação causa problemas e pode deturpar a velocidade real de transmissão. Então Bits Por Segundo (bps) é o termo correto a ser usado para descrever a taxa de transmissão na interface DCE para DCE e Baud ou Bits Por Segundo são termos aceitáveis ​​para uso quando uma conexão é feita entre dois sistemas com uma conexão com fio ou se estiver em uso um modem que não esteja executando correção de erros ou compactação.</para>
+
+	<para>Os modernos modems de alta velocidade (2400, 9600, 14.400 e 19.200bps) na realidade ainda operam a 2400 ou abaixo de 2400 baud, ou mais precisamente, 2400 símbolos por segundo. O modem de alta velocidade é capaz de codificar mais bits de dados em cada Symbol usando uma técnica chamada Constellation Stuffing, é por isso que a taxa efetiva de bits por segundo do modem é maior, mas o modem continua a operar dentro da largura de banda limitada de áudio que o sistema telefônico fornece. Modems operando a 28.800 e velocidades mais altas têm taxas variáveis ​​de Symbol, mas a técnica é a mesma.</para>
+      </sect2>
+
+      <sect2>
+	<title>O computador pessoal IBM e o UART</title>
+
+	<para>Começando com o IBM Personal Computer original, a IBM selecionou o National Semiconductor INS8250 UART para uso no adaptador IBM PC Paralelo/Serial. Gerações subsequentes de computadores compatíveis da IBM e de outros fornecedores continuaram a usar o INS8250 ou versões aprimoradas da família UART da National Semiconductor.</para>
+
+	<sect3>
+	  <title>Árvore Genealógica da National Semiconductor UART</title>
+
+	  <para>Houve várias versões e gerações subseqüentes do INSART50 UART. Cada versão principal está descrita abaixo.</para>
+
+	    <!-- This should really be a graphic -->
+	  <programlisting>INS8250  -> INS8250B
+  \
+   \
+    \-> INS8250A -> INS82C50A
+             \
+              \
+               \-> NS16450 -> NS16C450
+                        \
+                         \
+                          \-> NS16550 -> NS16550A -> PC16550D</programlisting>
+
+	  <variablelist>
+	    <varlistentry>
+	      <term>INS8250</term>
+
+	      <listitem>
+		<para>Esta parte foi usada no IBM PC original e no IBM PC/XT. O nome original para esta parte era o INS8250 ACE (Elemento de Comunicação Assíncrona) e ele era feito com tecnologia NMOS.</para>
+
+		<para>O 8250 usa oito portas de I/O e tem um envio de um byte e um buffer de recebimento de um byte. Esta UART original tem várias "race conditions" e outras falhas. O IBM BIOS original incluia código para contornar essas falhas, mas isso tornava o BIOS dependente das falhas estarem presentes, portanto, componentes subsequentes como o 8250A, 16450 ou 16550 não podiam ser usados no IBM PC original ou no IBM PC/XT.</para>
+	      </listitem>
+	    </varlistentry>
+
+	    <varlistentry>
+	      <term>INS8250-B</term>
+
+	      <listitem>
+		<para>Esta é a velocidade mais lenta do INS8250 feito a partir da tecnologia NMOS. Ele contém os mesmos problemas que o INS8250 original.</para>
+	      </listitem>
+	    </varlistentry>
+
+	    <varlistentry>
+	      <term>INS8250A</term>
+
+	      <listitem>
+		<para>Uma versão melhorada do INS8250 usando a tecnologia XMOS com várias falhas funcionais corrigidas. O INS8250A foi usado inicialmente em computadores clones de PC por fornecedores que usavam projetos de BIOS <quote>limpos</quote>. Devido às correções no chip, este componente não pode ser usado com um BIOS compatível com o INS8250 ou o INS8250B.</para>
+	      </listitem>
+	    </varlistentry>
+
+	    <varlistentry>
+	      <term>INS82C50A</term>
+
+	      <listitem>
+		<para>Esta é uma versão CMOS (baixo consumo de energia) do INS8250A e possui características funcionais semelhantes.</para>
+	      </listitem>
+	    </varlistentry>
+
+	    <varlistentry>
+	      <term>NS16450</term>
+
+	      <listitem>
+		<para>O mesmo que o NS8250A com melhorias para que possa ser usado com projetos de barramento de CPU mais rápidos. A IBM usou esse componente no IBM AT e atualizou o IBM BIOS para não depender mais dos erros no INS8250.</para>
+              </listitem>
+	    </varlistentry>
+
+	    <varlistentry>
+	      <term>NS16C450</term>
+
+	      <listitem>
+		<para>Esta é uma versão CMOS (baixo consumo de energia) do NS16450.</para>
+              </listitem>
+	    </varlistentry>
+
+	    <varlistentry>
+	      <term>NS16550</term>
+
+	      <listitem>
+		<para>O mesmo que NS16450 com um buffer de envio e recebimento de 16 bytes, mas o design do buffer era falho e não podia ser usado com segurança.</para>
+	      </listitem>
+	    </varlistentry>
+
+	    <varlistentry>
+	      <term>NS16550A</term>
+
+	      <listitem>
+		<para>O mesmo que NS16550 com as falhas de buffer corrigidas. O 16550A e seus sucessores se tornaram o projeto UART mais popular na indústria de PCs, principalmente devido à sua capacidade de lidar de forma confiável com taxas de dados mais altas em sistemas operacionais com tempos de resposta de interrupção lentos.</para>
+	      </listitem>
+	    </varlistentry>
+
+	    <varlistentry>
+	      <term>NS16C552</term>
+
+	      <listitem>
+		<para>Este componente consiste em dois UARTs CMOS NS16C550A em um único chip.</para>
+	      </listitem>
+	    </varlistentry>
+
+	    <varlistentry>
+	      <term>PC16550D</term>
+
+	      <listitem>
+		<para>O mesmo que NS16550A com falhas sutis corrigidas. Esta é a revisão D da família 16550 e é o mais recente projeto disponível da National Semiconductor.</para>
+	      </listitem>
+	    </varlistentry>
+	  </variablelist>
+	</sect3>
+
+	<sect3>
+	  <title>O NS16550AF e o PC16550D são a mesma coisa</title>
+
+	  <para>A National reorganizou seu sistema de numeração de peças há alguns anos e o NS16550AFN não existe mais com esse nome. (Se você tiver um NS16550AFN, observe o código de data da peça, que é um número de quatro dígitos que geralmente começa com nove. Os dois primeiros dígitos do número são o ano, e os dois últimos dígitos são a semana do ano em que a peça foi fabricada. Se você tem um NS16550AFN, ele provavelmente tem alguns anos.)</para>
+
+	  <para>Os novos números são como PC16550DV, com pequenas diferenças nas letras de sufixo, dependendo do material da embalagem e sua forma. (Uma descrição do sistema de numeração pode ser encontrada abaixo.)</para>
+
+	  <para>É importante entender que em algumas lojas, você pode pagar US$ 15 por um NS16550AFN fabricado em 1990 e no próximo bin encontrar as novas peças PC16550DN com pequenas correções que o National fez desde que a peça AFN estava em produção, o PC16550DN foi provavelmente feito nos últimos seis meses e custa metade (tão baixo quanto US$ 5 se comprado em volume) do NS16550AFN porque ele está prontamente disponível.</para>
+
+	  <para>Como o fornecimento de chips NS16550AFN continua encolhendo, o preço provavelmente continuará aumentando até que mais pessoas descubram e aceitem que o PC16550DN realmente tem a mesma função que o número de peça antigo.</para>
+	</sect3>
+
+	<sect3>
+	  <title>Sistema de Numeração de Peças da National Semiconductor</title>
+
+	  <para>Os números de peça mais antigos NS<replaceable>nnnnnrqp</replaceable> agora são do formato PC<replaceable>nnnnnrgp</replaceable>.</para>
+
+	  <para>O <replaceable>r</replaceable> é o campo de revisão. A revisão atual do 16550 da National Semiconductor é <literal>D</literal>.</para>
+
+	  <para>O <replaceable>p</replaceable> é o campo que define o tipo de encapsulamento. Os tipos são:</para>
+
+	  <informaltable frame="none" pgwide="1">
+	    <tgroup cols="3">
+	      <tbody>
+		<row>
+		  <entry>"F"</entry>
+		  <entry>QFP</entry>
+		  <entry>(quad flat pack) L lead type</entry>
+		</row>
+
+		<row>
+		  <entry>"N"</entry>
+		  <entry>DIP</entry>
+		  <entry>(dual inline package) through hole straight lead type</entry>
+		</row>
+
+		<row>
+		  <entry>"V"</entry>
+		  <entry>LPCC</entry>
+		  <entry>(lead plastic chip carrier) J lead type</entry>
+		</row>
+	      </tbody>
+	    </tgroup>
+	  </informaltable>
+
+	  <para>O <replaceable>g</replaceable> é o campo de classificação do produto. Se um <literal>I</literal> precede a letra do tipo de encapsulamento, ele indica uma parte de classe <quote>industrial</quote>, que possui especificações mais altas que uma parte padrão, mas não tão alta quanto o componente Especificação Militar (Milspec) . Este é um campo opcional.</para>
+
+	  <para>Então, o que costumávamos chamar de NS16550AFN (Pacote DIP) agora é chamado de PC16550DN ou PC16550DIN.</para>
+        </sect3>
+      </sect2>
+
+      <sect2>
+	<title>Outros fornecedores e UARTs semelhantes</title>
+
+	<para>Ao longo dos anos, o 8250, o 8250A, o 16450 e o 16550 foram licenciados ou copiados por outros fornecedores de chips. No caso do 8250, 8250A e 16450, o circuito exato (o <quote>megacell</quote>) foi licenciado para muitos fornecedores, incluindo a Western Digital e a Intel. Outros fornecedores realizaram engenharia reversa da peça ou produziram emulações que tiveram comportamento semelhante.</para>
+
+	<para>Nos modems internos, o projetista de modem freqüentemente emula o 8250A/16450 com o microprocessador de modem, e o UART emulado frequentemente terá um buffer oculto que consiste em várias centenas de bytes. Por causa do tamanho do buffer, essas emulações podem ser tão confiáveis ​​quanto uma 16550A em sua capacidade de lidar com dados de alta velocidade. No entanto, a maioria dos sistemas operacionais ainda relatará que o UART é apenas um 8250A ou 16450, e pode não fazer uso efetivo do buffer extra presente no UART emulado, a menos que drivers especiais sejam usados.</para>
+
+	<para>Alguns fabricantes de modem são motivados pelas forças do mercado a abandonar um design que possui centenas de bytes de buffer e, em vez disso, usam uma UART 16550A para que o produto compare favoravelmente nas comparações de mercado, embora o desempenho efetivo possa ser reduzido por essa ação.</para>
+
+	<para>Um equívoco comum é que todas as partes com <quote>16550A</quote> escritas nelas são idênticas no desempenho. Existem diferenças e, em alguns casos, falhas definitivas na maioria desses clones 16550A.</para>
+
+	<para>Quando o NS16550 foi desenvolvido, a National Semiconductor obteve várias patentes sobre o projeto e também limitou o licenciamento, tornando mais difícil para outros fornecedores fornecer um chip com características semelhantes. Por causa das patentes, projetos de engenharia reversa e emulações tiveram que evitar infringir as reivindicações cobertas pelas patentes. Posteriormente, essas cópias quase nunca funcionam exatamente da mesma forma que a NS16550A ou a PC16550D, que são as peças que a maioria dos fabricantes de computadores e modems deseja comprar, mas às vezes não estão dispostas a pagar o preço necessário para obter a peça genuína.</para>
+
+	<para>Algumas das diferenças nas peças do clone 16550A não são importantes, enquanto outras podem impedir que o dispositivo seja usado com um determinado sistema operacional ou driver. Essas diferenças podem aparecer ao usar outros drivers ou quando ocorrem determinadas combinações de eventos que não foram bem testadas ou consideradas no driver <trademark class="registered">Windows</trademark>. Isso ocorre porque a maioria dos fornecedores de modem e de fabricantes de clones do 16550 usam os drivers da Microsoft do <trademark class="registered">Windows</trademark> para Workgroups 3.11 e <trademark class="registered">Microsoft</trademark> <trademark class="registered">MS-DOS</trademark> como o principal teste de compatibilidade com o NS16550A. Esse critério excessivamente simplista e significa que se um sistema operacional diferente for usado, poderão surgir problemas devido a diferenças sutis entre os clones e os componentes genuínos.</para>
+
+	<para>A National Semiconductor disponibilizou um programa chamado <application>COMTEST</application> que realiza testes de compatibilidade independentemente de qualquer driver do sistema operacional. Deve ser lembrado que o propósito deste tipo de programa é demonstrar as falhas nos produtos dos concorrentes, de modo que o programa reportará diferenças importantes e extremamente sutis no comportamento da peça que está sendo testada.</para>
+
+	<para>Em uma série de testes realizados pelo autor deste documento em 1994, componentes fabricados pela National Semiconductor, TI, StarTech e CMD, bem como megacells e emulações incorporadas em modems internos foram testados com o COMTEST. Uma contagem de diferença para alguns desses componentes está listada abaixo. Como esses testes foram realizados em 1994, eles podem não refletir o desempenho atual do produto de um determinado fornecedor.</para>
+
+	<para>Deve-se notar que o COMTEST normalmente aborta quando um número excessivo ou certos tipos de problemas são detectados. Como parte desse teste, o COMTEST foi modificado para não abortar, independentemente de quantas diferenças fossem encontradas.</para>
+
+	  <informaltable frame="none" pgwide="1">
+	    <tgroup cols="3">
+	      <thead>
+		<row>
+		  <entry>Fornecedor</entry>
+		  <entry>Número da peça</entry>
+		  <entry>Erros (também conhecidos como "diferenças")</entry>
+		</row>
+	      </thead>
+
+	      <tbody>
+		<row>
+		  <entry>National</entry>
+		  <entry>(PC16550DV)</entry>
+		  <entry>0</entry>
+		</row>
+
+		<row>
+		  <entry>National</entry>
+		  <entry>(NS16550AFN)</entry>
+		  <entry>0</entry>
+		</row>
+
+		<row>
+		  <entry>National</entry>
+		  <entry>(NS16C552V)</entry>
+		  <entry>0</entry>
+		</row>
+
+		<row>
+		  <entry>TI</entry>
+		  <entry>(TL16550AFN)</entry>
+		  <entry>3</entry>
+		</row>
+
+		<row>
+		  <entry>CMD</entry>
+		  <entry>(16C550PE)</entry>
+		  <entry>19</entry>
+		</row>
+
+		<row>
+		  <entry>StarTech</entry>
+		  <entry>(ST16C550J)</entry>
+		  <entry>23</entry>
+		</row>
+
+		<row>
+		  <entry>Rockwell</entry>
+		  <entry>Modem de referência com 16550 interno ou uma emulação (RC144DPi / C3000-25)</entry>
+		  <entry>117</entry>
+		</row>
+
+		<row>
+		  <entry>Sierra</entry>
+		  <entry>Modem com um 16550 interno (SC11951/SC11351)</entry>
+		  <entry>91</entry>
+		</row>
+	      </tbody>
+	    </tgroup>
+	  </informaltable>
+
+	<note>
+	  <para>Até o momento, o autor deste documento não encontrou nenhuma peça não-National que relate diferença zero usando o programa COMTEST. Também deve ser notado que a National teve cinco versões do 16550 ao longo dos anos e as partes mais novas se comportam de maneira um pouco diferente do NS16550AFN clássico que é considerado o benchmark para funcionalidade. O COMTEST parece fechar os olhos para as diferenças dentro da linha de produto da National e não relata nenhum erro nas peças da National (exceto para o original 16550) mesmo quando há erratas oficiais que descrevem erros nas revisões A, B e C das partes, então este viés no COMTEST deve ser levado em consideração.</para>
+	</note>
+
+	<para>É importante entender que uma simples contagem de diferenças do COMTEST não revela muito sobre quais diferenças são importantes e quais não são. Por exemplo, cerca de metade das diferenças relatadas nos dois modems listados acima que têm UARTs internas foram causadas pelos clones UARTs que não suportam modos de caractere de cinco e seis bits. Todos os UARTs 16550, 16450 e 8250 reais suportam esses modos e o COMTEST verifica a funcionalidade desses modos, de modo que mais de cinquenta diferenças são relatadas. No entanto, quase nenhum modem moderno suporta caracteres de cinco ou seis bits, particularmente aqueles com recursos de correção de erros e compressão. Isso significa que as diferenças relacionadas aos modos de caractere de cinco e seis bits podem ser desconsideradas.</para>
+
+	<para>Muitas das diferenças que o COMTEST reporta têm a ver com o tempo. Em muitos projetos de clones, quando o host lê de uma porta, os bits de status em alguma outra porta podem não ser atualizados na mesma quantidade de tempo (alguns mais rápidos, alguns mais lentos) que um NS16550AFN <emphasis>real</emphasis> e o COMTEST procura por essas diferenças. Isso significa que o número de diferenças pode ser enganoso, pois um dispositivo pode ter apenas uma ou duas diferenças, mas elas serem extremamente sérias, e algum outro dispositivo que atualiza o status de registro mais rápido ou mais devagar que a peça de referência (que provavelmente nunca afetaria o operação de um driver devidamente escrito) poderia ter dezenas de diferenças relatadas.</para>
+
+	<para>O COMTEST pode ser usado como uma ferramenta de triagem para alertar o administrador sobre a presença de componentes potencialmente incompatíveis que podem causar problemas ou que precisam ser tratados como um caso especial.</para>
+
+	<para>Se você executar o COMTEST em um 16550 que esteja em um modem ou se um modem estiver conectado à porta serial, será necessário primeiro emitir um comando ATE0&W para o modem para que o modem não faça eco de nenhum dos caracteres de teste. Se você esquecer de fazer isso, o COMTEST informará pelo menos essa diferença:</para>
+
+	<screen>Error (6)...Timeout interrupt failed: IIR = c1  LSR = 61</screen>
+      </sect2>
+
+      <sect2>
+	<title>Registradores 8250/16450/16550</title>
+
+	<para>O UART 8250/16450/16550 ocupa oito endereços contíguos de porta de I/O. No IBM PC, há dois locais definidos para essas oito portas e eles são conhecidos coletivamente como <filename>COM1</filename> e <filename>COM2</filename>. Os fabricantes de PC-clones e placas adicionais criaram duas áreas adicionais conhecidas como <filename>COM3</filename> e <filename>COM4</filename>, mas essas portas COM extras entram em conflito com outro hardware em alguns sistemas. O conflito mais comum é com adaptadores de vídeo que fornecem emulação IBM 8514.</para>
+
+	<para>A <filename>COM1</filename> está localizada de 0x3f8 a 0x3ff e normalmente usa o IRQ 4. A <filename>COM2</filename> está localizada de 0x2f8 a 0x2ff e normalmente usa IRQ 3. A <filename>COM3</filename> está localizada de 0x3e8 a 0x3ef e não tem IRQ padronizado. A <filename>COM4</filename> está localizada de 0x2e8 a 0x2ef e não tem IRQ padronizado.</para>
+
+	<para>Uma descrição das portas I/O da UART 8250/16450/16550 é fornecida abaixo.</para>
+
+        <informaltable frame="none" pgwide="1">
+	  <tgroup cols="3">
+	    <thead>
+	      <row>
+		<entry>Porta I/O</entry>
+		<entry>Acesso permitido</entry>
+		<entry>Descrição</entry>
+	      </row>
+	    </thead>
+
+	    <tbody>
+	      <row>
+		<entry>+0x00</entry>
+		<entry>write (DLAB==0)</entry>
+		<entry><para>Transmit Holding Register (THR).</para><para>As informações gravadas nessa porta são tratadas como palavras de dados e serão transmitidas pela UART.</para></entry>
+	      </row>
+
+	      <row>
+		<entry>+0x00</entry>
+		<entry>read (DLAB==0)</entry>
+		<entry><para>Receive Buffer Register (RBR).</para><para>Quaisquer palavras de dados recebidas pelo UART a partir do link serial são acessadas pelo host lendo esta porta.</para></entry>
+	      </row>
+
+	      <row>
+		<entry>+0x00</entry>
+		<entry>write/read (DLAB==1)</entry>
+		<entry><para>Divisor Latch LSB (DLL)</para><para>Este valor será dividido a partir do clock de entrada principal (no IBM PC, o clock principal é 1.8432MHz) e o clock resultante determinará a taxa de transmissão do UART. Este registrador contém os bits de 0 a 7 do divisor.</para></entry>
+	      </row>
+
+	      <row>
+		<entry>+0x01</entry>
+		<entry>write/read (DLAB==1)</entry>
+		<entry><para>Divisor Latch MSB (DLH)</para><para>Este valor será dividido a partir do clock de entrada principal (no IBM PC, o clock principal é 1.8432MHz) e o clock resultante determinará a taxa de transmissão do UART. Este registrador contém os bits 8 a 15 do divisor.</para></entry>
+	      </row>
+
+	      <row>
+		<entry>+0x01</entry>
+		<entry>write/read (DLAB==0)</entry>
+		<entrytbl cols="2">
+		  <colspec colnum="1" colname="col1"/>
+		  <colspec colnum="2" colname="col2"/>
+		  <spanspec namest="col1" nameend="col2" spanname="1to2"/>
+
+		  <tbody>
+		    <row>
+			<entry spanname="1to2"><para>Interrupt Enable Register (IER)</para><para>A UART 8250/16450/16550 classifica os eventos em uma de quatro categorias. Cada categoria pode ser configurada para gerar uma interrupção quando qualquer um dos eventos ocorrer. A UART 8250/16450/16550 gera um único sinal de interrupção externa, independentemente de quantos eventos nas categorias ativadas ocorreram. Cabe ao processador host responder à interrupção e depois pesquisar as categorias de interrupção ativadas (geralmente todas as categorias têm interrupções ativadas) para determinar a(s) causa(s) verdadeira(s) da interrupção.</para></entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 7</entry>
+		      <entry>Reserved, always 0.</entry>
+		    </row>
+
+		    <row>
+		      <entry>6 bits</entry>
+		      <entry>Reserved, always 0.</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 5</entry>
+		      <entry>Reserved, always 0.</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 4</entry>
+		      <entry>Reserved, always 0.</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 3</entry>
+		      <entry>Ativa o Modem Status Interrupt (EDSSI). Definir esse bit como "1" permite que o UART gere uma interrupção quando ocorrer uma alteração em uma ou mais das linhas de status.</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 2</entry>
+		      <entry>Ativa a interrupção de status da linha receptora (ELSI) Configurar este bit como "1" faz com que o UART gere uma interrupção quando um erro (ou um sinal BREAK) for detectado nos dados de entrada.</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 1</entry>
+		      <entry>Ativa a Interrupção Vazia do Registro de Holding do Transmissor (ETBEI) Configurar este bit como "1" faz com que o UART gere uma interrupção quando o UART tiver espaço para um ou mais caracteres adicionais que serão transmitidos.</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 0</entry>
+		      <entry>Ativar a Interrupção Disponível de Dados Recebidos (ERBFI) Configurar este bit para "1" faz com que o UART gere uma interrupção quando o UART tiver recebido caracteres suficientes para exceder o nível de disparo do FIFO, ou o temporizador FIFO tiver expirado (dados antigos) ou um único caractere tiver sido recebido quando o FIFO está desativado.</entry>
+		    </row>
+		  </tbody>
+		</entrytbl>
+	      </row>
+
+	      <row>
+		<entry>+0x02</entry>
+		<entry>write</entry>
+		<entrytbl cols="4">
+		  <colspec colnum="1" colname="col1"/>
+		  <colspec colnum="2" colname="col2"/>
+		  <colspec colnum="3" colname="col3"/>
+		  <colspec colnum="4" colname="col4"/>
+		  <spanspec namest="col1" nameend="col4" spanname="1to4"/>
+		  <spanspec namest="col2" nameend="col4" spanname="2to4"/>
+
+		  <tbody>
+		    <row>
+		      <entry spanname="1to4">Registro de Controle FIFO (FCR) (Esta porta não existe no UART 8250 e 16450).</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 7</entry>
+		      <entry spanname="2to4">Receiver Trigger Bit #1</entry>
+		    </row>
+
+		    <row>
+		      <entry>6 bits</entry>
+		      <entry spanname="2to4"><para>Trigger do Receptor Bit #0</para><para>Esses dois bits controlam em que ponto o receptor deve gerar uma interrupção quando o FIFO está ativo.</para></entry>
+		    </row>
+
+		    <row>
+		      <entry colname="col2">7</entry>
+		      <entry colname="col3">6</entry>
+		      <entry colname="col4">Quantas palavras são recebidas antes que uma interrupção seja gerada</entry>
+		    </row>
+
+		    <row>
+		      <entry colname="col2">0</entry>
+		      <entry colname="col3">0</entry>
+		      <entry colname="col4">1</entry>
+		    </row>
+
+		    <row>
+		      <entry colname="col2">0</entry>
+		      <entry colname="col3">1</entry>
+		      <entry colname="col4">4</entry>
+		    </row>
+
+		    <row>
+		      <entry colname="col2">1</entry>
+		      <entry colname="col3">0</entry>
+		      <entry colname="col4">8</entry>
+		    </row>
+
+		    <row>
+		      <entry colname="col2">1</entry>
+		      <entry colname="col3">1</entry>
+		      <entry colname="col4">14</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 5</entry>
+		      <entry spanname="2to4">Reserved, always 0.</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 4</entry>
+		      <entry spanname="2to4">Reserved, always 0.</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 3</entry>
+		      <entry spanname="2to4">DMA Mode Select. Se o Bit 0 for ajustado para "1" (FIFOs habilitado), a configuração deste bit altera a operação dos sinais -RXRDY e -TXRDY do Modo 0 para o Modo 1.</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 2</entry>
+		      <entry spanname="2to4">Transmit FIFO Reset. Quando um "1" é gravado neste bit, o conteúdo do FIFO é descartado. Qualquer palavra atualmente sendo transmitida será enviada intacta. Esta função é útil para anular transferências.</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 1</entry>
+		      <entry spanname="2to4">Receiver FIFO Reset. Quando um "1" é gravado neste bit, o conteúdo do FIFO é descartado. Qualquer palavra atualmente montada no registrador de turno será recebida intacta.</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 0</entry>
+		      <entry spanname="2to4">16550 FIFO Enable. Quando configurado, os FIFOs de transmissão e recepção estão ativados. Qualquer conteúdo no registro de espera, registradores de deslocamento ou FIFOs são perdidos quando as FIFOs são ativadas ou desativadas.</entry>
+		    </row>
+		  </tbody>
+		</entrytbl>
+	      </row>
+
+	      <row>
+		<entry>+0x02</entry>
+		<entry>read</entry>
+		<entrytbl cols="6">
+		  <colspec colnum="1" colname="col1"/>
+		  <colspec colnum="2" colname="col2"/>
+		  <colspec colnum="3" colname="col3"/>
+		  <colspec colnum="4" colname="col4"/>
+		  <colspec colnum="5" colname="col5"/>
+		  <colspec colnum="6" colname="col6"/>
+		  <spanspec namest="col1" nameend="col6" spanname="1to6"/>
+		  <spanspec namest="col2" nameend="col6" spanname="2to6"/>
+
+		  <tbody>
+		    <row>
+		      <entry spanname="1to6">Registro de identificação de interrupção</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 7</entry>
+		      <entry spanname="2to6">FIFOs habilitado. No 8250/16450 UART, esse bit é zero.</entry>
+		    </row>
+
+		    <row>
+		      <entry>6 bits</entry>
+		      <entry spanname="2to6">FIFOs habilitado. No 8250/16450 UART, esse bit é zero.</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 5</entry>
+		      <entry spanname="2to6">Reserved, always 0.</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 4</entry>
+		      <entry spanname="2to6">Reserved, always 0.</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 3</entry>
+		      <entry spanname="2to6">ID de Interrupção Bit #2. No 8250/16450 UART, esse bit é zero.</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 2</entry>
+		      <entry spanname="2to6">ID de Interrupção Bit #1</entry>
+		    </row>
+
+		    <row>
+		      <entry>Bit 1</entry>
+		      <entry spanname="2to6">ID de Interrupção Bit #0.Esses três bits se combinam para relatar a categoria de evento que causou a interrupção que está em andamento. Essas categorias têm prioridades, portanto, se várias categorias de eventos ocorrerem ao mesmo tempo, a UART relatará os eventos mais importantes primeiro e o host precisará resolver os eventos na ordem em que forem relatados. Todos os eventos que causaram a interrupção atual devem ser resolvidos antes que novas interrupções sejam geradas. (Esta é uma limitação da arquitetura do PC.)</entry>
+		    </row>
+
+		    <row>
+		      <entry colname="col2">2</entry>
+		      <entry colname="col3">1</entry>
+		      <entry colname="col4">0</entry>
+		      <entry colname="col5">Prioridade</entry>
+		      <entry colname="col6">Descrição</entry>
+		    </row>
+
+		    <row>
+		      <entry colname="col2">0</entry>
+		      <entry colname="col3">1</entry>
+		      <entry colname="col4">1</entry>
+		      <entry colname="col5">Primeiro</entry>
+		      <entry colname="col6">Received Error (OE, PE, BI, or FE)</entry>
+		    </row>
+
+		    <row>
+		      <entry colname="col2">0</entry>
+		      <entry colname="col3">1</entry>
+		      <entry colname="col4">0</entry>
+		      <entry colname="col5">Segundo</entry>
+		      <entry colname="col6">Dados Recebidos Disponíveis</entry>
+		    </row>
+
+		    <row>
+		      <entry colname="col2">1</entry>
+		      <entry colname="col3">1</entry>
+		      <entry colname="col4">0</entry>
+		      <entry colname="col5">Segundo</entry>
+		      <entry colname="col6">Identificação do nível de gatilho (dados obsoletos no buffer de recebimento)</entry>
+		    </row>
+

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-doc-all mailing list