EPROM-brännare och RAM-läsare mha UNO

Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

EPROM-brännare och RAM-läsare mha UNO

Inlägg av Spisblinkaren »

Hej!

Här kommer mitt absolut sista projekt :D

Jag tänker alltså nyttja UNO för att läsa ett batteriuppbackat RAM (B-RAM) som nyttjas som "Floppy" mellan först och främst mitt diskreta samplingssystem jag håller på att fram och datorn men också mellan min kommande CPU och datorn.

Jag tänker börja med att nyttja mitt 8KX8 MOSEL RAM som enligt datablad är pin-kompatibelt med 64KX8 EPROM vilket kan vara bra, speciellt om man får för sig att bygga en brännare samtidigt (vilket jag har funderat över men struntar i pga alla olika pin-konfigurationer och komplikationer map bidirektionella bussar, för att inte tala om programmeringsspänningar), dock tror jag samtidigt att t.ex ett 64KX8 RAM också passar, borde vara lite av standard.

Så jag gör ett B-RAM av min MOSEL mha två dioder, den ena dioden monterar jag i serie med batteriets plus och Vcc-pinnen på MOSEL, den andra dioden monteras på samtliga boards som B-RAM skall nyttjas (och är den dioden som spärrar för att batteriet inte ska mata systemet när systemet är avslaget).

Jag vill nyttja UNO för att den "står stadigt" och det är då bara att plugga i en MEGA-shield samt koppla in sig på UNO's UART.

UNO's IO_0 och IO_1 är dedikerade pinnar för UART (Rx & Tx), min tanke nu är att skifta ut data via Rx (blir det va, eller blir det Tx :D ) med hjälp av vanliga skiftregister med en klocka som motsvarar 9600 Baud (eventuellt är Baud och bits/s samma sak) men säg att 9,6kHz är bit-hastigheten hos Rx, då är det bara att bygga en klocka som har den frekvensen samt klocka upp datat till UNO via dess UART.

Detta är i alla fall min tanke, även om jag siktade på SD-kort först men varför fysiskt flytta data TVÅ gånger?

Dessutom krävs en extra logger-shield för SD, så jag siktar nu på att istället nyttja den inbyggda UART och hoppas således få upp data på Hyperterminalen (som också måste stå på 9600 Baud) på detta sättet samtidigt som jag hoppas man bara kan kopiera från Hyperterminalen in i Excel.

Men som Ni hör, fattar jag inte mycket av sånt här :D

I vilket fall bygger jag mig en MEGA-shield (tack SeniorLemuren & lond) som jag sedan trycker på UNO och trycker på en knapp (Read).

Jag tänker mig att minnet skall läsas mha skiftregister, på adress-sidan är det bara att skifta in adress efter adress och när varje adress är klar så latchar man in värdet i adressbussens skiftregister varvid man läser utdata som tillfälligt lagras som preset i databussens skiftregister.

För varje adress har man då respektive data, för att läsa datat så skiftar man sedan datbussens skiftregister varvid "carry-out" kopplas till Rx på UNO.

Principen tror jag mig förstå men eftersom UART är asynkron så krävs det att klockorna på båda sidor är lika i frekvens (hur lika vet jag inte) sen krävs det också att man på nåt sätt sniffar efter startbit och stoppbit.

Snacka om att jag behöver läsa på :D

En sak vet jag dock, det räcker med Tx, Rx och GND för att få till stånd en kommunikation (CTS/RTS behövs inte).

Nu ska jag rita lite men laddar upp mina tankar så länge.

Som vanligt är jag tacksam för kritik.

MVH/Roger
Senast redigerad av Spisblinkaren 8 januari 2017, 01:12:23, redigerad totalt 1 gång.
Användarvisningsbild
HUGGBÄVERN
Tidigare soundbrigade
Inlägg: 32717
Blev medlem: 23 augusti 2006, 22:44:11
Ort: Lilla Paris
Kontakt:

Re: B-RAM läsning mha UNO

Inlägg av HUGGBÄVERN »

Här kommer mitt absolut sista projekt :D
Nu får jag en sådan där kuslig deja vu-känsla .... Jag har läst det där förut. :wink:


Det har väl påpekats några gånger förut, men om det här ingår i ett projekt du har på G och som du dokumenterar på EF, är det enklare att hänga med om du samlar allt i EN tråd istället för att stycka upp och sprida det på flera trådar. Då vet du att ingen missar något. :wink:
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: B-RAM läsning mha UNO

Inlägg av Spisblinkaren »

Hej din galning ;)

Jag tycker du har fel för om det blir ett seriöst avvikande projekt inuti en projekttråd så kan folk inte söka på det, då är det bättre att starta en ny tråd, menar jag.

MVH/Roger
PS
Dessutom får man mer trafik om den avvikande tråden skulle råka vara mer intressant än originaltråden :D
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: B-RAM läsning mha UNO

Inlägg av lillahuset »

Suck, tagga ner.
Användarvisningsbild
HUGGBÄVERN
Tidigare soundbrigade
Inlägg: 32717
Blev medlem: 23 augusti 2006, 22:44:11
Ort: Lilla Paris
Kontakt:

Re: B-RAM läsning mha UNO

Inlägg av HUGGBÄVERN »

Man måste inte vara galen för att vara på EF, men det hjälper ...

Jag förstår din tanke, men jag oroar mig för att du kommer längre och längre från ditt ursprungliga projekt.

En annan tanke som slår mig, för att liksom inte börja om på något som redan berörts; det skulle väl kunna gå att splitta en originaltråd om det smyger in något annat som borde beröras separat.

Är RAMet väldigt viktigt? Alltså den fysiska enheten. Du skulle ju annars kunda skicka data från UNO till din CPU via tråd eller genom eter (eller använder man freon nu förtiden??).
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: B-RAM läsning mha UNO

Inlägg av Spisblinkaren »

Okej, här kommer en skiss på hur jag tänkt mig läsningen.

Men nån UART tycks det inte bli (för jag kan inte sånt ändå :D ).

Jag tycker mig se att genom att nyttja endast 5 normala I/O-pinnar (separata klockor) på UNO så fixar jag det utan UART.

Fast jag gillar UART och skulle gärna vilja lära mig mer.

MVH/Roger
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
HUGGBÄVERN
Tidigare soundbrigade
Inlägg: 32717
Blev medlem: 23 augusti 2006, 22:44:11
Ort: Lilla Paris
Kontakt:

Re: B-RAM läsning mha UNO

Inlägg av HUGGBÄVERN »

En UART är inte svår att hantera. Förresten finns sådana att köpa fortfarande?
Hittar om inte annat så här i USA: http://unicornelectronics.com/IC/UART.html
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: B-RAM läsning mha UNO

Inlägg av Spisblinkaren »

Jag funderar nu på att göra såhär istället.

Jag nyttjar helt enkelt 5st I/O-pinnar på UNO sen skapar jag ett program som gör:
1) Sätter relevant adress-bit på IO4 (preliminärt LSB)
2) Klockar in den biten mha IO3
3) Fortsätter med resten av adress-bitarna på samma sätt (i praktiken skickar man ett Adress-ord och klockar in alla 16 bitarna).
4) Minnet har under denna sekvens adresserats kaotiskt men det gör inget för inget är läst än.
5) Drar sedan IO0 kortvarigt låg dvs latchar in det som finns på RAM's databuss till skiftregistret
6) Klockar IO1
7) Läser IO2 för varje positiv flank hos IO1 samt bygger upp ett data-ord i programmet av 8 konsekutiva klockningar
8. Detta skiftregister behöver aldrig clearas för det laddas med relevant data varje gång.

Vad tror Ni om det?

MVH/Roger
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: B-RAM läsning mha UNO

Inlägg av Spisblinkaren »

Min enkla RAM-läsare har nu blivit till en kombinerad minnesläsare och minnesprogrammerare.

Beslutade mig till slut att när jag ändå håller på och konstruerar en läsare kan jag lika gärna bygga in brännar-funktion också ty det är inte så mycket svårare, bara aningen mer komplicerat (och kräver fler IO hos UNO).

Apropå antal IO så är jag nu uppe i 11st, MEGA-shielden kan dock bara hantera 10st (sett ur ett UNO perspektiv) detta trots att UNO har ytterligare två generella IO, MEN iom att min plan nu är att skippa SD och på nåt sätt nyttja intern USB-överföring så behöver jag inte SPI dvs 4st pinnar till finns till förfogande.

Nu är det dock som så att jag fortfarande inte är klar med mitt schema och kommer kanske kunna ta bort några signaler, just nu kan man typ stoppa/latcha samtliga skiftregister och det finns egentligen ingen anledning till det för antal skiftade bitar kan man styra i programmet samtidigt som den gemensamma klockan bara får de andra för tillfället ej nyttjade skiftregistrena att tugga på men är samtidigt aktuella när vardera skiftregister adresseras, det finns således egentligen ingen anledning till att stoppa/lacha nåt av skiftregistrena.

Min skiss på programmeringsspänning fungerar nog inte även om jag tycker att 5V ut från IO inte automatiskt borde innebära att IO kan sänka ström, jag menar att antingen sänks ström av att CMOS är låg eller så sourcas ström av att CMOS är hög, nåt annat förstår jag inte (annat än att alla ben hos CMOS har skyddsdioder speciellt upp mot Vcc så teoretiskt kan det gå ström in i en hög utgång om spänningen (9V i detta fall) är tillräckligt hög MEN jag har fått för mig att detta mest är ett dynamiskt och inte statiskt skydd men jag har säkert fel.

MVH/Roger
PS
Jag tänker inte flytta om pinnar för att kunna programmera godtyckligt minne utan det får bli 28-pinnars (såsom 27C512) endast och jag har fått för mig att den är pinkompatibel med bl.a mitt lilla B-RAM, detta måste dock undersökas.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: B-RAM läsning mha UNO

Inlägg av Spisblinkaren »

Kommer nu på att jag faktiskt måste kunna latcha adressen (nu när klockan bara tuggar på) för den måste sättas upp först, först sen kan jag ladda in parallell data i DO-registret och låta klockan tugga på.

Men jag behöver då bara göra en /ST precis när alla adress-bitarna är inskiftade, sen gör jag en Load på DO-restret vartefter jag skiftar ut dessa parallellt inladdade 8 bitar till UNO, lagrar dom och låter bara klockan tugga på utan att ta hänsyn till vad som kommer in till UNO (blir väl nollor eller ettor till slut när alla databitar är inskiftade), nånstans här skiftar jag ut en nya adressbitar till AD-skiftregistret (eventuellt kan man göra det perfekt cykliskt dvs när sista biten i datat är inskiftad så kan man omedelbart släppa på /ST varvid AD-registret uppdateras).

Tror jag ska programmera så dvs precis när DO-registret är klart så går jag över till att uppdatera AD-registret och precis när det är klart laddar jag DO-registret varvid jag börjar om och allt detta får ske med nån lämplig frekvens som absolut inte behöver vara hög för absolut största minne kommer vara på 64K dvs tidsmässigt nåt i stil med 64k*(16AD+8DO)=1,5Mb, om jag drar till med 10kHz så tar det då alltså runt 150s (<3min).

Man kan emellertid här säga att CK_INH på DO behövs inte (UNO, here I come :D ).

Om vi sedan tittar på brännar-delen så är det återigen som så att adressen måste sättas upp och latchas (/ST), först därefter kan man ta emot databitarna seriellt via DI-registret, sen tar brännandet en liten stund (ingen aning om hur lång och kanske 10kHz är tillräckligt låg frekvens) varvid det känns som om DI behöver latchas (/ST). För när data är giltig (DI-registret klart) så ska det läggas på en brännarspänning (VP) och här bör man nog som sagt vänta en stund dvs /ST på DI-registret behövs (nog).

Jag fick bort en signal i alla fall, perfekt mao :)

MVH/Roger
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: B-RAM läsning mha UNO

Inlägg av Spisblinkaren »

Efter att ha tänkt lite på den obligatoriska kvällsliga turen till ICA så har jag nu bestämt mig för hur jag ska göra.

Varför ha bara en klocka och stoppa genom att dra i diverse Enable när rätt antal bitar har skiftats in?

Är väl mycket enklare att generera en klocka per skiftregister för när man gör det har man ju samtidigt stenkoll på hur många cykler man släpper fram :doh:

Så detta är vad jag kommer att göra.

Sen har jag gjort om switchen lite, denna nya variant är jag säker på att den kommer att fungera frågan är bara om 9V räcker som programmeringsspänning?

Min första UNO matade jag med 9V AC/DC-adapter och det fungerade bra, är sedan säker på att 12V också fungerar men där nånstans är det stopp, dvs programmeringsspänningen får inte vara högre än 12V.

Nästa steg, caddning av MEGA-shield :)

MVH/Roger
PS
Finns det nåt sätt att kopiera bilder från pdf?
Användarvisningsbild
HUGGBÄVERN
Tidigare soundbrigade
Inlägg: 32717
Blev medlem: 23 augusti 2006, 22:44:11
Ort: Lilla Paris
Kontakt:

Re: B-RAM läsning mha UNO

Inlägg av HUGGBÄVERN »

Finns det nåt sätt att kopiera bilder från pdf?
Om pdf-filen INTE är skyddad eller skannad från papper kan man plocka ut bilder (som regel) med Photoshop i alla fall.
Kanske går på annat sätt också.
Eller en skärmdump.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: B-RAM läsning mha UNO

Inlägg av Spisblinkaren »

Tack men hjälper tyvärr inte då jag inte har Photoshop.

Vad jag skulle vilja göra är att kopiera pinkonfigurationen hos ett gäng minnen men jag får väl göra det den hårda vägen :)

MVH/Roger
Användarvisningsbild
HUGGBÄVERN
Tidigare soundbrigade
Inlägg: 32717
Blev medlem: 23 augusti 2006, 22:44:11
Ort: Lilla Paris
Kontakt:

Re: B-RAM läsning mha UNO

Inlägg av HUGGBÄVERN »

Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: B-RAM läsning mha UNO

Inlägg av Spisblinkaren »

Tack, men accesstiden är för dålig vill ha absolut max 20ns.

MVH/Roger
Skriv svar