universidade federal do vale do são francisco - univasf colegiado de engenharia da computação –...
TRANSCRIPT
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
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.
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.
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.
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.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Modo SPIModo SPI
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.
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.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Modo SPIModo SPI SSPSTAT.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Modo SPIModo SPI SSPSTAT.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Modo SPIModo SPI SSPCON.
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.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Modo SPIModo SPI
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Modo SPIModo SPI
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.
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
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.
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.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Registradores de ControleRegistradores de Controle
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.
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.
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.
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).
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).
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.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
RegistradoresRegistradores
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Exemplo - AssemblyExemplo - Assembly
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Exemplo - AssemblyExemplo - Assembly
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Exemplo - AssemblyExemplo - Assembly
MOVLW 0x20
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.