Ir para conteúdo
  • Cadastre-se

tutorial Gravador de eeprom via MSDOS Oscar 5i2c card 24c nvm bus nokia card!!!

Avalie este tópico:


Posts em destaque

eeprom.png.ee11c806b1b7ad1f698653a8179d33e6.png

 

SB-Projetos

 

Site do autor:

Você não tem permissão para ver links. Faça login ou cadastre-se.

 

O software de programaçao download:

 

 

 

Programador MS-DOS EEPROM

Pequenas EEPROMs seriais são comumente usadas em equipamentos eletrônicos modernos para armazenar dados não voláteis. Eles são usados em equipamentos como: televisores, videocassetes, receptores de satélite e até mesmo telefones celulares. Lá eles são usados principalmente para armazenar dados de ajuste e calibração.
Especialmente armazenar os dados de calibração é muito importante. Os ajustes são feitos principalmente por software em vez de usar uma chave de fenda hoje em dia. Ajustar um conjunto a partir do zero costuma ser um trabalho tedioso e sujeito a erros. Portanto, é muito importante ter uma ferramenta de programação com a qual você possa pré-definir rapidamente todos os ajustes principais. Depois disso, os ajustes precisam apenas de alguns ajustes finos, que são muito mais rápidos do que começar do zero.

O programador EEPROM aqui apresentado é uma ferramenta barata para auxiliar na programação desses dispositivos EEPROM. Os custos totais para o hardware são muito baixos.
A ferramenta de programação deve ser conectada a uma das portas paralelas de um PC executando MS-DOS ou sistema operacional compatível. O programa acompanhante cuida do resto. O programa também é bastante confortável em uma caixa DOS em praticamente qualquer versão do Windows, até mesmo no Windows XP.
Eu nunca cheguei a torná-lo útil no Linux. Desde que mudei de emprego, nunca mais precisei disso.

O programador é capaz de programar os seguintes dispositivos:

ônibus I²C

256 bytes, 512 bytes, 1kb, 2kb tipos. (Ex: 24xx02, 24xx04, 24xx08, 24xx16, SDA3526, SDA3546, SDA3586, etc.)

OSCAR5

Ele pode programar os carros e o próprio programador OSCAR5 . O OSCAR5 foi uma ferramenta para facilitar a cópia de configurações de uma TV Nokia para outra.

Barramento NVM

Apenas o Intersill NVM3060 é suportado. Não o NVM2061 ou NVM 20562.

Também pode ser possível programar o 2401, um EEPROM de 128 bytes, mas nunca tive um para verificar isso sozinho.

Funcionamento do programador

The programmer operates as a DOS command line interpreter. This means that the program is started from the DOS prompt, where the program name is followed by one or more parameters. The program inspects these parameters, completes its task and returns to the DOS prompt. The biggest advantage of such a program is that it is quite easy to write. The biggest disadvantage is that it is somewhat user-unfriendly. The user should be familiar with MS-DOS. But there is nothing wrong with being familiar with MS-DOS, not even in the Windows age. It enriches your view on the (computer) world.

The interface is to be connected to one of the LPT ports of the PC. The program will automatically detect its presence, so the user does not have to point it out to the program.

The general syntax for the program is:

EEPROM command [filename]

This line is to be typed behind the DOS prompt. The parameter command must always be given, and consist normally of only one character. More characters are allowed but will be ignored until the next white space or end of line. The filename parameter is optional, depending on the command that is given.

The filename can consist of drive letter, path name, file name and extension. If the drive letter and/or path name are omitted, the current drive and/or path is used to point to the file name.
If the extension is omitted, one of the 3 default extensions is used. The default extensions are:

.EEP    for I²C-bus ICs

.OS5    for NOKIA OSCAR5 cards

.NVM    for IM-bus ICs

When you want to read the contents of the EEPROM the program checks to see if the output file already exists before it is created and written to. If the file does exist, the program warns the user and asks if that file may be overwritten. The old contents of that file will be lost forever if the user allows it to be overwritten!

Device Recognition

The programmer is capable of recognizing the connected device type up to devices of 2 kB. Unfortunately it can not detect, nor read or write devices with a larger capacity like the 24C64, 24C128 or 24C256. The recognition takes place in a predefined order.

I²C devices are detected first. At the same time the size of an I²C device is determined. The size of the IC is measured by the number of memory banks that produce an acknowledge. Each bank consists of 256 bytes which are all addressed by the same I²C address.
Automatic detection of the memory size has one small disadvantage. The program tends to make some minor mistakes occasionally. E.g. Siemens ICs of the type SDA3546 should have only 2 banks, giving a total of 512 Bytes. But all samples that I have seen have 4 really working banks. Also devices from Microchip may fool the program. E.g. the 24LC02B pretends to have 8 banks, but actually has 1! The 24LC04B should have 2 but also pretends to have 8 as well. These ICs respond to all $Ax addresses, therefore the program is fooled.
Fortunately this is not a problem for the programmer. The program may warn the user that the file size is shorter than the EEPROM size during a write operation. You may ignore this warning, because you know now that the EEPROM pretends to be bigger than it really is.
Reading such an IC is also no problem. Only the file which is written to disk is slightly bigger than it should be.

If no I²C bus IC is detected, the program will check if an external OSCAR5 programmer is connected. If it is, the program will verify if a card is inserted in it. The programmer will use this card if it is found, and the lights on the OSCAR5 programmer will be controlled as well.

If the OSCAR5 programmer could not be found either, the program will check if a separate OSCAR5 card is connected. If it is, this card will be used.

If none of the above devices are detected, it will leave only one possibility, the NVM3060. This is an IM-bus IC from Intermetall (Micronas) with a capacity of 512 bytes. The presence of this IC is checked. The program will terminate with an error if no EEPROM can be found at all.
Be aware of the relatively large current consumption of the NVM3060 (40mA). Programming many of these ICs may drain the battery quite fast.

Warning: The EEPROM programmer is intended for EEPROMs up to 2 k bytes. Larger EEPROMs differ too much to be detected automatically. Data in I²C EEPROMs larger than 2 k may be destroyed when an attempt is made to read them with this programmer!

To Read An EEPROM

eeprom r [drive:][path\]filename[.ext]

The letter r tells the program to read the contents of the EEPROM and copy its contents to the file with the name filename. This file name may be preceded by the drive letter and/or path. The extension is also optional.

The user is warned and prompted if a file with the same name already exists. If the user allows the program to continue, the original contents of the file will be lost and will be substituted by the contents of the current EEPROM. The file automatically gets the same size as the EEPROM.

The EEPROM data is saved as a binary file.

To Write To An EEPROM

eeprom w [drive:][path\]filename[.ext]

The letter w tells the program to write the contents of a binary file to the EEPROM. The filename may be preceded by the drive letter and/or path. The extension is also optional.

The user is warned if the size of the EEPROM does not match the size of the file, but programming continues anyway. The first part of the EEPROM is filled if the file size is shorter than the EEPROM size. The first part of the file is programmed to the EEPROM if the file size is longer.
This warning may be caused by the fact that you use the wrong EEPROM type. But it can also mean that the EEPROM pretends to be bigger than it really is. In the first case you should start all over again using the proper IC type. In the second case you may ignore the warning and proceed as usual.

A device does not have to be empty before programming.

To Verify An EEPROM

eeprom v [drive:][path\]filename[.ext]

The letter v tells the program to verify the contents of the EEPROM. The contents of the EEPROM are compared to the contents of the binary file. At the end the number of differences is displayed.
Again the drive letter, path and extension are optional.

A warning is displayed when the file size and EEPROM size are different. Again this can be caused by the wrong IC type or by an IC that pretends to have more memory than it actually has.

To Erase An EEPROM

eeprom e

The letter e tells the program to erase the contents of the EEPROM. An erased EEPROM will contain all $FF. This command needs no file name to know what to write to the EEPROM.

Warning: The EEPROM will be erased without any warnings!

To Show The I²C-bus Inventory

eeprom i

The letter i tells the program to show an inventory of the I²C-bus. This command does not need a file name. The inventory shows all acknowledged even addresses on the I²C-bus in hexadecimal notation.

Error Level Codes

Every time the program stops it passes an ERRORLEVEL code to MS-DOS. This code is mainly meant for batch files that call the programmer software.

Here are the possible ERRORLEVEL codes:

0=Everything is OK

1=Programming tool not found

2=Command error

3=No device found to be programmed

4=Data line remains low

5=Target file already exists

6=DOS file error

7=Device suddenly did not respond anymore

8=File size warning

9=Programming error

10=Not enough memory

11=Power fails

The Interface

The interface is to be connected to one of the LPT ports of the PC. These ports contain enough output and input lines to control the EEPROM programmer.

All supported devices need a data and a clock line. The data line must be bi-directional, this means that the line must be able to send and receive data. Furthermore the line must be of the open-collector type, so the EEPROM can pull this line low if the PC leaves it high. Unfortunately the LPT port of the PC does not meet these requirements out of the box. But there is a simple solution to this problem. With the aid of a simple silicon signal diode in series with one of the outputs it is possible to imitate an open collector output. Connecting the other end of the diode to the data line of the devices and an input pin of the LPT port it enables the PC to read back the actual contents of the data line.
The clock line is a lot easier to make, it consists of only one output line directly from the LPT port.

Two extra outputs are needed for the IM-bus EEPROMs. Besides the Data and Clock lines, an Ident and Reset line are needed there. These two extra lines are also directly connected to 2 output pins of the LPT port.

All the above lines are individually equipped with their own pull-up resistors and protection resistors.

The interface is powered by a 9V block battery and must be switched on and off. A somewhat complex circuit is responsible for that. This circuit became so complex to avoid unintended switching of the power when the computer is switched on or off. Unnecessary powered on periods would only drain the batteries.
The power supply itself is based on the LM2936-5 voltage regulator. This is a very special regulator circuit. It has a very low internal current consumption, and the voltage drop is also very low. This makes it ideally suitable for battery powered devices. Because of these specifications this regulator has a small disadvantage, it tends to oscillate quite easily. A decent de-coupling by relatively large capacitors is mandatory.

One transistor gets its base-current through a resistor that is tied to the +5V of the interface. This transistor can tell the state of the power supply of the interface to the PC.

A small jumper wire, connecting one output of the LPT port to one input, completes the circuit. It enables the program to recognize the interface.

The complete circuit easily fits into a compact housing, in which the 9V battery also should fit. Use a ZIF socket or good quality normal IC sockets for the programmable devices.
The card reader is optional and is intended for I2C Smart Card memories and OSCAR5 Cards.
An externally connected OSCAR5 programmer is also optional and can be used to program OSCAR5 Cards.

A small piece of pad board is sufficient to fit the whole circuit. Many of the 10k pull-up resistors can be integrated in one single resistor network.
The diode in the data line can be connected directly between the pins 2 and 12 of the LPT connector. This way you spare an extra wire to the interface. Also the detection wire between pins 7 and 10 can be connected directly inside the LPT connector.

OSCAR5

Who ever is this Oscar5 you keep talking about? Is he related to Johnny 5, the living robot?

No, it is a tool, designed by Nokia CE, to copy settings between TV sets and analog satellite receivers. It is a small blue box with 3 buttons and 4 LEDs on it. This box can be connected to a TV set or satellite receiver and all settings data can be copied to an OSCAR5 Smart Card which is inserted in the blue box. Later you can clone such a TV or satellite receiver with the complete settings which are stored on the Card.
The Smart Card itself is just a 2k I²C EEPROM, identical to the 24C16 but with different I²C addresses. A normal 24C16 responds to addresses $Ax, while the OSCAR5 cards respond to addresses $Ex.

Unfortunately the incompatibility between the many different software versions of the TV sets made Oscar 5 die silently.

Download

Você pode baixar o software aqui. Simplesmente descompacte o software em um local conveniente onde você possa executá-lo.

2005

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

Participe agora da conversa!

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, faça login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Restaurar formatação

  Apenas 75 emoticons máximos são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir apenas como um link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Você não pode colar imagens diretamente. Envie ou insira imagens do URL.

SOBRE O ELETRÔNICABR

EletrônicaBR é o melhor fórum técnico online, temos o maior e mais atualizado acervo de Esquemas, Bios e Firmwares da internet. Através de nosso sistema de créditos, usuários participativos têm acesso totalmente gratuito. Os melhores técnicos do mundo estão aqui!
Técnico sem o EletrônicaBR não é um técnico completo! Leia Mais...
×
×
  • Criar Novo...