Welcome, Guest. Please login or register.


Author Topic: HID kezelés Arduino -val (Read 75042 times)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: HW készítés Arduino-val
« Reply #210 on: 2014.October.09. 10:30:34 »
Quote from: Zozosoft
Bazi drága és gusztustalan felületszerelt :-(

Sajna ja. De gondolj bele, ket busz, adat+cim, kell lab sajna dogivel. Optimalis esetben is 64K-ra lenne (8+16)*2 = 48 lab csak a ket adat es cimbusznak. Es akkor ugye van meg chip select, write, mindket portra, meg hat a szokasos, tapfesz, GND, ez normal DIP-en nem fog elferni :( En tovabbra is azon gondolkozom, hogy lehetne-e vmi shadow RAM-ot tenni: ha CPU ir, irja mindket 64K-t, ha CPU olvas, akkor mondjuk az "A" IC-bol olvas, a Nick meg a "B"-bol. Igy csak olvasasnal full speed lenne a Z80-nak is, irasnal van egyedul "lassulas". Nem tudom ez mennyit segitene ...

EDIT: a fenti shadow RAM-os trukknek max egy baja van: inicializalaskor (EXOS?) vegig kene irni a videoram-ot, mert ha veletlenul egyik RAM IC tartalma mas mint a masike, az fura lesz :D
« Last Edit: 2014.October.09. 10:38:03 by lgb »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14743
  • Country: hu
    • http://enterprise.iko.hu/
Re: HW készítés Arduino-val
« Reply #211 on: 2014.October.09. 10:35:23 »
Quote from: lgb
Nem volt vmi leiras, hogy kell osszerakni a taszt illesztot? Fenykep alapjan nehezkes kicsit felterkepezni, hogy mit hova ...
A topikját érdemes átnézni :-D

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HW készítés Arduino-val
« Reply #212 on: 2014.October.09. 11:34:34 »
Mondjuk azon gondolkodom, hogy ha már így mindent összevásároltam, meg elviekben is belemásztam, megértettem mi a helyzet, tudok a dologban legalább gondolkodni valamennyire ... hát összerakni mindenképp öszerakom.

Legfeljebb ha nem lesz jó 10 MHz -re ... hát nem lesz. Vagy esetleg ha lehet külső órával feljebb húzni, hát majd kipróbálom.

Lehet, mire lesz 10MHz -es EP -m, addigra 100MHz -es AVR lapokat árulnak majd ...

Vagy lehet hogy ha kész, akkor beleásom magam az ARM -be is, és teensy 3.1 -gyel, vagy ami  akkor majd lesz, megcsinálom szintén ...

Vagy akármi ...

Szóval összerakni mindenképp összerakom ... :roll:
Z80 System

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: HW készítés Arduino-val
« Reply #213 on: 2014.October.09. 11:37:09 »
Quote from: Zozosoft
A topikját érdemes átnézni :-D

Megtettem, de mint a valodi eletben, nezek, de nem latok :) Koszi. Na megneztem. Hat sok ujdonsag nincs, fokent az U27 jelu IC-re epul ra, annak bementeit az AVR B portjara koti. Gondolom tehat az AVR B port az mindig output, es ott nyomja ki h a kivalasztott scannelendo sorban mi az eredmeny az EP szamara. Az U27 bemenetei kozvetlenul az EP adatbuszara csatlakozik, ennek also 4 bitje kapcsolodik az AVR-re. Az egyeduli "idegen" (nem U27-hez megy) jelnek az U25 11-es laba tunik ami ugye a /WR0. Valoszinu, ez triggereli arra az AVR-t hogy nezze mar meg mi van az adatbusz (also 4 bitjen), es kivalasztja igy a scannelendo matrix sort. Az mondjuk erdekes, hogy ez utobbi jel az AVR-en a PD3 nevu labra kapcsolodik, ami amugy egyben az egyik interrupt bemenet is az AVR szamara.

Szoval, ezek utan en azt tippelem, hogy a kerdeses AVR programjat amugy nem ismerve, pl a kovetkezo lehetett a mukodese: van 10 byte az AVR RAM-jaban ez az "emulalt" bill matrix allapota az egyes bitekre vetitve. Ha a /WR0 aktiv, interrupt-ot general AVR-en, ami aztan a Z80 D0-D3 segitsegevel megadott X-edik byte-jat ki-out-olja az AVR B portjara. A PS/2 szorakozasnal meg gondolom van egy tablazat a programban, hogy melyik scan kod hanyadik byte melyik bitjet (vagy inkabb mask-al megadva) allitja.

Ezek utan persze az egyeduli kerdes pl az, hogy eleg gyors-e az AVR ahhoz, hogy elkapja a /WR0 altal okozott interrupt-ot. Ez azert is erdekes, mert meg azon ido alatt kell olvasnia a D0-D3-at, amig a Z80 kinn tartja a buszon a cimet. Szoval az AVR interrupt elfogadasa, es akozott, hogy beolvassa az AVR D portjat (azt ertelmezni kicsit tobb ideje is van, eleg ha az ertek megvan ...) nem telhet el tobb ido, amig a Z80 buszon kint van a 0xB4 portra irando ertek. Hacsak nincs az AVR-ben valami olyan feature, hogy automatice latch-eli az input-ot (nem tudom van-e, hogy oszinte legyek). A masik timing ciritical cucc nyilvan az, hogy max 11 (?) Z80 orajel ciklusnyi ido alatt a B porton neki prezentalnia kell mar az uj kbd sor-ra jellemzo adatokat, de szerintem az mar kevesbe necces, ha mar itt vagyunk az interrupt-on belul (ha most at vesszuk, hogy AVR fut mondjuk 16MHz-en az a Z80 4-szerese, szoval a 11 Z80 orajelciklus 44 AVR ciklust jelent). Nekem tenyleg csak az ut szoget a fejembe, hogy az elso lepeshez eleg gyors-e az AVR, a masodik mar nem gond.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14743
  • Country: hu
    • http://enterprise.iko.hu/
Re: HW készítés Arduino-val
« Reply #214 on: 2014.October.09. 11:44:15 »
Quote from: lgb
Meg az egesz bootloader-es EP sw-bol frissitheto dolgot ki lehetne szedni, szerintem nem SOS ha amugy jol megy, nem akarja azt minden nap frissiteni az ember,
Az eredeti elképzelés szerint akár naponta többször is :-) A lényege a billentyű map-pelés, lehet UK, BRD, HUN, HFONT, akármihez igazitani.
Egy PC billentyűhöz akár több EP gomb is tehető, pl PageUp-hoz SHIFT+FEL.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HW készítés Arduino-val
« Reply #215 on: 2014.October.09. 11:45:47 »
Quote
ha most at vesszuk, hogy AVR fut mondjuk 16MHz-en az a Z80 4-szerese
Nyilván nem 10 MHz -es z80 -ról beszélsz ... a problémázás meg (miután lemondtam a tiszta C++ kódról) végig azon megy részemről ... a 10 MHz -en ...


Quote
Nekem tenyleg csak az ut szoget a fejembe, hogy az elso lepeshez eleg gyors-e az AVR, 

Ez tényleg így van Zozo ? A beolvasáshoz még kevesebb idő áll rendelkezésre, mint a válaszoláshoz ?


Quote
, a masodik mar nem gond.

De, 10 MHz -en simán gond.
Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14743
  • Country: hu
    • http://enterprise.iko.hu/
Re: HW készítés Arduino-val
« Reply #216 on: 2014.October.09. 11:49:41 »
Quote from: Z80System
Ez tényleg így van Zozo ? A beolvasáshoz még kevesebb idő áll rendelkezésre, mint a válaszoláshoz ?
A Tigrian féle bekötésben igen. De az általam javasolt, az U25 kimenetéről szedjük a 4 bit megoldásban, a 4 bit ott van "örökké", így ez nem gond. Csak a változását jelző WR0 jel után kell neked időben áttérni a megfelelő 8 bites kimenetre, hogy a Z80 már a kívánt sort lássa.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: HW készítés Arduino-val
« Reply #217 on: 2014.October.09. 11:51:59 »
Quote from: Zozosoft
Az eredeti elképzelés szerint akár naponta többször is :-) A lényege a billentyű map-pelés, lehet UK, BRD, HUN, HFONT, akármihez igazitani.
Egy PC billentyűhöz akár több EP gomb is tehető, pl PageUp-hoz SHIFT+FEL.

Na varj, a ketto nem ugyanaz. Ha a mapping-et akarod valtoztatni, az talan elfer az EEPROM-ba, a flash-ben tarolt konkret AVR kod frissiteserol beszelek en most, hisz flash serules problema volt a gond. Vagy azert lett ez igy megoldva, mert nem fert el az AVR EEPROM-jaban a mapping tabla, igy a flash-be kellett tenni, azert kell hozzanyulni a flash-hez feltetlen? Mert ugye az vmi 128 byte. Megoldas lehet meg egy kicsit nagyobb AVR (ami penzben max 1-2 szaz forint kulonbseg, vagy annyi se?) ahol tobb EEPROM van, es akkor a flash-rol le lehet szallni (vagy AVR SRAM-ba tenni, ennek hatranya, hogy persze akkor EP-nek fel kell vhogy toltenie bekapcs utan, addig a default mapping lenne csak, EEPROM eseten ki/be kapcsolas utan is megmarad az utoljara oda irt info).

Mondjuk ez engem kevesbe hatna meg, ahogy a mapping is (de tudom nem vagyuk egyformak ...), egy fizikai EP billentyuzetet sem huzalozod at, mert allitgatod a gepen a nyelvet. En dobnam a PC-s kiosztast, es fixen azt mondanam, hogy adott PC bill gomb az adott EP matrixhoz igazodo gomb, es kesz, fuggetlenul attol, hogy a PC billencsen esetleg nem is az a jel szerepel (ezt csinaltam JSep-nel is). Szoval ez a positional vs symbolic mapping tema ...

Amugy a design stabilabba tetelehez otleteim:

1. EP RESET jel megetetese az AVR-rel, ehhez viszont lehet, hogy az AVR fuse biteket modositani kell (RESET lab funkcio engedelyezese).
2. A mar emlitett BODEN fuse bit bekapcsolasa.
3. Kondi hozzacsapasa az AVR Vcc es GND laba koze, lehetoleg egy 100nF keramia-kondi vagy hasonlo cucc, es esetleg (?) vele parhuzamosan egy kisebb elko is.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HW készítés Arduino-val
« Reply #218 on: 2014.October.09. 11:52:34 »
Quote
az U25 kimenetéről szedjük a 4 bit megoldásban, a 4 bit ott van "örökké", így ez nem gond. Csak a változását jelző WR0 jel után kell neked időben áttérni a megfelelő 8 bites kimenetre,
Na azér ! :)

Quote
A Tigrian féle bekötésben igen.
És akkor ezek szerint a 18MHz -re húzott attiny megszakja még ezt is képes lekapni ...
Z80 System

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: HW készítés Arduino-val
« Reply #219 on: 2014.October.09. 11:56:38 »
Quote from: Zozosoft
A Tigrian féle bekötésben igen. De az általam javasolt, az U25 kimenetéről szedjük a 4 bit megoldásban, a 4 bit ott van "örökké", így ez nem gond. Csak a változását jelző WR0 jel után kell neked időben áttérni a megfelelő 8 bites kimenetre, hogy a Z80 már a kívánt sort lássa.

Igen, ez amugy nem rossz otlet! Szerintem Tigrian design-jaban a kulcs az volt, hogy egy IC fole epitheto, egyszeru, max 1 jel kell (ha jol nezem) amit mashonnan kell hozni, a WR0. Viszont nem biztos, hogy negy darab plusz vezetek sporolasa a fo problema, ha ugy a timing kevesbe kenyes, es esetleg nem kell kulso orajel/kvarc turobositott EP eseten sem. Vagy nem tudom, Tigrian turbos megoldashoz kvarcot tett oda? Vagy nem lehetne az EP-tol szerezni valahonnan orajelet, ami 20MHz kornyeken van, es igy a kvarc megsporolhato? Bar nem feltetlen tanacsos ilyen frekvenciaju jelet (ami mas vezetokben zavart indukalhat) vezeteken ide/oda vinni, az is lehet ...

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HW készítés Arduino-val
« Reply #220 on: 2014.October.09. 12:03:28 »
Quote
És akkor ezek szerint a 18MHz -re húzott attiny megszakja még ezt is képes lekapni ...
7 MHz -es z80 -hoz ... el ne felejtsük ... nem 10 MHz -eshez ...
Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14743
  • Country: hu
    • http://enterprise.iko.hu/
Re: HW készítés Arduino-val
« Reply #221 on: 2014.October.09. 12:08:23 »
Quote from: lgb
Na varj, a ketto nem ugyanaz. Ha a mapping-et akarod valtoztatni, az talan elfer az EEPROM-ba,
Lehet hogy ott volt... emlékeim szerint két külön fájl volt, de mindkettőt lehetett EP-ről küldeni.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14743
  • Country: hu
    • http://enterprise.iko.hu/
Re: HW készítés Arduino-val
« Reply #222 on: 2014.October.09. 12:09:29 »
Quote from: lgb
Vagy nem tudom, Tigrian turbos megoldashoz kvarcot tett oda?
Még hányszor írjam le, hogy IGEN! :twisted:

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: HW készítés Arduino-val
« Reply #223 on: 2014.October.09. 12:26:14 »
Quote from: Zozosoft
Még hányszor írjam le, hogy IGEN! :twisted:

Meg leirod parszor, akkor eleg lesz :) Csak azert kerdeztem, mert nem tudom, EP-ben van-e kozelitoleg olyan orajel vhol, amit meg lehetne vele etetni, es nem kene kvarc akkor turbosabb verziohoz se, mint irtam.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HW készítés Arduino-val
« Reply #224 on: 2014.October.09. 13:12:09 »
http://garagelab.com/profiles/blogs/atmega328-overclock-30mhz

Persze ez egy 2 éves cikk, akár lehetnek már ilyen órajelű cuccok, húzás nélkül ...
Z80 System