quinta-feira, fevereiro 06, 2014

EPROM - Programação

No post anterior vimos um pouco sobre o que é uma EPROM e mencionamos que a programação requer o uso de tensões especiais. Neste post veremos mais alguns detalhes sobre isto.


Deixando de lado os excêntricos primeiros modelos, o procedimento básico para programar uma EPROM consiste em:
  • Colocar nos pinos apropriados o endereço que será gravado e o conteúdo desejado.
  • Pulsar uma tensão especial no pino de programação.
Parece fácil? Acontece que existem várias dificuldades práticas para fazer um programador, principalmente se for desejado um programador "universal" que suporte vários modelos.

A primeira questão é que precisamos de uma fonte para a tensão especial e um circuito que permite colocar e tirar esta tensão no pino da EPROM. Para complicar, existem diferenças de um modelo para outro, além da inevitável necessidade de mais pinos de endereço à medida que a capacidade aumenta. Em alguns casos, chips com o mesmo código mas de fabricantes diferentes requerem tensões diferentes. Um gravador universal requer várias fontes (ou uma fonte com tensão controlada por software, não sei se alguém fez isto), gerando várias tensões que podem ser dirigidas para vários pinos. Colocar a tensão incorreta em um pino pode causar danos à EPROM e ao programador.

Algumas EPROMs mais recentes usam uma tensão mais baixa de programação (12.5V), porém requerem que a alimentação "normal" seja elevada de 5 para 6V durante a programação.

Além de estipular as tensões, os manuais dos fabricantes descrevem a forma (ou algorítmo) de programação. Muitas vezes a EPROM suporta mais de um algorítimo; os mais complicados possibilitam a gravação em menos tempo. As versões listadas a seguir vem do site de um fabricante de gravadores:
  • No algorítimo padrão, é dado um pulso de programação de 50ms para cada posição. Isto significa que uma 2732, com 4K bytes, levará uns quatro minutos para ser programada. Esta duração do pulso garante a programação; se o conteúdo não ficar correto é certeza que a EPROM está podre.
  • No algorítimo inteligente (ou rápido), é tentado primeiro um pulso de 1ms. Se não der sucesso, a largura é dobrada (2ms), até que uma leitura indique sucesso ou o pulso passe de 25ms. Após uma leitura correta, a posição deve ser regravada com um pulso de largura três vezes a soma das tentativas já feitas. Por exemplo, se foram tentados pulsos de 1 e 2ms sem sucesso, e a gravação com 4ms foi correta, a gravação final será com 3*(1+2+4) = 21ms.
  • O algorítimo Snap! é apenas para EPROMs mais recentes e requer fontes bastante precisas para colocar as tensões de alimentação e programação bem próximas do limite. O pulso de programação é de apenas 100uS e é repetido até obter sucesso na gravação ou atingir o limite de 10 tentativas.
EPROMs mais modernas possuem uma forma do programador identificar o modelo, dispensando que o operador o informe  (ou conferindo se o modelo informado coincide com o CI conectado).

No próximo post da série veremos o uso na prática de um programador.

Um comentário:

rafaeldx7 disse...

Gostando da série. Vlw.