Software para Sistemas Embarcados Comunicação com periféricos Professores: Alisson Brito e Eudisley Anjos
Necessidades de Comunicação Um microcontrolador precisa trocar informações entre ele e outros disposi<vos ou processadores do sistema. Um sistema complexo composto por vários processadores necessita de uma rede de comunicação entre os mesmos para que possa exis<r a troca de informação entre eles. Esta rede pode ser composta por cabos ou por enlaces sem fios. 2
Necessidades de Comunicação Um sistema que possua sensores remotos necessita comunicar-se com estes sensores. Se estes sensores possuem saídas digitais, o microcontrolador necessita uma porta de comunicação compalvel com este sensor. Outros disposi<vos, como cartões de memória necessitam portas de comunicação específicas. 3
Tipos de Comunicação A comunicação entre disposi<vos pode ser classificada como paralela ou serial. A comunicação também pode ser classificada como síncrona ou assíncrona. 4
Tipos de Comunicação A comunicação paralela é u<lizada no interior dos microcontroladores e computadores. A comunicação paralela é u<lizada entre o processador e disposi<vos de memória. 5
Tipos de Comunicação A comunicação serial é realizada u<lizando apenas uma linha de dados e os bits são enviados um de cada vez. Existem diversos protocolos de envio de dados de maneira serial, com caracterís<cas Vsicas diferentes. Exemplos: RS232, RS485 CAN, SPI, I2C USB 6
Tipos de Comunicação A comunicação síncrona u<liza um sinal de relógio para que o receptor da mensagem mostre o sinal no momento ideal. Em um sistema que u<liza comunicação síncrona a amostragem é comandada pelo mestre do canal de comunicação através do relógio. Exemplos: SPI I2C 7
Tipos de Comunicação A comunicação assíncrona não u<liza um sinal de relógio e necessita que todos os disposi<vos envolvidos possuam uma mesma base de tempo. Como não existe relógio, ambos devem u<lizar uma mesma base de tempo para evitar erros de comunicação Exemplos: RS232 RS485 USB 8
Meios de Comunicação A comunicação entre os disposi<vos em um sistema embarcado normalmente se dá por cabos ou trilhas em placas de circuitos. A comunicação também pode se dar por meios sem fio u<lizando tecnologias como rádio frequência (RF), Infravermelho (IR) ou Bluetooth. Dependendo do des<no da comunicação, uma comunicação sem fios pode ser mais interessante que uma comunicação com fios. 9
Periféricos de comunicação integrados nos PICs Dependendo do disposi<vo se pode u<lizar mais de uma porta de comunicação. Disposi<vos com mais de 40 pinos possuem o disposi<vo PSP (Paralell Slave Port) para comunicação paralela entre o PIC e o disposi<vo periférico (memórias, outros PICs, etc.) 10
Periféricos de comunicação integrados nos PICs Alguns PICs possuem USARTs (Universal Syncronous Assyncronous Receiver Transmiher). Podem ser configurados como portas seriais síncronas (SPI e I2C) ou como porta serial assíncrona (RS232). Alguns PICs possuem mais de um disposi<vo USART que podem ser configurados independentemente. 11
Periféricos de comunicação integrados nos PICs Alguns PICs possuem o disposi<vo MSSP (Master Syncronous Serial Port) que se presta à comunicação serial Síncrona. Nestes disposi<vos a comunicação assíncrona se dá pela u<lização do disposi<vo UART (Universal Asyncronous Receiver Transmiher). 12
Periféricos de comunicação integrados nos PICs SPI Serial Peripheral Interface Desenvolvido por Motorola para a comunicação serial entre disposi<vos digitais (Controladores, memórias, conversores A/D, etc.) É o protocolo u<lizado para o acesso ás memórias MMC e SD, em modo de compa<bilidade MMC Barramento full duplex com um único mestre formado por duas linhas de dados (SDI e SDO), uma linha de relógio e uma linha de seleção de escravo para cada escravo 13
Periféricos de comunicação integrados nos PICs I²C - Inter-Integrated Circuit Desenvolvido pela Philips para a interconexção de circuitos integrados em disposi<vos eletrônicos Barramento mul<mestre para conexões em baixa velocidade em disposi<vos eletrônicos U<liza duas linhas em dreno aberto, uma de dados (SDA) e uma de relógio (SCL) 14
Periféricos de comunicação integrados nos PICs Alguns PICs possuem o disposi<vo CAN (Controller Area Network). CAN foi desenvolvido pela Bosh para ser uma rede de microcontroladores o<mizada para o uso em veículos. É uma rede síncrona mul<-mestre onde todos os controladores tem acesso à rede mas apenas um pode enviar mensagens de cada vez. 15
Periféricos de comunicação integrados nos PICs Os disposi<vos com USART ou UART podem operar em modo RS232 para comunicação serial; A comunicação RS232 é realizada u<lizando um conjunto de linhas de dados de envio e recepção de dados e um conjunto de dados de controle; Dependendo da comunicação se pode ignorar as linhas de controle, reduzindo a quan<dade de linhas; RS232 é assíncrona, requerendo uma sincronização de tempos entre ambos disposi<vos. 16
Periféricos de comunicação integrados nos PICs Alguns modelos da linha PIC possuem a funcionalidade de comunicação USB. Os PICs que possuem a comunicação USB possuem uma maior quan<dade de memória para que o periférico USB possa enviar dados a alta velocidade. Estes disposi<vos devem operar a velocidades de relógio predefinidas para que a comunicação ocorra. 17
Disposi<vos Periféricos Disposi<vos periféricos são todos os disposi<vos associados ao microcontrolador para prover a este alguma funcionalidade adicional Podem u<lizar como interface de comunicação qualquer interface/protocolo SPI I²C Paralela RS232 CAN 18
Memória serial As memórias seriais são u<lizadas para o armazenamento externo de dados em sistemas embarcados. Podem ser do <po EEPROM, FLASH ou SRAM Podem possuir interfaces SPI, I²C, etc. Alguns microcontroladores possuem espaços de memória EEPROM para armazenamento de dados. Estas memórias integradas possuem interfaces paralelas. 19
Memória serial A memória 24AA512 da microchip possui 512kbit (64k x 8bit) de memória, interface I²C Este disposi<vo apresenta 3 pinos de endereço, que permite a u<lização de até 8 memórias no mesmo sistema O acesso ao disposi<vo é feito através do envio de endereço e dado para escrita ou endereço e aguarda o dado lido O acesso ao disposi<vo é feito u<lizando-se o protocolo de comunicação I²C 20
Memória serial 21
Display Alguns sistemas embarcados têm telas para lidar com esses seres humanos traquinas. Tal como acontece com sensores, seu monitor pode ser analógico ou digital, tão simples como um LED ou tão complexo como um LCD com tela sensível ao toque. A gama é enorme. 22
Displays segmentados 23
Pixel displays Sete segmentos não é suficiente para representar. Cada coisa que você quer colocar na tela exibe um bitmap para descrever os bits. Todos os seus bitmaps juntos são chamados de recursos gráficos. Recursos gráficos são geralmente dividida em fontes e outros elementos gráficos (fotos, logo<pos, etc.). Isso lhe dá muito mais flexibilidade para mudar de tela, proporciona ao sistema um novo visual e reu<lizar o seu subsistema de exibição em um produto diferente. 24
Pixel Displays 25
Display LCD alfanumérico Os displays LDC alfanuméricos são uma forma muito flexível de realização de interface entre o sistema embarcado e o usuário São u<lizados para a apresentação de valores relacionados ao sistema de controle ou ao sistema controlado Podem ser encontrados em diferentes configurações de número de linhas e número de caracteres por linha. 26
Display LCD alfanumérico Os displays LDC alfanuméricos possuem um controlador interno que possui um mapa da fonte u<lizada no display. A maioria dos displays possuem interface paralela para a comunicação com microcontroladores A comunicação pode ser realizada byte a byte ou nibble a nibble Em alguns casos a comunicação pode ser serial, via RS232 27
Display LCD alfanumérico 28
Display LCD alfanumérico 29
Display LCD alfanumérico Para u<lização deve-se inicializar corretamente o display e para a escrita no mesmo se enviam os dados ao mesmo diretamente Pode-se recuperar dados do display LCD lendose a memória do mesmo na posição do cursor Caracteres especiais podem ser gerados na memória do display possibilitando a u<lização de acentos Todos os caracteres especiais são armazenados na RAM do controlador do display, obrigando a reprogramação dos mesmos a cada reset 30
Display LCD alfanumérico Além dos displays alfanuméricos também se pode encontrar os displays gráficos Estes úl<mos podem operar em modo de texto u<lizando a fonte programada no controlador do disposi<vo ou a u<lização em modo gráfico que permite a representação de gráficos, etc. Alguns microcontroladores possuem interfaces dedicadas à interface com controladores de displays gráficos de LCD Microchip disponibiliza para a linha PIC18, PIC24 e dspic ferramentas so#ware para interface com displays gráficos 31
Hosts e outros processadores Do ponto de vista do processador, um computador host é apenas mais um periférico para se comunicar. 32
Unindo periféricos e comunicação A compreensão de como estabelecer a transmissão dos dados em torno do so#ware é fundamental para conceber um grande sistema. Buffer circular FIFO buffer DMA (Direct Memory Access) 33
Robustez na Comunicação Não importa o desempenho, você precisa saber que os dados recebidos são os dados que foram transmi<dos. Se você não controlar os dois lados da via de comunicação, isso pode ser complicado. 34
Robustez na Comunicação É fundamental versionar e rodar a verificação do so#ware, principalmente em peças do sistema que podem ser conectados e desconectados. A soma de verificação irá dizer-lhe quando os componentes foram adulterados ou sofreram falhas de hardware. 35
Robustez na Comunicação Criptografia e auten<cação A auten<cação pode ser uma assinatura criptografada, de modo que os dois estão relacionados. Implementar o algoritmo corretamente, não significa que os dados estão seguros. 36
Perguntas? 37