aide : programmer une mémoire 24LC1025

Bonsoir à tous,

aprés les mémoires 24LC512, je cherche à programmer des 24LC1025...

j'utilisai le programmateur série de Pierre Col, limité aux 24LC512... suffirai-t-il de mettre le pin A2/B0 d'une 24LC1025 à 1 (VDD) pour y programmer les derniers 512Kb sur 1024... avec ce programmateur.....

sinon, avez vous une autre solution (via JDM,...) ... merci d'avance pour vos infos...

vede ;O]

ps : ayant déjà grillé qq mémoires lors de tests, je me renseigne avant de continuer... re- ps: sans ça je vais rapidement faire un programmateur (basé sur

16F88+MAX233), mais il sera malheureusement et sûrement trés trés lent ;O]
Reply to
vede
Loading thread data ...

vede se fendait de cette prose :

Pourquoi lent ???

--
LeLapin
Reply to
LeLapin

"LeLapin" a écrit dans le message de news: XnF9C0311DA3368lapinou@217.112.180.250...

Hi all :

pourquoi lent si je fais ça rapidement ? parce que dans un premier temps et pour faire vite, je ne vais pas chercher "les performances" mais plutot chercher à "ce que ça fonctionne bien"... d'où, par exemple, un débit RS232 à 9600 bauds... c'est pourquoi, si vous connaissez une solution "eprouvée"....

mais c'est vrai e n'ai pas encore fait de calculs +/-exacts de temps.... mais j'ai commencé à y reflechir...actuellement je met environ 75µs avec le PIC pour enregistrer un octet à une adresse dans la mémoire (émulation I2C)... aprés ya la reception rs232 de l'octet (et même l'envoi from le PC à gérer ;O]), avec obligatoirement un "simulacre" de ACK vers le PC, à défaut de CRC... etc...etc.... enfin cela me semble faisable...surtout que d'autres en profiterons s'il n'existe vraiment aucune autre alternative...

a ce propos, je suis toujours dans mes experimentations "vocales" avec des pics, actuellement horloge parlante (DS1307), aprés un thermométre vocal (DS18B20), j'ai commencé à "décrire" mes tests sur des pages web... mais je n'ose encore les publier vu le manque de temps pour finaliser/commenter "professionellement" le tout... et c'est du boulot... donc > faut-il / peut-on publier des schémas ou travaux en cours....tels quels... est-ce que cela resterai interessant...

vede ;O]

Reply to
vede

els quels...

je pense que oui car on apprend autant du cheminement et ses =E9tapes que= du r=E9sultat. et puis rien n'emp=EAche de faire une pauvre page web =E0 la main sans st= yle, mais avec un SNR plus que d=E9cent ;-)

yg

--=20

formatting link
/
formatting link

Reply to
whygee

vede se fendait de cette prose :

Puisque tu programmes "à la volée", il te faudra toujours ton PC allumé à côté. Donc pourquoi ne pas faire un petit programmeur au bôut d'un cable plat relié à une carte en fond de panier ? De l'Apple ][ au PC j'ai toujours fait comme ça.

--
LeLapin
Reply to
LeLapin

vede a écrit :

La solution est :

petite modification du programmateur pour mettre A2 à +5V

de ce fait, lorsque tu programmes des 24xx < 1024, il faudra se rappeler que l'adresse est $40 non plus $00

pour programmer une 1025 il faut le faire en 2 passes, car il y a 2 blocs, le bit d'adressage de se bloc se trouve à la place de A2 dans le mot.

1er bloc => adresse $00 2eme bloc => adresse $40

et ça marche!

pour info j'utilise son programme sous linux (avec wine) et ça marche à 100%

JJ

Reply to
jj

avant de

Personnellement je conseillerais plutot un prog fait maison.

Pour une appli je devais programmer des EEPROM serie via un PC, j'ai fait une mini-interface avec un PIC 16F87 et un MAX202. Le PC envoie des trames serie (sans CTS/RTS) avec CRC, a 56K bps, les donnees sont envoyees par blocs de 32 octets vers la RAM du PIC, globalement c'est plus rapide que d'envoyer les octets un par un. Ensuite le PIC programme l'EEPROM en simulant les signaux SCL/SDA.

Une fois ecrites les fonctions de bas niveau, j'ai ajoute l'auto- verification, la lecture EEPROM vers PC, l'effacement EEPROM et un blank-check. Le tout est suffisament rapide pour l'utilisateur, on pourrait meme aller jusqu'a 115K pbs, utiliser le mode "page write" et augmenter la taille de la trame, et grace aux interruptions du PIC on peut programmer l'EEPROM en meme temps qu'on discute en RS232 avec le PC.

Finalement, on peut facilement etendre le principe a d'autres memoires de taille variees sans trop de modifs de code, voire ajouter un menu pour choisir le type de memoire qu'on peut etre amene a programmer.

Reply to
Jean-Christophe

J'ai réalisé ce programmateur et je m'en sers de temps en temps, j'en suis content.

gros avantage : pas besoin d'alim extérieure, comme le JDM.

j'ai juste fait la modif que j'ai cité afin de programmer des 1024, ça marche très bien. (le but était de mettre un logo animé en 3d sur ma crt clock, ça marche!!)

de plus je l'utilise sous linux et le programme windows fonctionne très bien en utilisant wine.

par contre, j'avais des eprom à programmer, je me suis fait un programmateur avec un pic pour mes eproms, faudra que je finalise ça proprement pour le mettre sur mon site !

JJ

Reply to
jj

"vede" se fendait de cette prose :

Bonsoir à tous,

et merci beaucoup pour toutes vos informations... et je vais d'abords tester la méthode "facile/rapide"...

c.a.d. modifier/upgrader puis utiliser mon programmateur RS232 du type/modéle "Pierre Col"...et son logiciel....

je vous tiens au jus si j'y arrive...ou pas...

encore merci, vede ;O]

Reply to
vede

vede a écrit :

bah j'y suis arrivé, alors tu dois aussi y arriver!

JJ

Reply to
jj

Bon, d'abord le fil A2 doit être relié au plus, il ne sert pas d'adresse A2.

l'adressage des blocs se fait sur 17 bits, les 2 octets d'adresse ne suffisent pas...

dans le control byte, il y a A0 et A1 qui doivent être le reflet des fils A0 et A1 sur le boitier. (ceci permet donc de mettre 4 mémoires sur le bus).

le bit B0 (qui correspond à A2 pour les 24Cxx < 1024) lui ne correspond pas au fil A2, rien à voir, il permet simplement de sélectionner quel bloc de 512k est utilisé.

B0=0 => 1er bloc BO=1 => 2eme bloc

il fonctionne donc comme le bit d'adresse A16

en fait tout fonctionne comme si tu avais 2x 24C512 un avec A2=0 et l'autre avec A2=1. c'est le bit B0 (A2 sur les 24C512) qui les différentie)

JJ

Reply to
jj

"vede" a écrit dans le message de news:

4a00b48a$0$4475$ snipped-for-privacy@news.free.fr...

============= J'utilise des 24C1024 qui sont compatibles, la routine d'accès est la même que pour les 512 Sauf que l'accès aux pages se fait non par la broche A2 mais , lors de l'envoi du byte de contrôle sous la routine I2C par la mise à 0 du bit 2 (page 1) et sa mise à "1" pour la page 2 Bonne soirée

Reply to
maioré

"vede" a écrit dans le message de news:

4a032176$0$20801$ snipped-for-privacy@news.free.fr...

========= Lorsque A1 et A2 sont à 0 (bit 1 et 2 ), bit 0 à droite Le byte de contrôle est : 0xA0 "10100000" Pour la page 2 il est : 0xA8 "10101000" (c'est le bit 3 sur la 1025 qui est le bit de contrôle de page)

Exemple : I2C start Envoi (byte de contrôle) 0xa0 ou 0xA8 Envoi adresse haute (de l'adresse sur 16 bits) Envoi adresse basse Envoi donnée I2C Stop Bonne soirée

Reply to
maioré

"jj" a écrit dans le message de news:

4a022987$0$17764$ snipped-for-privacy@news.orange.fr...

Bonjour à tous,

en effet, j'y suis arrivé... par contre j'ai des problémes pour la re-lecture avec mon PIC...

ça s'est mis à bugger de partout (un coup ça lit dans le premier bloc de 64Ko, aprés dans le second, aprés ... nulle part cad rien...)

j'ai pourtant ajouté une commande à 1 ou 0 de A2... qui parait sans effet...ou buggé...

là par exemple, j'ai re-forcé A2 à la masse, et il continue à lire dans le second bloc... avec %10100000 comme adresse !!!!!

si vous avez une idée ;O]

vede :O]

Reply to
vede

"maioré" a écrit dans le message de news:

4a03103e$0$12655$ snipped-for-privacy@news.orange.fr...

Bonsoir à tous,

et merci jj et maioré...

si j'ai bien compris, je branche la broche A2 à VDD, définitivement...

et ensuite j'adresse/positionne B0 via ma routine I2C... %10100000 (accés au 1er bloc de 64Ko) %10101000 (accés au 2nd bloc de 64Ko)

je teste ça dans la soirée...

et merci encore pour toutes vos infos ... vede :O]

Reply to
vede

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.