Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Memória de Dados EEPROM Jadsonlee da Silva Sá
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Introduçã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 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 Controle
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Registradores 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 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 - 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 - 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 - 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 - EEPROM Passos 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 Registradores
Exemplo - Assembly
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Exemplo - Assembly
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Exemplo - Assembly MOVLW 0x20
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Tarefa Faça o programa anterior em linguagem C a nível de registrador e utilizando a API do CCS. Faça um programa, em assembly, de controle de acesso de senha usando a serial. O sistema deve conter 5 senhas de 8 bits cadastradas via a serial. Use dois leds para indicar se a senha digitada é correta (LED1 acesso) ou incorreta (LED2 acesso).