EEPROM I2C: quelles connexions ??

nounours18200
lun, 05/29/2023 - 18:51
Bonjour,
Je me demande comment connecter/utiliser une EEPROM I2C de ce type là avec une Arduino:
dont la datasheet est ici:
https://www.mouser.fr/datasheet/2/268/24AA16_24LC16B_24FC16_16K_I2C_Serial_EEPROM_200017-2576990.pdf
Plus précisément, je lis dans la datasheet que les pins A0, A1 et A2 ne sont pas connectées en interne: donc comment attribuer une adresse I2C à une EEPROM comme celle-ci: puisque l'adresse I2C est indispensable pour lire ou écrire...
P.S.: j'ai recherché une EEPROM I2C afin d'économiser les pins du micro-contrôleur (dans mon cas ce sera une STM32 Bluepill, mais la question est indépendante du µC). Il me semble que c'est avec ne EEPROM de type I2C qu'on utilise le moins de pins du µC, mais je me trompe peut-être...
Edit:
J'ai peut-être sauté sur u modèle bizarre car j'ai ensuite vu quelque chose qui me semble plus compréhensible comme ceci: https://www.mouser.fr/datasheet/2/268/24AA024H_2c_24LC024H_2_Kbit_I2C_Serial_EEPROM_with-3006793.pdf
Merci !
hercule124
lun, 05/29/2023 - 19:51
Bonjour ,
Oui, vous pouvez connecter un STM32 Blue Pill avec un EEPROM 24FC16 en utilisant l’interface I2C. L’EEPROM 24FC16 peut fonctionner avec une tension d’alimentation de 1,7 V à 5,5 V dans le datasheet. Comme la tension du STM32 est de 3,3 V et que l’EEPROM peut fonctionner avec une tension d’alimentation de 1,7 V à 5,5 V, il ne devrait pas y avoir de problème.
nounours18200
lun, 05/29/2023 - 21:53
Je comprends mais ce n'est pas exactement ma question: mon interrogation c'est comment je définis son adresse I2C, autrement dit pourquoi A0,A1 et A2 ne snt connectées à rien ??
Mais entre-temps j'ai trouvé d'autres modèles, par ex la 24AA024H, qui est beaucoup plus proche de ce que je m'attends à trouver, avec des pins A0, A1 et A2 que l'on peut assigner à +5V ou GND...
Je me dit donc que la 24FC16 doit être un modèle très particluier, non ?
Walter
mar, 05/30/2023 - 08:57
Pourquoi tu dis que les broches A_ sont connectées à rien ?
Dans la docuementation que tu donne, il indique de lié relié sur un 0 ou 1 logic et doivent être connecté à Vcc ou Vss ?
Tu doit définir le niveau des broches et envoyer les 3 bits dans le premier octet de la trame I2c.
Je ne suis pas sûre que les librairies qui te permettes de piloter une EEPROM, tu permettes de le faire, il faut donc plutôt utiliser une librairie pour gérer des trames I2C, et le faire à la main :(
C'est plutot un bon choix, de prendre une EEPROM, plus traditionnel.
Jetfuzz
mar, 05/30/2023 - 09:56
Hello.
j'ai pour un projet déjà recherché un lib eeprom, mais jamais utilisé pour l'instant.
par contre tout est bien expliqué, avec les adresses i2C
Je vient de voir sur ta datasheet ceci :
Elle sont effectivement Non connect, mais le constructeur preconise de les polariser.
tu ne ne dispose donc que d'une adresse "1010" 0x0A pour y accéder voir ci dessous
lien ci dessous vers la lib I2C eeprom
https://github.com/RobTillaart/I2C_EEPROM
Enjoy
Jetfuzz
nounours18200
ven, 06/02/2023 - 10:58
Merci à tous pour vos réponses, je suis finalement parti vers un modèle où la datasheet est "plus claire", et je me suis aussi aperçu qu'il n'y a quasiment aucune différence de prix entre un modèle 2K et un modèle 8K (et les modèles 64K sont à peine plus chers: 15 centimes...).
Donc j'ai pris une 24AA08-I/P de 8K ce sera 10 fois trop grand pour mon petit besoin, mais bon...
Les différences sont surtout au niveau rapidité, mais 900ns ce sera archi-suffisant pour mon usage.
Si plus tard j'ai besoin de plus performant je dépenserai 15 centimes de plus pour le modèle 24FC64-I/P de 64K !!!
ednajones
mar, 09/19/2023 - 08:48
Hello, if you want to connect the I2C EEPROM to the Arduino, you should follow these steps.