






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Uma experiência de laboratório sobre transmissão e recepção serial assíncrona, onde se projetam e implementam circuitos digitais para comunicação de dados entre um terminal e um dispositivo utilizando a norma eia-rs-232c e o código ascii. O documento aborda as funções dos principais sinais de intercomunicação padronizados pela norma, como frame ground, signal ground, transmitted data, request to send, clear to send, data terminal ready, data set ready e carrier detect. Além disso, discute-se sobre a necessidade de conversão de níveis de tensão entre circuitos digitais e o rs-232c.
Tipologia: Notas de estudo
1 / 12
Esta página não é visível na pré-visualização
Não perca as partes importantes!
O objetivo desta experiência é projetar e implementar circuitos digitais para comunicação de dados serial (transmissão e recepção) com um terminal de dados, utilizando a norma EIA-RS-232C e o código ASCII ( American Standard Code Information Interchange ).
A parte prática consiste no projeto e na implementação de um circuito digital que envia dados para um terminal, bem como do projeto de um circuito que recebe e interpreta dados seriais enviados por um terminal em código ASCII.
Uma comunicação é chamada de serial quando o envio dos códigos dos caracteres se processa sobre uma única linha, onde os bits enviados são encadeados um por vez, e numa fila. Essa comunicação é assíncrona quando não exige o sincronismo dos relógios entre o receptor e o transmissor. Cada caractere carrega seus próprios sinais de sincronismo.
As normas EIA ( Electronic Industries Alliance ) são adotadas pelos fabricantes de equipamentos para eliminar possíveis discrepâncias na interligação dos mesmos, e auxiliar o usuário na escolha e instalação dos equipamentos. Em particular, a norma EIA-RS-232C^2 tem por objetivo padronizar um método de interconexão entre terminais e canais de comunicação de dados, quando os mesmos são fornecidos por fabricantes distintos. Ela define um modo de troca de sinais de controle (protocolo) e de sinais de dados serializados entre o terminal e o canal de comunicação de dados.
O canal de transmissão de dados inclui os conversores de sinais e a linha de transmissão; os conversores são utilizados para compatibilizar os níveis dos sinais recebidos e transmitidos para a linha de transmissão com a norma em questão; as normas elétricas destes sinais são descritas mais adiante.
O terminal de dados, entretanto, deve providenciar a serialização dos dados, para que o projeto do canal de transmissão seja independente do comprimento e da codificação dos mesmos. A Figura 1.1 mostra os sinais típicos em uma interligação entre dois terminais por meio de um canal de transmissão de dados, utilizando os critérios apresentados por esta norma.
Neste item são descritas as funções dos principais sinais de intercomunicação padronizados pela norma EIA-RS-232C.
FRAME GROUND: corresponde ao fio terra dos equipamentos. É ligado à carcaça metálica do equipamento e nas partes condutoras do mesmo, expostas ao operador, de modo a evitar diferenças de potencial entre o equipamento e o operador; SIGNAL GROUND: estabelece a referência elétrica (terra) para todos os sinais de intercomunicação, exceto para o FRAME GROUND; TRANSMITTED DATA: corresponde ao dado serializado, gerado pelo terminal de dados;
(^1) O padrão EIA RS-232 também é conhecido como EIA 232 ou, mais recentemente, TIA 232. TIA é uma abreviatura
de “ Telecommunications Industry Association ”.
(^2) A revisão C do padrão EIA RS-232 é conhecido como RS-232C e foi elaborada em 1969. Atualmente, a última
revisão é o ANSI/EIA/TIA 232 F de 1997.
E.S.G. e F.N.A/2001 (revisão) E.T.M./2004 (revisão) E.T.M./2005 (revisão) E.T.M./2008 (revisão) E.T.M./2011 (revisão)
RECEIVED DATA: corresponde ao dado serializado recebido do canal de comunicação de dados; REQUEST TO SEND: gerado pelo terminal de dados, informa aos conversores de sinais a ele conectados, que o terminal deseja transmitir dados. CLEAR TO SEND: gerado nos circuitos dos conversores de sinais, é utilizado para indicar que os circuitos estão prontos para enviar dados.
Todos estes sinais e os possíveis opcionais devem obedecer às características elétricas relacionadas no item 1.2.
Figura 1.1 – Interligação entre dois Terminais de Dados.
O ponto de interconexão entre o terminal de dados e o canal de transmissão deve ser feito por meio de conectores, onde o conector fêmea deve estar associado ao canal de transmissão de dados e fixado próximo do terminal de dados. O conector macho, associado ao terminal de dados, deve ser acoplado a um cabo, que deve ser o menor possível (menor que 15 metros).
A norma ainda específica que a amplitude de nenhum sinal deve exceder 50V em relação aos sinais SIGNAL GROUND ou FRAME GROUND e que a máxima corrente de curto-circuito entre dois sinais quaisquer, inclusive os terras, não deve exceder 1,5 A.
Os circuitos que geram os sinais de interligação devem ser projetados de forma a não apresentarem nenhum dano no caso desses sinais sofrerem algum curto-circuito com os terras presentes no equipamento ou permanecerem em aberto. Também deve ser possível seu funcionamento contínuo nas condições máximas especificadas anteriormente.
Os sinais nos circuitos de interligação podem estar nas condições ON ou MARK, quando a tensão nesses sinais for mais negativa que -3 V em relação à terra de sinal, e OFF ou SPACE, quando a tensão nesses sinais for maior que +3V em relação à terra de sinal. Geralmente, deve-se usar a nomenclatura MARK/SPACE para os sinais TRANSMITTED DATA e RECEIVED DATA e ON/OFF para os demais.
Os circuitos de recepção de sinais devem ser projetados de modo a serem acionados apenas por tensão ficando, portanto, insensíveis a parâmetros como Tempos de Subida, Tempos de Descida, existência de overshoots ou undershoots e etc.
A impedância de entrada nos circuitos de recepção deve ter uma resistência, em regime DC, maior que 1000 Ω, tensão em circuito aberto menor que 2 V e capacitância menor que 2500 pF, medidas nos pinos do conector de acoplamento.
A seguir, apresentam-se as características elétricas que os sinais de interligação devem apresentar:
a) a tensão dos sinais deve ser pelo menos ± 3V em relação à terra de sinais e não exceder ± 25V, também com respeito à terra de sinais;
b) a forma de onda dos sinais deve ser aproximadamente retangular;
c) para se evitar indução de ruídos nos circuitos de interligação, não devem ser utilizados drives indutivos.
1.3. Transmissão Serial Assíncrona
A comunicação com o terminal é realizada com protocolo assíncrono como mostrado na Figura 1.3, com notação MARK (1) e SPACE (0).
Em estado de repouso, o canal de comunicação apresenta o sinal MARK. O início da transmissão é sinalizado pelo START BIT, através de um sinal SPACE. Em seguida, são transmitidos os bits de dados, o bit de paridade e os STOP BITs.
Figura 1.3 – Protocolo Serial Assíncrono (MARK e SPACE).
A velocidade de comunicação é definida em bauds , que, em um sistema de transmissão de dados binários, representam o número de bits transmitidos por segundo.
Os níveis de tensão utilizados tipicamente para os níveis MARK e SPACE são -12 V e +12 V, respectivamente. A Figura 1.4 mostra como o caractere ‘5’, cujo código em ASCII é dado pela palavra (0110101) 2 , é enviado para um terminal.
Figura 1.4 – Formato da saída serial da palavra (0110101) 2.
O circuito de transmissão deve incluir um registrador de deslocamento com entrada paralela e saída serial. Um aspecto importante no projeto de um transmissor serial assíncrono diz respeito ao sincronismo do clock interno do circuito e a transmissão dos bits pelo canal serial: cada bit transmitido deve seguir um intervalo de tempo específico, ou seja, um bit deve ser transmitido a cada 1/baud segundos. Ao término da transmissão, o canal serial deve retornar para o repouso, ou seja, para o sinal MARK.
1 CARACTERE
tempo de bit (time bit) = 1/baud
BIT 0 BIT 1 BIT 2 BIT 3 BIT 4 BIT 5 BIT 6 (^) STOP REPOUSO BIT
STOP BIT
BIT DE PARIDADE
SPACE
MARK
REPOUSO
0
1
START BIT
REPOUSO
TEMPO
0
1 1 1 1
0 0
MARK -12V
SPACE +12V
B0 B1 B2 B3 B4 B5 B6 STOP REPOUSO BIT
PARIDADE (^) STOP BIT
1.4. Recepção Serial Assíncrona
Os sinais enviados pelo terminal têm a mesma forma dos recebidos pelo terminal. Portanto, o circuito de recepção de dados deve detectar o pulso do START BIT e, a partir desse ponto, por meio de um registrador de deslocamento, copiar o dado em código ASCII e o bit de paridade.
Como o início da operação do terminal certamente é assíncrono com relação ao relógio do circuito de recepção, deve-se tentar sincronizar, o melhor possível, a entrada de dados detectada pelo pulso do START BIT. O circuito de recepção deve tentar amostrar o dado de entrada no meio do intervalo do bit, ou seja, 1/2×(1/baud) após o início da transmissão do bit.
Uma sugestão para realizar esse sincronismo é utilizar um sinal de frequência algumas vezes mais alta que aquela necessária no registrador de deslocamento, para gerar o clock desse registrador.
O diagrama de blocos do circuito sugerido é apresentado na Figura 1.5; os diagramas de sinais dessa figura são para um caso em que a frequência do oscilador é 8 vezes maior que a frequência do clock do registrador de deslocamento.
Em t = 0, o diferenciador liga o flip-flop que habilita o contador a começar a contar (admitindo-se que esse contador seja sensível à borda de subida do sinal OSC). Temos duas possibilidades de temporização entre o dado de entrada e o sinal do oscilador do circuito de recepção:
No caso A vemos que, logo após o contador ser habilitado, ocorre uma borda de subida do sinal “OSC A”. Quando o contador atinge o valor 4, o sinal CLOCK A muda de estado, indo para o nível lógico 1 e amostrando o sinal DADOS (supondo-se também que o registrador de deslocamento é acionado pela borda de subida do sinal OSC). No caso B, por outro lado, o sinal OSC B passa por uma borda de subida e em seguida (no instante t = 0) o contador é habilitado. Portanto, o contador só começará a contar na próxima borda de subida de OSC B. Quando ele atingir o valor 4, o sinal CLOCK B passa para nível lógico 1 e o dado é amostrado no registrador de deslocamento.
Vemos, portanto, que para o caso em que FOSC = 8×fCLOCK o dado será amostrado o mais rápido em 1/8 ×TCLOCK antes do meio do intervalo do dado, e o mais lento bem no meio do dado. É fácil concluir que o intervalo de amostragem ΔA (veja ainda Figura 1.5) ficará sempre entre TCLOCK/2-TOSC e TCLOCK; quanto menor TOSC, maiores são as chances de o dado ser amostrado mais perto de CLOCK/2; e isso é bom porque é em CLOCK/2 que o dado tem as maiores probabilidades de estar estável.
Veja também que o terminal só garante que o dado esteja estável de TCLOCK/4 a 3×TCLOCK/4; portanto ΔA<TCLOCK/4 (ou seja, TOSC < TCLOCK/4).
O fim de transmissão de um caractere ASCII também deve ser decidido pelo circuito do receptor de dados. Essa detecção é feita utilizando-se um contador que deve contar o número de pulsos do sinal de clock do registrador de deslocamento correspondente ao caractere e gerar um sinal quando a recepção do mesmo chegar ao fim.
O código ASCII é um código padronizado, utilizado para a representação dos caracteres alfanuméricos na área de computação digital. Possui 7 bits de informação e, eventualmente, um bit de paridade; com esses 7 bits são codificadas as letras maiúsculas e minúsculas, números decimais, sinais de pontuação e caracteres de controle. A Tabela II apresenta o código ASCII completo.
Tabela II – Tabela com Código ASCII.
b 6 0 0 0 0 1 1 1 1 b 5 0 0 1 1 0 0 1 1 b 4 0 1 0 1 0 1 0 1 b 3 b 2 b 1 b 0 0 0 0 0 NULL DLE SP 0 @ P ’ p 0 0 0 1 SOH DC1! 1 A Q a q 0 0 1 0 STX DC2 “ 2 B R b r 0 0 1 1 ETX DC3 # 3 C S c s 0 1 0 0 EDT DC4 $ 4 D T d t 0 1 0 1 ENQ NAK % 5 E U e u 0 1 1 0 ACK SYN 6 F V f v 0 1 1 1 BEL ETE ‘ 7 G W g w 1 0 0 0 BS CAN ( 8 H X h x 1 0 0 1 HT EM ) 9 I Y i y 1 0 1 0 LF SUB * : J Z j z 1 0 1 1 VT ESC + ; K [ k { 1 1 0 0 FF FS , < L \ l : 1 1 0 1 CR GS - = M ] m } 1 1 1 0 S0 RS. > N ^ n ~ 1 1 1 1 S1 US /? O _ o DEL
Palavra b^6 b^5 b^4 b^3 b^2 b^1 b^0
O código ASCII foi desenvolvido para representar textos para computadores ou equipamentos de comunicação e seu primeiro padrão foi publicado em 1963. Mais recentemente, com a difusão do uso de computadores, novos padrões foram desenvolvidos para incorporar novos caracteres e símbolos. Uma evolução do código ASCII é o código UTF-8 ( UCS Transformation Format – 8-bit).
1.6. Conversão de Níveis de Tensão
Como os padrões de nível de tensão para circuitos digitais (TTL ou CMOS) e para o RS-232C são diferentes, é necessário o uso de circuitos especializados para conversão de níveis de tensão. Por exemplo, o bit 1, que em um circuito digital tem um nível de tensão típico da ordem de +5V, deve ser convertido para um sinal MARK que tem tipicamente um nível de tensão de -12V. Da mesma forma, o bit 0 (tensão de 0V) deve ser convertido para o sinal SPACE (tensão +12V).
Vários componentes estão disponíveis no mercado para realizar a conversão de níveis de tensão. Por exemplo, temos o par 1488/1489 e o MAX232.
O componente 1488 é responsável pela conversão de níveis de tensão TTL para RS-232 e o 1489, de RS- 232 para TTL. A figura 1.6 apresenta as pinagens destes componentes.
Figura 1.6 – Pinagens e esquemas lógicos dos conversores de tensão 1488 e 1489.
Convém observar que o conversor 1488 tem como pinos de alimentação: VCC+, VCC- e GND (tipicamente, +12V, -12V e 0V, respectivamente). Já o conversor 1489 tem os pinos comuns de alimentação: VCC (tipicamente +5V) e GND (0V).
1488
Controle
1489
2.2. RECEPÇÃO SERIAL
a) A segunda etapa da parte experimental consta do projeto, documentação e implementação de um circuito de recepção de dados enviados a partir do terminal utilizado na primeira etapa, completando o estudo da comunicação serial assíncrona.
O circuito a ser projetado deve detectar o acionamento de uma tecla no teclado do terminal e mostrar o código ASCII nos “ displays ” hexadecimais (D0 e D1) do painel de montagem. Além disso, deve testar o bit de paridade e indicar, por meio de um LED (L0), que ocorreu um erro de transmissão. A comunicação deve ser projetada e configurada com velocidade de transmissão de 110 bauds , 7 bits de dados, paridade ímpar e 2 stop bits.
Na documentação do circuito deve-se enfatizar, principalmente, a carta de tempos, onde deve estar indicado o tempo de resposta máximo para a sincronização do relógio com a saída do terminal.
Um diagrama de blocos do circuito pedido é mostrado na Figura 2.2. A conversão de níveis de tensão (RS-232C para TTL) deverá ser efetuada com o 1489.
Figura 2.2 – Diagrama de Blocos do Circuito de Recepção de Dados.
b) Efetue a montagem e o teste do circuito. Qual a sequência de montagem programada pelo grupo?
c) Verifique o funcionamento para diversos parâmetros de configuração. Varie, por exemplo, a velocidade de transmissão ( baud rate ) e a paridade.
d) Para garantir o correto funcionamento do circuito receptor, quais os casos de teste programados? Analise o funcionamento do circuito com a variação da frequência do clock e os dados recebidos.
CONFIGURAÇÃO DO TERMINAL SERIAL
Caso sejam usados terminais seriais, estes deverão ser configurados após cada reset. Para ajustar os parâmetros de comunicação, apertar simultaneamente as teclas “ shift ” e “ setup ”. Com a flecha (baixo), vá até a linha SET 4. Com a flecha (direita), escolhe o parâmetro desejado com a barra de espaço. Para salvar as alterações apertar novamente “ shift ” e “ setup ”.
Os valores dos parâmetros no SET 4 são:
BITS: 7 BIT8: 0 Paridade: ON Paridade: ODD Stop Bit: 2 Baud Rate: 110
Os seguintes fios do terminal serial devem ser curto-circuitados:
4 com 5 8 com 20
CONFIGURAÇÃO DA COMUNICAÇÃO SERIAL COM O PC
Caso seja usado um computador tipo PC para emular um terminal serial, conecte o cabo serial na porta serial COM1 e utilize o software de comunicação serial HyperTerminal do Windows (ou outro compatível). Crie uma nova conexão usando os parâmetros abaixo (configurações de porta), como na figura 2.3:
Conexão: COM
Bits por segundo: 110
Bits de dados: 7
Paridade: ímpar
Bits de parada: 2
Controle de fluxo: Nenhum
Se for necessário mudar algum parâmetro, deve-se criar uma nova conexão.
Figura 2.3 – Exemplo de configuração do HyperTerminal.
Para testar a conexão, faça um curto-circuito com os pinos TX e RX do cabo serial e veja se o que for digitado é ecoado no terminal.