Como RS232 obras : RS232 define um protocolo que detalhes como uma sequência de bits de dados issequentially transmitido em um fio, isto é, um fluxo de bits. A ordem e o Significado de cada bit são definidos pelo protocolo. A explicação simples abaixo é suficiente para entender o RS232 – não há necessidade de ler um grande manual!,
RS232 é um padrão de Protocolo de transferência de informação serial que define tanto o protocolo (método de transmissão de dados) quanto o hardware físico para fazê-lo. Este documento descreve como ele funciona no nível físico para que você saiba que Sinais Você pode esperar para ver nos pinos de controle temático.o que é o RS232?,
Fundamentalmente, é um método de transferência de dados através de um único fio (youneed dois fios para obter dados de volta uma vez que cada fio de transferências de dados em um directiononly):
trata-se de um método (ou protocolo – um padrão acordado) que define como totransfer de dados entre dois dispositivos usando alguns fios. Ele usa um método de transmissão em série onde bytes de dados são produzidos um bit de cada vez em um fio único.
os dados são transmitidos apenas numa direcção para cada fio, de modo que para a comunicação bidireccional (duas direcções) é necessário utilizar dois fios., Então este não é um sistema de comunicação lan multidrop como RS485, mas um protocolo ponto-a-ponto.
estes dois, juntamente com uma referência ao solo (total: três fios) compõem a configuração do ínímum com a qual se pode escapar.
Nota: para uma comunicação mais fiável, poderá ter de usar outras ligações definidas no RS232standard, como DTR DTT etc. sinais de aperto de mão etc.
esta secção descreve como o RS232 funciona em geral sem descrever os métodos de aperto de mão – apenas o sistema mais simples é descrito – isto é o mais útil e o mais provável de funcionar!.
Handshake signals need extra level translation hardware (an RS232chip with more I/O) and although simple are not typically required forPC to development board operation. Você pode precisar deles para sistemas que estão controlando vários dispositivos onde você pode precisar parar temporariamente de uma unidade. Há uma seção sobre sinais de aperto de mão mais tarde neste documento.,
os dados são transmitidos serialmente em uma direção sobre um par de fios. Datagoing Out é rotulado Tx (indicando transmissão) enquanto os dados que vêm em islabeled Rx (indicando recepção). Para criar um sistema de comunicação de duas vias aminimum de três fios são necessários Tx, Rx e GND (terra). Cruzando Tx & Rx entre os dois sistemas permite que cada unidade fale com a unidade oposta.
cada byte pode ser transmitido a qualquer momento (desde que o byte anterior tenha sido transmitido). O byte transmitido não é sincronizado com o receptor-é um protocolo assíncrono ou seja, não há sinal de clock. Para este reasonsoftware em cada extremidade do link de comunicação deve ser configurado exatamente o sameso que cada chip de decodificador serial pode descodificar o fluxo de dados serial.
nota: a inversão do nível do sinal (lógica 1is-12V e lógica 0 é +12V).,
taxa de Baud
como RS232 funciona na relação entre taxa de baud e frequência Signal.
a taxa deaud é simplesmente a velocidade de transmissão medida em bits por second.It define a frequência de cada período de bits.
para uma taxa de auditoria de 2400 (2400 bps) a frequência é de 2400Hz e o período de bits é de 1/2400 ou 416,6 us. Esta é a informação que um receptor usa para recuperar os bits do fluxo de dados.,
How RS232 Works – Voltagelevels
To make it work over long cables high voltages are sent from eachtransmitter since due to cable resistance the voltage reduces the further thesignal has to travel. A especificação de tensão de saída é de +5V a + 25V (transmitindo um zero lógico) e-5V a-25V (transmitindo um lógico).Nota: Todos os sinais do cabo têm de gerar os mesmos níveis de tensão, por exemplo, DTR, DSR, RTS, CTS. Então você precisa de um monte de chips de tradutor nível para uma fullinterface, mas para distâncias muito curtas você só precisa TX, RX e terra.,
A tensão máxima de ± 25V não tem de ser utilizada e uma voltagem comum em uso é de ±12V (saída pelo chip transceptor MAX232).
A mark (logical one) is sent as-12V and a space (logical zero) is sent as+12V i.e. the logic sense is inverted.
Nota: o facto de existirem altas tensões nos dispositivos de permutação de portas seriais que normalmente não se espera encontrar nele. Mas têm de desenhar muito pouca corrente.
níveis de tensão do receptor
no receptor a entrada os níveis mínimos de tensão são definidos como ±3V., para receber a lógica zero, a tensão deve ser superior a 3V e, para receber uma lógica, a tensão deve ser inferior a-3V. isto permite perdas à medida que o sinal percorre o cabo e proporciona imunidade sonora, ou seja, qualquer ruído espúrio até um nível de ±3V pode ser tolerado sem que tenha qualquer efeito no receptor.
How RS232 works – TheRS232 Start Bit
the protocol is described as assynchronous as there is no clock transmittedat all. Em vez disso, um método diferente de recuperação de relógio é usado.,
no início de cada transmissão, um bit inicial é transmitido indicando ao receptor que um byte de dados está prestes a seguir. Uma vez que o estado inactivo das linhas RS232 é baixo (-12V) para sinalizar uma condição de arranque, a linha é definida como alta(+12V) para um período de 1 bit. Isto significa que uma transição na linha é sempre gerada de modo que um receptor sabe quando a primeira borda dos dados burstoccurs.
O bit inicial permite que o receptor sincronize com os bits de dados, uma vez que ele pode ver a borda ascendente do sinal na linha., O que isso significa é que o receptor pode criar seu próprio relógio de amostra no meio de cada bit – para decidir se o bit é realmente um dado zero ou dados um.
Uma vez que o bit inicial é encontrado, o receptor sabe onde os kits seguintes serão como é dado o período de amostra (derivado da taxa de baud) como parte do processo de inicialização. É por isso que você deve definir as mesmas configurações no receptor e no hardware transmissor, ou seja, taxa de baud, número de bits de parada, número de bits de dados, e bit de paridade (ligado ou desligado)., Se não o fizer, normalmente não acontecerá nada – ou verá rubbishcharacters no receptor.
How RS232 works – The Databits
Data bits follow the start bit. Normalmente haverá sete ou oito bases de dados com o lsb transmitido primeiro. A razão pela qual você pode escolher entre sete oreight é que ASCII é composto do alfabeto dentro dos primeiros sete bits (assim como os caracteres de controle). O oitavo bit estende o conjunto de caracteres símbolos forgráficos.
Se você só quer transmitir texto, então você só precisa de 7 bits., Isso economiza abit e aumenta a velocidade de transmissão ao transmitir grandes blocos de dados.Outros bits de dados são 5, 6, 8 e 9 bits. No entanto, o comprimento de bits é usuallyset para 8 bits – este é muito comumente usado.
Nota: Se usar o RS232 para transmitir dados brutos (dados binários), irá necessitar de 8 bits de dados.,
How RS232 works-The Parity Bit
The RS232 parity bit is a crude error detection mechanism.Você pode usar qualquer paridade ímpar ou mesmo paridade ou nenhum em tudo (no diagrama acima um bit de paridade é incluído (entre o último bit de dados e o bit de parada-aqui a paridade é indicada como um ‘1’, o que significa que há um número ímpar de Databits. Assim, a paridade em uso é ímpar-paridade. O diagrama abaixo (comumente usado no microcontrolador) não usa um bit de paridade.,
Ele simplesmente avalia todos os bits de dados e para paridade ímpar retorna uma lógica oneif há um número ímpar de bits de dados que são definidos. Para paridade igual, um número evennen de bits de dados que são definidos, define o bit de paridade.
no receptor, o bit de paridade é usado para dizer se ocorreu um erro durante a transmissão. Você pode usar isso no software receptor lendo uma bandeira no módulo UART.
O problema com a detecção de erros usando o bit de paridade é que se dois bitsare em erro, então a verificação de paridade falha., Isto deve-se ao facto de cada erro anular o efeito da outra (em termos de cálculo da paridade). Qualquer número par de erros causa uma falha na detecção de erros.
It won’t be a problem on a bench top based system (that has no critical datatransfer). Sobre um cabo curto, por exemplo, 6 pés você provavelmente não vai ver nenhum recado de qualquer maneira. Normalmente não uso paridade e não há nenhum problema.
para sistemas que percorrem uma longa distância ou num ambiente ruidoso, deve ser utilizado um sistema melhor, por exemplo, adicionando uma verificação de redundância cíclica ao fluxo de dados antes e depois de ser enviado sobre o RS232., Os CRCs permitem verificar e corrigir alguns erros sem re-transmitir os dados.
How RS232 works-The Stopbit
The RS232 stop bit merely gives a period of time before thenext start bit can be transmitt. É o sentido oposto ao bitand inicial por causa disso permite que o bit inicial seja visto ou seja, um bit stop seguido bya start bit sempre dá um sinal de borda ascendente para detecção pelo receptor.
Se não houvesse um bit de paragem, então o último bit no fluxo de dados seria o bit deparidade (ou bit de dados se a paridade não estiver ativa)., Isso mudaria dependendo dos dados enviados então se tivesse o mesmo sentido que o bit inicial então o startbit não poderia ser visto!
O bit de paragem pode ser definido escolhendo a partir de períodos de 1, 1.5 ou 2 bits.
A altas taxas de transmissão o período de stop bit a bit de início(supondo que os dados estão sendo enviados continuamente) vai ser muito pequena, por exemplo, para uma taxa de transmissão de 115200 baud a timeing um bit é 1/115200 = 8.26-nos isso usando 2 bits períodos você irá aumentar o tempo para 16,5 nós., Isto pode permitir que o receptor para detectar o início bit mais facilmente, uma vez que se houver capacitância na linha as ondas exibirão um tempo de queda de subida CR. A extensão do período de tempo permite uma carga mais capacitiva. No entanto, italso depende do hardware receptor usado.
configurações típicas
configurações típicas para uso no ambiente de trabalho, por exemplo, entre um microcontrolador e um programa emulador terminal, como “termo Tera”:
Baud | 9600 |
Data bits | 8 |
Parity | None |
Stop bits | 1 |
Flow Control | None |
This can also be compactly written as:
9600 8N1
Hardware Connections 3 (Rx,Tx,GND) – Rx and Tx crossed over.,
“Controle de fluxo” na lista acima se refere a um método de sinalização para controle de fluxo de hardware que usa os sinais DTR/DSR e RTS/CTS. Veja aqui para mais sobre isso.
Como RS232 Obras – Níveis de Sinal
Em algum ponto, você pode querer fazer um software UART talvez para salvar codespace em seu projeto atual (talvez você não precise de receber parte – como você esteja apenas a saída de variáveis) ou, para utilizar uma reposição de pinos.
Nota: você pode encontrar o código USART receive and transmitsoftware nas páginas tutoriais 12F675.,
para criá-lo, você precisa dos diagramas de sinal reais que você vê no pin do temicrocontroller (estranhamente estes são difíceis de encontrar na web).
O diagrama seguinte mostra o fluxo de bits cronometrado 0V e 5V no pino de saída do microcontrolador. O diagrama inferior mostra os níveis de sinal traduzidos nos drivers de saída do RS232 que são transmitidos através do cabo série.
estes níveis mais elevados são gerados pelo envio dos níveis lógicos de 0-5V para o chip retransmissor e.g., MAX232, que tem um diodo/capacitor boost Conveter Built que aumenta os níveis de sinal para a tensão RS232 necessária de ±12 volts. Note como o nível-12V corresponde a um nível lógico ‘1’ e +12V corresponde a um ‘0’lógico.
A mais baixa forma de onda na bove diagrama acima mostra a RS232signal que você gostaria de ver usando um osciloscópio na saída do inversor ofa tradutor chip, como o MAX232. Observe que o RS232 idlevoltage é -12V,
RS232 Relógio
O diagrama acima mostra também o RS232 timingdiagram onde cada bit no período de 1/frequência para abaud taxa de 9600 bps (bits por segundo) o período de cada bit é 1/9600 or104.,166us este é efetivamente o período de clock RS232 requerido para a taxa deaud específica em uso.
RS232 forma de onda
no diagrama acima da forma de onda inferior mostra a tensão RS232 que você pode esperar ver na saída do pin RS232 TX(também os mesmos níveis no pin RX) num osciloscópio. Em alguns chips o nível de sinal máximo pode não ser de ±12V – a tensão máxima e min poderia ser menor (como não haverá uma grande queda de tensão em curtas distâncias)., Durante longas distâncias, estas devem ser de ±12V-na extremidade de um cabo longo, a tensão desce ao longo da resistência do cabo, mas deve ser superior a ±3V na outra extremidade.
A capacitância do cabo também irá atrasar a subida e queda das bordas-rodando-os.
How RS232 Works – Handshake Signals
Handshake signals are simply a method of stopping data flowing. Se alguma parte do sistema estiver ocupada, pode não ser capaz de aceitar mais dados e, em vez de perdê-los, os sinais são usados em cada extremidade da ligação para a outra extremidade para parar de transmitir dados., Existem dois tipos usedin RS232: aperto de mão de hardware e aperto de mão de software.
Hardware handshake
- DTR – Data Terminal Ready.
- DSR – conjunto de dados pronto.
- RTS – pedido para enviar.
- CTS-pode enviar.
Se utilizar estes sinais, todos eles devem ser transmitidos a níveis theRS232, isto é, ±25V (ou seja qual for a tensão gerada pelo chip do transferador, por exemplo, ±12V, ou seja, o mesmo que a saída TX, pelo que precisa de um chip RS232 com mais tradutores de nível para transmitir e receber os sinais.,
lembre – se que o protocolo foi baseado em um modem (o DCE ou equipamento de comunicação de dados) sentado em uma mesa e um anexado (via RS232)ao PC (o DTE ou equipamentos terminais de dados) – O controlador. Há ainda um indicador de anel (RI) que sinaliza quando o telefone estava a tocar,ligado directamente à linha telefónica, o que permitiria a detecção automática de um fluxo de dados de entrada.
cada sinal não é ortogonal significando que não há um sinal equivalente indo para trás da outra maneira., Esta parte do protocolo cresceu de horas extras, por isso existem diferentes usos desses sinais, mas, em geral, thefollowing é usado:
Para parar de dados provenientes do PC i.e. para parar sobrecarregar o modem com os dados:
- RTS (PC) para o modem.
- CTS (modem) para PC.
o PC afirma RTS para indicar que quer transmitir dados para o modem.
O modem afirma CTS para receber dados do PC.
para parar os dados que vêm do modem I. e para parar esmagando o PC com dados:
- DTR (PC) para modem.
- DSR (modem) para PC.,
o modem afirma DSR para indicar que ele quer transmitir dados para o PC.
O PC afirma DTR para receber dados do modem.
Software Handshake
If you see the terms XON and XOFF this is a software flow controlmethod where the receiver transmits a special character (in the ASCIIset) to say to the transmitter stop sending data. Quando o receptor é recuperado (um buffer está esvaziando), então ele pode transmitir o sinal XON para o transmissor reiniciar a transmissão.