8bit
Electronics & Computers
6809 & OMEN kilo
2023.05.31 00:49:18 end 6809 OMENkilo Castor Pollux Gilhad

2   Castor

  • 2023.11.20 Rozhodl jsem se, že nový EEPROM systém pro OMEN kilo nazvu Castor, protože proč ne :) Castor
  • 2023.12.13 Dotaz na ACIA MC68B50

3   Poznámky

  • periférie/paměť je organizovaná na byty s adresou, navíc na sběrnici se liší Read a Write (na sys. busu kila jsou signály /WR = NOT(Write & E) a /RD = NOT(R & E)
  • posloupnost:
    • nejdřív je platná adresa a R/W a Data k zápisu
    • pak jde E nahoru
    • pak jde E dolu (a čtou se Data = musí být vystavena ke čtení)
    • pak přestanou být platné adresy (50MHz), data k zápisu (30MHz) a potřeba data ke čtení (100MHz)
      • vzhledem k rychlostem 74xx nemusím řešit, co je po pádu E v jakém pořadí
  • jinými slovy - při náběhu E paměť čte adresy a R/W a data, co se mají zapsat, při odpadnutí E musí být data ke čtení vystavená (a pak už ne)
    • E může přímo řídit Input Enable a Output Enable (3-state)

4   Device na systémovém aplikačním busu

  • je vybíraná pomocí IO 1..7 (na přeskáčku ze 7 rozsahů (1k každý) - protože 3-8 dostává A12,A11,A10 sestupně (při enable 100xxxXX XXXXXXXX ))
  • má 8 R-registrů a 8 W-registrů (zapínané pomocí /RD resp. /WR) adresovaných pomocí A0-A2 a (/RD,/WR)
  • při náběhu /WR může začít číst data
  • při odpadnutí /RD musí být vystavena platná data
  • ---
  • Realizace:
    • 000 R je Read-only Stavový registr, pro ostatní registry udržuje 1/0 pro možno/nemožno použít
    • 000 W je Write-only Control registr pro nastavování device (otázka je, co to bude znamenat) - 0.bit=1
    • 001 ? je Data registr (připraven pro čtení 1.bit=1, připraven pro zápis 2.bit=1)
  • HW
    • Stavový registr - 74HC245 - 8bit průchodka BEZ paměti - DIR fixní, !/Enable = !IOx & 000 & !/RD, vstupní data R-S latch pro každý registr zvlášť (potřebujeme stavy hned, nezapisovat je tam nějakým signálem)
    • Control registr - 74HC373 - 8bit D-3state - Input(D)=D[0..7], LE = !IOx & 000 & !/WR, LE nuluje R-S 0
    • Read registr - 74HC373 - 8bit D-3state - Output(Q)=D[0..7], !OE = !IOx & 001 & !/RD, OE nuluje R-S 1
    • Write registr - 74HC373 - 8bit D-3state - Input(D)=D[0..7], LE = !IOx & 001 & !/WR, LE nuluje R-S 2
    • ---
    • logika
      • IO+000+/RD+/WR = 6in ->4Out+2neg
      • R-S (3) = 6x NAND
      • negace pro IOx (1), 000 (3), /WR /RD (2), LE->RS (2) = 8x NOT
      • ???
      • pro vybírání chipů asi použiju správně naprogramovanou ATF16V8BQL-15PU
  • Arduino?
    • Vzhledem k pomalosti digitalRead/Write (nestihne nic udělat během 4MHz = 4 vlastní takty a pak už E jistě odpadnulo) si může dovolit přímo zareagovat na R-S v nule, přečíst/zapsat příslušný 74HC373/registr a pak nahodit R-S
  • Víc detailů viz Expanduino I

5   Historie

  • 2023.06.12 Vztahy mezi E a devicema
  • 2023.05.31 Založení stránky