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

Re: B-RAM läsning mha UNO

Inlägg av Spisblinkaren »

Jag har nu använt papper och penna och jämfört mitt 8K-RAMs pinkonfiguration med ett 64K EPROM (27C512).

Och faktiskt, dom är pin-kompatibla (lite beroende på hur man ser det).

Eftersom båda minnena har 28 pinnar (vilket är den enda fysiska storleken jag kommer köra) och dom skiljer i minnesstorlek blir det naturligtvis några pinnar över hos RAM, ett är NC men sen nyttjas W, E1, E2 och G.

Det intressanta är att dessa fyra signaler alla är in-signaler och i fallet EPROM så har EPROM även ingångar på dessa pinnar så på så sätt är dom fullt pinkompatibla, lite olika insignaler bara samtidigt som hela dataporten och aktuell del av adressbussen hänger på samma pinnar (med samma nummer).

Jag ritar ett snabbt schema...

Jag behöver fundera mer på det här, speciallt känner jag till exempel att jag inte alltid kan låta A14 (EPROM) vara adress-pinne då det i RAM-fallet motsvaras av Write, kanske jag via dipswitchar eller nåt begränsar hur många adresspinnar som skall användas, men jag vet inte just nu.

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 »

Jag har hittat mitt CPU-RAM!

ELFA säljer ett 32KX8 SRAM med den fantastiska access-tiden 20ns!

Och detta dels som DIL dels för bara 53 spänn :D

Jag ska köpa 10st :D

Under tiden har jag försökt få ihop hur jag dels ska kunna läsa och programmera både EPROM och B-RAM.

Just nu involveras tre minnen men jag kommer nog ta bort B-RAM så att jag bara har 27C512 EPROM (finns faktiskt att få tag på än idag men tyvärr som OTP dvs One Time Programmable :doh: ) och mitt CPU-RAM, blir enklast så.

Dom är i det närmaste pin-kompatibla men en adresspinne spökar (A14).

Så jag har tänkt att jag inför en switch (eller ett gäng DIP-switchar) som ställer om mellan EPROM och RAM.

EPROM:et har förresten optimal storlek dvs 64KX8 vilket är max man kan klämma in på en DIL28 samtidigt som det täcker dom flesta behov.

CPU-RAM:et är på halva denna storlek men det är också allt man kan nyttja i en 6809-baserad dator/CPU.

Så det här blir perfekt!

Bifogar ritning.

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 »

Nåt sånt här har jag beslutat mig för att göra.

Några DIP-switchar bara och en 40106:a driven av 9V+ så tror jag detta kan funka, vad tror Ni?

MVH/Roger
PS
Ser nu i databladet för 27C512 att 12,75V är programmeringsspänningen, min UNO drivs av en adapter som i nuläget ger 9VDC och denna spänning kan man nyttja (något oreglerad) men 9V räcker tydligen inte så då finns det två lösningar dvs antingen driva UNO med 12VDVC eller nyttja step-up krets. Ser nu av UNO's datablad att man faktiskt kan köra ända upp till 20VDC som inspänning (även om max 12VDC rekommenderas) så 12V är i alla fall inga problem, detta är vad jag kommer att göra (även om jag inte träffar 12,75V vilket jag dock tror är nån akademisk nivå som tillverkaren mest garanterar fungerar).
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4689
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: B-RAM läsning mha UNO

Inlägg av Swech »

Varför behöver du 20ns minne?

Swech
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 Swec!

Jo, för jag kommer på lite sikt försöka bygga mig en CPU MkII med hjälp av bl.a en FPGA vars program i princip är färdigt och har varit färdigt i snart ett år.

Preliminära data hos denna FPGA-CPU är 80MHz nånstans (enligt Xilinx ISE) och jag vill kunna nyttja så mycket som möjligt av den hastigheten men en CPU kräver ju RAM för att kunna utföra något vettigt och 1/20ns=50MHz dvs 20ns är egentligen tom för långsamt, samtidigt som en mer realistisk hastighet är 50MHz på alltihopa varvid jag i alla fall närmar mig Pentium I fast då med 6809-arkitektur.

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 »

Såhär har jag tänkt göra:

1) IO0: S/L'=Shift/Load', denna pinne bestämmer om vi ska skifta eller ladda DO-registret.
2) IO1: CK_DO=Clock_Data Out, denna pinne klockar ut data från DO-registret
3) IO2: DO=Data Out, på denna pinne kommer det seriella datat ut (LSB först)
4) IO3: OE=Output Enable, denna pinne styr i princip datariktningen, måste vara låg för Read och dras superhög för Write (EPROM).
5) IO4: CK_DI=Clock_Data In, denna pinne klockar in data (MSB först) i DI-registret
6) IO6: W'=Write', denna pinne skriver till minnet när den är aktiv (och styr ihop med /OE läsning annars )
7) IO7: CK_AD=Clock_Address Data, denna pinne klockar in adress-data i AD-registret
8. IO8: AD=Address Data, på denna pinne skickas det in en adress (MSB först).

Nu tittar vi lite i databladet för RAM-kretsen...

Den är på 5V och den finns som DIP, ELFA säljer 73-731-52...

Jag har upptäckt ett problem :(

Det verkar som stand-by strömförbrukning nominellt är 40mA (kan krympas till 15mA under speciella förutsättningar).

Då räcker inte batteriet så länge :D

1 bästa fall 1,5Ah/15mA=100h.

Så nåt simulerat EPROM blir det inte av det här.

Däremot kan man ha en vagga där minnet/batteriet får vila så man programmerar alltså antingen i host eller device, slår av all matning och flyttar B-RAM till vaggan där det får förvaras.

Samtidigt, jag har applikationer där jag vill ha ett EPROM (min diskreta KSS_D till exempel).

Ni kan själva läsa det här (så slipper jag förbruka serverutrymme): https://www.elfa.se/sv/sram-32-bit-dil- ... simi=95.19

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 »

Nu har jag tagit reda på alla pin-nummer på kretsarna.

Jag känner mig ganska säker på konstruktionen men skulle ändå vilja testa grejerna så jag kanske bygger nån testrigg på kopplingsdäck (som är mitt favoritsätt att testa grejer).

Spontan tanke är LED (med förkopplingsmotstånd, finns det?) för alla adresser och data, sen korskopplade NAND för kontaktstudseliminering i samband med klockorna sen eventuellt DIP-switchar för alla övriga I/O-pinnar (speciellt data) och slutligen diod-matris som minnes-emulator (går dock naturligtvis inte att skriva till då men man kan se om man läser rätt).

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: EPROM-brännare och RAM-läsare mha UNO

Inlägg av Spisblinkaren »

Jag har nu caddat schema-delen av mitt läs och skriv-system för EPROM och batteriuppbackat RAM.

Jag fick nytta av cjonash fantastiska trick att man inte behöver dra ledningar utan man kan tilldela ledningsstumpar namn istället.

På det sättet blir inte schemat lika grötigt, dock lyckades jag inte få Eagle att skriva ut ledningsnamnen så schemat blir aningen svårläst för oinsatta.

Men vad fasen det är väl ändå ingen som bryr sig om mina fula/kassa konstruktioner?

Fast jag bryr mig, och detta funkar för mig.

Ska bli spännande att i C knåpa ihop ett program som kan fixa detta, jag som inte kan ett skit om programmering :D

Så detta blir nog ett projekt som endast på lång sikt kanske kan fungera.

Fast hårdvaran är jag mycket säker på, logikkretsar kan jag nämligen (dags för lite självförtroende).

Återstår att se om jag lyckas programmera detta dock.

För en sak är säker, jag måste nyttja dator för att få detta att funka.

Detta för att man helt enkelt kan inte programmera 32kB manuellt, liksom :D

Fast hade man kunnat det hade jag hellre gjort det :D

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: EPROM-brännare och RAM-läsare mha UNO

Inlägg av Spisblinkaren »

Okej, jag har samlat mina fyra allra sista Eagle-projekt i en och samma tråd.

Jag kommer nu distribuera ut projekten till respektive tråd.

Projekten behöver nu "bara" routas.

Endast ett av dessa fyra projekt känner jag är ganska enkelt routbart, möjligtvis klarar jag att routa ett till men två kvarstår som "omöjliga" (även om jag naturligtvis kommer att försöka).

Jag listar de fyra här mest för systematikens skull:
1) KSS_M (omöjligt att routa har proffs här inne sagt)
2) KSS_R (känns möjligt att routa)
3) KLD_M (mycket svårt att routa)
4) KLD_F (borde vara nästan "enkelt" att routa)

Bifogar bild + zip med Eagle-filer

MVH/Roger
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
pstrand
Inlägg: 373
Blev medlem: 6 november 2010, 09:51:33
Skype: p.a.strand
Ort: Ljungsbro

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

Inlägg av pstrand »

Var inte så svårt. Ändrade bredd på VCC (la till en ny netclass).
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: EPROM-brännare och RAM-läsare mha UNO

Inlägg av Spisblinkaren »

Ser bra ut.

Vad kostar lösningen :)

MVH/Roger
Användarvisningsbild
pstrand
Inlägg: 373
Blev medlem: 6 november 2010, 09:51:33
Skype: p.a.strand
Ort: Ljungsbro

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

Inlägg av pstrand »

Hej, här kommer filerna
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: EPROM-brännare och RAM-läsare mha UNO

Inlägg av Spisblinkaren »

Du är för snäll pstrand, tack ska du ha!

Nu har jag bara två routing-projekt kvar:
1) KLD_M: svårt men går uppenbarligen map cjonash försök (dock mha autorouter och QFP-manipulation)
2) KLD_F: enkelt, bara en massa jobb (208 pinnar).

Jag är alltid tacksam när Ni hjälper mig på detta viset, men ibland känner jag att jag vill stå på mig med mitt så att lösningen liksom mest är min, därför skrev jag nog lite galet i en annan tråd där du hjälpt mig samtidigt som jag fortfarande tycker att antal vior i praktiken är betydelselöst och att kretskortskonstruktion inte är nån skönhetstävling ty jag är enbart ute efter funktionen.

Jag är således mer av en konstruktör än en kretskortskonstruktör.

För mig är kretskortskonstruktion ett nödvändigt ont när man lärt sig hata veroboard samtidigt som virning är nåt jag älskar men det fungerar tyvärr inte så bra för analoga system.

MVH/Roger
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

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

Inlägg av cjonash »

Nu handlar ju "bra" kretskortsdesign inte bara om utseende, utan om funktion också.

På samma sätt som du ibland måste tänka dig för hur du drar olika signalkablar i förhållande till varandra (i en låda, t.ex) för att undvika brum eller andra störningar, kan du i vissa fall behöva tänka på hur du drar banorna på ett kort också. Och det är inte bara för att "det går" eller för att det blir snyggare som man ofta använder jordplan på kretskort (inte minst i analoga system).

Jag använder ju själv gärna autoroutern, för att jag är inte speciellt rutinerad på att routa kort och det tar helt enkelt mycket tid om jag ska göra det manuellt. Men man kan ju hjälpa till genom att tänka igenom placering av komponenter, och i vissa fall routa delar av kortet manuellt först.
Användarvisningsbild
pstrand
Inlägg: 373
Blev medlem: 6 november 2010, 09:51:33
Skype: p.a.strand
Ort: Ljungsbro

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

Inlägg av pstrand »

Håller med dig cjonash. Brukar försöka placera ut komponenterna på ett logiskt "bra" sätt. Sedan brukar "autoroutern" ge en hint hur den skulle lösa det hela. Efter första iterationenn blir det ofta att flytta på vissa komponenter och upprepa. Efter ett antal iterationer brukar det bli ganska bra.

Det är ju bra att definierat sina "netclass:es" med rätt ledarbredd innan man startar. Brukar vara svårt att ändra ledarbredd när man är någotsånär klar.

Jag tycker faktiskt det är ett bra mål att försöka få ner antalet vior, men givetvis inte ge avkall på övrig ledningsdragning. Vior tar ju också plats.
Skriv svar