Você está na página 1de 6

I

Emulador de EPROM i
i

Uma imitação perfeita


Projeto de /? Goossens

I
Ao contrário de muitos emuladores de EPROMs, o projeto descrito neste artigo simula
de forma perfeita um integrado de memória EPROM 27C256 real, a ponto de poder ser
programado em qualquer programador de EPROMs e alojado no suporte de um circuito de
aplicação como se fosse uma verdadeira EPROM.

Os emuladores de EPROMs são ferra-


mentas úteis, ou mesmo indispensáveis,
para quem desenvolve software desti-
nado a um sistema em que existe uma
memória EPROM externa para armaze-
nar o código executável ou para salvar
dados. Um simulador de EPROM desse
tipo evita os sucessivos apagamentos - ;,

de uma EPROM real, seguidos de nova


programação, sempre que s e faz uma al-
teração no código do programa. Apagar
uma EPROM com a ajuda de radiação ul-
travioleta (UV) leva normalmente cerca
de 20 minutos, uma perda de tempo que
pode ser evitada. Para perder menos
tempo, alguns programadores adquirem
várias memórias EPROM do mesmo tipo
e vão programando uma nova enquanto
apagam a que foi utilizada anteriormen-
te, mas essa não é a solução ideal.
No mercado, existem vários tipos d e
emuladores de EPROM. Na maior parte
dos casos, esses emuladores são ligados
ao circuito d e aplicação (target ou host
circuit) por meio de um cabo plano termi-
nado por um conector DIP que se encai-
xa no suporte d a memória EPROM que
se pretende simular. É claro que esse ca-
bo não pode ser muito comprido para emulador e o circuito-alvo provoca quase priado. O emulador descrito neste arti-
não introduzir uma elevada carga capa- sempre grandes dores de cabeça. go não possui qualquer dessas desvan-
citiva nos barramentos de dados e de en- Outra desvantagem por vezes es- tagens. Ele pode ser programado com
dereços. Se não for assim, surgirão inevi- quecida é que muitos emuladores d e qualquer programador existente e pode
tavelmente problemas de temporização EPROM convencionais só podem ser ser encaixado diretamente no suporte
devido a reflexão dos impulsos no cabo. programados usando um circuito espe- existente num circuito de aplicação,
Na prática, esse tipo de ligação entre o cial e software d e programação apro- sem qualquer problema.
do emulador de EPROM 27C256

tados s e o fabricante da memória tiver onde aponta o endereço existente nas li-
A maior parte dos programadores de incluído os dados. nhas de endereços. Um nível lógico bai-
EPROMs começa por verificar se o inte- Depois de ter determinado que a me- xo aplicado no pino OE (Output Enable)
grado está completamente apagado (vir- mória está completamente apagada, o permite ler o conteúdo do local de me-
gem). Esse trabalho é feito lendo todas programador inicia o processo de transfe-
as posições da memória para ver se con- rência dos dados de programação. Em
tem o valor FFH. Se for encontrado algum primeiro lugar, coloca a memória no modo , I Cara~íxwí~fica~
byte com valor diferente, o programador de programação, aplicando uma tensão ..
recusa-se a continuar e normalmente pe- relativamente elevada no pino Vpp. O va- :r - Emula uma EPROM 27C256;
de para a memória ser completamente lor dessa tensão depende do tipo de me- :, -pode ser usadocom qualquer
apagada. Alguns programadores são ca- mória e pode variar desde 12,5 V até 21 V. <L-
programador que suporte a EPROM
pazes de detectar a marca e o tipo do in- Ao mesmo tempo, a tensão de alimentação
I , , 27c256;
tegrado de memória e selecionam auto- aplicada no pino VCC é elevada de +5 V L
maticamente o valor da tensão de progra- para +6 V. A figura 4 mostra a amplitude , - A proteção elétrica impede a lertura
mação, bem como o algoritmo apropria- dos sinais no modo de programação. do identificador do componente
do. Para determinar o tipo de memória, o Com a EPROM colocada no modo de (Devlce-ID);
programador aplica uma tensão de +12 V programação, um nível baixo aplicado no - Possui apagamento fácil;
no pino A9 e depois lê os valores conti- pino CS (Chip Select) permite que os si- ií' - E compacto;
dos em determinados endereços, mas é nais aplicados nas linhas de dados sejam ' b : -Sua Irtilização é fácil.
-
claro que esse trabalho só produz resul- programados no local da memória para +

ELETR~NICA& MICROINFORMÁTICA
&ria parei onde aponta o endereço e&-
, teptena$ Ilnkas de endsreçamenta. Nor-
'malmente, esse trabaiho 4 feito logo a
se* B progrtamagiío da um looal, pare
haver maior garantia de a opaaçãs ter
decmmdo mm sucesso.
A duraçiio do pulso de magsama@o
depende do algaritmo u t W d o &maum
dado tipo de me& e poder&ser av-
mentada durante nova tentativa de pro-
grainagão de zin~locâl de membria.
Em utikragão normal, os pinos Vpp e
VCC sasqolo@ade@ a +6 V e,par&ler um
local de m&n6ria,6.necessBriotj~craver
o respectjvo eademso no barramerita
de eadereçee e colocar os p i a s OS e
OE no nível baixa. Measa situação, a
EPROM cnloca os dados do locd ende-
reçado no basramento de dados.

O cirouito
A figura i mostra o esquema do cir-
mito do ernu1biB.o~~ em que eCiSterm POU-
cos componentes: tzfjs integrados, um
regukerdor &e tensh, um Qadatdr BET
e dois LEDs in&caào~es.A posição IC2
náa 6 um circuito integrado, mas ape-
nas duas barras de 19 piaas: macho @a-
ra serem intmduzidas no suporte de
uma EPROM mes e pretende emular.
Q integrado TEa á uma memána RAIA
do tipo BZC258, que forma o cora@-ãado
circuito. Embora na lista de compmen-
tes seja e s p i e c ~ d um,
o iategrade Rdlbb
63258 de 70 ns, 6 eãaro que taiflbbrn se
pode m a t a r integrados mais r&pidos.
Aa versões m& Lntas (valores ariperio-
rsa a 70 nsl n&@cima sèr utilizadas.
Na posigã~IG4, fnointa-se um iate-
grado de l w c a progrmdvd (GAL) do
tipo 16V8, devidamente proçlraribado
para contro1ar o fm-mionmept~ do ajr-
mito. A rede RI-D3 evita q y rn ~ pino 8
de IC4 seja aplicada u8ua taas60 swpe-
xior a 4,7 V, meemo que n a p i n ~
VCo Igi-
UQ 28) da EPRQSM virtual seia apltiàki
u m a t w ã a superior, Esae cu$hdo 6
muita importante perqits a t e ~ o ao &~
pino VCC é elevada para +8 V_duraindea
progrmnaçlo. O circuito em volta do
transistor TI detecta a eãist&&a da
tensfio de progrmqlié) ao pino Vpp enB
E??BOM &tual. Q &iodo zener P1 eome-
a amadum1 quando a t e n s a na refed-
do pino for superior a 7,5 V e, nassã al-
tura, a mnsãa na porta de TI& rrufiden-
temente elevada pare o transistor con-
duzir e aplicar um nível 16gics baixo na
pino 3 da IC4. Se a tensão no pino Wp
fm àg ordem de 6 V, o transistor T1 per-
manece ao mrte e, no pina 3 de ICg, fi-
ca apiicxtdo um nível 16@coalto.
O integrado. lC5 funciona como andar
tampão para as linhas &e dados polderem
ftsar Loladw em determinadas &cuns-
ICROINFORMATICA
I

r
tâncias. Esse integrado é necessário O modo normal é selecionado pres- EPROM
quando o circuito funciona no modo
blank (teste de apagamento), uma vez
sionando o interruptor S2. Nesse modo,
o circuito comporta-se como s e fosse
C"-[ r
que, em qualquer operação de leitura, de- um verdadeiro integrado de memória O
Eu
-
-
ve ser fornecido o valor FFH O integrado EPROM 27C256.
GAL garante que IC5 fique ativado no O modo de programação fica automa-
sentido da direita para a esquerda e que ticamente selecionado quando um pro- RAM
não ocorra a leitura de dados na memória
RAM. Mais tarde, veremos com mais de-
gramador de EPROMs começar a execu-
tar a programação, isto é, quando no pi-
1-" r
talhes como as coisas se passam. Portan- no Vpp for aplicada uma tensão supe- WR-I-
to, devido a existência da rede de resisto- rior a +12,5 V. Depois de a programação
res de polarização ao positivo (Rg),o inte- ter sido feita, a tensão no pino Vpp cai
grado IC5 transmite valores de nível alto para +5 V e o circuito passa automatica-
em todas as linhas de dados. mente para o modo normal.
BUFFER (~cg)
Por outro lado, como alguns progra-
madores de EPROMs possuem resisto- Modo blank GT
res de polarização a massa, a existência A finalidade desse modo é simular
DIR
de IC5 é muito importante. Se ele não uma EPROM virgem e apagar todos os
existisse, o valor do resistor Rg tinha de locais da memória RAM. A figura 3 mos- 024- 13

ser muito baixo, para haver a garantia de tra o estado lógico dos sinais utilizados
as linhas permanecerem no nível alto, nesse modo. A maior parte dos progra- Figura 3. Sinais utilizados no modo blank
apesar dos eventuais resistores de po- madores de EPROMs começa por verifi-
larização a massa de um programador. car se todas as posições da EPROM es-
O interruptor S1 permite selecionar o tão limpas, isto é, se apresentam o valor forma diferente aos sinais CS e OE. Na
modo blank, enquanto S2 permite sair FFH antes de iniciarem a programação. verdade, no modo de programação, es-
desse modo. Os componentes em volta Assim, a programação pode ser mais rá- ses sinais deveriam s e chamar WR (es-
de IC1 estabilizam em +5 V a tensão de pida, pois todas as posições onde deve crita) e RD (leitura),e deixaria de existir
alimentação de entrada (9 V cc), que po- ser programado o valor FFH podem ser sinal de seleção da EPROM (sinal CS),
de ser obtida com um adaptador da rede saltadas, uma vez que o programador sa- fato que não cria qualquer problema,
elétrica ou com uma pilha. Como a cor- be que nesse local já existe esse valor. uma vez que, nesse modo, não é neces-
rente consumida é da ordem das deze- O procedimento usual para verificar sário partilhar as linhas de endereços e
nas de mA, qualquer adaptador serve. s e a EPROM está vazia é ler todos os de dados com outros integrados. Nesse
endereços um a um e comparar o valor modo, a EPROM fica permanentemente
O integrado GAL lido com o valor hexadecimal FFH Para selecionada. A figura 4 mostra os sinais
O integrado mais importante do cir- fazer esse trabalho, o circuito do pro- utilizados nesse modo.
cuito é IC3, que contém um circuito lógi- gramador vai gerando todos os endere- O buffer IC5 tem de transferir os da-
co projetado para controlar o funciona- ços possíveis e, para cada um, emite um dos do programador para a memória
mento do emulador. A figura 2 apresenta pulso de leitura. Em nosso circuito, ca- RAM durante cada pulso de programa-
o código-fonte para programar um inte- da um desses pulsos de leitura é con- ção, trabalho que é feito colocando o pi-
grado GAL16V8 virgem. Para exe.cutaras vertido num impulso de escrita na RAM no DIR no nível alto. Durante um pulso
funções programadas nesse integrado e, como todas as linhas de dados (de DO
seria necessário usar mais de uma dúzia a D7) estão polarizadas no nivel lógico
de integrados lógicos independentes, alto por meio do resistor Rg, em todos
com o conseqüente aumento na comple- os locais da RAM é escrito o valor FF EPROM
H.
xidade do circuito. Note que o Serviço
Elektor fornece o integrado GAL já pro-
Note que o programador acabou de emi-
tir um pulso de leitura e espera ler o va-
"1
gramado (ref. 024066-31) para quem não lor FFH nas linhas de dados. Esse resul- Õ
E-
u-
tem a possibilidade de fazer esse traba- tado é conseguido com a ajuda do buf-
lho. No site da Elektor na Internet, pode fer IC5. O Integrado GAL mantém a en-
ser baixado o arquivo JEDEC (ref. 024066- trada DIR no nível baixo para configurar RAM
11) para executar a programaçlo. os pinos do lado direito como entradas
O circuito pode funcionar em três e os pinos do lado esquerdo como saí-
modos: modo normal, modo blank (tes- das. Nessa situação, o programador lê o
te de apagamento) e modo de progra- valor FFH (todas as linhas colocadas no
mação. Os modos normal e blank po- nivel lógico alto devido a existência do
dem ser selecionados manualmente. Se resistor de polarização R9).
o usuário pressionar o interruptor SI, o BUFFER (!C$
integrado GAL seleciona o modo blank. Modo de programação
Nesse modo, o conteúdo da RAM é O integrado GAL vigia o estado Iógi-
apagado quando um programador de co da linha EPVPPL para saber s e no pi- DIR
EPROMs efetuar o teste de apagamen- no Vpp da posição IC2 (EPROM virtual)
024086 14
to já citado. Esse estado s e mantém até foi aplicada uma tensão superior a
o usuário pressionar o interruptor S2 ou +12,5V e, nessa altura, coloca o circuito
o programador de EPROMs começar a no modo de programação. Uma EPROM Figura 4. Sinais utilizados no modo
programar o circuito. que s e encontra nesse modo reage de de programação
/

ICROINFORMATICA
I I I I I
de leitura (pino OE da RAM ativado), o 1 1 1 I
1 1 1 EPROM I
buffer IC5 tem d e transferir dados no I I I I
sentido oposto. O integrado GAL obtém VPP
I
I
I
I
I
I
I
I -
esse resultado colocando o pino DIR de
IC5 no nível lógico baixo.

Modo normal I 1 1 H I

A figura 5 mostra os principais sinais


Data # Data in i X unknown
I I I I I I
usados no modo de funcionamento nor- I I I I I I
mal, em que o circuito simula uma EPROM
real. Nesse modo, o integrado GAL não
tem de fazer um trabalho complicado.
O integrado GAL também e respon-
sável por reduzir o consumo de energia
elétrica quando o circuito não está sen-
do usado. Por meio da rede R3-D3, o in-
tegrado IC4 e s t á em condições d e de-
I
I
I
I BUFFER (ICg) i I
I

tectar a existência d e uma tensão ex- G I 1 1 I

terna aplicada no pino 2 8 d a EPROM I I I

virtual ( I C 2 ) Quando verifica que não DIR I


I
I
I
existe tensão aplicada nesse pino, de- I I 1 I I I

sativa os integrados IC3 e IC5 por meio


dos pinos G3 e CS, reduzindo assim o
consumo de corrente. Essa é uma carac- Figura 5. Sinais utilizados n o m o d o n o r m a l
terística muito útil quando o circuito é
alimentado com pilhas.

113Lista de
"I

% componentes
*J,
!
,,. ; Resistores:
$4 Ri;R2,R5;%= 10KI;Z
1;R3 = 33 a
r;.

.!i % = i r n a
4
*_
R7RRg=I I K n
R9=RedeSILde8X 10KQ
h,:

1' Semicondutores:
,J D I = Zener dei 7,5 V-400 mW
D2; D3 = Zener de 4JV-400 mW
I I
. , D4 = LED amarelo de aito rendimento
'I :, D5 = LED vermelho de atto rendimento
. i' TI =BS170ou BS107
ICI =78L05
I

IC3 = R4M 622.56-706


G4

- ' IC4=GAL16V8~(d024066-31)
f i: IC5 = 74HCn45
'7 1

' Diversos:
IC2 = Duas barras de 14 pinos macho
i S 1 ; S2 = Interruptor de pressão,normalmente
aberto
' , K I = Ligador para pilha de 9V
.' PCl (r& 024066- I) - w
Software (ref. 024066-1 1)
,' Figura 6. Disposição dos componentes na placa d e circuito impresso
I
uma pilha de 9 V. Propositadamente, não
está prevista a alimentação a partir da
tensão de +5 V existente no pino 28 da po-
sição IC2 quando o circuito estiver alojado
no suporte da EPROM de um circuito de
aplicação ou no suporte de um programa-
dor. É que essa tensão pode tomar o valor

, dos do circuito. É claro que se poderia --:


usar um regulador de tensão especial ( t 6 V
para +5 V), mas a complexidade não com-
pensa as vantagens. De qualquer forma, a , .!

pilha nunca pode ser completamente eli-


minada, uma vez que o circuito não está
permanentemente ligado a uma fonte de ..
: -'
tensão externa. Se a pilha não existir, os
dados programados na memória RAM se
perdem quando o circuito é desligado do
programador e ela é alojada no suporte de
um circuito de aplicação.
Em vez da pilha, nada impede que se
utilize uma tensão contínua proveniente
d e um adaptador d a rede, mas não há
dúvidas de que a pilha torna o circuito
muito mais portátil.
Figura 7.Teclado Marklin usado como teclado EEDTS Pro
Construção
A figura 6 mostra a disposição dos
componentes na placa de circuito im- IC3 utilizando um pouco d e fita autoco- mação. Carregue no programador um ar-
presso de dupla face e furos metalizados, lante de duas faces. Em determinados quivo qualquer e tente programar o emu-
que pode ser adquirida no Serviço Elek- programadores de EPROMs, pode ser ne- lador. O LED D4 deve iluminar-se. Final-
tor (ref. 024066-1). A montagem dos cessário limar um pouco a borda da placa mente, execute uma operação d e verifi-
componentes não apresenta grandes di- junto do diodo D1 para a alavanca do su- cação para ver se o conteúdo da RAM
ficuldades. Tal como é habitual, comece porte ZIF poder ser manejada. (EPROM virtual) é exatamente o conteúdo
por soldar os componentes de menor al- do arquivo original. Se não for assim, terá
tura e só depois os mais altos. Entretan- COI~C~US~O de descobrir o erro que cometeu durante a
to, existem dois pontos que merecem Depois de ter montado todos os com- construção do circuito. Verifique a orienta-
uma explicação adicional. ponentes e de ter ligado a pilha, o circuito ção dos integrados, diodos etc., bem como
Na posição IC2, solde duas barras de em princípio está pronto para funcionar. o valor dos resistores. Verifique se utilizou
14 pinos macho, que devem ficar salien- No entanto, recomendamos que execute interruptores de pressão normalmente
tes na face das soldagens. Note que são antes alguns testes funcionais. abertos, pois também existem no mercado
esses pinos que terão de ser encaixados Em primeiro lugar, verifique o bom versões em que os contatos estão normal-
no suporte para uma EPROM existente funcionamento do integrado GAL.Para mente fechados. Inspecione muito bem to-
num circuito de aplicação. fazer esse teste, pressione o interruptor dos os pontos de soldagem, se for neces-
O integrado IC3 (RAM) fica montado SI e o LED D5 deve s e iluminar. Depois, sário com uma lupa, para ver se não existe
por cima dos integrados IC4 e IC5 Isso é pressione o interruptor S2 e verifique se o algum curto-circuito entre as trilhas de co-
possível porque possui um encapsula- mesmo LED se apaga. bre ou alguma soldagem malfeita.
mento com maior largura, mas terá de sol- Agora, encaixe o emulador de EPROM Um conselho final. Quando utilizar o
dar duas barras de pinos fêmea na posi- no suporte ZIF de seu programador de circuito para emular a EPROM 27C256 de
ção IC3 e depois encaixar por cima pelo EPROMs e depois pressione SI. Peça ao um circuito de aplicação, encaixe um su-
menos mais uma barra de pinos idênticos, programador para efetuar um teste da porte ZIF no lugar da EPROM do circuito
para criar altura suficiente para os inte- EPROM e depois pressione o interruptor de aplicação. Esse cuidado permite alojar
grados IC4 e IC5. Se soldar os integrados SI. Se tudo estiver bem, o programador e retirar o emulador as vezes que forem
IC4 e IC5 diretamente na placa, serão ne- deve informar a existência de uma EPROM necessárias até o programa em desenvol-
cessárias menos barras de pinos umas completamente apagada (virgem). Agora, vimento funcionar bem, sem danificar o su-
l sobre as outras. Note que IC3 fica com pressione o interruptor S2 para selecionar porte normal existente no circuito de apli-
orientação diferente de IC4 e IC5 e utili- o modo normal e, em seguida, faça outro cação. Note que os contatos do maior dos
za a barra de pinos mais a direita quando teste. Se o teste rodar bem é sinal de que suportes baratos muitas vezes ficam es-
se olha para a placa com os interruptores o integrado RAM possui o valor FFH em tragados logo na primeira vez que se ten-
SI e S2 situados para baixo. todas as posições de memória. ta retirar o circuito integrado. (024066)
Vejamos mais alguns conselhos. Uma Como teste final, convém verificar se o
boa solução é fixar a pilha no integrado circuito funciona bem no modo de progra- Artigo original: "EPROM Emulator"

Você também pode gostar