Stap 1: Laten we dingen samen
Ik ben de GPIO indeling voor Raspberry Pi B + samen met de pin aansluitingen koppelt aan de chip. Wees zeer voorzichtig met de 5 v-pin op de Pi omdat hoewel uw EEPROM-chip op 5v functioneren kan, het ook zal 5v op de Data-Bus uitgang wanneer u van het leest. En dit betekent dat het 5v in de GPIO van de Pi, die echt slecht nieuws voeden zal is want Pi gebruikt 3.3V logica en u zal uw Pi bak.
Gebruik dus niet de 5v pinnen op de Pi!!! Macht van uw chip van de 3.3V pinnen!
1) OK, Toon mij uw gear
De rest van de handleiding is gebaseerd op de Pi verbinden met de EEPROM-chip die ik heb. Het is een SST-39SF020A die ik uit een oude digitale versterker opruiming. U kunt online zoeken naar de documentatie voor de chip. Het is vrij beschikbaar uit vele bronnen. Ik ben het hier niet in het geval van Copyright problemen verbonden. Er zijn drie verschillende versie van deze chip, elke één met verschillende capaciteit en dus een verschillend aantal pinnen van het adres. Als je een van de drie modellen van mijn chip krijgen kunt, kunt u deze handleiding volgen. Hebt u een andere chip, moet u de documentatie van uw chip van de fabrikant vinden en maak een tabel die kaarten van uw chip pinnen met de mijne. De notatie voor adres, gegevens en inschakelen pins is standaard in de industrie, dus het zou niet moeilijk moeten zijn. Het is ook vermeldenswaard dat mijn chip beschouwt de CE, OE en wij pinnen moet worden ingeschakeld wanneer ze naar beneden worden getrokken. Daarom moet ik om te activeren de chip, CE om neer te trekken. Als ik deactiveren van de chip wilt, moet ik CE optrekken. Dit wordt gedaan door het instellen van de GPIO pinnen in-/ uitschakelen. Dit geldt niet voor gegevens- en pinnen. Dus voor gegevens- en pins is een "1" een "aan"-signaal op de aangesloten GPIO pin. U zien waar dit gaat, recht?
2) JEDEC schrijven-bescherming: onze gegevens veilig te houden en maken van het hardere ons leven!
Herinner toen ik zei dat it's all about sequencing wanneer gewenste bewerkingen op de chip? Soms gebeurt het enkel dat als gevolg van storingen of spanning pieken (of elke andere ongewenste voorvallen in het circuit), een chip kan worden aangevochten "schrijven mode" en per ongeluk verliest een deel van uw gegevens. JEDEC heeft om dit te voorkomen, komen met een standaard voor de bescherming van de gegevens. Alles wat het betekent, is dat de chip zal niet betreden "modus write" gewoon doordat de WE pin. Het verwacht een reeks adressen en Bytes voordat de chip "opent" haar "schrijfmodus" en kunt u gegevens naar een adres te schrijven. Uw chip documentatie zal definiëren wat deze volgorde is en het zal alles zinvol meer als u eenmaal een blik op de code. Voor nu, gewoon blijven in je geest dat dit mechanisme dingen bemoeilijkt een beetje wanneer we willen om gegevens te schrijven omdat het een overhead aan de operatie toevoegt.
3) kregen we alles wat die we nodig hebben, laten we dit doen!
Mij zal veronderstellen dat u weet hoe een breadboard en draden gebruiken om uw chip verbinden met de GPIO pinnen zoals aangegeven in de bijgevoegde-diagram. Omdat mijn chip gebeurt er met meer pinnen dan mijn Pi's GPIO, heb ik gekozen om permanent de drie hoogste pinnen op de adresbus permanent aan de grond. Daarom deze pinnen Lees altijd 0 en ik geen toegang tot het hele geheugen van mijn chip. Voel je vrij om hetzelfde te doen als uw chip ook teveel adres pinnen heeft. U kunt ook permanent pull-down de CE pin zodat de chip altijd ingeschakeld is. Het is geheel aan jou. Dus, om te verduidelijken, ik ben permanent verbonden A16, A17 en A15 op mijn chip naar de grond en door de Pi de GPIO pinnen, zeggenschap mij pinnen A15 tot A0. Dus ik heb bit een 16 bits adresbus en 8 databus. Ik ook bepalen CE, OE en wij. En een laatste ding, op mijn chip, de meest significante Bit is altijd de hoogste genummerde pin.