Welcome, Guest. Please login or register.


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

Offline Z80System

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

Két kérdés merült fel a dologgal kapcsolatban.

1,

A szinkron jel időméréséhez szükség lesz valami órajelre.

Van az EP -ben olyan órajel, ami nem változik meg a CPU húzásakor (tehát minden gépen lehet vele ugyanazt az időt mérni),
és felhasználható párhuzamosan egy másik inputon is ? Vagy erre saját órajelet kell generálni ?

2,

Tud -e valaki saccolni, hogy fenti logika belefér -e (lehet 80 bittel számolni továbbra is) ebbe az FPGA -ba:

https://store.tinyfpga.com/products/tinyfpga-a1

MachXO2-256

https://www.latticesemi.com/Products/FPGAandCPLD/MachXO2#_3D24D0EEB97F430890D7AF24D20DF79A

Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14722
  • Country: hu
    • http://enterprise.iko.hu/
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #31 on: 2018.October.15. 21:57:07 »
Van az EP -ben olyan órajel, ami nem változik meg a CPU húzásakor (tehát minden gépen lehet vele ugyanazt az időt mérni),
és felhasználható párhuzamosan egy másik inputon is ? Vagy erre saját órajelet kell generálni ?
Pl Nick órajel.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #32 on: 2018.October.15. 22:03:49 »
Quote
Pl Nick órajel.

És az mennyiaz ? :) (Thx. Zozo)

Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14722
  • Country: hu
    • http://enterprise.iko.hu/
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #33 on: 2018.October.15. 22:11:33 »

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #34 on: 2018.October.15. 22:17:47 »

Quote
14237536.27 Hz

Hát ... akkor azzal már lehet mérni 256 KHz -es (és kisebb) frekiket ...

Egy gonddal kevesebb ... :)

Z80 System

Offline balagesz

  • EP user
  • *
  • Posts: 277
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #35 on: 2018.October.15. 23:50:11 »
Hát ez már akkor is az volt, mikor 16 MHz -es 32 bites mikrót használtam PS/2 illesztéshez ... :) (Oszt mégse elég gyors ugye ...)

Eh... A 16 MHz határesetnek tűnik, de mi is volt ez a mikró pontosan? (32 bitesből ily' lassú? :-D )

Még az 50 Mhz -nél se olyan triviális, hogy mire kiváltódik az a megszak, mindenféle mechanizmusokon keresztül,
meg le push -olja azt a 2 regisztert, amit muszály, és kiírja végre a billentyűzet sor bájtját, addig nem csúszik ki az 1 mikroszekundumból.

Ez igaz, bármilyen "lassú" megszakításkezelő nem frankó.

Azt írja, hogy 40 -es DIP -be rakják. (Breakout board -ot valszeg nem fogok találni az SMD verziójából ...)
A 40 -es dip 52 mm X 15 mm, és azt írod még kellene valami mellé ...

Ha jó az, hogy 10 vezetékkel (plusz tápok) jössz ki a gépből, akkor nem kell mellé semmi. :) Én egy egyszerű mikrovezérlőt raknék oda, amivel a gépből kifele valamilyen egyszerű soros protokollt könnyű megvalósítani. De ha már µC, akkor az lehetne gyorsabb, amivel talán az MT is kihagyható. :-D Visszaértünk az elejére.

2,

Tud -e valaki saccolni, hogy fenti logika belefér -e (lehet 80 bittel számolni továbbra is) ebbe az FPGA -ba:
https://store.tinyfpga.com/products/tinyfpga-a1
MachXO2-256
https://www.latticesemi.com/Products/FPGAandCPLD/MachXO2#_3D24D0EEB97F430890D7AF24D20DF79A

Az oldalon a doksi azt írja, hogy 18 user I/O-d van. Az elég lesz? Amúgy 2 KBit RAM-ot is ír mellette, abba talán elférnek a tárolandók. (Mondjuk pont egy FPGA-ban van más mód is bitet tárolni, de ehhez jó lehet a direkt RAM is.)

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #36 on: 2018.October.16. 22:29:42 »

Quote
Eh... A 16 MHz határesetnek tűnik, de mi is volt ez a mikró pontosan? (32 bitesből ily' lassú? :-D )

Hááát ... most hogy így rákérdeztél ... :oops:

Eléggé 8 bitesnek tűnik az adatbusz ... :)

De akkor is 16 MHz ! :oops:

(És benne van a nevében hogy 32 ...) :oops:


https://store.arduino.cc/usa/arduino-micro

ATmega32U4

http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf


Quote
Ha jó az, hogy 10 vezetékkel (plusz tápok) jössz ki a gépből,

Hát dehogy jó ... ha jó lenne, akkor azt a pár lábas Dual Port RAM -ot kéne betenni az EP -be egyedül,
amit még úgy a topik nyitásánál linkeltem, és kalap kabát, minden kész volna ...

De az volt a kiinduló bonyodalom, hogy nem akarok sok drótot.


Quote
Az oldalon a doksi azt írja, hogy 18 user I/O-d van. Az elég lesz?

Hát ... gondolom ...

2 soros input+ 12 parhuzamos output+ 1 reset output = 15 drót

Akkor van még 3 felesleges ...

Nem ?


Quote
Amúgy 2 KBit RAM-ot is ír mellette, abba talán elférnek a tárolandók. (Mondjuk pont egy FPGA-ban van más mód is bitet tárolni, de ehhez jó lehet a direkt RAM is.)

Ez azt jelenti szerinted, hogy az FPGA -ba írható logikai funkciók

1,
Elérik írásra/olvasásra azt a dedikált 2 KBit RAM -ot ?

2,
És azok elérése, "címzése" kevesebb logikával jár, mintha a bitek úgy lennének megvalósítva szintén a programozható területen, logikai hálózatokkal ?


Z80 System

Offline balagesz

  • EP user
  • *
  • Posts: 277
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #37 on: 2018.October.17. 01:33:27 »
Hááát ... most hogy így rákérdeztél ... :oops:
Eléggé 8 bitesnek tűnik az adatbusz ... :)

Igen, a sima AVR az 8 bites. Azért csodálkoztam el, mert 32 bites mikróból ennyire lassúval még nem találkoztam, persze ez nem jelenti azt, hogy nincs is. :)

Hát dehogy jó ... ha jó lenne, akkor azt a pár lábas Dual Port RAM -ot kéne betenni az EP -be egyedül,
amit még úgy a topik nyitásánál linkeltem, és kalap kabát, minden kész volna ...

Akkor kell mellé egy kis µC, aztán abba már olyan kevés-vezetékes buszt implementálsz, amit akarsz.

2 soros input+ 12 parhuzamos output+ 1 reset output = 15 drót
Akkor van még 3 felesleges ...
Nem ?

Az a
Quote
12 párhuzamos output
az gondolom 8 ki meg 4 bemenet lesz. :)

Ez azt jelenti szerinted, hogy az FPGA -ba írható logikai funkciók
1,
Elérik írásra/olvasásra azt a dedikált 2 KBit RAM -ot ?

Ha nem érnék el, mire lenne jó a megléte? :)

2,
És azok elérése, "címzése" kevesebb logikával jár, mintha a bitek úgy lennének megvalósítva szintén a programozható területen, logikai hálózatokkal ?

Jó kérdés... Ki kell próbálni, aztán kiderül! Az jutott még az eszembe, hogy egyrészt itt is kell majd szint-illesztened legalább a 12 (+1) EP-be drótozandó jelet, másrészt meg a CPLD-s előző verzió is jó lehet, legföljebb nem egy tokba fér bele minden, hanem kettőbe. :-D De valahogy egyik sem egyszerűsíti a feladatot.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #38 on: 2018.October.17. 01:40:46 »
Quote
Eléggé 8 bitesnek tűnik az adatbusz ... :)

Igen, az AVR Atmega az 8 bites adatbusszal dolgozik, mondhatni "8 bites", bar az utasitashossza nem az, az (ha jol remlik) 16 bit. De ugye ott kulon address space van a kettonek, azaz kodot futtatni nem tud RAM-bol csak flash-bol, es a kettonek mas a szervezese (a flash 16 bites). De amikor adat olvasas/iras RAM/bol/-ba vagy IO/-rol/ba (ami vegulis hasonlo) az 8 bit, es ugye itt ez a lenyeg, nem a kod.

Quote
De akkor is 16 MHz ! :oops:

Es a legtobb utasitas legalabb valoban 1 orajelciklus (azert nem mind). PIC-eknel volt regebben legalabbis (most nem PIC32 meg ilyesmik), hogy irja a manual h 1 machine cycle, meg stb, csak azt felejtettek el sokan, hogy valahol le van irva: 1 machine cycle = 4 clock cycle ...

Quote
(És benne van a nevében hogy 32 ...) :oops:

Az azt jelenti az ATmega MCU-k neveben, hogy 32K flash. Pl az Atmega8 az 8K flash ...

Quote
Hát dehogy jó ... ha jó lenne, akkor azt a pár lábas Dual Port RAM -ot kéne betenni az EP -be egyedül,
amit még úgy a topik nyitásánál linkeltem, és kalap kabát, minden kész volna ...

Valoban, pl hasonlo (RAM-os trukkot) csinaltak primo-nal is, pl (ez itt eppen PIC-kel, de tok mind1, meg OK, ez nem epp pont uaz az eset mint EP-nel, de most csak nemi alapelv meg SRAM hasznalata miatt emlitem max):

http://primo.homeserver.hu/html/epitesps2bill.html

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #39 on: 2018.October.17. 10:08:41 »
Amugy hogy jon ki az a "2.5 usec" reakcioido 16MHz-es AVR architekturan interruptra? Nekem kicsit soknak tunik ... Meg regisztereket sem kell push-olni, van par regisztere AVR-nek, siman ne mentsd el, meg semmi. Max, nem szabad mashol hasznalni, mert nyilvan ha az ember nem menti, es interrupt handler is haszalja meg  mas is, akkor ciki van ... Persze, ez akkor (de ha jol ertem) AVR assembly szintu cucc lesz, nyilvan ha pl C-ben van irva, akkor persze szivas, mar eleve, az ilyen gyorsasagot lehet elfelejteni, hasonlo trukkokkel egyutt.

Amugy AVR-rel (most ertem itt az ATmega meg ATtiny csaladot, az ATxmega az mar mas, ahogy az AVR32 es/vagy ARM core-os cuccok is) erdekes projectek vannak, pl dedikalt hw nelkul VGA signal eloallitasa, tisztan software-bol, stb (spec itt hasznos az, hogy van benne shift-out register is, ami pl SPI-hoz is kell, es lehet "abuse-olni" ilyen celra is). Stb, szoval azert annyira lassunak nem neveznem, foleg ahhoz kepest, hogy nyilvan ez a 8 bit MCU kategoria, ahol azert altalaban nem par szaz MHz-es orajelet szokas hasznalni altalaban, akkor az mar inkabb a 32 bit/ARM core/stb kategoria szokott lenni.

A masik ami eszembe jutott, C64-en hasonlo PS/2 billencs kerdesekben hasznaltak pl "cross point switch" IC-t (MT8812 vagy mi volt ott konkretan egy megoldasban?). Ott raadasul az a baj, hogy C64-en megy "ket oldalrol" is a matrix scanning, azaz mondhatod hogy pl oszlopokra tolod ki a jelet, es sorokat olvasod be, de forditva is csinalhatod, EP-nel ugye ez fix. Az a crosspoint-switch IC az meg spec pont hogy egy matrixot valosit meg aminek vannak sorai/oszlopai, es aztan programozhatod, hogy a matrix melyik sora/oszlopa legyen osszekotve v ne legyen. Mondjuk ha jol remlik eleg ritka cuccok, es saja nem is tul olcsoak, lehet, ha mar mindenaron kell vmi kulso taroloeszkoz (azaz nem az MCU csinalja magaban ...) akkor vmi SRAM hasznalata olcsobb megoldas.

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1291
  • Country: hu
  • Stray cat from Commodore alley
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #40 on: 2018.October.17. 17:25:27 »
Amugy AVR-rel (most ertem itt az ATmega meg ATtiny csaladot, az ATxmega az mar mas, ahogy az AVR32 es/vagy ARM core-os cuccok is) erdekes projectek vannak, pl dedikalt hw nelkul VGA signal eloallitasa, tisztan software-bol, stb (spec itt hasznos az, hogy van benne shift-out register is, ami pl SPI-hoz is kell, es lehet "abuse-olni" ilyen celra is). Stb, szoval azert annyira lassunak nem neveznem, foleg ahhoz kepest, hogy nyilvan ez a 8 bit MCU kategoria, ahol azert altalaban nem par szaz MHz-es orajelet szokas hasznalni altalaban, akkor az mar inkabb a 32 bit/ARM core/stb kategoria szokott lenni.
Az egyik híresebb projekt.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #41 on: 2018.October.17. 19:00:24 »
Az egyik híresebb projekt.

Jaja, nekem is az a kedvencem :) De amugy van mar kb "jatekkonzol" is hasonlo, na jo kis (na jo, nagy ...) tulzassal :D de a lenyeg, hogy egy szem - sot ha jol emlekszem - nem is ATmega hanem ATtiny, es VGA kimenet, hang, meg vmi iranyitas is hozza, hogy lehessen vele jatszani. Na jo, nyilvan nem a vilag legjobb jateka, az altalad is emlitett Craft ilyen szempontbol erdekesebb :) Ja, es ha jol remlik, az ATmega8/88 az csak 1K SRAM-al rendelkezik, szoval meg csak framebuffer se nagyon fer el a RAM-ban, nem is olyan elven mux, hanem on-the-fly tallaja ki mi legyen a kepen, ahogy generalja a kepet, nincs video RAM meg semmi. HA ... jol emlekszem, regen neztem mar, de nem semmi azert ...

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #42 on: 2018.October.18. 09:03:41 »
Az egyik híresebb projekt.
hohó, és a Craft végén Julia halmaz morpher :-)
*** Speicherplatz zu klein

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #43 on: 2018.October.21. 00:49:18 »
Quote
Az jutott még az eszembe, hogy egyrészt itt is kell majd szint-illesztened legalább a 12 (+1) EP-be drótozandó jelet,

Szint illesztesre az lenne most a (legutobbi) koncepcióm,

hogy akkor az RPi 3.3 -al tud menni, es akkor 3.3 -as áramkort (ami jelenleg ugye egyetlen FPGA -nak a legvalószínűbb) teszek az EP -be,

- vagyis az RPi és az FPGA között nem kell majd illeszteni,
- az FPGA és az EP közötti adat vonalakat (8 drót) szintén nem kell illeszteni, mert a 3.3V már magasba hajtja majd az EP TTL inputjait,
- csupán az FPGA és az EP közötti cím vonalakat (4 drót) kell majd illeszteni, mert az EP 5V -os cím drótjait majd vissza kell fogjam 3.3V -ra ...

Szerinted ez nem igaz ?

Szóval összesen 4 drótot kell illesszek, és ha minden igaz, azt is a legegyszerűbb típusú, akár passzív illesztéssel,
mivel ezek a jelek (mind az adat, mind a cím drótok az FPGA és az EP között) fixen bekötött,
nem nyitott kollektoros, semmi extra típusú vonalak lehetnek ...

Nem ?
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HID kezelés ReLoaded (Enter the RPi)
« Reply #44 on: 2018.October.21. 01:53:02 »
Hmmm ... hát ez a "logikai áramkör programozás" ez lehet hogy egyszerűbb lesz, mint hittem ...

Mer nem is kell majd logikai hálózatokat tervezzek valójában ...

Most lett egy olyan benyomásom,
hogy valójában nekem nem is kell megtanulnom logikai hálózatokat tervezni,
hanem megfogalmazhatom szekvenciális programokkal is a logikámat,
és azt nekem majd "lefordítja", leegyszerűsíti, kioptimalizálja logikai hálózatokká valami program ...

Így akkor persze kevesebb kontrollod lesz az elkészült logikai hálózat részleteit tekintve,
de az elkészült hálózatnak lesznek olyan pontjai, amik úgy viselkednek, ahogy te azt leírtad ...

Persze ha ez nem így van akkor csak benéztem valamit, de szerintem ez lesz a megoldás ...

Ez majdnem olyan, mintha az ember nem akarna assembly -t tanulni, ezért inkább BASIC -be tolja ...
Itt ebben az esetben én nem akarok megtanulni logikai kapcsolásokat, hálózatokat tervezni, optimalizálni,
és ha jól értem, ezt a fejlesztőeszközök elvégzik majd helyettem ...

Ha így van ... az naggyonfassza ... :)
Z80 System