MSP430 – Comunicação Serial Microcontroladores 2 EL08D Turma T11 Prof. Gabriel Kovalhuk E-mail: [email protected] Site: http://paginapessoal.utfpr.edu.br/kovalhuk Prof. Gabriel Kovalhuk Microcontroladores 2 - 1ºSem/2015 MSP430 - Comunicação Serial Comunicação Serial Síncrona SPI e I2C Prof. Gabriel Kovalhuk Microcontroladores 2 - 1ºSem/2015 MSP430 - Comunicação Serial Comunicação Serial Síncrona SPI: Serial Peripheral Interface e I2C: Inter-Integrated Circuit; Foram idealizados para interligar componentes em uma placa de circuito impresso; Mas podem ser usadas para interligar circuitos (placas) separados; Prof. Gabriel Kovalhuk Microcontroladores 2 – 1ºSem/2015 MSP430 - Comunicação Serial SPI: Serial Peripheral Interface Desenvolvido pela Motorola (hoje Freescale); Criado para interligar os periféricos ao processador para pequenas distâncias; “Concorre” com I2C e One Wire (Dallas Semiconductors); Geralmente usada para interligar dispositivos como sensores, displays, memórias, etc. Prof. Gabriel Kovalhuk Microcontroladores 2 – 1ºSem/2015 MSP430 - Comunicação Serial SPI: Serial Peripheral Interface Realiza a comunicação full-duplex; Permite interligar diversos dispositivos através de apenas um barramento, porém a seleção do dispositivo é feita individualmente; A taxa de transferência é definida pelo dispositivo master (geralmente o microcontrolador) através do sinal de clock; A seleção do periférico também é definida pelo dispositivo master através do sinal de seleção (individual para cada dispositivo slave); Prof. Gabriel Kovalhuk Microcontroladores 2 – 1ºSem/2015 MSP430 - Comunicação Serial SPI: Serial Peripheral Interface O barramento é composto de quatro sinais: MOSI: Master Output – Slave Input; MISO: Maste Input – Slave Output; SCLK: Sinal de Clock; SSn: Sinal de Seleção do dispositivo slave; Prof. Gabriel Kovalhuk Microcontroladores 2 – 1ºSem/2015 MSP430 - Comunicação Serial SPI: Serial Peripheral Interface Dispositivo MASTER MOSI MOSI MISO SCLK MISO SCLK SS1 SS2 SS1 Dispositivo SLAVE 1 MOSI MISO SCLK SS2 Prof. Gabriel Kovalhuk Dispositivo SLAVE 2 Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial SPI: Serial Peripheral Interface Funcionamento: O dado a ser transmitido pelo master é colocado no registrador de deslocamento do master e o dados a ser recebido pelo master deverá estar no registrador de deslocamento do slave; O sinal SS é habilitado, avisando ao slave que uma comunicação será iniciada; A cada pulso de clock, um bit do master é transferido para o slave e um bit do slave é transferido para o master; Prof. Gabriel Kovalhuk Microcontroladores 2 – 1ºSem/2015 MSP430 - Comunicação Serial SPI: Serial Peripheral Interface Funcionamento: MASTER SLAVE SCLK Clock Registrador de Deslocamento MOSI Registrador de Deslocamento MISO SSn Prof. Gabriel Kovalhuk Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial SPI: Serial Peripheral Interface Funcionamento: Após os dados terem sido totalmente transmitido, o sinal SS é desabilitado; Ao final da transmissão, o dado transmitido pelo master estará no registrador de deslocamento do slave e o dado transmitido pelo slave estará no registrador de deslocamento do master; Prof. Gabriel Kovalhuk Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial SPI: Serial Peripheral Interface Funcionamento: Por padrão a comunicação SPI permite a configuração das bordas de transição do clock através de sua polaridade e fase. A configuração da polaridade se dá através de CPOL (Clock Polarity), e a configuração da fase se dá através de CPHA (Clock Phase); MODO CPOL CPHA Borda Transição 0 0 0 Subida Meio do Bit 1 0 1 Descida Começo do Bit 2 1 0 Descida Meio do Bit 3 1 1 Subida Começo do Bit Prof. Gabriel Kovalhuk Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial SPI: Serial Peripheral Interface Funcionamento: Escrita Leitura SCLK SS MOSI 7 6 5 4 3 2 1 0 MISO 7 6 5 4 3 2 1 0 ? Modo 0: CPHA=0 e CPOL=0 Escrita Leitura SCLK SS MOSI 7 6 5 4 3 2 1 0 MISO ? 7 6 5 4 3 2 1 0 Modo 3: CPHA=1 e CPOL=1 Prof. Gabriel Kovalhuk Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial SPI: Serial Peripheral Interface Exemplos: Fonte: http://www.embarcados.com.br/modulo-matriz-de-leds-com-max7219/. <Acessado em 09/05/2016>. Prof. Gabriel Kovalhuk Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial SPI: Serial Peripheral Interface Exemplos: Fonte: http://blog.filipeflop.com/modulos/modulo -ethernet-enc28j60-arduino.html/. <Acessado em 09/05/2016>. Prof. Gabriel Kovalhuk Fonte: http://blog.filipeflop.com/modulos/cartaosd-com-arduino.html/. <Acessado em 09/05/2016>. Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial Comunicação I2C Desenvolvido pela Philips (hoje NXP); É usado para a comunicação entre dispositivos lentos (EEPROMs, A/D and D/A converters, I/O interfaces) e microcontroladores; Usa apenas dois barramentos: Dados (SDA) e Clock (SCL); Inicialmente a frequência de clock máxima era de 100kHz, mas hoje é capaz de alcançar até 5MHz; Prof. Gabriel Kovalhuk Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial Comunicação I2C +Vcc Resistores de pull-up SDA SCL MASTER SLAVE 1 SLAVE 2 SLAVE n GND Prof. Gabriel Kovalhuk Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial Interface I2C Permite interligar diversos dispositivos no mesmo barramento; O barramento possui apenas dois sinais (mais o GND); Sinal de dados, chamado de SDA; Sinal de clock, chamado de SCL; Cada linha do barramento precisa de um resistor de pull-up; Prof. Gabriel Kovalhuk Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial Protocolo I2C Cada frame é composto por um campo de endereço de 7 bits, um campo de operação de 1 bit (leitura ou escrita) e um campo de dados de 8 bits Cada dispositivo SLAVE possui um endereço único; O endereço é sempre enviado pelo dispositivo master; Alguns dispositivos SLAVE possuem endereço fixo, enquanto outros permitem definir os bits mais baixos do endereço para dar mais flexibilidade ao sistema; O dispositivo master não precisa de endereço, pois é ele que gera o sinal de clock e comanda as operações do protocolo; Prof. Gabriel Kovalhuk Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial Funcionamento do Protocolo I2C Quando o barramento não está sendo usado, os dois sinais estão em nível alto; A comunicação inicia com o master colocando a linha de dados em nível baixo (start bit); Em seguida o master coloca o endereço do dispositivo SLAVE na linha de dados, a operação (leitura/escrita) e finaliza com o dado; Prof. Gabriel Kovalhuk Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial Funcionamento do Protocolo I2C SDA SCL Start bit Prof. Gabriel Kovalhuk Address W / R Data Stop bit Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial Funcionamento do Protocolo I2C O dado será lido quando o sinal SCL estiver em nível alto e poderá ser alterado quando o SCL estiver em nível baixo; SDA SCL O dado deve estar estável Prof. Gabriel Kovalhuk O dado pode ser alterado Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial Funcionamento do Protocolo I2C Se o master vai enviar uma sequência de vários bytes para o mesmo slave, não é necessário reenviar o campo de endereço, mas a cada byte enviado o slave deve enviar um bit de ACK; O mesmo oscorre se o master vai receber uma sequência de vários bytes do mesmo slave; O padrão I2C também permite um endereçamento de 10 bits; Existem alguns endereços que são reservados e não podem ser utilizados por dispositivos slave; Prof. Gabriel Kovalhuk Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial Exemplo de Componente I2C Endereço Base: PCF8574: 0x20 PC8574A: 0x38 Prof. Gabriel Kovalhuk Fonte: https://ve2cuy.wordpress.com/18f4620-2-x-i2c-lcd-withpcf8574/. <Acessado em 09/05/2016> Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial Exemplo de Componente I2C Fonte: https://startingelectronics.org/beginners/start-electronics-now/tut18-twowire-arduino-knight-rider/ . <Acessado em 09/05/2016> Prof. Gabriel Kovalhuk Microcontroladores 2 – 2ºSem/2015 MSP430 - Comunicação Serial Exemplo de Componente I2C Fonte: https://ve2cuy.wordpress.com/18f4620-2-x-i2c-lcdwith-pcf8574/. <Acessado em 09/05/2016> Fonte: http://www.ebay.com/itm/PCF8574-IOExpansion-Board-I-O-Expander-I2C-Bus-EvaluationDevelopment-Module-/251047151130. <Acessado em 09/05/2016> Prof. Gabriel Kovalhuk Microcontroladores 2 – 2ºSem/2015 MSP430 - Arquitetura Referência Bibliográfica: MSP430x2xx Family User's Guide, SLAU144I, Texas Instruments, 2012; http://www.embarcados.com.br/spi-parte-1/. Acessado em 02 de Novembro de 2015; http://i2c.info/. Acessado em 02 de Novembro de 2015; Prof. Gabriel Kovalhuk Microcontroladores 2 - 2ºSem/2014