Welcome, Guest. Please login or register.


Author Topic: HW készítés (Read 337143 times)

Offline Ferro73

  • EP addict
  • *
  • Posts: 1016
  • Country: hu
Re: HW készítés
« Reply #60 on: 2011.March.05. 10:30:08 »
persze mert  a felhuzó ellenállások éppen csakfenn tartja a jelet van ugy, hogy megérinteg a 8 érinkezö csatit és már pereg a betü

Offline Tuby128

  • EP addict
  • *
  • Posts: 1487
  • Country: hu
Re: HW készítés
« Reply #61 on: 2011.March.05. 10:45:12 »
Áhh, a felhúzó ellenállások az IC másik oldalán vannak. Én kiszedtem az IC-t ami kapja az RD0 jelet. A helyére tettem csatlakozókat, hogy a PWB-nek legyen stabil helye, ami megtartja, illetve amúgy is pont azok az "adatlábak" kellenek ami ott van. Eddig minden frankó,  jövõ héten talán már meglesznek a PIC-ek és az SMD alkatrészek.
 Fólia hiányában egyelõre szerintem csak PS/2-es billentyûzettel fogom tudni tesztelni. De az nem is baj, mert azzal is kell mûködnie.

Offline Ferro73

  • EP addict
  • *
  • Posts: 1016
  • Country: hu
Re: HW készítés
« Reply #62 on: 2011.March.05. 10:51:09 »
Írtam papíron egy rutint PIC-re ami kiteszi a kért 8-bites adatot a hivásra.
Számításaim szerint 20Mhz-es oszcillátorral, a leghosszabb idõ kéréstõl - kirakásig: 1,2µs lenne.

Ez a mért értéknek (t WR0-RD0) kb. a fele. Szerintem jó lesz.
milyen megfigyelöt használsz WR0 figyelése az egyik bemenetre ?
Mert azt folyamatosan ellenörizni kell és akkor mi ellenörzi a foliát vagy a soros átvitelt ha 2 PIC-et használsz .

Offline Ferro73

  • EP addict
  • *
  • Posts: 1016
  • Country: hu
Re: HW készítés
« Reply #63 on: 2011.March.05. 17:13:15 »
abba  a PIC-ben van INT vagy RESET  mert akkor lehetne WR0-t rákötni és ezzel megkönnyithetö lenne az idözítés
RESET esetén: valami ilyesmi
000   ld a,(PA)
001   add a,a
002   add a,a
003   jp a+sor

sor1  ld a,epsor0
001   ld (PB),a
002   jp scanmatrix /scan PS2/

értelem szerüen PIC koddal amit át kellene vennem újra, remélem valamennyire érthetö

Offline Tuby128

  • EP addict
  • *
  • Posts: 1487
  • Country: hu
Re: HW készítés
« Reply #64 on: 2011.March.05. 21:34:17 »
Gondjaim vannak. Az RD0-jelzés érkezését az RB0/Int lábbal akartam érzékelni, és ekkor jött volna a megszakítás. Valami nagyon gyanús volt nekem tegnap, így újra megnéztem a 250Ft-os PIC adatlapját.
 Sajnos kiderült, hogy nincs benne Interrupt láb.
 Mivel az RB0 jel tényleg csak egy pillanatra jelenik meg, ezt a PIC nem fogja tudni érzékelni sima beolvasom-ellenõrzöm rutinnal. Tehát kell egy törölhetõ tároló.

 Azt, hogy párhuzamosan kell adatokat venni, és az IN hívást kiszolgálni, a következõképpen gondoltam megoldani:
Nyilván ahogy te is mondtad Ferro, nincs idõ adatokat fogadni, és kiszolgálni egyszerre, ugyanazon PIC-en.
Erre én azt mondtam neked, hogy akkor beteszek még egy PIC-et, hiszen úgy is olcsó, hely meg van bõven.

 A gondolatmenetem a következõ.
Jön az adat a billentyûzet felõl, PIC-1 ezeket veszi, és eltárolja memóriájába, PIC-2 kiszolgálja Z80-at saját memóriájából. PIC-1 szól, hogy kész van, PIC-2 nyugtázza, és cserélnek. PIC-2 veszi az adatokat és tárolja, míg PIC-2 szolgálja ki Z80-at.

A billentyûzet felõl elég csak annyit jelezni, hogy:
1. lenyomták
2. felengedték

Így az adatátvitel csak a lényeges dolgokra korlátozódik. A Z80-nal kommunikáló PIC addig ismétli míg mást nem kap. Így rengeteg idõt megspórolok.

Ez a rendszer - véleményem szerint - addig tökéletes lesz, amíg nem tenyerel rá valaki a billentyûzetre, mert ott lehet hogy lesz már valami késlekedés. Én azonban nem hiszem, hogy valaki úgy játszana, vagy írna egy programot, hogy rátenyerel a billentyûzetre.

Offline Ferro73

  • EP addict
  • *
  • Posts: 1016
  • Country: hu
Re: HW készítés
« Reply #65 on: 2011.March.05. 22:42:24 »
nemlesz igy jó a PIC 2 nek akkor 2 "megszakitást" kellene figyelnie és ebböl az RD0 elsödleges
mennyi ideig aktiv az RD0 jel? lehet tudni ?

Offline Tuby128

  • EP addict
  • *
  • Posts: 1487
  • Country: hu
Re: HW készítés
« Reply #66 on: 2011.March.05. 22:58:37 »
Az RD0 kb 0,01 nanosecundumig aktív. Ez volt a vicc.
Mivel felfutóélrõl (impulzusról) van szó nem aktív semeddig sem, ugyanis csak csinál egy impulzust, hogy a különbözõ tárolók és multiplexerek a felfutására reagáljanak.
 Mivel felfutást interrupt nélkül nem lehet detektálni, ezért kell egy SR tároló, ami detektálja, és jelez a PIC-nek, és amikor a PIC tudomásul vette, visszaállítja a tárolót.

 Simán van ideje akár 2 megszakítást is figyelnie, ugyanis még egy "dolgot" figyelõ rutin +400ns-ot (még két utasítás) jelent egy PIC-nél.

 Szkeptikus vagy? Nem hiszed, hogy mûködni fog?

Offline Ferro73

  • EP addict
  • *
  • Posts: 1016
  • Country: hu
Re: HW készítés
« Reply #67 on: 2011.March.05. 23:12:09 »
probáld 74ls74  az RD0 -> clk   
                                nQ -> I 
                                  Q -> PIC PA 0.bit
                  PIC PB 0.bit -> RST
igy RD0 mindaddig lesz amig nem törlöd

Offline Ferro73

  • EP addict
  • *
  • Posts: 1016
  • Country: hu
Re: HW készítés
« Reply #68 on: 2011.March.05. 23:26:57 »
Milyen PIC et használsz néz utána  kellene lennie RESET résznek megkéne nézni ilyenkor mennyi idö tellik el mig beolvassa az elsö adatokat
amugy nem az RD0 az érdkes hanem a WR0

Offline Tuby128

  • EP addict
  • *
  • Posts: 1487
  • Country: hu
Re: HW készítés
« Reply #69 on: 2011.March.06. 01:17:10 »
Hát igen, ez itt a fõ kérdés "Milyen PIC-et használsz?".
Most realizálódott bennem, hogy legalább egy szinkron soros adó/vevõ kellene, ami a fõprogramtól függetlenül lebonyolítja az átvitelt mialatt a PIC csinál mást.
 Korábban arra gondoltam, hogy majd megoldom szoftveresen, de túlságosan szûkre vannak szabva az idõzítések ahhoz, hogy még ezt is külön elvégezzem szoftveresen.
 Keresgélésem eredményeként találtam egy PIC vezérlõt, aminek elég lába van a feladathoz, plusz rendelkezik az adatátviteli egységgel is, és olcsó.

 Majd átgondolom a rendszer összekötettését, és elmondom mire jutottam.

 Az tuti, hogy a négy vezeték közül kettõn az órajel és az adat fog menni.

Offline Ferro73

  • EP addict
  • *
  • Posts: 1016
  • Country: hu
Re: HW készítés
« Reply #70 on: 2011.March.06. 09:54:59 »
Ha az EP burkolaton bellülre akarod rakni elfér de felesleges hamár megvan a bill mátrix.
De viszont ezek a probálkozások elsö lépések egy második billentyü csatlakozohoz
mert az http://www.ep128.hu/Ep_Hardware/Ep_Billentyu.htm  nem igazán tökéletes folia helyettesitésre inkább csak külsö EXOS billentyünek amihez még megkellene irni a kiegészítö EXOS rutinokat szövegszerkesztésre tökéletes de játékra már használhatatlan.

Mátrix hiányában probáld addig külsö PS2 billentyüvel ugyis a terveid közt van és addigis halad a munka.
Onnan már csak szoftver kérdése a 2 PIC alkalmazása.

Offline Ferro73

  • EP addict
  • *
  • Posts: 1016
  • Country: hu
Re: HW készítés
« Reply #71 on: 2011.March.06. 18:07:24 »
milyen más dologra lehetne használni a PIC-eket az EP-ben ?

Offline Ferro73

  • EP addict
  • *
  • Posts: 1016
  • Country: hu
Re: HW készítés
« Reply #72 on: 2011.March.06. 21:36:43 »
Az RD0 kb 0,01 nanosecundumig aktív. Ez volt a vicc.

akkor valami men jó ennyi idö alatt kizárt, hogy a Z80 érzékelné és az U27 az LS373 csak addig H,L kimeneze ameddig aktiv az RD0 utána márcsak Z 
Az idönek joval tobb mint 35 nanosec kell lennie a Z80-as diagrammok szerint

Offline Tuby128

  • EP addict
  • *
  • Posts: 1487
  • Country: hu
Re: HW készítés
« Reply #73 on: 2011.March.06. 21:50:02 »
Egy PIC általában a következõket tudja:

-Analóg - Digitális átalakítás (12bites eredmény 0-5V tartomány)
-Komparátor (ha eléri a referenciafeszültséget, megszakítás generálódik)
-Impulzusszélesség-moduláló kimenet (timer alapján választható kitöltési tényezõ)
-Komersz I/O portok
-Adatátvitel: soros szinkron/aszinkron
-Adatátvitel: párhuzamos slave (ezt már csak néhány IC tudja)
-Adatátvitel: SPI/I2C
-Adatátvitel: USB slave (szintén csak néhány tudja)
-Interrupt (Programozható de max 8lábon, amennyiben adott lábon változás történik, megszakítás generálódik)
-Timer 8bit/16bit (programozható, h. hány utasításciklus után növekedjen, túlcsorduláskor megszakítás generálódik)

Még további tuajdonsága, hogy maximum 5Mhz-es ciklusidõvel tud dolgozni (20Mhz-es Kvarc mellet), melybõl az ugró utasítások két ciklust vesznek igénybe.

Nos, ezek után már talán meg lehet válszolni a kérdésedet.

----------------------------------------------

Drága Ferro, egy felfutó él érzékelése nem úgy mûködik, hogy kiteszi a jelet, és azt x secundum alatt érzékeli, hanem léteznek speciális áramkörök, (tárolók - SR tároló pl.) ami elõtt van egy komparátor, és amint megugrik egy pillanatra a jelszint (pl:WR0) a tároló 1-be áll, és úgy is marad. Ezek után egy jel (mondjuk egy újabb órajel) törli a tároló tartalmát, így 0-ba áll vissza.

 Nagyon úgy érzem, hogy csak felületesen olvasod el a hozzászólásaimat.

Offline Ferro73

  • EP addict
  • *
  • Posts: 1016
  • Country: hu
Re: HW készítés
« Reply #74 on: 2011.March.06. 22:02:04 »

Drága Ferro, egy felfutó él érzékelése nem úgy mûködik, hogy kiteszi a jelet, és azt x secundum alatt érzékeli, hanem léteznek speciális áramkörök, (tárolók - SR tároló pl.) ami elõtt van egy komparátor, és amint megugrik egy pillanatra a jelszint (pl:WR0) a tároló 1-be áll, és úgy is marad. Ezek után egy jel (mondjuk egy újabb órajel) törli a tároló tartalmát, így 0-ba áll vissza.

Ebben igaza adok
De ha vissza olvasod amit irtál te is észreveszed, hogy nem WR0 hanem RD0-ról irtam és ha megnézed az EP kapcs rajzot
http://www.ep128.hu/Ep_Hardware/Pic/EP64-2.jpg
akkor láthatod miröl irkálok
igaz nincs ilyen vézetségem ezért meg magyarázhatnád nekem mert lehet csak "egy hülye okoskodik"