Étape 1: Nous allons mettre les choses ensemble
Je vous joins la disposition GPIO du Raspberry Pi B + ainsi que les connexions des broches à la puce. Soyez très prudent avec la broche de 5v sur la Pi parce que même si votre puce EEPROM peut fonctionner à 5v, il sera aussi de sortie 5v sur le Bus de données lorsque vous lisez à partir d’elle. Ce qui signifie qu’il alimentera 5v la GPIO de la Pi qui est vraiment une mauvaise nouvelle car Pi utilise 3.3V logique et vous sera faites frire votre Pi.
Donc ne pas utiliser les broches 5v sur la Pi ! Alimenter votre puce du 3.3V épingles !
1) OK, montrez-moi votre équipement
Le reste du guide est basé sur la Pi à la puce EEPROM que j’ai. C’est un 39SF020A de SST qui j’ai récupéré dans un vieux ampli numérique. Vous pouvez rechercher en ligne la documentation de la puce. Il est disponible gratuitement auprès de nombreuses sources. Je ne joins pas ici en cas de questions de droit d’auteur. Il y a trois version différente de cette puce, chacun avec une capacité différente et donc un nombre différent de Pins de l’adresse. Si vous pouvez obtenir un des trois modèles de ma puce, vous pouvez suivre ce guide attentivement. Si vous avez une puce différente, vous devez trouver la documentation de votre puce du fabricant et de créer une table qui mappe les broches de la puce à la mienne. La notation pour les broches de l’adresse, les données et activer est standard dans l’industrie, donc il ne devrait pas être difficile. Il est également intéressant de noter que ma puce considère le marquage CE, OE et nous épingles à activer quand ils sont tirés vers le bas. Par conséquent, pour activer la puce, j’ai besoin de démolir CE. Si je veux désactiver la puce, j’ai besoin de remonter CE. Cela se fait en définissant les broches GPIO marche/arrêt. Ceci ne s’applique pas aux broches de données et l’adresse. Pour les broches de données et l’adresse, un « 1 » est donc un signal « marche » sur la broche GPIO connecté. Vous voyez où cela se passe, à droite ?
2) protection contre l’écriture JEDEC : assurer la sécurité de nos données et rendre notre vie plus difficile !
Rappelez-vous quand j’ai dit qu’il est tout à propos de séquençage lorsque vous souhaitez effectuer des opérations sur la puce ? Eh bien parfois il se trouve que, en raison d’interférences ou tension pics (ou tout autres événements indésirables dans le circuit), une puce peut être mises en "mode d’écriture" et perdre accidentellement une partie de vos données. Pour éviter cela, JEDEC a imaginé une norme pour la protection des données. Tout cela signifie, c’est que la puce n’entrera pas « mode d’écriture » en activant simplement la broche WE. Il s’attend à une séquence d’adresses et octets avant la puce "déverrouille" son "mode d’écriture" et vous permet d’écrire des données à une adresse. Documentation de la puce va définir ce qu’est cette séquence et il tous fera plus de sens une fois que vous avez un regard sur le code. Pour l’instant, il suffit de garder dans votre esprit que ce mécanisme complique les choses un peu quand on veut écrire des données car il ajoute une surcharge à l’opération.
3) nous avons obtenu tout ce dont nous avons besoin, faisons-le !
Je supposerai que vous savez comment utiliser une carte de prototypage et de fils pour relier votre puce sur les broches GPIO, comme illustré dans le diagramme ci-joint. Parce que ma puce arrive à avoir plus de broches que mon Pi GPIO, j’ai choisi pour fixer définitivement les trois broches plus hauts sur le Bus d’adresses en permanence au sol. Par conséquent, ces broches affiche toujours 0 et je ne peux pas accéder à toute la mémoire de ma puce. N’hésitez pas à faire de même si votre puce a aussi trop de broches d’adresse. Vous pouvez également choisir de définitivement tirer vers le bas de la tige de CE afin que la puce est toujours sur. Il est entièrement à vous. Donc, pour préciser, je suis fixation permanente A17, A16 et A15 sur ma puce au sol et par les broches GPIO de la Pi, je maitrise épingles A15 à A0. Donc j’ai un Bus d’adresse de 16 bits et 8 bits Bus de données. J’ai également contrôler CE, OE et nous. Et une dernière chose, sur ma puce, le Bit le plus significatif est toujours la plus haute broche numérotée.