Welcome, Guest. Please login or register.


Author Topic: HID kezelés ReLoaded (Enter the RPi) (Read 24440 times)

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
HID kezelés ReLoaded (Enter the RPi)
« on: 2018.October.13. 14:11:50 »
Korábban az Arduino -s billentyűzet topikban próbapanelig eljutott PS/2 billtyű kezelési megoldásnak volt pár limitációja.

- A kiválasztott Arduino Micro 16 MHz -es jószág volt, amivel assembly -ben kezelt HW megszakítással
(ha nem következett be egyéb időzítési anomália a mikrokontrollerben) kb. 2.5 µS alatt tudok reagálni egy külső megszakításra GPIO lábról.
Ez a sebesség pedig az EP oldalon a megfelelő bill. mátrix sor beállítására még 4 MHz -es Z80 esetén is lehet sovi, 10 MHz esetén meg többnyire az.

- A cucc csak PS/2 eszközöket tudna kezelni, USB vagy bluetooth jószágokat nem.

- Maga az Arduino Micro egy nem túl nagy breakout board az AVR mikrohoz, de szerelni egy normál ház alá már problémás.

- Végül elég nehezen lenne a dolog konfigurálható, én első körben meg sem oldottam,
a konfigurálás a mikrokontroller programjában, fordítási időben történhetett csak meg.
Ha az ember rádugott egy másik billencset, akkor mehetett linux alá fordítgatni,
majd a binárist az Arduino -ra töltögetni. Ez nem annyira jó ... :)


Szóval kéne egy jobb megoldás, ami mindezeket orvosolja ...


A korábbi topikban már jól körberágtuk az egész témát,
szóval most csak fel kell venni újra a fonalat,
és az ott elhangzottakat alkalmazva,
el kell jutni egy következő megoldásig ...
« Last Edit: 2018.October.13. 16:13:54 by Z80System »
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #1 on: 2018.October.13. 15:14:24 »
Namost korábbi tapasztalataimból kiindulva nincsenek különösebb illúzióim, úgyhogy senkinek se legyenek.

Ebben a második nekifutásban sem lesz semmi konvencionális, vagy nagykönyv szerinti megoldás. Barkács lesz.

Mi lenne szerintem a nagykönyv szerinti ?

Ha valaki fogna vélhetően egy mokány kis mikrokontrollert,

meg egy USB és egy Bluetooth vezérlőt (gondolom a PS/2 -höz egyszerűsége miatt nem gyártanak dedikált kontrollereket),
mindezeket a legkisebb form faktorú SMD tokozásokból, meghajtaná, összehangolná ezeket a mikrokontrollerrel,

összeintegrálná őket valami fele, vagy inkább negyede akkora nyákon mint a kisebb fajta (1.0 -ás) EP SD kártya vezérlő,
vagy valami olyan egyéb elosztott módon, hogy a gépházban belülre szerelhető legyen,

és mindezt le is gyártaná ... :)


És akkor a barkács csupán annyi lenne, hogy az embernek ki kell szerelnie egy PS/2 meg egy USB csatlakozót a gép házára valahova,
vagy esetleg ki kelle lógatnia ugyanezeket 2 darab 4 drótos kábelen a házból. (A Bluetooth meg menne ugye drót nélkül is ...)


Mindennek olyan mélységű hw és sw ismeret igénye van, ami nekem még mindíg túl sok a házi feladathoz.

Kompakt megoldásokról pedig nem is tudok, amivel ezt csak simán össze lehetne legózni,
de mégha lennének is már megírt, kipróbált, USB és Bluetooth sw stack -ek valami nagyon modern,
olcsó és kis méretű vasakra,

még akkor is csupán a nyák tervezés, legyárttatás és az SMD szerelés olyan nagyságrendű feladat lenne,
ami talán nem éri meg.
« Last Edit: 2018.October.13. 16:05:20 by Z80System »
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #2 on: 2018.October.13. 15:44:17 »
Szóval az előbiekre megoldásul szolgáló barkács koncepcióm (a régi topik alapján) a következő lenne.

Az EP -be (akár burkolat alá szerelhető méretben, vagy akár csak úgy a csupasz nyákra szerelve)
csupán egy olyan fokozatot rakunk, ami saját belső memória alapján,
nanoszekundomos nagyságrendű idő alatt képes együttműködni az EP jeleivel.


Ez az eszköz lehetne ugye lgb kolléga nagy kedvence, a Dual Port RAM.

Pld. egy ilyen:

https://www.maximintegrated.com/en/products/digital/memory-products/DS1609.html
https://www.maximintegrated.com/en/ds/DS1609.pdf

Már lejárt a szavatossága szerencsétlennek, de azért még be lehetne szerválni occsón (ha nem nézek be valamit):

https://www.ebay.com/itm/1PCS-NEW-DS1609-IC-integrated-chip/123369627060?hash=item1cb9671db4:g:KiUAAOSwXLNbm5O4:rk:1:pf:0


Ez valószínűleg megfelelő sebességgel ki tudná szolgálni az EP -t
(végülis nem néztem utána részletesen, hogy az EP oldali vezérlésének lenne -e valami olyan igénye, amit az EP nem tudna kiszolgálni),
de lenne egy bökkenő.

Ennek a cuccnak a másik oldalról is normális párhuzamos cím és adat drótjai vannak,
ami a mi esetünkben 12 drót, és én annyit akkor már nem akarok kihozni az EP -ből,
ha ennek a "nagysebességű kiszolgáló" fokozatnak egy külön elektronikát szentelek,
elszeparálva a tényleges HID eszköz kezelő részektől.

Szóval ide valami olyan Dual Port RAM kéne, ami EP oldalon a szokásos 4 cím + 8 adat vonalat nyújt olvasásra,
de a másik (input) oldalon egy síma 2 drótos soros interfészt nyújt.


Ez a síma 2 (táppal együtt 4) drótos interfész lenne aztán kivezetve az EP -ből,
és ezen a soros interfészen keresztül lehetne frissíteni ezt a (16 X 8 = 128 bites) billentyűzet mátrix buffert,
melyet az EP belülről saját jogán, függetlenül olvasgatna a párhuzamos interfészen,

kívülről a soros interfészen keresztül pedig ízlés szerinti komplexitású eszköz hajthatná meg.

Pld. egy Raspberry Pi.
« Last Edit: 2018.October.13. 16:07:10 by Z80System »
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #3 on: 2018.October.13. 16:03:57 »
Azért az RPi mert:

- Hozzávetőlegesen olcsó

- Vannak rá szerelve by design, dedikált GPIO kivezetések

- Lehet rá tenni teljes értékű OS -t

- Van rajta USB és Bluetooth

- A HID eszközök olvasására lehet használni a legtriviálisabb magas szintű API -kat,
és így semmilyen ördöngös USB es Bluetooth hw + sw hekkelésbe nem kell belemélyedni

- Az EP -vel, a soros interfészen kommunikáló program csupán egy egyszerű alkalmazás
vagy szervíz lenne az RPi OS -en, így a konfiguráció kezelés triviálisan megoldható lenne,
nem beszélve arról hogy a HID eszkoz oldaláról a konfiguráció igény zéróba tartana,
mert az OS -től már eszköz független, virtuális billentyű infót kaphatnánk

- A PS/2 csatlakozást az ember megoldja a egy PS/2 -> USB konverterrel,
vagy esetleg megvalósít egy PS/2 inputot a GPIO lábakon,
oly módon ahogy azt Arduino -n már megoldottuk

- És még külön fejlesztői eszközök sem kellenek a használatához,
mivel az eszköz maga a saját fejlesztői eszköze is

- Ha az ember nem standard EP tápot használ,
akkor még a tápolása is megoldható az EP alaplapról,
külön tápot nem kell kapjon


Lehetne persze helyette bármi egyebet (a feladathoz sokkal jobban méretezett teljesítményű elektronikákat) is használni,
de szerintem ha valaki képes alacsonyabb szintű elektronikai komponensekből
(mint egy többszáz MHz -es, GPU gyorsított, fullHD fullblown számítógép :))
USB és Bluetooth támogatást implementálni a PS/2 mellé,
akkor annak már nem ilyen elosztott, hanem belülre szerelt cucc irányába kellene gondolkodjon.


Ide kívülre, a barkács keretrendszerben gondolkodva, valami ilyen RPi szerű dolog ideálisnak tűnik ...


A végeredmény az lenne, hogy a bill mátrix felülírása tökéletes sebességgel menne,
az EP -ből csak 4 drótot kell kivezetni,
amin egy viszonylag kis kocka lógna,
melyre tetszőleges modern HID eszközt kapcsolhatnánk,
beleértve a Bluetooth -t is.

Az RPi -hez lehet kapni sokfajta,
szépen kivitelezett dobozokat.
« Last Edit: 2018.October.13. 16:45:14 by Z80System »
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #4 on: 2018.October.13. 16:36:54 »
Szóval a számomra legnehezebb feladat akkor az maradt,
hogy elkészüljön az a fokozat, ami a soros interfészt nyújtja kifele az EP -ből.

És ez akkor nem tud lenni egy sima Dual Port RAM, mivel azoknak vagy 2 soros, vagy 2 normal párhuzamos interfészük van.
Illetve ez még nem biztos, próbálok keresni olyat ami ide kéne, egyenlőre nem nagy sikerrel.

A soros interfész még esetleg lehetne kicsit bonyolultabb is, mert az RPi -nek lenne azért lóereje a kiszolgálásához.

Az ideális persze az a faék egyszerűség volna,
hogy ha csattintok egyet a clock dróton, akkor beír egy bitet a data drótról,
és arrébbugrik a következő bitre. Aztán 128 csattintás után visszaugrik az első bitre.

Ezt sima GPIO -n keresztül táplálnánk egy szálról az RPi -ből, és kalapkabát.


De most egyenlőre úgy tűnik, hogy simán lehet a helyzet az,
hogy mivel nem akarok ennek a fokozatnak se (ahogy soha semminek :))
nyákot terveztetni, meg több alkatrészből hekkelni össze,

ezért a lehető legkomplexebb megoldáshoz fogok jutni:

CPLD -t vagy FPGA -t programozva kell előállítanom ezt a fokozatot.


Ami legrosszabb azért, mert ezekhez a fránya alkatrészekhez
nem igazán nagy a választék kis méretű breakout board -okból.

Ami meg jó méretű lenne, az nem 5V toleráns.
Malacozni illesztőket nem annyira tetszene.

Arról nem is beszélve, hogy nem 5 perc lenne mire összeraknám a fentiekben tárgyalt működésű fokozatnak
megfelelő logikát, mivel ilyen programozható logikai áramköröket eddig még nem programoztam.


Szóval jön a jól megszokott keringő ... így ezért nem lehet, úgy meg azért ... semmi nem egyszerű ... :)
« Last Edit: 2018.October.14. 11:34:01 by Z80System »
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #5 on: 2018.October.13. 23:01:29 »
Wow, mittaláltam ! (Legalábbis remélem ... :))


Ezt nevezném nekem való kis breakout -nak:

https://coratronics.com/cpld-core-minimum-system-development-board-with-jtag-interface-led-2mm-pin-epm30323064atc44-3-3v-50mhz


Van egy ilyen kicsit nagyobb is, de nekem nem kell annyi kivezetés sem, meg az USB se, szóval a kicsi sokkal jobb:

https://coratronics.com/3-3v-50mhz-cpld-minimum-system-development-board-core-board-module-jtagusbledldo-max3000-epm3064


Es ennek az ALTERA MAX 3000A családnak 5V toleránsak a kivezetései:

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ds/m3000a.pdf


Következő kérdés mondjuk az lenne, hogy ami nekem kell, az vajon belefér -e egy ilyen 32 vagy 64 makrocellás CPLD -be ?

Szóval az lenne a kérdés, hogy ezt tudja -e valaki ?


Kellene nekem minimum 80 de maximum 128 bitnyi "memória" egy ilyen alkatrészben,
amit egy soros interfészen írni tudok,
egy 8 bit adat + 4 bit cím interfészen meg olvasni.


Vajon ez a logika mennyi makrocellába férne bele ?

10 - 100 - 1000 makrocella ?

Mennyi lehet kb. nagyságrendileg ?

(32 makrocellára 600 felhasználható kaput írnak, 64 makrocellára 1250 kaput.)

« Last Edit: 2018.October.14. 00:40:43 by Z80System »
Z80 System

Offline balagesz

  • EP user
  • *
  • Posts: 277
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #6 on: 2018.October.14. 01:05:44 »
Huh, nekem ez az előző blog :) mintha kimaradt volna... Észrevétel: nem bonyolítod te ezt egy kicsit túl? :ds_icon_cheesygrin:

Következő kérdés mondjuk az lenne, hogy ami nekem kell, az vajon belefér -e egy ilyen 32 vagy 64 makrocellás CPLD -be ?

Ha a terv az, hogy a billentyűzet felől jövő 4 sorkiválasztó jelet bekötöd ebbe, ez meg kifele majd generálja a 8 bitet, akkor számoljunk:

Ha az eredeti 10 sort implementálnád csak, ahhoz 10×8=80 bitnyi tároló kellene. Ha a lehetséges 16 sort mind ki akarod használni, akkor 16×8=128 bit kell. Ez elvan a CPLD-n belül, ahhoz hogy ki is jöjjön belőle, kell még 8 láb. A MAX3000 belső felépítése - ha jól fejtem a doksit - olyan, hogy a kimenetek keresztüljönnek egy-egy makrocellán (nyilván). Illetve egy makrocellában 1 db. tároló van, azaz 1 bit. Kellene 88 ill. 136 makrocella csak ehhez, a beírás megvalósítása ehhez még nincs is hozzászámolva. A 10 soros verzióhoz is az EPM3128 kellene, a nagyobbhoz az EPM3256, legalábbis ami a bittárolási képességet illeti.

Kellene nekem minimum 80 de maximum 128 bitnyi "memória" egy ilyen alkatrészben,
amit egy soros interfészen írni tudok,
egy 8 bit adat + 4 bit cím interfészen meg olvasni.

Vajon ez a logika mennyi makrocellába férne bele ?
10 - 100 - 1000 makrocella ?
Mennyi lehet kb. nagyságrendileg ?

A soros interfészhez kell legalább annyi bit, amennyibe a "mátrix" bitjeinek a címét, meg a beírandó adatot el lehet tárolni, az is mondjuk 12 plusz még pár.

(32 makrocellára 600 felhasználható kaput írnak, 64 makrocellára 1250 kaput.)

Ezt a kapuszámot azért írják, mert szép nagy szám. :-D Szokásos marketing, nem ebből szokott az ember kifutni tervezéskor. Hanem mondjuk a (z itt) LAB-nak nevezett blokkok bemeneteiből.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #7 on: 2018.October.14. 01:28:24 »

Quote
uh, nekem ez az előző blog :) mintha kimaradt volna...

Hát már jó régen volt, de akkor pörgött rajta a nép jó sokat, mire összerakta nekem ... :)

Quote
Észrevétel: nem bonyolítod te ezt egy kicsit túl? :ds_icon_cheesygrin:

Márhogy melyik részét ?
Hogy lehet EP -re PS/2, USB, Bluetooth billentyűket kapcsolni egyszerűbben úgy,
hogy a cucc a gyári EP házban elférjen, és az EP -ből max. 4 drótot kelljen kihúzni (ha nem az egész cucc van belül) ?

Quote
Ha a terv az, hogy a billentyűzet felől jövő 4 sorkiválasztó jelet bekötöd ebbe, ez meg kifele majd generálja a 8 bitet,

Igen, ez lenne a terv. Max. még lehet hogy bele kell kombinálni a címzésnél a 4 sorkiválasztó drót mellé azt az 5. trigger drótot a lefutó éllel ...

Quote
A 10 soros verzióhoz is az EPM3128 kellene, a nagyobbhoz az EPM3256, legalábbis ami a bittárolási képességet illeti.

Basszus ... azokat nem fogom megtalálni ilyen kis breakout -ra kiszerelve ...

Lehet tényleg inkább az FPGA -k között kéne keresgéljek, ott a "kis kapacitású" is sokkal nagyobb mint itt a CPLD -knél a "nagy kapacitású" ...


Mondom én ... a jó öreg "ezt azér nem lehet, azt meg azért nem lehet" körök ... :)

Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #8 on: 2018.October.14. 02:30:06 »
Pedig magát a CPLD -t a 256 -osat meg 512 -eset is meg lehetne kapni elérhető áron:

https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=EPM3256&_sacat=0

https://www.ebay.com/sch/i.html?_odkw=EPM3256&_osacat=0&_from=R40&_trksid=m570.l1313&_nkw=EPM3512&_sacat=0


Csak egy ilyenhez nem lehet forrasztani ...

Z80 System

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1291
  • Country: hu
  • Stray cat from Commodore alley
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #9 on: 2018.October.14. 10:24:45 »
Szerintem is túlkombinálod egy kicsit a dolgot. Nekem is egyszerűbbnek tűnik a 4-ről 10-re dekódolás után átvenni a fonalat és nem bonyolítani még azzal is az életedet.

Nem mondom hogy ne próbálkozz vele, de lehet érdemes lenne kezdésként kikerülni a CPLD-t is. Azért az elsőre nem teljesen triviális, ha nincs hardveres tapasztalatod.

Az FPGA-val meg az a prücök, hogy ahhoz meg szükséged lesz valami reset/programozó áramkörre, és programozó Flashre/ROM-ra, ami szintén helyigényes, így hát azzal sem igen jársz jobban. Szerintem.

Inkább érdemes lenne átgondolni, hogy nem lehetséges-e mégis AVR-rel összehozni. Egyrészt, ezeken van integrálva minden szépség, beleértve a RAM-ot, ROM-ot és UART-ot. Másrészt - ezt majd balagesz pontosítja - elég jól túlhajthatóak. Emlékeim szerint a SwinSID egy 16 MHz-es jószágon lett megvalósítva kétszeres órajel mellett. Harmadrészt azért még egy 10 MHz-en hajtott Z80 sem tud mikroszekundumonként billentyűt olvasni, arról nem is szólva, hogy értelme sincs. Önmagában egy IN (remélem port olvasással működik ez is :oops:) több mint 10 ciklus, és ekkor még semmit sem csináltál a kiolvasott adattal, márpedig legalább tárolni kellene későbbi feldolgozásra. Azt nem mondom, hogy elegáns lesz majd a kód amivel hajtanod kell a dolgot, de ezt szoftveres ésszel még viszonylag könnyű követni.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #10 on: 2018.October.14. 11:13:01 »
Quote
Nekem is egyszerűbbnek tűnik a 4-ről 10-re dekódolás után átvenni a fonalat és nem bonyolítani még azzal is az életedet.

Ezt a gondolatot egyáltalán nem értem ...

Quote
Nem mondom hogy ne próbálkozz vele, de lehet érdemes lenne kezdésként kikerülni a CPLD-t is. Azért az elsőre nem teljesen triviális, ha nincs hardveres tapasztalatod.

Hát ezért akartam keresni diszkrét alkatrészt, de nem találok ... összerakni sem akarok IC -ből ... sőt ha csak 1etlen módot találok rá, nyákot sem akarok tervezni, gyártatni, forrasztani ...

Quote
Az FPGA-val meg az a prücök, hogy ahhoz meg szükséged lesz valami reset/programozó áramkörre, és programozó Flashre/ROM-ra, ami szintén helyigényes, így hát azzal sem igen jársz jobban.

Hát én is ezt olvastam az FPGA -ról mindenhol, de aztán mikor elkezdtem FPGA breakout board -okat keresni,
és olvasgatni a parametereket, meg a rájuk szerelt FPGA data sheet -eket,
észrevettem, hogy bár maga az FPGA technológiája továbbra is maradt volatile,
de ezekbe a modern FPGA -kba már beletesznek memóriákat, ami mégis eltárolja a logikát,
és az FPGA újratöltésre kerül ebből a beépített tárból.
Szóval egy nagyon kis töltési időtől meg a technológiából adódó nagyobb fogyasztástól eltekintve
ezek a mai FPGA -k már olyanok mintha nagy CPLD -k lennének.

Mindenhol hangsúlyozzák, hogy végeredményben ezek már nem volatile működésű FPGA -k.

(Persze csak ha jól értem ...)

Quote
Harmadrészt azért még egy 10 MHz-en hajtott Z80 sem tud mikroszekundumonként billentyűt olvasni,

Korábbi topikokban megállapítottuk(ták), hogy ha kitolsz Z80 -on egymás után egy OUT és IN utasítást, akkor a kettő között (4 MHz Z80 esetén) kb. 3 mikroszekundum lehet,
mire a bill. sornak a helyen kell lennie. Persze ha a kód nem közvetlenül olvas az OUT után, akármennyi is lehet, de működnie kell nyilván minden körülmények között.

10 MHz Z80 -nál meg annak a felénél is kevesebb ...

Valamint egy mikrón USB és Bluetooth billentyűzet, egér, jatékvezérlő (és franctudja mit találok még ki) támogatásokat lekódolni ...

Ezek nem mennek maguktol tudtommal ... mindkettőnél miután az ember megküzdött a hardveres problémákkal, kezdheti a 666 layer -es protokolljaik implementálását, mire eljut a HID szintig ...
« Last Edit: 2018.October.14. 12:44:01 by Z80System »
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #11 on: 2018.October.14. 12:21:35 »
Quote
A 10 soros verzióhoz is az EPM3128 kellene, a nagyobbhoz az EPM3256, legalábbis ami a bittárolási képességet illeti.

Egyébként most mérges is vagyok ... :)

Ha ilyen pár bit sem fér bele, akkor minek az a rengeteg láb a tokozáson, meg mi végre ez a nagy hűhó ?

A neve az, hogy CPLD. Ami a "Complex programmable logic device" rövidítése.

Mondom COMPLEX !!!

Hát kérdem én, mi ezen a complex akkor ? Attól complex, hogy tudnak írni egy 666 oldalas .pdf -et róla ?

Nem fér bele szaros 128 bit meg némi éskapu ? Hát 2-4 éskapuból már biteket szoktak csinálni ...

És aztán beleteszik egy 666 lábas tokozásba, akkora lábakkal mint a hangyafasza, ha egyáltalán tesznek rá lábat ... na grattula.


Szerintem ez akkor inkább az FFPLD névre hallgathana (Faking faék programmable logic device). :)


(Na, hát ehhez tartsák magukat a kedves CPLD gyártók ...)

« Last Edit: 2018.October.14. 12:30:03 by Z80System »
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #12 on: 2018.October.14. 13:25:03 »
Jó kis tutorial site -nak tűnik:

http://www.pyroelectro.com

Van nekik mikrokontrolleres is:

http://www.pyroelectro.com/edu/microcontrollers



De ami itt most érdekelhet minket (már aki nincs ott a toppon PLD -kből):

http://www.pyroelectro.com/edu/fpga



Sőt, lehet hogy ez is hasznos lehet majd, mikor már tervezni kell a PLD -be:

http://www.pyroelectro.com/edu/digital

« Last Edit: 2018.October.14. 13:39:04 by Z80System »
Z80 System

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1291
  • Country: hu
  • Stray cat from Commodore alley
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #13 on: 2018.October.14. 14:36:11 »
Ezt a gondolatot egyáltalán nem értem ...
Valószínűleg én értettem félre a mondandódat és/vagy az EP billentyűmátrix kezelését.

... de ezekbe a modern FPGA -kba már beletesznek memóriákat, ami mégis eltárolja a logikát,
és az FPGA újratöltésre kerül ebből a beépített tárból. ...
Ja, hogy FPGA-mikrovezérlő hibridet akarsz! Az tényleg más, és a beágyazott processzor fel tudja programozni a memóriájából az FPGA-t, bár azoknak sem jobbak a kivezetéseik. Manapság már kezd kifutni minden ami nem BGA vagy CSP, akármiFP tokozással is egyre kevesebb dolog van.

Korábbi topikokban megállapítottuk(ták), hogy ha kitolsz Z80 -on egymás után egy OUT és IN utasítást, akkor a kettő között (4 MHz Z80 esetén) kb. 3 mikroszekundum lehet,
mire a bill. sornak a helyen kell lennie. Persze ha a kód nem közvetlenül olvas az OUT után, akármennyi is lehet, de működnie kell nyilván minden körülmények között.

10 MHz Z80 -nál meg annak a felénél is kevesebb ...
Valóban, de nem kell ezt folytonosan tudnia. Elég - bár nyilván az sem egyszerű - reakcióként tudni teljesíteni ezt az időt az olvasási kérelemre.

Valamint egy mikrón USB és Bluetooth billentyűzet, egér, jatékvezérlő (és franctudja mit találok még ki) támogatásokat lekódolni ...
Azt még nem mondtad, hogy ebben hogyan is segítene az FPGA, még ha hibrid is. És azt sem, hogy miért kellene ezt mindet a billentyűzetbe vagy annak helyére kötni. Vagy megint benéztem valamit.

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1291
  • Country: hu
  • Stray cat from Commodore alley
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #14 on: 2018.October.14. 14:45:02 »
... A neve az, hogy CPLD. Ami a "Complex programmable logic device" rövidítése.

Mondom COMPLEX !!! ...
Igen, pontosan van elnevezve. Ugyan is ezek kb. sima PLD-kből (GAL, PAL, akármi), valamiféle kapcsolómátrixból és esetleg néhány egyéb kiegészítő áramkörből vannak felépítve. Szóval ezek PLD-k, amik komplexek. Amikor ezeket először sikerült megkonstruálni és sorozatgyártani valamikor az 1970-es évek végén vagy a '80-asok elején, hidd el ennek a szintű összetettségnek is nagyon lehetett örülni.