Do you have a question? Post it now! No Registration Necessary
- Thomas Skyt
November 22, 2003, 10:49 pm

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
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

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,

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.

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

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

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.

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

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

Re: DRAM Refresh
Hej Thomas,

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

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

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.

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.

:) 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

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.

lave
dekodning,
universal
kredse.
lidt
RAM-kredsene.

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


Re: DRAM Refresh
Hej,

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?

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

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?

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

om
sted.
oppfører

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.

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.

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


Re: DRAM Refresh

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.

Jeg ville kode en peel til det. YMMV.
/Kai

Re: DRAM Refresh

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".

Site Timeline
- » DRAM
- — Next thread in » Electronics (Danish)
-
- » FPGA, clk, bufg, ibufg osv.
- — Previous thread in » Electronics (Danish)
-
- » 3 batterier =?
- — Newest thread in » Electronics (Danish)
-
- » Procedure for inverse Laplace transformation to calculate periodic switch-on processes...
- — The site's Newest Thread. Posted in » Electronics Design
-