Preview only show first 10 pages with watermark. For full document please download

Nesta Apresentação, Vamos Examinar O Uso Do No Assíncrono Usart Modo De Operação. Usart - Main Functions Universal Synchronous Asynchronous

Nesta apresentação, vamos examinar o uso do no assíncrono USART Modo de operação. USART - Main Functions Universal Synchronous Asynchronous

   EMBED


Share

Transcript

   Nesta apresentação, vamos examinar o uso do no assíncrono USARTModo de operação.################################################################################USART - Main FunctionsUniversal Synchronous AsynchronousTransmissor Receptor pode ser síncrona ou assíncronapode receber e transmitir completa operação assíncrona duplexuso mais comumcomunicações RS-232 a uma porta serial do PC Nota: precisa de driver para o nível de mudançaUSART significa Synchronous Asynchronous Receiver Transmitter Universal. éàs vezes chamado de Serial Communications Interface ou SCI.Operação síncrona usa uma linha de clock e dados enquanto não há nenhum relógio separadoque acompanha os dados para transmissão assíncrona.Uma vez que não existe um sinal de relógio em funcionamento assíncrono, um pino pode ser usado paratransmissão e um outro pino pode ser usado para a recepção. Tanto a transmissão erecepção pode ocorrer ao mesmo tempo - isto é conhecido como uma operação duplex completa.Transmissão e recepção pode ser ativado de forma independente. No entanto, quando o número desérie porta é ativado, o USART irá controlar os dois pinos e um não pode ser usado parafinalidade geral de I / O, quando o outro está a ser utilizado para a transmissão ou recepção.O USART é mais comumente utilizado no modo assíncrono. Nesta apresentaçãovamos lidar exclusivamente com a operação assíncrona.O uso mais comum da USART em modo assíncrono é para se comunicar com umPorta serial do PC usando o protocolo RS-232. Por favor, note que o motorista é obrigado ainterface para os níveis de voltagem de RS-232 e o PIC ® MCU não devem ser directamenteligado a sinais de RS-232.A USART pode transmitir e receber, e vamos agora examinar brevemente como esteé implementado no USART.USARTSimplified transmission block diagramO USART pode ser configurado para transmitir oito ou nove bits de dados pelo bit em TX9o TXSTA registar. Se nove bits estão a ser transmitidos, os bits de dados deve ser nonacolocado no bit TX9D do TXSTA antes de escrever os outros oito bits parao TXREG registar. Depois que os dados foram gravados TXREG, os oito ou nove pedaçossão transferidos para o registrador de deslocamento de transmissão. De lá, eles são cronometrados para fora naTX pino precedido por um bit de começo e seguido por um bit de paragem.O uso de um registrador de deslocamento de transmissão separada permite que novos dados a serem  gravados para oTXREG registar enquanto os dados anterior ainda está sendo transmitido. Isto permite que ocaudal máximo a ser alcançado.################################################################################ Siimplif iiedr reception block O USART pode ser configurado para receber oito ou nove bits, o bit no RX9RCSTA registo. Após a detecção de um bit de início, oito ou nove bits de dados seriaisdeslocou-se do pino RX para a mudança receber registrar um pouco de cada vez. Após a última pouco foi deslocado dentro, o bit de paragem é verificado e os dados são transferidos para o buffer que transmite os dados através do registo RCREG se ela estiver vazia. O tampão ePortanto RCREG registo constituir um elemento de dois FIFO. Se a recepção nove bit estiver ativado,o nono bit é passado para o bit RX9D no RXSTA da mesma maneira comoos outros oito bits de dados são passados para o registro RCREG.A utilização de um registador de deslocamento de recepção separadas e um tampão FIFO permite otempo para osoftware em execução no PIC MCU para ler os dados recebidos antes de umerro de saturação ocorre. É possível ter recebido dois bytes e ser ocupada recebendoum terceiro byte antes dos dados no registo RCREG é lido.################################################################################ USART – Signals Asynchronous 8 bit waveform exampleAs saídas e entradas USART sinais de nível de lógica sobre o TX e RX pinos doPIC MCU. O sinal é alta quando há transmissão ou recepção em andamentoe vai para baixo quando a transmissão começa. Esta transição indo acessível é usado pelareceptor para sincronizar os dados recebidos. O sinal permanece baixa durante o períododo bit de início e é seguido pelos bits de dados, o bit menos significativo em primeiro lugar. Nocasode uma transferência de oito bits, há oito bits de dados e o último bit de dados é seguidoo bit de paragem, que é elevado. Por conseguinte, a transmissão termina com o elevado pino.Depoiso bit de paragem foi concluída, o bit de início da próxima possível a transmissão imediata pelas linhas pontilhadas.Há várias coisas a notar sobre esta forma de onda, o que representa o sinal emos pinos TX ou RX do microcontrolador. O bit de início é um zero e o bit de paragem é umum. Os dados são enviados bit menos significativo em primeiro lugar de modo que o padrão de bitsolha para trás emcomparação com a maneira como ele aparece quando escrito como um número binário. Os dadosnão sãoinvertido, embora RS-232 usa tensões negativas para representar uma lógica um.Geralmente, quando se utiliza o USART para comunicações RS-232, os sinais devem ser invertido e nível deslocado através de um chip transceptor de algum tipo. No caso de umnove bits de transmissão assíncrona, o nono bit ocorre após o  oitavo bit de dados e é seguido pelo bit de paragem. Tendo o nono bit nesta posiçãofaz com que seja fácil de implementar formatos de dados RS-232 que exigem paridade ou dois bitsde parada.Mesmo paridade pode ser implementado em software, alterando o nono bit de dados para fazer o número total de uns nos dados de um número par. Do mesmo modo, pode ser de paridade ímpar implementado fazendo com que o número total de uns nos dados de um número ímpar. Se dois bits de paragem são necessários para uma transmissão de oito bits, isto pode ser conseguidoajustandoo nono bit de dados para um. O nono bit actua então como o primeiro bit de paragem ea normal bit de parada se torna o segundo bit de parada.Uma outra vantagem de ter um bit de dados nona é que ele pode ser utilizado como um endereçoindicador. Isto é normalmente implementado sobre o protocolo RS-485. Cada dispositivo numa barramento serial é atribuído um endereço específico e monitora os dados para transmissões como nono bit definido. Quando o nono bit é definido, o software no PIC comparaos dados recebidos para o seu próprio endereço. Se os endereços de coincidirem, o software pode permitir recepção dos dados que se segue ao endereço, mas se os endereços não coincidirem, oos dados que se seguem é ignorado. Em alguns dispositivos PICmicro a USART tem hardwareconstruído em para verificar o bit endereço e pode ignorar as transmissões que não têm essa bit definido. Estes USARTs são referidos como USARTs endereçáveis.Os sinais nos pinos USART dos níveis lógicos utilização do microcontrolador. Isto significaque, para uma fonte de cinco volts, os sinais serão cerca de cinco volts quando eles são elevadose próximo ao chão quando são baixos. Ao comunicar com outra lógicadispositivos, estes sinais podem ser utilizados directamente. Em muitas aplicações, particularmentecomcomunicação assíncrona, os padrões de transmissão, tais como RS-232 e RS-485requerem diferentes níveis de tensão para ser usada. Por exemplo, RS-232 usa uma tensãoinferior a menos de cinco volts para representar uma lógica um e uma voltagem acima de cincovoltsrepresentam uma lógica zero. ParaRS-232, um chip de interface, tais como o dispositivo da Microchip TC232 é recomendadoconverter os sinais para os níveis necessários.################################################################################ USART – Registers Existem vários registos utilizados para controlar a USART e estas serão discutidas nomais detalhes posteriormente na apresentação.O registo SPBRG permite que a taxa de transmissão a ser definido.Os TXSTA e RCSTA registos são usados para controlar a transmissão e recepçãomas existem algumas funções que se sobrepõem e os dois registros são sempre utilizados.Os registos TXREG e RCREG são utilizados escrever dados a serem transmitidos e a ler os dados recebidos.Os PIR1 e PIE1 registros contêm os bits de flag de interrupção e permitir bits para permitir o USART para gerar interrupções. Interrupções são usados frequentemente quando o PIC écódigo em execução ocupado e dados precisam ser transmitidos ou recebidos em segundo plano.Os sinalizadores de interrupção são utilizados não só para interrupções, mas também pode ser lidodurante  operação normal, para determinar se os dados foram recebidos ou podem ser transmitidos.################################################################################ USART -- Baud Rate A taxa à qual os dados são transmitidos ou recebidos devem sempre ser definida usando ogerador de taxa de transmissão a menos que o USART está sendo usado no modo escravo síncrona.A taxa de transmissão é definido por escrito para o registro SPBRG. A sincronização de bitseleccionaentre os modos síncronos e assíncronos, e esses modos têm diferentestaxas de transmissão de um determinado valor no registo SPBRG. Para o modo assíncrono, oBit SYNC devem ser apuradas eo bit BRGH é usado para selecionar entre alta e baixaopções para uma maior flexibilidade na definição da taxa de transmissão velocidade.################################################################################ USART -- Baud Rate As duas primeiras fórmulas mostrar como a taxa de transmissão é definida pelo valor no SPBRGregistrar e pouco BRGH.O mais importante para o utilizador, no entanto, é a de ser capaz de calcular o valor de a colocar emo SPBRG registar para alcançar uma taxa de transmissão desejada. As duas últimas fórmulas podemser usado para fazer isso. O registo SPBRG pode ter um valor de zero a 255 e deveseja sempre um valor inteiro. Quando estas fórmulas produzir um valor para SPBRG que énão é um inteiro, haverá uma diferença entre a velocidade de transmissão desejada e a taxaque pode ser efectivamente alcançada. Ao calcular a taxa de transmissão real usando o mais próximovalor inteiro de eSPBRG, o erro pode ser determinada. Se esse erro éaceitável geralmente depende da aplicação.################################################################################ USART -- Baud Rate Como um exemplo do cálculo da taxa de transmissão, considere o caso de um microcontrolador operando a 4MHz que é necessário para se comunicar em 9600 com uma porta serialem um PC. O USART iria então ser utilizada no modo assíncrono.Quando BRGH está definido para zero, o valor ideal de SPBRG é calculado como 5,51. Desdeisto é diferente do valor inteiro mais próximo de seis até cerca de nove por cento, estairá causar um erro correspondente na taxa de transmissão.Quando BRGH é definido como um, o valor ideal de SPBRG é calculada como 25,04. Isto émuito próximo do valor de número inteiro de 25, o qual deve ser usado. Definir SPBRG a 25 serádar uma taxa de transmissão de 9615, que é dentro de dois décimos de um por cento da transmissãodesejadataxa. Note-se que para obter uma taxa de transmissão precisa e estável, um oscilador preciso e estável énecessária. Um cristal ou ressonador cerâmico geralmente funciona bem, mas é um oscilador RCraramente precisa o suficiente para a comunicação assíncrona de confiança. Não éaconselhável a utilização de um oscilador RC ao fazer comunicações RS-232 a um PC, paraexemplo.################################################################################ USART -- Baud Rate  Este é um exemplo de como escrever código para configurar a taxa de transmissão. O banco corretodeve ser selecionado para acessar o cadastro SPBRG. Os dados necessários, decimal 25 nesteexemplo, é movido para o registo de trabalho que é então movido para a eSPBRGregistrar. Por fim, o bit BRGH no TXSTA está definido. Em muitos casos, oBRGH bit será definido quando se escreve para o TXSTA para configurar outras característicasUSART o que será discutido mais tarde.Este exemplo usa a diretiva BANKSEL para selecionar o banco correto. Não é umInstrução PIC mas fará com que o montador ou ligante para gerar oinstruções apropriadas para alterar o banco. Por favor, consulte o Guia do Usuário MPASM para mais informações.################################################################################ USART -- TXSTA Register  O TXSTA é usado principalmente para controlar as transmissões, mas não tem outrofunções. Por exemplo, a sincronização de bit e selecciona entre síncronomodos assíncronos para transmissão e recepção.O bit CSRC não tem nenhum efeito no modo assíncrono.O bit TX9 permite a transmissão de nove bit. Se este bit for definido, o bit TX9D noTXSTA serão transmitidos para além dos oito bits de dados que estavaescrito para o registro TXREG.O bit TXEN permite transmissões. Uma vez que este bit foi definido, escreve para oTXREG registo fará uma transmissão ao ser iniciado se a porta serial tem sidoativado.O bit SYNC devem ser apuradas para selecionar a operação assíncrona.O bit BRGH seleciona entre as opções de taxa de transmissão de alta e baixa velocidade emmodo assíncrono. Isto permite uma maior gama de velocidades de transmissão a ser selecionado.O bit TRMT indica que há dados na mudança de transmissão registar. Isto significaque existe uma transmissão em curso. Os dados que são gravados no registro TXREG écarregados para a mudança de transmissão registrar quando este registro está vazio. A mudança detransmissãoregisto é interno e não é um registro legível.################################################################################ USART -- RCSTA Register  O RCSTA é usado principalmente para controlar a recepção, mas não tem outrofunções. Por exemplo, o bit SPEN é usado para permitir que toda a porta serial, tantotransmissões e recepções.Definir SPEN também configura ambos os pinos de porta associado ao USART ao seuUsart funções.O bit RX9 permite a recepção de nove bit. Isto faz com que o nono bit de dados a ser recebidocarregados para o bit RX9D no RXSTA.O bit SREN não tem qualquer efeito no modo assíncrono.O bit CREN permite a recepção de dados continuamente enquanto ele está definido e desativarecepção quando apagada.O bit ADDEN permite a detecção de endereços no modo assíncrono nove bit e édisponível apenas em peças com uma USART endereçável. Quando este bit for definido, apenas os