Ir ao conteúdo
  • Cadastre-se

eeprom i2c com pic


Posts recomendados

Boa tarde amigos do CDH..

 

Seguinte, estou pretendendo usar uma memoria eeprom externa para um sistema de senhas de 4 dígitos, pois a memoria do 16F877A ou 16F648A são de 256 e nela só consigo gravar 128 senhas. (obs cada senha ocupa 2 endereços)

 

Minha divida é, no caso da leitura dos endereços da memoria eeprom, digamos uma com 1024 onde eu teria 512 senhas, o tempo para leitura de cada endereço é de 5ms certo? digamos que a senha digitada esteja gravada no endereço 1022 e 1023 (no caso seria a senha 512) o programa levaria (1023 (endereços) * 5(ms tempo de cada leitura)= 5 segundos para me dar um retorno se a senha é valida ou não ??? seria isso mesmo????

 

No caso caso da eeprom interna do microcontrolador, é esse mesmo tempo tambem para ler.. creio que não pois em testes de 256 endereços, lendo os 2 ultimos não levou 1,2 segundos para dar a resposta. Bom espero que se na eeprom interna do pic não houver mesmo esse tempo, irei migrar para familia 18F.. onde temos pics com 1024 de eerpom interna.

 

Att.

Rodrigo C.

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
1 hora atrás, rodrigocirilo disse:

5 segundos para me dar um retorno se a senha é valida ou não ??? seria isso mesmo????

absolutamente não. O tempo de acesso é da casa miliSeg. É relativamente simples: o sistema não incrementa do zero até achar o que você quer. Ele manda o endereço e pega o byte dele. Ou seja são "2 palitos"

 

A grosso modo, Imagine que o clock do i2c é de 400Khz (em termos de bit) e sendo endereço=16 bits + 8 de dados = 24 bits = 400000/24= em menos de 1mS lê 1 byte esteja ele na posição que estiver. De fato tem o starts e stops bits aí no meio da parada mas ... acho que você entendeu a essência da coisa.

 

Pra agilizar a leitura de vários bytes, tem até um lance de você enviar 1 endereço e ler um pacote de dados a partir dele... talvez você esteja a confundir com tal

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Em 10/03/2017 às 17:38, rodrigocirilo disse:

5 segundos para fazer 1023 consultas a memória externa, sendo que cada leitura de endereço leva 5ms

Neste caso sim. Mas como te disse você pode reduzir este tempo se ler um pacote de bytes. Me lembro vagamente que algumas eeprom você pode ler 64 bytes na sequencia

 

Mas reitero que pra ler 1 ou 2 bytes, mesmo que na útilma posição, não leva este tempo ok?

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Isadora Ferraz disse:

Mas reitero que pra ler 1 ou 2 bytes, mesmo que na útilma posição, não leva este tempo ok?

Sim se eu indicar exatamente o endereço concordo, mas no meu caso preciso ler todos os endereços para checar se a senha digitada está na memória.

 

No caso se for a memória EEPROM interna do PIC não levará este tempo certo??

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Vamos ver se entendi: você tem 512 senhas válidas e quer ver se a da entrada está entre elas, é isso? (1/2 estranho isso mas cada mania com seu lôco).

Pra ficar mais ágil, transfira pra ram antes de fazer a comparação. Um mc de mais memória lhe cai bem.

E sim, a eeprom interna é mais rápida.

E avalie melhor as entradas de teu projeto com mc de 8 bits: geralmente 8 bits é suficiente como senha. Um algoritimo tipo assim: errou a senha uma (ou 2..3) vez? Espere 30 segundos. Pode melhorar a segurança.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

55 minutos atrás, Isadora Ferraz disse:

Vamos ver se entendi: você tem 512 senhas válidas e quer ver se a da entrada está entre elas, é isso? (1/2 estranho isso mas cada mania com seu lôco).

porque, meio estranho?? terá um teclado de 0 a 9 dígitos onde será cadastrado todas as senhas validas... no uso diário, será digitada as senhas e para saber se é valida ou não terá de consultar na memória, se ela estiver lá, será válida..

 

56 minutos atrás, Isadora Ferraz disse:

Pra ficar mais ágil, transfira pra ram antes de fazer a comparação. Um mc de mais memória lhe cai bem.

Putz.. como nao pensei nisso antes?? como sou lento rsrsrs transfiro tudo da eeprom para ram no start do mcu e pronto...

 

58 minutos atrás, Isadora Ferraz disse:

E sim, a eeprom interna é mais rápida.

Que bom...

 

58 minutos atrás, Isadora Ferraz disse:

E avalie melhor as entradas de teu projeto com mc de 8 bits: geralmente 8 bits é suficiente como senha.

Não entendi essa parte, no caso as senhas terá 4 digitos então formarão um numero  de 0000 a 9999, no caso não consigo gravar em um único endereço o valor, pois não é de 8 bits (certo??) por isso preciso separar o numero em 2 de 2 dígitos ai sempre vou ter numeros abaixo de 255 para gravar.. Então como 8 bits seriam suficiente para senhas?? 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
1 hora atrás, rodrigocirilo disse:

no uso diário, será digitada as senhas e para saber se é valida ou não terá de consultar na memória, se ela estiver lá, será válida..

Não entendi direito. Geralmente senha é uma só. p.ex. grava e apaga no mesmo endereço.  Desconheço a utilidade prática de pacote de senhas válidas. E pra cadastrar centenas de senhas via teclado 0..9 aff,, mó trabalho. Mas isso não é problema meu.

 

1 hora atrás, rodrigocirilo disse:

Então como 8 bits seriam suficiente para senhas?? 

Seria sim pra 256 senhas de 0 a 255. Mesmo assim é senha placar alho.

 

1 hora atrás, rodrigocirilo disse:

transfiro tudo da eeprom para ram no start do mcu e pronto...

kibom... isto resolve seu problema (mas pode criar outro: uso excessivo de memória)

 

Alguns mc têm alternativa de gravar na própria flash de programa (vulgo cortar a própria carne) mas como não gosto muito desta alternativa, permito-me deixar você pesquisar sobre se desejar, ok?

Link para o comentário
Compartilhar em outros sites

@Isadora Ferraz  Muito obrigado pelas dicas...

 

4 horas atrás, Isadora Ferraz disse:

Alguns mc têm alternativa de gravar na própria flash de programa (vulgo cortar a própria carne) mas como não gosto muito desta alternativa, permito-me deixar você pesquisar sobre se desejar, ok?

Se você que conhece muito mais do que eu não gosta dessa alternativa, imagina se eu vou usar rsrsrs.. quem saber em um futuro distante.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...