30
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Módulo MSSP Jadsonlee da Silva Sá [email protected] www.univasf.edu.br/~jadsonlee. sa

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá [email protected]

Embed Size (px)

Citation preview

Page 1: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Módulo MSSPMódulo MSSP

Jadsonlee da Silva Sá

[email protected]/~jadsonlee.sa

Page 2: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Introdução - MSSPIntrodução - MSSP MSSP – Master Synchronous Serial Port.

Interface serial síncrona utilizada na comunicação com outros periféricos ou microcontroladores.

– Ex.: EEPROMs, registradores de deslocamento, drivers de displays, conversores A/D entre outros.

Pode operar em dois modos:

– SPI Serial Peripheral Interface.

– I2C Inter-Integrated Circuit.

Page 3: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Introdução - MSSPIntrodução - MSSP

Existem três registradores de controle associados:

– Registrador de status – SSPSTAT;

– Registradores de controle – SSPCON e SSPCON2.

Page 4: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Modo SPIModo SPI Interface mestre/escravo que permite transmitir

e receber sincronamente 8 bits de dados simultaneamente.

Todos os 4 modos padrão da SPI são implementados.

A comunicação pode ser feita por três pinos:

– Serial Data Out (SDO) – RC5/SDO;

– Serial Data In (SDI) – RC4/SDI;

– Serial Clock (SCK) – RC3/SCK/SCL/LVDIN;

– No modo escravo, um quarto pino Slave Select (/SS) – RA5//SS/AN4, deve ser usado.

Page 5: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Modo SPIModo SPI

Existem 4 registradores:

– SSPCON – Controle;

– SSPSTAT - Status;

– SSPBUF – Buffer Tx/Rx serial;

– SSPSR – Deslocamento – Não acessível.

Page 6: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Modo SPIModo SPI

Page 7: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Modo SPIModo SPI Funcionamento.

– O SSPSR desloca os dados de entrada e saída do dispositivo – Primeiro MSb.

– O byte é movido para SSPBUF – BF (buffer cheio) e SSPIF são setados.

Page 8: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Modo SPIModo SPI Funcionamento.

– O bit WCOL (SSPCON<7>) é setado caso ocorra uma escrita em SSPBUF durante a Tx/Rx.

• O software do usuário deve zerar WCOL.

– SSPBUF deve ser lido antes de receber novos dados – O bit BF é zerado após a leitura.

– Os pinos devem ser configurados como entrada ou saída no registrador TRISC.

Page 9: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Modo SPIModo SPI SSPSTAT.

Page 10: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Modo SPIModo SPI SSPSTAT.

Page 11: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Modo SPIModo SPI SSPCON.

Page 12: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Modo SPIModo SPI SSPCON.

O clock do mestre e do escravo devem ser configurados com a mesma polaridade.

Page 13: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Modo SPIModo SPI

Page 14: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Modo SPIModo SPI

Page 15: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

AtividadeAtividade

Façam um programa em assembly, outro em C (no nível de registrador) e outro em C – CCS que transfere dados de um PIC16F877A para outro PIC16F877A.

Page 16: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Memória de Dados Memória de Dados EEPROMEEPROM

Jadsonlee da Silva Sá

[email protected]/~jadsonlee.sa

Page 17: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

IntroduçãoIntrodução Memórias de dados EEPROM e Programa FLASH.

Não são mapeadas diretamente no espaço de registro de arquivo.

– São indiretamente endereçadas via SFRs.

Existem seis SFRs usados para ler/escrever esta memória:

– EECON1, EECON2, EEDATA, EEDATAH, EEADR e EEADRH.

Page 18: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Dados EEPROMDados EEPROM Bloco memória de dados - EEPROM.

– EEDATA contém os dados de 8 bits para ler/escrever.

– EEADR contém o endereço da posição da EEPROM sendo acessada.

• EEPROM possui 256 bytes.

• Faixa de endereço de 00 a FFh.

• Um único byte pode ser lido/escrito por vez.

• Uma escrita automaticamente apaga os dados e escreve os novos dados.

Page 19: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Registradores de ControleRegistradores de Controle

Page 20: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Registradores de ControleRegistradores de Controle

• Quando uma escrita for finalizada, o bit EEIF de PIR2 será setado, e deverá ser zerado via software.

Page 21: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Registradores de Controle Registradores de Controle

EECON2.

– Não é um registrador físico.

– A leitura retorna 0’s.

– É utilizado na sequência especial de escrita da EEPROM.

Page 22: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Leitura - EEPROMLeitura - EEPROM Passos para leitura da EEPROM:

– Escrever o endereço da posição em EEADR;

– Zerar o bit EEPGD de EECON1;

– Setar o bit RD de EECON1 – Inicia a leitura;

– O dado é carregado em EEDATA – Pode ser lido na próxima instrução;

– EEDATA mantém este valor até a próxima leitura ou até ser escrito pelo usuário.

Page 23: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Escrita - EEPROMEscrita - EEPROM Passos para escrita na EEPROM:

– Verificar se o bit WR está zerado – Se sim, pode escrever.

– Escrever o endereço da posição em EEADR;

– Escrever o dado em EEDATA;

– Zerar o bit EEPGD de EECON1;

– Setar o bit WREN de EECON1 – Habilitar escrita;

– Desabilitar as interrupções – GIE (caso estejam habilitadas).

Page 24: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Escrita - EEPROMEscrita - EEPROM Passos para escrita na EEPROM:

– Executar a sequência especial:

• Escrever 55h em EECON2;

• Escrever AAh em EECON2;

• Setar o bit WR de EECON1;

– Habilitar as interrupções (caso seja necessário).

Page 25: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Escrita - EEPROMEscrita - EEPROMPassos para escrita na EEPROM:

– Zerar o bit WREN de EECON1 – Desabilitar a escrita.

• Após a finalização da escrita, o bit WR será zerado e o bit EEIF será setado. EEIF deve ser zerado por software.

– Verificar se EEIF está setado ou se WR está zerado – Fim da escrita.

Page 26: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

RegistradoresRegistradores

Page 27: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Exemplo - AssemblyExemplo - Assembly

Page 28: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Exemplo - AssemblyExemplo - Assembly

Page 29: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Exemplo - AssemblyExemplo - Assembly

MOVLW 0x20

Page 30: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

TarefaTarefa

Faça o programa anterior em linguagem C a nível de registrador e utilizando a API do CCS.