Raspberry Pi Python EEPROM programmerare



Denna enkla handledning vägleder användare genom processen att gränssnitt en EEPROM chip till en Raspberry Pi använder GPIO stiften och utför operationer med Python skript.

Låt oss börja med några grunderna på EEPROM:

1) CE, OE, vi - vad betyder det allt?

För att läsa, skriva och radera data från en EEPROM chip, måste vi först ta chip på rätt påstå. Detta görs med 3 kontroll stift vanligen heter Chip aktiverar, utgång aktivera och skriva aktiverar.

Chip aktivera kontroller oavsett chip drivs upp. Beroende på vilken typ av chip blir ansluter denna pin till marken eller till spänning chipet på eller av. Onödigt att säga, att om vi vill utföra någon åtgärd som vi måste aktivera chipet. Inaktivera chippet tillåter oss att stänga chip medan det elektriskt ansluten till vår krets. Detta sätt chip förbrukar mindre ström.

Output Enable är ett stift som brukade berätta det chip som du vill läsa från den. Än en gång, beroende på chipet, ansluter denna pin till marken eller till spänning kommer att säga chip att presentera dig med innehållet i tanke minnesadress (mer om det senare). Inaktivera produktionen avslutar Läs operationen.

Skriv aktivera är liknar utdata aktiverar men används för att skriva data till chipet. Beroende på vilken typ av chip blir ansluta den till marken eller spänning chip skriva data till en vald minnesadress (mer om det senare).

2) så hur kontrollerar jag stiften?

Det är lätt! Beroende på din EEPROM chip, du aktivera eller inaktivera dessa stift genom att ansluta dem till en spänningskälla eller till marken. Den jargong som används för transporten är "dra upp" för att ansluta till spänning och "dra ner" för att ansluta till marken. I vissa fall (och i vårt fall i synnerhet) orsakar dra upp en pin motsvarande staten inaktiveras i stället för aktiverad. Detta kan låta counter intuitiv eftersom du förväntar dig att dra upp till vända på något men så är livet ibland.

Varning!: lämnar en av dessa pins bortkopplad från kretsen inte är lika att det dras! Om någon av stiften lämnas bortkopplad från kretsen vi kallar dem "flytande" och i huvudsak deras tillstånd är slumpmässiga och obestämd. Till exempel kan RF störningar orsaka en hög eller låg signal och därför göra pin agera som om det är aktiverad eller inaktiverad. Alltid ansluta alla stiften till din krets!

3) det handlar om sekvensering!

Antag att jag vill läsa några data från min EEPROM, vad ska jag göra med dessa stift att göra allt arbete? Utför åtgärder på EEPROM handlar om att göra saker i rätt ordning. Så om vi vill läsa från chip, skulle vår sekvens vara som följer:

Ställa in minnesadress (dra upp/ner adressen buss stift att bilda en adress i binärt format)

Aktivera chip (uppstart)

Aktivera utgång (Läs denna adress)

Läs minnesadress (Data buss stiften nu sätts hög/låg enligt uppgifter i adressen)

Avaktivera utgång (Data bussa produktionen fortfarande är aktiverad på denna punkt så jag kan läsa data)

Inaktivera kretsen (power ner, ingen utgång på databussen på denna punkt)

Upprepa ovanstående för nästa adress du vill läsa.

4) vilken var bussen du pratade om?

Databuss och adress buss. EEPROM chip, tillsammans med CE, OE och vi stiften, måste också en uppsättning stift för att ange en adress och en uppsättning stift för läsa/skriva data till den valda adressen. Antalet stift för adress bussen beror på kapaciteten av chipet. Ju högre kapacitet, fler adresser behövs och därför mer stiften bussen kommer att ha. Om du vill ange en adress drar vi upp/ner stiften att representera 1/0. Varje adress representeras av en kombination av bitar innehåller 1 byte. Så får ett chip med 2048 adresser 2048 byte kapacitet. Stiften på adress bussen är vanligen numrerade som så: A0, A1, A2, A3,... Ett/en

Databuss, i motsats till adress bussen, kan antingen mata in eller utgång, beroende på funktion valts. Om vi väljer att skriva till chip, vi ange adress att skriva till adressen bussen och sedan vi set databussen genom att dra dess stift upp/ned för att representera en byte. Om vi väljer att läsa från chip, sedan sätts databuss stiften hög/låg att representera 1/0 i den byten som ingår i adressen vi valt. Stiften på databussen som numrerade: D0, D1, D2,... D7

5) en sista sak: mest signifikanta biten

Mest signifikanta biten är i huvudsak den bit som representerar det högsta värdet i en byte. Olika marker får använda en annan beställning ordning när du lagrar byte. Dokumentationen av ditt chip kommer att definiera om den mest signifikanta biten är den högsta eller lägsta pin nummer på databussen. När du vet vilken pin har MSB, resten av stiften representerar resten av bitarna i stigande eller fallande ordning. Till exempel om MSB är på stift D7 i databussen, då den minst signifikanta biten kommer den vara på stift D0.

Se Steg
Relaterade Ämnen

Raspberry Pi: Python skript GPIO

The GPIO: allmänna ändamål Input/Output kan du gränssnitt din Raspberry Pi med omvärlden, vilket gör det en kraftfull interaktiv enhet för bara $40-$50.Detta Instructable visar dig hur man installerar GPIO på din Raspberry Pi och hur tråd upp en enke...

Python coding for Minecraft

Detta Instructable visar hur du installerar och använder en mod som jag skrev som låter dig styra Minecraft med python skript. Ska jag fokusera på Windows, men OS X och Linux bör fungera lika bra.Python-skript kan skapa fina saker i världen, och det...

CupBots - 3D tryckt Robotic plattform för Arduino och Raspberry Pi

Här är en stor helg robotics projekt att genomföra med vänner eller folk på din lokala maker utrymme. Behöver du en 3D-skrivare händig till 3D tryck STL filer bifogas som en del av stegen nedan och en kopp, i mitt fall, jag använder en venti kopp frå...

Raspberry Pi 4 x 4 x 4 LED Cube

Jag har varit fascinerad av LED kuber ett tag nu, men har inte kunnat förmå mig att bygga en Arduino-baserad kub. De vänder snabbt och fint, ja, men skriva koden är en hemsk röra av bits och bytes. Raspberry Pi Python-baserade GPIO gränssnittet var m...

Raspberry Pi vatten larmsystem

Instruktioner för att anställa en Raspberry PI som ett vatten larmsystemVersion 1.0, utkom Jan 2015Raspberry Pi läser statusen av en eller två vatten sensor enheter på en eller två av dess GPIO stift. När vatten upptäcks Raspberry Pi e-post ut en var...

Raspberry Pi $ sudo apt-get update<br> $ sudo apt-get install alsa-utils<br> $ sudo modprobe snd_bcm2835<br> $ sudo aplay /usr/share/sounds/alsa/Front_Center.wav mångsysslare.

Raspberry Pi är en sorts mångsysslare när det gäller att vara en enkel bräde computern baserat på Arm-processor. Det kan vara en desktop media player/streamer, webbserver, kriminalteknik maskin och göra de flesta av vad alla linux-baserade maskiner k...

Business Card PIC programmerare

detta var min post för Hack A Day visitkort storlek krets tävling. Jag zippade upp filerna och sätta dem på min hemsida. Jag lägga ut den här för alla andra transaktioner verkar vara på en blogg för enkel åtkomst. Förhoppningsvis kommer detta göra pr...

Hur man gör en Arduino + Raspberry Pi Robot plattform

UPPDATERING: Låter göra robotar, mitt hem digital hackerspace, köptes av RobotShop. Jag vill inte gå in, men de nya ägarna förbjudit mig själv och de flesta veteran medlemmarna. Som sagt, de flesta av länkarna där kommer att brytas. Lyckligtvis kunde...

Kvicksilver RF fjärrkontroll socket kontroll från Raspberry Pi

Hur man styr kvicksilver RF fjärrkontroll uttag från Raspberry Pi med Python.Steg 1: InledningJag ville bygga en egen controller för att övervaka och kontrollera miljön i min (sub) tropiska växthus, och de första stegen var att övervaka och kontrolle...

Raspberry Pi musik fingrar

Att skapa musik är alltid kul, men gör det med din egen DIY musikinstrument är mycket bättre!Oavsett om du är en professionell musiker söker nästa nya instrumentet att prova eller en amatör entusiasten som har grundläggande kunskaper i elektronik, an...

Raspberry PI + Motorola Lapdock

för några månader sedan jag hittade genom en MOOC på Universidad Galileo, det var möjligt att konvertera en Raspberry PI i "nästan" en laptop. Denna idé fångade min uppmärksamhet, genom att vrida denna "micro" i en fristående dator. Ja...

Raspberry Pi dedikerad Internet Radio och musikspelare

har du någonsin velat något att fylla dagen med härlig ljud men ville ägna en PC till detta ändamål? Raspberry Pi ger exakt vad vi behöver, och med några delar liggandes, kan du styra det med några knappar och en knopp.Allt bör fungera bra utan extra...

LED Rave Solar Shopping Cart trehjuling

I detta instructable ska vi ta en plast kundvagn, fylla sin korg kontrollerbar lysdioder på anpassade tryckta PCB, Använd PIC18F4550 mikrokontroller för att visa text och ljud lyhörd mönster på lysdioderna, svetsa bättre hjul och en cykel på vagnen,...

CupBot - 3D tryckt Robotics plattform

Här är en stor helg robotics projekt som du kan genomföra kallas CupBots baserat på Raspberry Pi och BeagleBone svart som är kreditkort storlek datorer och även 3D-utskrifter...De flesta 3D tryckta delar är gemensamma för både versionen av CupBot och...

Natur Tracker: mappningen med Intel Edison

Data är vackra. Och långt från "förstöra poesi av regnbågen" (Keats), ett vetenskapligt förhållningssätt kan hjälpa oss att bättre uppskatta de saker vi tycker är kul. Här, vi har tagit ett kit med IoT godsaker och ihop dem till en enhet chock f...

Öppna brain wave hårdvara

uppdaterad den 16 juni 2014 för avsnitt 9:Du kan också gå direkt till avsnitt 9.göra högkvalitativa brain wave interface som låg kostnad och liten storlek är mitt över 20 år av drömmen. För att göra detta måste samlas produktion, behöver arbete med i...

Månfas klockan

I detta Instructable kommer vi att bygga en dynamisk lunar lampa med Raspberry Pi. Med din alldeles egna lunar klocka vet du alltid den nuvarande fasen av månen, oavsett väder!Steg 1: Historia och teoriSpirande astronom? Nyligen biten av en varulv? O...

Hur man bygger en 8-bitars dator

bygga en 8-bitars TTL dator låter som en skrämmande och komplicerad uppgift, eller åtminstone gjorde till mig när jag började på min resa att förstå en grundläggande CPU arkitektur. När det kommer till kritan, är en CPU ganska enkel i drift när du lä...

Grafit Controller

IntroduktionTrött på spel med ett tangentbord eller en handhållna controller? Här är hur man gör en DIY papper och penna controller. Följ anvisningarna nedan för att gör din egen grafit controller!Vad du behöver:En bit papperEn grafit pennaRaspberry...