Os termos a seguir são frequentemente usados em comunicações seriais:
Bits por Segundo (bps) é a taxa na qual os dados são transmitidos.
Equipamento Terminal de Dados (DTE) é um dos dois terminais em uma comunicação serial. Um exemplo seria um computador.
Equipamento de Comunicações de Dados (DTE) é o outro terminal em uma comunicação serial. Normalmente, é um modem ou terminal serial.
O padrão original que definiu as comunicações seriais de hardware. Desde então, foi renomeado para TIA-232.
Ao se referir a taxas de dados de comunicação, esta seção não usa o termo baud. Baud refere-se ao número de transições de estado elétrico feitas em um período de tempo, enquanto bps é o termo correto a ser usado.
Para conectar um terminal serial a um sistema FreeBSD, são necessárias uma porta serial no computador e o cabo adequado para conectar ao dispositivo serial. Os usuários que já estão familiarizados com hardware serial e cabeamento podem pular esta seção com segurança.
Existem vários tipos diferentes de cabos seriais. Os dois tipos mais comuns são cabo null-modem e cabo padrão RS-232. A documentação do hardware deve descrever o tipo de cabo necessário.
Estes dois tipos de cabos diferem em como os fios são conectados ao conector. Cada fio representa um sinal, com os sinais definidos resumidos em Tabela 26.1, “RS-232C Nomes dos Sinais”. Um cabo serial padrão passa todos os sinais RS-232C diretamente. Por exemplo, o pino “Transmitted Data” em uma extremidade do cabo vai para o pino “Transmitted Data” na outra extremidade. Este é o tipo de cabo usado para conectar um modem ao sistema FreeBSD e também é apropriado para alguns terminais.
Um cabo de modem nulo alterna o pino “Transmitted Data” do conector em uma extremidade com o pino “Received Data” na outra extremidade. O conector pode ser um DB-25 ou um DB-9.
Um cabo de modem nulo pode ser construído usando as conexões de pinos resumidas em Tabela 26.2, “Cabo Null-Modem DB-25 para DB-25”, Tabela 26.3, “Cabo DB-9 para DB-9 Null-Modem” e Tabela 26.4, “Cabo DB-9 para DB-25 Null-Modem”. Enquanto o padrão exige um pino direto 1 para fixar uma linha “Protective Ground”, ele é freqüentemente omitido. Alguns terminais funcionam usando apenas os pinos 2, 3 e 7, enquanto outros exigem configurações diferentes. Em caso de dúvida, consulte a documentação do hardware.
Siglas | Nomes |
---|---|
RD | Received Data |
TD | Transmitted Data |
DTR | Data Terminal Ready |
DSR | Data Set Ready |
DCD | Data Carrier Detect |
SG | Signal Ground |
RTS | Request to Send |
CTS | Clear to Send |
Sinal | Pin # | Pin # | Sinal | |
---|---|---|---|---|
SG | 7 | conecta-se a | 7 | SG |
TD | 2 | conecta-se a | 3 | RD |
RD | 3 | conecta-se a | 2 | TD |
RTS | 4 | conecta-se a | 5 | CTS |
CTS | 5 | conecta-se a | 4 | RTS |
DTR | 20 | conecta-se a | 6 | DSR |
DTR | 20 | conecta-se a | 8 | DCD |
DSR | 6 | conecta-se a | 20 | DTR |
DCD | 8 | conecta-se a | 20 | DTR |
Sinal | Pin # | Pin # | Sinal | |
---|---|---|---|---|
RD | 2 | conecta-se a | 3 | TD |
TD | 3 | conecta-se a | 2 | RD |
DTR | 4 | conecta-se a | 6 | DSR |
DTR | 4 | conecta-se a | 1 | DCD |
SG | 5 | conecta-se a | 5 | SG |
DSR | 6 | conecta-se a | 4 | DTR |
DCD | 1 | conecta-se a | 4 | DTR |
RTS | 7 | conecta-se a | 8 | CTS |
CTS | 8 | conecta-se a | 7 | RTS |
Sinal | Pin # | Pin # | Sinal | |
---|---|---|---|---|
RD | 2 | conecta-se a | 2 | TD |
TD | 3 | conecta-se a | 3 | RD |
DTR | 4 | conecta-se a | 6 | DSR |
DTR | 4 | conecta-se a | 8 | DCD |
SG | 5 | conecta-se a | 7 | SG |
DSR | 6 | conecta-se a | 20 | DTR |
DCD | 1 | conecta-se a | 20 | DTR |
RTS | 7 | conecta-se a | 5 | CTS |
CTS | 8 | conecta-se a | 4 | RTS |
Quando um pino em uma extremidade se conecta a um par de pinos na outra extremidade, geralmente é implementado com um fio curto entre o par de pinos em seu conector e um fio longo no outro pino único.
As portas seriais são os dispositivos através dos quais os dados são transferidos entre o computador host do FreeBSD e o terminal. Vários tipos de portas seriais existem. Antes de comprar ou construir um cabo, verifique se ele irá se encaixar nas portas do terminal e no sistema FreeBSD.
A maioria dos terminais tem portas DB-25. Os computadores pessoais podem ter portas DB-25 ou DB-9. Um cartão serial multiportas pode ter portas RJ-12 ou RJ-45/. Consulte a documentação que acompanha o hardware para especificações sobre o tipo de porta ou verifique visualmente o tipo de porta.
No FreeBSD, cada porta serial é acessada através de uma entrada em /dev
. Existem dois tipos diferentes de entradas:
As portas de chamada são nomeadas /dev/ttyu
onde N
N
é o número da porta, começando do zero. Se um terminal estiver conectado a primeira porta serial (COM1
), use /dev/ttyu0
para se referir ao terminal. Se o terminal estiver na segunda porta serial (COM2
), use /dev/ttyu1
e assim por diante. Geralmente, a porta de chamada é usada para terminais. As portas de chamada requerem que a linha serial declare o sinal “Data Carrier Detect” para funcionar corretamente.
As portas de chamadas de saida são nomeadas /dev/cuau
nas versões 8.X e superiores do FreeBSD e N
/dev/cuad
nas versões 7.X e inferiores do FreeBSD. As portas de chamada de saida geralmente não são usadas para terminais, mas são usadas para modems. A porta de evocação pode ser usada se o cabo serial ou o terminal não suportar o sinal “Data Carrier Detect”.N
O FreeBSD também fornece dispositivos de inicialização (/dev/ttyu
e N
.init/dev/cuau
ou N
.init/dev/cuad
) e dispositivos de bloqueio (N
.init/dev/ttyu
e N
.lock/dev/cuau
ou N
.lock/dev/cuad
). Os dispositivos de inicialização são utilizados para inicializar os parâmetros da porta de comunicações de cada vez que uma porta é aberta, tal como o N
.lockcrtscts
para modems que usam RTS/CTS
sinalização para controle de fluxo. Os dispositivos de bloqueio são usados para bloquear sinalizadores nas portas para impedir que usuários ou programas alterem determinados parâmetros. Consulte termios(4), sio(4), e stty(1) para obter informações sobre configurações de terminal, bloqueio e inicialização de dispositivos e configuração de opções de terminal, respectivamente.
Por padrão, o FreeBSD suporta quatro portas seriais que são comumente conhecidas como COM1
, COM2
, COM3
e COM4
. O FreeBSD também suporta placas de interfaces seriais multi-port, como o BocaBoard 1008 e 2016, bem como placas multi-port mais inteligentes, como as feitas pela Digiboard. No entanto, o kernel padrão procura apenas as portas padrão COM
.
Para ver se o sistema reconhece as portas seriais, procure por mensagens de inicialização do sistema que começam com uart
:
#
grep uart /var/run/dmesg.boot
Se o sistema não reconhecer todas as portas seriais necessárias, entradas adicionais podem ser adicionadas ao /boot/device.hints
. Este arquivo já contém entradas hint.uart.0.*
para entradas COM1
e hint.uart.1.*
para COM2
. Ao adicionar uma entrada de porta para COM3
use 0x3E8
e para COM4
use 0x2E8
. Endereços comuns de IRQ são 5
para COM3
e 9
para COM4
.
Para determinar o conjunto padrão de configurações de terminal E/S usadas pela porta, especifique o nome do dispositivo. Este exemplo determina as configurações para a porta de chamada em COM2
:
#
stty -a -f /dev/
ttyu1
A inicialização de dispositivos seriais em todo o sistema é controlada por /etc/rc.d/serial
. Este arquivo afeta as configurações padrão dos dispositivos seriais. Para alterar as configurações de um dispositivo, use stty
. Por padrão, as configurações alteradas estão em vigor até que o dispositivo seja fechado e, quando o dispositivo for reaberto, volte para o conjunto padrão. Para alterar permanentemente o conjunto padrão, abra e ajuste as configurações do dispositivo de inicialização. Por exemplo, para ativar o modo CLOCAL
, comunicação de 8 bits e controle de fluxo XON/XOFF
para ttyu5
, digite:
#
stty -f /dev/ttyu5.init clocal cs8 ixon ixoff
Para impedir que determinadas configurações sejam alteradas por um aplicativo, faça ajustes no dispositivo de bloqueio. Por exemplo, para bloquear a velocidade de ttyu5
para 57600 bps, digite:
#
stty -f /dev/ttyu5.lock 57600
Agora, qualquer aplicativo que abra ttyu5
e tente alterar a velocidade da porta será bloqueado com 57600 bps.
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.