Ram interface...

Hej

Jeg har et lille kedeligt juleproblem :(

Jeg har let miget fint ADUC842 uC udviklingsboard, hvor jeg har lavet tilhørende ekstern 32kbyte ram og en 8255 og en RTL8019AS kreds....

Det skulle have virket på den måde at de 32kbyte ram lå nederst fra 0x0000 -

0x7fff og RTL kredsen lå på 0x8300 og 8255 på 0xc000 (tror jeg det er, og så alle spejl opaf)

Selve chipselecten har jeg lavet ved at ramkredsen har direkte A15 på chip enable, så når den er lav kører den (0x0000 - 0x7fff)

selve RTL8019AS har dens egen adresse hvor den er aktiveret på 0x0300 så dens in/out er aktiv når den lige nøjagtig har adresse 0x300-0x320 tror jeg det er, og så har jeg inventeret A15 til den så det skulle ligge på 0x8300 set fra uC

Jeg har inventeret det med en 74HC00 men det ser ikke ud som det virker... :( umilbart får jeg spejl af netkortet fra 0x0300 ... 0x0700 etc, hele vejen op igennem min ram blok.. hvilken gør den ikke virker særligt godt :(

jeg kunne jo evt adde en latch, 373/573 men det vil jeg være lidt træt af da jeg har pcb der er lavet.... ngole der har et godt bud ?.. er det inverteren der er for langsom ? rtl8019'en der er for langsom til at fatte det (burde det vel ikke være)

Jeg har prøvet at smide wait states ind i ram interfacet uden det hjalp noget...

jeg kunne måske forstille mig at RTL8019 er for hurtig ved 0x300 adressen, og så reagere den inden at A15 er blevet inventeret...

Kasper

Reply to
Repzak
Loading thread data ...

Et "lille" diagram over hvad det er du har flækket sammen kunne være rart her. :o)

Du skal nok lave noget bedre adresse dekodning, men det er lidt svært at sige med de oplysninger du har givet.

/Thomas

Reply to
Thomas Lykkeberg

http://195.249.91.42/network.pdf

Er jeg også bange for :(

ATA interfacet er ikke brugt PT...

ellers er det rimelig ud af landevejen.. det er en 8bit isa sokkel der er sat på til netværks kortet...

og det har som sagt adresse 300-320 ca hvor det er aktivt !

Kasper

Reply to
Repzak

Prøv at forbinde A15 fra uC'en til SA19 på RTL8019 og brug så samme adresse (0x8300) som basis. Jeg tror ikke at din RTL8019 laver fuldstændig adresse dekodning på alle SA0-SA19 ben, men derimod kun på de 10 første.

/Thomas

Reply to
Thomas Lykkeberg

"Thomas Lykkeberg" skrev i en meddelelse news: snipped-for-privacy@4ax.com...

fra databladet : Supports 16 I/O base address options and extra I/O address fully decode mode (RTL8019AS only)

og det er en AS

så er spørgsmålet bare om jeg har den i den mode... kan jeg ikke huske.. det er efterhånden et år siden jeg lavede printet til Atmega128...

http://195.249.91.42/realtek.pdf

øhmen de 10 første ? de 10 nederste eller øverste ?

Kasper

Reply to
Repzak

Første => SA0-SA9

Reply to
Thomas Lykkeberg

Ja det har du ret i, men da du sikkert ikke ved hvad mode den står i, kan du altid være sikker på at den dekoder på SA0-SA9 (altså som en RTL8019).

Den feature AS versionen har med 16 bit adresse dekodning, kræver en EEPROM som indeholder CONFIG4 register værdien. I dette register er der en IOMS bit, som skal være sat '1' for at det virker. Uden EEPROM er den sikkert resat '0' hvilket betyder:

When this bit is set, RTL8019AS uses SA15-SA0 to decode I/O address of NE2000 registers. When this bit is reset, RTL8019AS only decodes SA9-SA0 like the RTL8019 does. This mode is supported for applications which might require to fully decode I/O address. This bit is read-only and comes from the CONFIG4 byte(Offset 03H) of 9346(refer to section

6.3).

/Thomas

Reply to
Thomas Lykkeberg

"Thomas Lykkeberg" skrev i en meddelelse news: snipped-for-privacy@4ax.com...

Jeg sætter pris på din hjælp :)

men kan du ikke forklare hvad der sker ved at sætte A15 til S19 ? er det ikke S9 du mener eller er jeg lost ?

Kasper

Reply to
Repzak

Her mener jeg selvfølgelig A15 -> SA9. :o)

Reply to
Thomas Lykkeberg

"Thomas Lykkeberg" skrev i en meddelelse news: snipped-for-privacy@4ax.com...

og du mener vel /A15 ?

kasper

Reply to
Repzak

Jo, jeg mener SA9 :o) En lille fejl sneg sig ind der.

Tricket er at du jo bruger din A15 com /CS til din SRAM blok? Når A15 er lav, og dermed SA9 på RTL8019 vil RTL8019 ikke være selekteret, men derimod din SRAM. På den måde "splitter" du dit 16bit adresse område op i 2 lige halvdele.

Adressen du så tilgår RTL8019 på bliver jo A15=1 (SA9=1) SA8=1 og SA7-SA0 = 0 => 0x8200 (og ikke 0x8300 som jeg nævnte før - men den kan også bruges :o)

Du får dog en opgave med din PPI (8255) - jeg kan ikke lige overskue om den følger med planen!?

/Thomas

Reply to
Thomas Lykkeberg

Jepper jeg ser sammenhængen :)

Mange tak & julehilsner :)

Kasper

Reply to
Repzak

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.