DRAM Refresh

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Danish to

Threaded View
Hej NG,

jeg har en masse gammel DRAM liggende og vil egentlig gerne benytte det i
et lille miniature-system med en 8051-kompatibel uC, men mangler en
memory-controller.
Så vidt jeg kan se på nettet, ville en 74608 kunne gøre dette - dog har
jeg kun fundet det nævnt i en 2-3 sætninger. Ingen datablade, intet fra
nogen producent.

Man ville også kunne gøre det i software, men som jeg har set andre steder
på nettet vil det kunne sluge en pæn del af cpu-ressourcerne, så tit som
det skal gøres (hvert 4 ms. ved de kredse jeg har liggende).

Tager jeg helt fejl i at refresh på DRAM går ud på at "scanne henover"
alle celler i klodsen, altså blot udlæse dem alle?

Er der nogen fiks løsning på det, udover at kode en peel til det?

/Thomas

Re: DRAM Refresh

Quoted text here. Click to load it

Eg har liggande nokre GAMLE memorykontrollerer fra INTEL, eg trur det er for
16K ram. Kva er det du treng? (nesten gratis)

HM



Re: DRAM Refresh
Hej,


Quoted text here. Click to load it

Det er 32k-kredse jeg har liggende, så 16k-controller vil vel kun kunne
addressere de nederste 16k, ik' sandt?

/Thomas

Re: DRAM Refresh

Quoted text here. Click to load it
i
steder
som
for

Kretsen eg har er D3242, Intel. Eg trur den skal passa. Eg har ikkje
databladet.

32K? Er ikkje dei egentelig 2 stk 16K som er byggd på ein 18 pins pakke? Kar
du mange  av dei?

I si tid wrappa eg eit kort for slike, eg samla dei etter reperasjon av
kort, og eg skilde dei i 2 grupper, etter kva for ein chip som var defekt,
øvre eller nedre. Ram var dyrt i den tida!

Borna nedla forbud mot å kasta det prosjektet.

Som sakt, eg har 9 stk D3242, du får gogla til du finn eit passande datablad
eller skjema; rekner med at du treng det for å kunna bruka den!

HM



Re: DRAM Refresh
Hej,


Quoted text here. Click to load it

Jeg har en 7-8 styk af den ene type og en 6 styk af den anden. Men jeg har
ingen dokumentation på dem, så jeg ved ikke hvordan de er opbygget eller
pin-belagt.

Quoted text here. Click to load it

Og nutildags er det bare svært at få fat i for menigmand - hverken Conrad
eller Farnell lader til at ville føre det.

Quoted text here. Click to load it

Jeps - og netop uden datablade står jeg ret dumt med alle de kredse jeg
har liggende.

/Thomas

Re: DRAM Refresh
Hej Thomas,

Quoted text here. Click to load it
steder

Jeg ved ikke hvad jeg snakker om men prøver alligevel ;-)
Der må da findes en application-note du kan kigge efter et eller andet
sted.. Ellers prøv at skele til nogle af de andre processorer - 6502, 6800,
68000, 6809, 8085 etc. Refresh-kredse er jeg  bange for hører forrige
århundrede til.

En GAL, PAL eller PEEL vil spare dig for en del kredse, men hvis du bare
vil lege og har stumperne, hvorfor så ikke lave lidt hardware der kan lave
en refresh-cyclus for hver instructions cyclus.Det kræver lidt dekodning,
et par multiplexer-rkedse og et par binære tællere. Dit formål er at
udnytte nogle gamle RAM-kredse som du allerede har liggende frem for at
bruge Statisk Cmos-RAM. Du kan evt skele til Z80. Der var også en
konstruktion i Elektor i April 82 og Sep 83, hvor de byggede et universal
D-RAM kort til bl.a. Junior og følgende byggede det om til 64kbit kredse.

Du har selv været inde på at lave refresh i software - f.eks en
interruptstyret rutine der laver 256 NOP operationer hvert 4 ms, eller lidt
oftere i mindre bidder. Ideen er at udføre nogle instruktioner så de på
kortest mulig tid læser flest mulige bytes på forskellige adresser. Med
lidt dygtighed kan Initiering af rutinen og return from interrupt laves
sådan at de også deltager i refresh af hukommelses-rækker i RAM-kredsene.
Det vil tage ca 16% af processorens tid til refresh ved en
instruktionscyclus på 1 microsekund.

Mvh, Lars
Experimenterende Dansk Rodemikkel


Re: DRAM Refresh
Hej Lars,


Quoted text here. Click to load it

Jeg har stærkt overvejet at skele til de andre cpu- og uC-typer, i håb om
eventuelt at finde noget der. Nutildags bruger man jo næsten kun DRAM i
alt processor-baseret, så der må sgu være noget doku et-eller-andet sted.

Quoted text here. Click to load it

Mit formål var sådan set at lave et lille minimum-system, som jeg senere
ville kunne udvide med en masse små moduler, indtil jeg til sidst når op
på en automatiseret analog målestation til eksempelvis produktion af
frekvenskarakteristik for en forstærker uden at brugeren behøver gribe
ind.

Så det må gerne bære præg af noget "halv-prototype-agtigt" - og SMD er
ikke noget jeg holder mig fra.

Quoted text here. Click to load it

:) Nu er min valgte uC (DS80C310) heldigvis gevaldigt hurtigere end den
originale 8051 - den kan udføre single-cycle instruktioner på kun 121 ns
ved 33 MHz takt.
Måske skulle jeg blot lige beregne mig frem til tab og effektivitet ved så
høj en takt og undersøge om det overhovedet kan betale sig at holde mig
fra software-løsningen ...

/Thomas
forhåbentligt-snart-elektronikteknikker-håber-jeg-da-vist-alt-går-vel :)


Re: DRAM Refresh

Quoted text here. Click to load it
i
6800,

Rammen som brukast nå er såkalla pseudodynamisk ram, det vil sei at
refreschhardwaren er innebyggd i sjølve kretsen, slik at dei utad oppfører
seg som statisk ram.

Quoted text here. Click to load it
lave
dekodning,
universal
kredse.
lidt
RAM-kredsene.
Quoted text here. Click to load it

Men ved slike frekvenser vil ikkje den gamle rammen du har fungera!.
kontroller hastigheten. Vurder ein gamal SIM, 256x8. Ein annan ting er at du
antagelig får eit misforhold mellom RAM og ROM; Kan henda du først bør
vurdera kor mykje ROM du treng, og om det kan henda er ekstern rom som blir
problemet.

HM

Quoted text here. Click to load it



Re: DRAM Refresh
Hej,


Quoted text here. Click to load it

Hmmm ... men på de gamle 30-pinns SIMM moduler jeg har fundet lidt papir
på er der stadig strobe-linier og behov for refresh - gælder det med
pseudo-dynamikken kun for SDRAM?

Quoted text here. Click to load it

Det med ROM'en kan jeg løse ved blot at kopiere den over i RAM'en og
derefter mappe om på de to. Jeg overvejer at gøre det med en PLD, hvis jeg
alligevel får brug for en sådan til latches og muligvis refresh.

/Thomas


Re: DRAM Refresh
Hej igen,


Quoted text here. Click to load it

Men det bliver næppe nødvendigt. Den Flash-ROM jeg har tænkt mig at bruge
har en access time på max. 45 ns (AM29F010, 1Mbit), hvilket giver en max.
clock på omkring 22 MHz. Det kan jeg godt leve med :)

/Thomas


Re: DRAM Refresh

Quoted text here. Click to load it
om
sted.
oppfører
Quoted text here. Click to load it

Lat oss gå ein annan veg:
Dynamisk ram bruker multiplexa addresse, alle adresselinjene har dobbel
fungsjon.
(Addresse LOW og HIGH)
Du legg ut addresse LOW og klokker den inn med RAS, Row Address Strobe, og
så legg du ut HIGH og klokker den inn med CAS, Column - -. Statisk ram
derimot har alle addressane ut; det går meir en dobbelt så fort! MEN så skal
du ha ein CPU som er tilrettelagd for slik RAM, like inn i
instruksjonsoppbygginga.

Der finnes masser av god statisk ram på gamle CPUkort, den såkalla
caschrammen, ofte 4 databit brei.

Quoted text here. Click to load it
ns
at du
blir

Beklager, du får ikkje meir ROM på den måten. Mappinga, det å legga RAM i
eit anna området, gjeres ved å legga adresselinjer høg eller låg.

Quoted text here. Click to load it

Eller?
Kontrolleren har både ROM og RAM?
Bruk kretsen som den er, med ei minimumsløysning, - wrappa på eit veroboard,
legg til passande I/O og fyll den opp med program. Når du har brukt opp
resursene, så legg du til meir.

HM

Quoted text here. Click to load it



Re: DRAM Refresh
Hej Thomas,


Quoted text here. Click to load it

Denne tekst kan måske give en pegepind:
http://www.geocities.com/SiliconValley/Peaks/3938/z80_rfrs.txt


--
Venlig hilsen,
Søren
We've slightly trimmed the long signature. Click to see the full one.
Re: DRAM Refresh
Hejsa

Quoted text here. Click to load it

Jeg mindes engang i først-90'erne, at Elektor havde en konstruktion til en
8031, hvor de _ikke_ brugte en speciel controller, men lavede refresh via
IRQ og software, hvilket jo ikke er så svært igen..
Prøv om det kan hjælpe dig på sporet.

Mvh Hauge



Re: DRAM Refresh

Quoted text here. Click to load it

Hvad en refresh-cycle skal gøre afhænger af hvilken DRAM type du
bruger.  De "gode gamle" asynkrone DRAM'er (altså inden det blev til
Extended Data Out = EDO), skulle have samtlige rækker berørt (dvs read
eller write). Dett gjorde man ofte ved at have en refresh-tæller, som
blev aktiveret hver 2/4/8 msek.

Senere kom der DRAM'er med indbygget refresh-tæller, sådan at man blot
skulle udføre en bestemt sekvens på kontrol interfacet.  SVJV er det
fortsat sådan på de nyeste DDR-SDRAM chips.

Jeg vil lige advare imod at "bare kaste noget sammen": De gamle
DRAM'er har ca 100 (asynkrone) timing parametre, som skal stemme for
at du kan stole på indholdet af DRAM'en.  Det tager ret lang tid at
sætte sig ind i begrænsningerne, og så derefter lave noget logik som
passer dertil.  Jeg lavede engang et Altera MAX5000 design, som senere
blev brugt til øvelses oplæg i Digital System Konstruktion på DTH.
Det blev en stor fiasko - ingen af de studerende fik lavet
konstruktionen, eftersom de ikke kunne hitte rede i DRAM databladet.

Quoted text here. Click to load it

Jeg ville kode en peel til det. YMMV.


/Kai

Re: DRAM Refresh
Quoted text here. Click to load it
Der er vel ingen af dem der ingeniører i dag vel :-) puha det ser sort
ud :-).
Jeg synes du maler fanden på væggen her. Klart nok er der problemer,
men de kan altså løses. På en Z80 kunne du klare det med en håndfuld
gates og en tæller, på 8051 skal der en smule (ikke meget) kode til
oveni. Du kan altså også lave din egen helt fra "bunden" uden det
store. Det er rigtigt nok at timingen skal overholdes, men det gælder
sgi da for alt digital teknik, når du nærmer dig en komponent grænse.
Den største begrænsning er den manglende idéskabning eller
"idétyveri". Det er altid sværrest når man først har sagt "det er
umuligt".



Quoted text here. Click to load it

Site Timeline