Compartilhamento de tecnologia

Experimento de comunicação serial UART

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Tipos de comunicação

1.1 De acordo com o método de comunicação de dados

1.1.1 Comunicação serial

vantagem: Ocupa menos pinos e tem baixo custo

deficiência:A velocidade de transmissão é lenta

FormuláriosSituações de comunicação de longa distância e baixa velocidade

1.1.2 Comunicação paralela

vantagem: Taxa de transmissão rápida

deficiência: Ocupando muitos pinos e alto custo

Formulários:Situações de curta distância.

1.2 De acordo com a direção de transmissão de dados

1.2.1 Comunicação simples:

      Os dados só podem ser transferidos em uma direção.

1.2.2 Comunicação semiduplex:

Os dados podem ser transferidos em ambas as direções, mas precisam ser divididos no tempo.

1.2.3 Comunicação full-duplex:

Os dados podem ser transmitidos em ambas as direções simultaneamente.

1.3 Classificação por direção de sincronização de dados

1.3.1 Comunicação síncrona

Transferência de dados com porta de relógio

1.3.2 Comunicação assíncrona

Não há porta de relógio e o remetente e o destinatário usam seus próprios relógios para controlar o processo de envio e recebimento de dados.

2. Porta serial UART

Significado: Transmissor Receptor Assíncrono Universal, um barramento de dados serial, Ele converte dados paralelos em dados seriais para transmissão ao enviar dados e converte os dados seriais recebidos em dados paralelos ao receber dados. Duas linhas de sinal são necessárias para conseguir isso. Uma é usada para transmissão da porta serial e a outra é responsável pela recepção da porta serial TXD e RXD entre os dois dispositivos devem ser conectados de forma cruzada.

1.camada física: Tipo de interface, padrão de nível, etc.

2.Camada de protocolo: Protocolo de comunicação (incluindo formato de dados, taxa de transmissão, etc.)

UART Um quadro de dados durante a transmissão ou recepção consiste em 4 Consiste em bit de início, bit de dados, bit de paridade e bit de parada. 。

        começar um pouco: No início de um quadro, um bit baixo de nível baixo 0 deve ser mantido.

        bits de dados: Os bits de dados a serem transmitidos, os bits de dados podem ser de 5 a 8 bits, LSB primeiro, MSB por último.

        Dígito de verificação: Bit opcional, ocupa um bit e não precisa ser verificado.

        Pare um pouco: O final de um quadro, obrigatório, ocupando opcionalmente 0,5/1/1,5/2 bits, mantendo o alto nível lógico.

Taxa de transmissão: A taxa de comunicação serial é expressa pela taxa de transmissão, que representa o número de bits de dados binários transmitidos por segundo. A unidade é bps (bits por segundo).As taxas de transmissão comumente usadas são 96001920038400, 57600 e 115200 espere.

O UART é responsável por completar a conversão serial para paralelo dos dados, enquanto a transmissão do sinal é implementada por um circuito driver externo.O processo de transmissão de sinais elétricos possui diferentes padrões de nível e especificações de interface para comunicação serial assíncrona.Padrões de interfaceExiste RS232RS422, RS485, etc., que definem diferentes características elétricas da interface, como RS-232 é uma entrada e saída de terminação única, enquanto RS-422/485 Para entrada e saída diferencial

espere.

3. Tarefas experimentais

        A tarefa experimental desta seção é que o computador host envie dados para a Venus Development Board e a Venus Development Board PL por meio do assistente de depuração da porta serial. O terminal recebe dados através da porta serial USB_UART e envia os dados recebidos para o computador host para completar o loopback de dados da porta serial. Taxa de transmissão UART: 115200. Bit de parada: 1, bit de dados 8, sem bit de paridade.

4. Desenhe o diagrama de blocos do sistema

No módulo uart_rx: uart_rxd são os dados recebidos pela porta serial e uart_rx_done indica que a conversão de dados foi concluída (os dados são convertidos de dados paralelos em dados seriais). uart_rx_data representa os dados seriais após a conclusão da conversão. Nota: Os dados paralelos recebidos têm 1 bit e os dados seriais convertidos têm 8 bits.

No módulo uart_tx: uart_tx_dat representa os dados seriais de 8 bits que foram convertidos, uart_tx_en representa que os dados foram convertidos de paralelo para serial, uart_txd representa os dados paralelos convertidos e uart_tx_busy representa que os dados foram convertidos de serial para serial e está sendo convertido.

       

5. Desenhe o diagrama da forma de onda

Como uart_rxd é um sinal assíncrono e o bit inicial é de baixo nível, é necessário capturar a mudança da borda descendente, portanto, ele precisa ser processado em três batidas, para que o sinal do bit inicial de recepção de dados possa ser obtidoiniciar_ptO sinal indica que os dados paralelos estão chegando e então a conversão paralela para serial pode ser realizada;

                  bandeira rx Indica que a conversão de dados paralelos em dados seriais está em andamento, começando em start_en e terminando com rx_cnt=9 e baud_cnt até 216. Isso evita a situação em que o bit de início dos dados do próximo quadro vem antes do final dos dados do quadro, de modo que o bit de parada é controlado para 0,5 bits;

                 transmissão_cnt: O clock do sistema é 50Mhz, que é 50000000, e a taxa de transmissão aqui é 115200, então 50000000/115200=434, ou seja, são necessários 434 ciclos de clock do sistema para transmitir um bit de dados, portanto, o contador baud_cnt é necessário.

                dados_rx : Como os dados seriais têm 8 bits, é melhor adicionar um índice para facilitar a localização de um determinado bit de dados e a atribuição de um valor. Portanto, rx_cnt é necessário.

                 dados_rx_t:Dados seriais convertidos.

diagrama de forma de onda uart_rx

uart_tx_en: Indica que a conversão dos dados seriais foi concluída, ou seja, sinal uart_rx_done.

uart_data_t: armazena temporariamente os bits de dados seriais após a conversão para facilitar a transmissão subsequente.

baud_cnt: O mesmo que acima.

tx_cnt: O mesmo que acima.

diagrama de forma de onda uart_tx

6. Simulação

forma de onda de simulação uart_rx

simulação de forma de onda uart_tx

diagrama geral de forma de onda do uart

7. Verificação em nível de conselho

Abra a ferramenta de depuração de porta serial

Adicione o atributo debug ao sinal que precisa ser depurado, grave o programa na placa de desenvolvimento e insira as seguintes informações no assistente de porta serial.

Porque os códigos hexadecimais de quatro dígitos de 55 66 77 são 0101 0101, 0110 0110, 0111 0111 respectivamente.