Ez szerintem az atombombával verébre esete lenne (http://enterpriseforever.com/Smileys/phpbb/ds_icon_biggrin.gif)Ez igaz, de egy Pi -t egyszer megvenne az ember, aztán azzal bármit megcsinálhatna, amit csak akarna ... ahogy régebben már volt róla szó. Egy hardver, aztán bárki bármit cserélhetne benne ... (most ebben az esetben nem egy bővítőhardver, hanem egy konverter hardver az EP IO illesztésekhez.
Ez szerintem az atombombával verébre esete lenne (http://enterpriseforever.com/Smileys/phpbb/ds_icon_biggrin.gif)De mellesleg ez a megoldás:
Nem, mert pl a billentyűzetkezelés is bezavar. Esetleg POKE 56,201-el...Á, ha nem tudjuk biztosan, akkor inkább assembly -ben letárolom a memóriába, meg ilyenek ...
Direktben persze lehet hogy a táppal is bajaim lennénekMégse, csak rendesen el kell olvasni:
hanem benéztem a ledeket, ezek valami óriási ledek, ilyet még nem is láttam soha ... :)Írta, hogy 10mm-es :-) (Voltak ott 5mm-esek is.)
Írta, hogy 10mm-es (http://enterpriseforever.com/Smileys/phpbb/ds_icon_smile.gif) (Voltak ott 5mm-esek is.)Há néztem én ? LED, oksa az led. Erre kiderül hogy van belőle annyi méret mint cipőből ... :)
Ezt a billentyűzetes projektet úgyis csak egy különálló EP alaplapon fogom először megcsinálni, valószínűleg ki kell hozzá majd forrasszam a billentyű fólia csatlakozóit az alaplapról (ha nem találok megoldást arra, hogy fizikailag hogy tudnák a fólia mellé dugni valami szalagkábelszerűt az illesztőhöz), és vezetékkel forrasztani be az alaplapra a fóliacsatlakozót is meg az illesztőt isLegszebb úgy, ha hagyod a fólia csatlakozót, és az aljára kötöd be vezetékekkel az új cucc csatlakozóját. Külső billentyű kivezetést is így csináltuk.
Mivel már rég nem csak egérről beszélsz, azt javasolnám, hogy csináljunk egy külön topikot ennek, mondjuk HW készítés Arduino-val vagy ilyesmi.Szerintem nem is fórum, hanem külön blog kéne Z80System-nek, mert legtöbbször az ő hozzászólásai követik egymást. Ez már inkább blog. És a blogbejegyzéseket kommentelhetnék a többiek fórumhozzászólások helyett.
Legszebb úgy, ha hagyod a fólia csatlakozót, és az aljára kötöd be vezetékekkel az új cucc csatlakozóját. Külső billentyű kivezetést is így csináltuk.Hát csak maga a panel(ek) meg ugye az alaplap felett lesz(nek) (mert alá nem férnek nyilván),
Szerintem nem is fórum, hanem külön blog kéne Z80System-nek, mert legtöbbször az ő hozzászólásai követik egymást.Van ebbe az örök nyafiba valami azért, de én a magam részéről továbbra se a "félszavakból is félreértjük egymást és napokig azon gondolkodunk, hogy is érthette a másik" módszer híve vagyok.
void setup()
{
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
}
void loop()
{
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(13, LOW);
digitalWrite(12, LOW);
delay(1000);
}
és lőn villogás. :)A képen nem villog :-D
A képen nem villog (http://enterpriseforever.com/Smileys/phpbb/ds_icon_biggrin.gif)Fúúú ... az valami bag lesz akkor ... utánanézek ... :)
Tök jó, az az alap hardware tutorial -juk, hogy breadboard -on, alkatrészekből (jó, az USB kezelőhöz panelt használnak, de nyilván azt is lehetne alkatrészekből) összeraknak egy Arduino kártyát :) :
http://arduino.cc/en/Main/Standalone
Ebben mi a meglepo?Nekem minden meglepő, az is hogy van nagyméretű led, meg az is hogy ha rákötöm erre a szutyokra, akkor tényleg villog.
Csak ki kell vezetni par kivezetest stb, meg esetleg kvarc miegymas.Ja, és pont ehhez a miegymáshoz csinálnak kedvet a kis tutorialjukkal, ahelyett hogy azt tolnák, hogy ők az egyigazság, bármire arduino van irva, csak azt vedd.
az Arduiono dolog kisse fel van fujvaPontosan nem tudom mi van rajta felfújva, de én azt sem tudtam 2 napja hogy létezik olyan (még azt sem tudom igazán milyen kategóriák ezek) mikrokontroller csalad hogy AVR vagy PIC,
Vegulis az Arduino nem mas, mint AVR, kenyelmesen es quickstart turbo boost-al (http://enterpriseforever.com/Smileys/phpbb/ds_icon_biggrin.gif)Hát ja. Csináltak különböző árú, méretű és képességű panelokat, amik közül az ember válogathat,
Ki csinalja még ezt ?Más hasonló cégek.
De ha valakinek télleg nagy gond a PCB előállítása (és hobbi szinten kinek nem az ?)Manapság már nem az, elküldöd Kínába a nyáktervet, ők meg küldik a paneleket. Az angol srác is így csinálta a bővítőket.
Más hasonló cégek.
Manapság már nem az, elküldöd Kínába a nyáktervet, ők meg küldik a paneleket. Az angol srác is így csinálta a bővítőket.
Más hasonló cégek.Pld. ?
Manapság már nem az, elküldöd Kínába a nyáktervet, ők meg küldik a paneleket. Az angol srác is így csinálta a bővítőket.Egy ilyen kész panelt tegnap megrendeltem, ma már barkácsolhattam vele.
Pld. ?Nekem innen lesz játékszerem :-) (http://www.parallax.com/) Hogy mi lesz belőle, az titok. Fogpiszkáló, ha el nem... :-D (gondolom mindenki ismeri a viccet)
Egy ilyen kész panelt tegnap megrendeltem, ma már barkácsolhattam vele.Ez teljesen ok, hogy fejlesztéshez készet vesz az ember.
Milyen programmal lehet egyáltalán egy panelt megtervezni ?Pl. Eagle
Gyakorlat nélkül lehet olyat csinálni ?Nekem se tanította senki :-) Persze nyilván egy kisebb darabbal kell kezdeni, de itt pont ilyenekről van szó.
Amennyire én tudom még te sem tudsz smd -t forrasztaniÉn nem is tennék rá SMD-t, az ördögtől való találmány :twisted:
Legújabb álom EP :) :Ez nagyon futurisztikusan néz ki... :-)
A cucc kimeneténél (azaz ami az EP-nek bemenő jel), ki kell próbálni, jó eséllyel a 3V-os 1-et is 1-nek érzi, a 0 az meg ugye 0V.
Az EP-ből jövő, a cuccba menő jelnél meg kéne nézni a leírásban, hogy inputra mit visel el a cucc, attól, hogy 3V-os a tápja, még lehet az inputja 5V tolerant. Ha jól tudom az SD kártya vezérlője is ilyen.
Connecting a 3.3V level output pin to a 5V level input pin works fine.
The problem occurs in the other direction: a “1″ output on a 5V logic level is about 5V, whereas the maximum allowed input level for a “1″ on a chip powered by 3.3V is 3.3+0.5, i.e. at most 3.8V.
Billentyűnél lesz neked 10 EP-ből jövő, és 8 EP-be menő.Na ez érdekes ... én eddig tök azt hittem, hogy az összes billentyű vonal az bemenet,
Konkrétan azt írod a végén, hogy HOZZÁD (vagy akiket még érdekel az EP) nem jutnak el az információk AZÉRT mert én sokat szövegelek ? ? ?Ezt írtam. Elég nehéz kihalászni a fontosabb, számomra hasznos információkat. De lehet, hogy minden hasznosat megtaláltam, nem tudom. A webes emu egér funkciójának híre eljutott hozzám. Nem tudom, más korszakalkotó dolog történt-e mostanában.
A 25-ös IC-be kerül, amit OUT (0B5H)-val kiküldesz. Ennek az alsó 4 bitje választja ki, hogy a billentyűmátrix melyik sorát akarjuk beolvasni.Na ezt most azonnal nem értem, de időt fogok szánni rá, hogy feldolgozzam.
Ahogy korábban már írtam, szerintem az alaplap aljára forrasztott vezetékekkel érdemes bekötni.Ez viszont továbbra sem nagyon tetszik, bár meg fogom nézni, hogy a drótokat fel tudnám -e hozni valahol a nyák oldalánál, mert még így is 12 vezeték lenne ...
Ez viszont továbbra sem nagyon tetszik, bár meg fogom nézni, hogy a drótokat fel tudnám -e hozni valahol a nyák oldalánál, mert még így is 12 vezeték lenne ...Nem értem miért nem tetszik. Mikor bent van a házban, bazi nagy luk van az alaplap alatt, bőven elfér alatta bármennyi drót.
Sokkal jobban tetszene ha be tudnám dugni a fólia melléIlyennel próbálkoztak külső billentyű bekötés kapcsán, és általában az lett a vége, hogy a fólia végét, meg a csatlakozót is hibásra lett gyötörve.
Szerinted egyébként van esély rá, hogy kiforrasszam azokat a fólia csatlakozókat anélkül, hogy totál szétbarmoljam a nyákot ?Nem sok :oops: de legalábbis a csatlakozó szét fog olvadni. Tartalék csatlakozót meg nem is találtam még, Spectrumos méret van, de ilyen 10-es nincs.
Nem értem miért nem tetszik. Mikor bent van a házban, bazi nagy luk van az alaplap alatt, bőven elfér alatta bármennyi drót.Oks, köszi, akkor ez lesz.
Amúgy forrasztgatáshoz 80 eres IDE kábelből szedjél ki drótokat, azok nagyon pici finomak, jól lehet vele dolgozni.
De ha nagyon fel akarod alulról vezetni a drótokat, ott van még az a nagy ovál luk ahol a ház középső tartója megy át. Az általam említett finom drótból ott is simán fel lehet hozni 2 tucatot is akár.
Ilyennel próbálkoztak külső billentyű bekötés kapcsán, és általában az lett a vége, hogy a fólia végét, meg a csatlakozót is hibásra lett gyötörve.Ezért szerettem volna LAPOS szalagkábelt, vagy fóliakábel csatlakozót találni ... de persze nem találtam ...
Nem sok (http://enterpriseforever.com/Smileys/phpbb/ds_icon_redface.gif) de legalábbis a csatlakozó szét fog olvadni.Na ettől féltem ... akkor inkább neki sem állok ... marad a vékony drót, ahogy mondod ...
Egy plusz ötlet:Mátrixban üres hely: felteszem ez azt jelenti, hogy beolvasott bit a portról, ami sosem lehet aktív, mert az EP -n ott nincs fizikai billentyű ?
Mátrixban üres hely: felteszem ez azt jelenti, hogy beolvasott bit a portról, ami sosem lehet aktív, mert az EP -n ott nincs fizikai billentyű ?Így van.
Valami módosított, hekkelt exos figyelne rá, vagy mi ?Pl, vagy módosított BRD/HUN/stb társulat. (Anno ahhoz a PC billentyűhöz a HUN-ba raktam.
Még egy ötlet: vannak ilyen wireless bill+egér kombók, azoknak egy USB vevőjük van. Tehát csinálhatnád egy USB-s vezérlővel az illesztést.
Ha a 26-os IC-ről szeded a 4 bitet, akkor lehetne a nem létező 0A-0Fh billentyűzet sorokban lekérdezni az egeret, ráadásul 8 bites átvitellel.
csak hát egy új mouse.xr módot kellene hozzá írni ... nem ?Igen, de ez a rész már gyerekjáték.
És akkor azt jól értem, hogy a billentyűzet kezeléséhez akkor összesen elég lenne 8+4 vonal és ebben már kezelni lehetne az egeret is, módosított mouse.xr -rel ?Igen. Plusz azért GND meg +5V nem árt :-)
Semmi több drót nem kéne, csak 12 darab ?
Igen. Plusz azért GND meg +5V nem árt (http://enterpriseforever.com/Smileys/phpbb/ds_icon_smile.gif)Igen, de azokra van plussz láb mindíg.
hanem a hagyományossal ... azok még olyan durungok ...Az úgy 18 éve készült, akkor még nem volt 80 eres ide :-)
Vékony kábellel, fekete színűvelASUS alaplapokhoz adtak olyat. Gigabytehoz meg kéket :-)
Jut eszembe: ezek a 80 -as IDE kábelek ezek ugyanúgy 40 pint vittek át ? Minden pinhez 2 drót van a szalagkábelben ?Minden második drót GND.
Minden második drót GND.Jó, de a csatlakozóik azok 40 pinesek ...
A csatlakozók kiképzése olyan, hogy egyik (a föld) lábat ratolja 40 zsinórra ?Igen.
Kontrol portoknál is lenne egyébként olyan lehetőség, hogy kivinném a nemtomhánybites értéket, mielőtt még 4irány+lövés drótra lennének szétszedve,4 bites értéked van, így 16x3-at lehetene, azaz összesen 48-at.
és akkor lehetővé válna az EP -vel beszedni azt s sokféle értéket, mint korábban írtam ?
Ha van olyan ebben a cuccban, hogy IRQ, akkor ezt arra lehetne használni.Van benne IRQ, de asszem csak egy lábon lehet használni, ami végülis lényegtelen,
25-ös IC 1-es lábát figyelve lehet megtudniFelfut, lefut, hovafut ?
Ami lényeg: annyi idő alatt ami a leggyorsabb 0B5h írás és olvasás között eltelik, neked detektálni kell, hogy már másik sor kell, és azt a 8 bitet kirakni.És ez sztd kb. mennyi idő ? Ez gyakorlatilag egy 4 MHz z80 out és közvetlen utána jövő in között eltelt idő, nem ? Lehet kb. 4-6 mikroszekundum ...
Van benne IRQ, de asszem csak egy lábon lehet használni, ami végülis lényegtelen,16x gyorsabb, mint a 4MHz-es Z80, mivel az AVR-ek egy utasítás lefut egy ciklus alatt, míg Z80-on minimum 4 ciklus kell egy utasításhoz.
de vannak olyanok is, amik minden lábon képesek megszakítani.
Bár például forrás azonosítást nemtom lehet -e. Persze itt most csak egy forrás lenne.
Azt már néztem, hogy egy már megírt ps/2 bill. kezelőben is a megszakítást használják,
mert ott is valami futó élre kell olvasni, vagy mi ...
Felfut, lefut, hovafut ?
És ez sztd kb. mennyi idő ? Ez gyakorlatilag egy 4 MHz z80 out és közvetlen utána jövő in között eltelt idő, nem ? Lehet kb. 4-6 mikroszekundum ...
Mivel ez a chip 16 mhz, nincsen nagyságrendi különbség az órajelek között ... Ajánlott a megszak, nem ?
És sztm az olvasási irányban is van idő dolog, nem csak a visszaírási dolognál, mert azzal hogy én beállítok a következő in -ig,
attól még előfordulhat az simán, hogy én 2 bitet beolvasok, erre a z80 felülfrissíti a 4 bitet, és második kettőnek már az újat olvasom,
vagyis nem azt fogom neki beadni amit kért, mert nem jól olvastam k ia 4 bitet ... nem ?
Ha jól tippelem max 11 Z80 órajel alatt kell megoldani a dolgot.És csak akkor ha tényleg használok megszakítást arra, hogy észrevegyem a megváltozást ...
Tehát ha van az a jel amit mondasz, hogy na, most megváltozott. Na akkor van 11 z80 óraciklusom, hogy beolvassam a 4 bitet, hogy mit kérnek, és beállítsam a 8 bitet arra, amit kértek, igaz ?Igen. És aztán a 8 bitnek folyamatosan változni kell, ha nyomkodják az oda tartozó gombokat. Ismételt beolvasáshoz nem kell újabb B5h írás, pl egy space-ra várásnál elég a ciklus elött beállítani a B5h értékét, utána már csak olvasni kell meg tesztelni, hogy megnyomták-e.
bőven elég kell, hogy legyen a 16MHz, csak assembly-ben kéne programozni... :mrgreen:
nem csak az az előnye, hogy gyorsabb, hanem pontosan ki lehet számolni az időzítéseket. Vagyis pontosan tudod, hogy két asm utasítás között lesz 62.6 ns (16MHz-en).
Mindenesetre anno Tigriannak sikerült egy ilyen cuccal (http://www.atmel.com/images/doc2543.pdf) a PS/2 illesztés. (http://gafz.enterpriseforever.com/Hardware/Taszt/taszt.htm)(http://gafz.enterpriseforever.com/Hardware/Taszt/taszt.htm)
Most találkozok ilyen problémákkal először ...Én nem :oops:
em lenne szinte semmi idozites gond, ha szerezne az ember egy kis kapacitasa (cca 10*8 bites is eleg lenne) dual port SRAM-ot, vagy vmi hasonlot.Igen de az én projektem olyan, hogy nem akarok építeni. Maxi szerelés annyi lehet, hogy vezetékeket forrasztok össze,
(Valószínű hogy a linkelt atmel még sokkal gyengébb is, majd ellenőrzöm. (Nem dokumentálta egyébként az ember, részletesebben ? Kíváncsi lennék mit hogy csinált.))Itt a topikja a projektnek. (http://enterpriseforever.com/hardver/uj-hw-taszt-toldozas/) Van is ott valami forráskód betéve.
Mindenesetre anno Tigriannak sikerült egy ilyen cuccal (http://www.atmel.com/images/doc2543.pdf) a PS/2 illesztés. (http://gafz.enterpriseforever.com/Hardware/Taszt/taszt.htm)
Nem tudom hol ment bele a bug, de az elvileg nem módosuló boot loader is meg tudott sérülni,Na látjátok ilyen szempontból is sokkal jobb egy kész, kipróbált agyontesztelt mikrokontrolleres kártya:
Na látjátok ilyen szempontból is sokkal jobb egy kész, kipróbált agyontesztelt mikrokontrolleres kártya
Ezzel nem ertek egyetHát nekem az volt a feltételezésem, hogy nyilván nem a cucc volt rossz, hanem a programozásba, inicializálásban, akármiben rontott el valamit a tigrian nevű illető ...
Már az is tök jó poén lesz, hogy vezetékesből azt rakok rá, amit csak akarok, legyen az sokgombos joy, sega megadrive kontroller, vagy ps/2 -es mouse/keyboard.És menni fog az autofire is ! Végre !!! :)
Hát nekem az volt a feltételezésem, hogy nyilván nem a cucc volt rossz, hanem a programozásba, inicializálásban, akármiben rontott el valamit a tigrian nevű illető ...
Amugy ott volt az AVR forras is, de az mar nem letoltheto. :( Most meg mar nem talalom, az vmi regebbi elfekvo gepem hdd-jen lehet :(Reméljük meg van, mert innen szerintem a nagy szerver összeomlásban tűnhetett el :-(
Amugy ott volt az AVR forras is, de az mar nem letolthetoJa én is átfutottam a topikot, de én sem találtam olyat nagyon, ami magyarázna részleteket a dologról.
De végső soron nem gáz, mert az arduino "hivatalos" kontributált listáján van egy teljes PS/2 billentyű kezelő
Emlékeim szerint gyors, többszöri, gép ki-be kapcsolgatástól tudott megdögleni. (Asszem valami EXDOSt próbáltam csatlakoztatni, amit csak többedik próbálkozásra látta a gép.)
Volt amikor az EP-s programmal helyre lehetett rakni, de amikor a boot loader sérült, akkor lehetett kiforrasztani.
Hmmm ... most jut eszembe, hogy ps/2 -höz is gyártottak vezetéknélküli cuccokat, sztm. nekem is van otthon, még tíz évvel korábbról ... Ilyen külső egységek voltak, rádióval, amik ps/2 -be mentek bele.
És mivel mostmár nem beépíthető egységben, hanem roncsolás nélkül kivezetett, külső eszközben gondolkodok a billentyűnél is, ezért akár a ps/2 -t is lehet komolyan venni, nekem is ...
Úgyhogy akár ps/2 -nél is lehet vezeték nélküli a dolog, nem is kell megvárni az USB -t.
Még az is lehet, hogy mire a végére érek, olyan eszköz lesz amit lehet belülre szerelni, és csak az USB -t kell kivezetni róla ... (http://enterpriseforever.com/Smileys/phpbb/smiley.gif)Sőt ... kicsit a felhasználási logikába is belegondolva ...
Zozo, kb. mi az a minimális vezetékszám, amit ki kéne vezetni az EP -ből abban az esetben,
ha szeretnék USB -n betöltést is csinálni az EP -be ?
tehát a kérdést talán úgy lehetne feltenni, hogy ha én úgy akarok működni mint mondjuk az IDE kártya, tehát mondjuk legyen 8 bit párhuzamosan, akkor mennyi drót kéne legkevesebb hozza ?
Igy erthetobb?Nem részleteiben, de lényegében igen: azt akarod mondani, hogy egy kevés gépen belülre is szerelt alkatrésszel nagy mértékben lehetne csökkenteni a kivezetendő drótok számát ...
az USB vezetékének lehet vannak sokkal nagyobb követelményei, mintsem csak úgy kilógatható lenne, szalagkábelként ...Szedtél már szét PC-t úgy az elmúlt 10-12 évben? :) Az előlapi USB-k pont szalagkábellel vannak bekötve általában...
- a joystick -hoz kellene plussz drót, vagy az is kezelhető lenne az bill+egér drótokon ? ha kellene plussz, akkor mennyi ? ugyanannyi mint kívülről a control portokon ?
Szedtél már szét PC-t úgy az elmúlt 10-12 évben? :) Az előlapi USB-k pont szalagkábellel vannak bekötve általában...
Szóval szerint a 4 USB dróton kívül nem kéne mást kivinni.
kkor lehet en ertettem felre, hogy kivul akarja az USB-s "illesztot" es kabelekkel osszekotni az EP-vel,Jól értetted, amíg fel nem vetetted újra a storage eszközöket, addig kívül fele hajlottam, és azt lattolgattam (volna, ha tudnám mennyi drót kell hozzá), hogy van -e esélye/értelme a storage -ot is beleszámítva külsőben gondolkodni ...
bar nem tudom mennyire jo otlet az EP buszt kabeleken vezetni (http://enterpriseforever.com/Smileys/phpbb/ds_icon_razz.gif) Az novelheti az egesz busz impedanciajat tudomisenmiet, hacsak nincs levalasztva vmi busz meghajto cuccal kozben.Na pont ilyesmi valamire gondoltam az USB zsinórjával kapcsolatban ...
Na pont ilyesmi valamire gondoltam az USB zsinórjával kapcsolatban ...
nyilvan (http://enterpriseforever.com/Smileys/phpbb/smiley.gif)Neked nyilván, én valamiért ezeket a problémákat a frekvenciákkal kapcsoltam össze fejben, és azt gondoltam hogy egy modern USB -n zajló adatátvitel biztos sokszor nagyobb frekiket igényel, mint egy EP 4 MHz -e, annál meg nincs nagyobb freki a buszon (gondolom), arról meg még úgy gondoltam, hogy ha nem is az északi sarkig, de elvezethető.
Neked nyilván, én valamiért ezeket a problémákat a frekvenciákkal kapcsoltam össze fejben, és azt gondoltam hogy egy modern USB -n zajló adatátvitel biztos sokszor nagyobb frekiket igényel, mint egy EP 4 MHz -e, annál meg nincs nagyobb freki a buszon (gondolom), arról meg még úgy gondoltam, hogy ha nem is az északi sarkig, de elvezethető.
Lehet, hogy semmi, a leírások a cucc tönkremenetelét jósolják ilyen esetekre.Mitől lehet a semmi ? Valami extra védelemtől ?
Open Collectoros kimenet kell, azokat lehet összekötni.Na, ezzel az open kollektorral majd falnak mentem tegnap ...
Open Collectoros kimenet kell, azokat lehet összekötni.
Tök jó, hogy a PS/2 doksik a neten nem értenek egyet abban, hogy a PS/2 clock frekije milyen range -be esik ...A 16kHz jó lesz.
Beszélnek 10-16.7 KHz, vagy 20-30 KHz -ről, de olyat is találtam amelyik 33 KHz -ben maximalizálja ...
Szuper, és tudni tud bárki valamit is ?
A 16kHz jó lesz.Mit értesz azalatt hogy jó lesz ? Nem hinném hogy én állíthatnám az órajel frekijét, meg még ha állíthatnám is, az állítási parancsot először az alapértelmezett órajelfrekivel kellene lekommunikáljam -> szetm ez nem állítható.
De miért nem méred ki a multimétereddel a billentyűzeten, mennyi a CLK órajele?
Mit értesz azalatt hogy jó lesz ? Nem hinném hogy én állíthatnám az órajel frekijét, meg még ha állíthatnám is, az állítási parancsot először az alapértelmezett órajelfrekivel kellene lekommunikáljam -> szetm ez nem állítható.oké, rájöttem, nem te akarod küldeni a jelet, vagyis nem te állítod elő az órajelet, hanem olvasod. A 16kHz arra vonatkozott, ha billentyűzetet építenél, akkor küldd 16kHz-es órajellel.
A billentyűzet hardver tervezésekor állítanak be egy frekit (egy range -en belül, melyről írtam), amit nekem kezelnem kell tudni. Szeretnék felkészülni bármilyen billentyűzetre, nem csak az enyémre. Nagyobb freki, gyorsabb reakcióidő ... lehet hogy igényesebb billentyű nagyobb frekin tolja az anyagot.
Lemérni meg még azért nem mértem le, mert még nem jött meg a PS/2 billencsem, és ha majd le is mérem, akkor is csak az enyémet fogom tudni, nem minden PS/2 billencsét.
Ha jól tippelem max 11 Z80 órajel alatt kell megoldani a dolgot.Az ugye kis csalással 3 mikroszekundum,
// SPI interrupt routine
ISR (SPI_STC_vect)
118: 1f 92 push r1 (2) // save R1 - the "zero" register
11a: 0f 92 push r0 (2) // save register R0
11c: 0f b6 in r0, 0x3f (1) // get SREG (status register)
11e: 0f 92 push r0 (2) // save SREG
120: 11 24 eor r1, r1 (1) // ensure R1 is zero
122: 8f 93 push r24 (2)
124: 9f 93 push r25 (2)
126: ef 93 push r30 (2)
128: ff 93 push r31 (2)
{
That's another 16 cycles (the cycles are in brackets). So from the moment the interrupt occurs, to the first line of code being executed, would be 16 + 7 cycles (23 cycles), at 62.5 nS per clock cycle, that would be 1.4375 µS. That's assuming a 16 MHz clock.} // end of interrupt routine SPI_STC_vect
152: ff 91 pop r31 (2)
154: ef 91 pop r30 (2)
156: 9f 91 pop r25 (2)
158: 8f 91 pop r24 (2)
15a: 0f 90 pop r0 (2) // get old SREG
15c: 0f be out 0x3f, r0 (1) // restore SREG
15e: 0f 90 pop r0 (2) // now put old R0 register back
160: 1f 90 pop r1 (2) // restore old value of R1
162: 18 95 reti (4) // return from interrupt, turn interrupts back on
That's another 19 clock cycles (1.1875 µS). So in total, an ISR using the ISR define will take you 2.625 µS to execute, plus whatever the code itself does.A 16kHz arra vonatkozott, ha billentyűzetet építenél, akkor küldd 16kHz-es órajellel.Ja igen ... de most az ellenkező oldalon vagyok, ahogy mondod ...
Tök jó, hogy a PS/2 doksik a neten nem értenek egyet abban, hogy a PS/2 clock frekije milyen range -be esik ...
Beszélnek 10-16.7 KHz, vagy 20-30 KHz -ről, de olyat is találtam amelyik 33 KHz -ben maximalizálja ...
Szuper, és tudni tud bárki valamit is ?
igy eleve nincs regiszter mentes/visszaallitas, plusz egyeb C overhead-ek se persze.Ja ... és gyorsan letolok magamnak így assembly -ben egy USB libet is ... :)
Ja ... és gyorsan letolok magamnak így assembly -ben egy USB libet is ... :)
Addig meg vmelyik labat az AVR-nek output-ban busy flag-nek megkapja a Z80 aztan lekerdezgetheti (mondjuk utana tenni egy cuccot, ami akkor engedi a busz pl 7. bitjere, ha a megfelelo I/O porton es olvasasra kivanja a Z80).
Ebbol is latszik, hogy mindig egy a gond: kulso alkatreszek kellenek stbJa, hasonlót én is levezettem, hogy mintha az összes dolog (bill/eger/joy) mind ilyen lenne, hogy valamit az EP beállít, és ha már beállította (és ne gyere megint a busszal, meg wait -okkal, mert egy sima külső joy csatin nincs olyan, és a probléma viszont ott is fennáll), szóval ha meg már beállította, akkor Zozo szerint elméletben akár 11 rohadt cikluson belül olvasni akarhatja a választ, addigra ott kell lennie ... és ez a visszatérő jelenség, úgy tűnik nem egy mikrokontroller feladata ... ehhez kéne még neki, valami bufferelt periféria szerű, ami képes az EP csatlakozóinak nagyon gyorsan felelni, és azt a perifériát a mikrokontroller az ő komótosabb ütemében frissítgethesse ... ne kelljen 11 mikroszekundumokon belül ugrálnia ...
Ja, hasonlót én is levezettem, hogy mintha az összes dolog (bill/eger/joy) mind ilyen lenne, hogy valamit az EP beállít, és ha már beállította (és ne gyere megint a busszal, meg wait -okkal, mert egy sima külső joy csatin nincs olyan, és a probléma viszont ott is fennáll), szóval ha meg már beállította, akkor Zozo szerint elméletben akár 11 rohadt cikluson belül olvasni akarhatja a választ, addigra ott kell lennie ... és ez a visszatérő jelenség, úgy tűnik nem egy mikrokontroller feladata ... ehhez kéne még neki, valami bufferelt periféria szerű, ami képes az EP csatlakozóinak nagyon gyorsan felelni, és azt a perifériát a mikrokontroller az ő komótosabb ütemében frissítgethesse ... ne kelljen 11 mikroszekundumokon belül ugrálnia ...Ezt a gondolatmenetet folytatva:
Még az is lehet, hogy ha megnéznénk a shield -eket, akkor találnánk köztük ilyet ...
De ha igen, ha nem, úgy tűnik, hogy maga ez az ultragyors reakció ez nem egy mikrokontrolleres feladat, mert erőltetve lehet csak kivitelezni ...
Egy ps/2 vagy usb adatcsomag értelmezése, molyolgatás az mikrokontrolleres feladat, de a jeleket ilyen mikroszekundomos nagyságrenddel frissíteni, valami külső kérelem hatására, az úgy tűnik nem mikrokontrollereknek szánt feladat ... mert ha az lenne, akkor lenne rá funkció (mellesleg simán lehet h van, csak nem tudok róla), nem pedig kínlódva, "éppenhogy" kelljen megvalósítani ...
z80 -nál egyébként a SIO/PIO csippek nem pont ilyen feladatokat végeztek ?
Nem arra voltak kitalálva, hogy a mindenkor z80 sebességgel le/fel pakolják a buszról az anyagot,
lehetőséget adva egy lassabb külső egységnek az adathoz történő komótosabb hozzáféréshez ?
Abban éppúgy meg kellett oldják egyrészt a serial porttal való kommunikációt, arra figyelést,Nem, mert nincs is ilyen benne.
másrészt a joystick -on is olvastak be, tehát nekik is nagy sebességgel kellett reagálniuk a joy port out utasítása által kiváltott jel változásra a joy csatlakozón ...Ez egy 74LS IC-nél kb 10-20 ns :-)
Van fogalmunk róla az ő elektronikájuk hogy bánik el a problémával ?Leginkább nincs is probléma! Eleve egy joystick csatlakozóra tervezett egérről van szó. Egyetlen bibi volt, hogy C64-en van kifelé beszélő joy láb, EP-n meg nincs, ezért kellett helyette egy drótot hozni a serial csatlakozóról.
És lefogadom, hogy annak idején nem 16MHz AVR -rel oldották meg ... :)
Né mááá ... há itt egy ilyen izé :) :
http://www.lipoly.de/index.php?main_page=product_info&cPath=880_2631_2639&products_id=161216
Szerintem ilyenből tudnám kiépíteni a sok GPIO -s kontrolleremet.
Ez rajta ül az egyik ilyen buszon, 8 darab max, aminek fejenként lehetne 14 GPIO -ja ... vagyis 112 GPIO -m lenne plussz ami a mc kártyán van ...
Mondjuk a 8 darab az belekerülne 20 rugóba ... :)
vegulis billentyuk "rangatasara" biztosan.pontyosan.
Ez neked miert is lenne jo?Hát arra, hogy ha kint ül a teljes billentyűmátrix GPIO tüskéken,
- push egy regiszterA baj csak az, hogy jól kifelejtettem a megszak tiltás/engedélyezést, meg hát ezt az apróságot:
- regiszterbe beolvas lábakról input 4 bit
- regiszterbe betölt sajátmagával indexelve egy tömbből output 8bit
- regiszterből kiír output 8 bit lábakra
- pop regiszter
- ret
4.8.1 Interrupt Response Time
The interrupt execution response for all the enabled AVR interrupts is five clock cycles minimum. After five clock
cycles the program vector address for the actual interrupt handling routine is executed.
A return from an interrupt handling routine takes five clock cycles. During these five clock cycles, the ProgramVagyis 10 ciklus akkor is elmegy, ha egy szaros utasítást nem írok a megszakkezelőbe ... persze minimum kell egy reti ... :)
Counter (three bytes) is popped back from the Stack, the Stack Pointer is incremented by three, and the I-bit in
SREG is set.
Joy-ra az a megoldás,
Billentyűnél ezt nem teheted meg, ott mindenképpen figyelni kell mit akar az EP.Na most én irkálhatnám a mérgesfejeket, mert te nem olvastál ... de én nem irkálok olyat ... :)
http://www.lipoly.de/index.php?main_page=product_info&cPath=880_2631_2639&products_id=161216 (http://www.lipoly.de/index.php?main_page=product_info&cPath=880_2631_2639&products_id=161216)melyek szabvány buszon beszélgetnek a mikrokontrollerrel, és IC -nként tizenvalahány GPIO portot valósítanak meg,
A baj csak az, hogy ami legkisebb dual port ram-ot talaltam az 1Kbyte, es 48 labu tokban van, overkill.És ennek mi a típusa? Amikor kerestem semmi használhatót nem találtam, akárhány lábbal se. Soros vackok meg egyébb hülyeségek voltak.
Esetleg tenyleg egy parallax propeller MCU kene, a 8 cog-javal egesz sok dolgot csinalhat "egyszerre".Az majd kiderül :oops:
És ennek mi a típusa? Amikor kerestem semmi használhatót nem találtam, akárhány lábbal se. Soros vackok meg egyébb hülyeségek voltak.
De továbbra is ott a példa, hogy Tigrian megcsinálta, régebbi, butább AVR bigyóval!
De továbbra is ott a példa, hogy Tigrian megcsinálta, régebbi, butább AVR bigyóval!Tigrian csak 4MHz -re csinálta meg (nem ?),
hogy igen, meg lehet csinalni, a gond az, hogy akarja-e az ember kulon.Én akarnám külön, sőt pont úgy akarnám, mivel 16MHz -es AVR lapot 2ezer forintért lehet kapni (csak én nem azt vettem, de lehet),
Tudom, mindenkinek elege van a dual port memoria maniambol (http://enterpriseforever.com/Smileys/phpbb/smiley.gif)És mi lenne ez elviekben ? Mert én még nem értettem meg ...
de en tovabbra is ezzel tudom kenyelmesen elkepzelni,Én pedig egy 2 IC -s, 2ezer forintos AVR + CPLD kombóban gondolkodgatok,
És mi lenne ez elviekben ? Mert én még nem értettem meg ...
A dual port RAM olyan RAM, hogy ket "oldalrol", "egyszerre" ket dolog hasznalhatja,Hát lehet, hogy van ilyen ram, de az tutkó, hogy még egyéb logika nélkül a joystick csatlakozón lévő drótok nem tudják meghajtani ... nem ?
A mar letezo AVR-es PS/2 illesztes szerintem eleg is lenne, max akkor az bill only, masra kell egy masik MCU.Ahogy írtam nekem nem volna rossz az 1 mc / input device megoldás, mert addig míg nincs USB én egyértelműen külső (sőt, ha lehet kábelre) szerelésben gondolkodok.
By the way: MT8812 (http://pdf1.alldatasheet.com/datasheet-pdf/view/77066/MITEL/MT8812/+W517JUIGSElbOVwDtv+/datasheet.pdf)Ezt meg szuper módon nekem nem mutatja meg épp ... :(
Na, ezt irtam vhol fentebb, hogy vmi switch matrix szeru ize, ez konkretan egy 8*12-es szervezesu cross point switch cuccos. Azt neztem epp, hogy mas (konkretan C64) PS/2 illesztoben pl ez van, maga ez a switch emulalja a billentyumatrixot, es ezt allitgatja egy MCU.
De ha sztd jó tigrian megoldása, és VAN megoldás (mert ebben per pillanat nem értünk egyet), akkor légyszi mondd meg hogy egy attiny -val (egyéb logikai alkatrészek nélkül!) hogy oldott meg olyat, hogy 1 mikroszekundum alatt ott legyen a válasz az EP -nél ?
Azt, hogy pontosan hogy oldotta meg, nem tudom, kene latni az MCU programjat, amit egyszer ugyan ideadott (itt a forumon post-olta) de onnan sajnos mar nem tolheto le, "torott link" :Azt te kérted el, nincs meg valahol (múltkor valami régi géped vinyóját emlegetted)?
Tigrian csak 4MHz -re csinálta meg (nem ?)Itt írtam: (http://enterpriseforever.com/hardver/hw-keszites-arduino-val/msg41087/#msg41087)
Hat nezd, o megoldotta, es tudtommal ment, nem volt olyan gond,Tehát mi az amit tudunk (és valszeg nem tévedünk):
turbós (ami abban az időben 6/7.12Mhz volt) géphez egy külső 18.43Mhz-es kristály lett rátéveUpsz ... ezt közben írta zozó ...
CYPRESS CY7C130-55PC (http://pdf1.alldatasheet.com/datasheet-pdf/view/78571/CYPRESS/CY7C130-55PC/+W7WJ3UvUxR.TudhdDIYwvKhHdR+/datasheet.pdf), amit hirtelen talaltam ...Na ez végre olyan amire gondolok! Csak 64KB-os kéne, abból megcsinálni a videó memóriát, az ütős lenne! EXOS/BASIC egyik nagy lassúsága, hogy a rendszerszegmens a videó memóriában van...
Nekem bináris verzió van talán, azzal tudtok kezdeni valamit?Hát én biztos nem fogok vele szöszölni ... visszafejtéssel ...
Itt jön a kérdés, hogy manapság mi az elérhető max AVR órajel?Hát ja, érdemes lehet utánanézni ...
CYPRESS CY7C130-55PC (http://pdf1.alldatasheet.com/datasheet-pdf/view/78571/CYPRESS/CY7C130-55PC/+W7WJ3UvUxR.TudhdDIYwvKhHdR+/datasheet.pdf), amit hirtelen talaltam ...Bakker nekem erre is csak egy olyan PDF -et tol, amibe az van írva, hogy átmenetileg nem elérhető ... Mi van itt már ...
(http://pdf1.alldatasheet.com/datasheet-pdf/view/78571/CYPRESS/CY7C130-55PC/+W7WJ3UvUxR.TudhdDIYwvKhHdR+/datasheet.pdf)Bakker nekem erre is csak egy olyan PDF -et tol, amibe az van írva, hogy átmenetileg nem elérhető ... Mi van itt már ...Nekem is, de beírtam googléba és az tol működő linket :-)
Itt jön a kérdés, hogy manapság mi az elérhető max AVR órajel?
Na ez végre olyan amire gondolok! Csak 64KB-os kéne, abból megcsinálni a videó memóriát, az ütős lenne! EXOS/BASIC egyik nagy lassúsága, hogy a rendszerszegmens a videó memóriában van...
Jelen esetben erdemes a Cypress weboldalan nezelodni, gondolom van nagyobb is, mint 1Kbyte :D En ugye epp hogy kisebbet kerestem volna ...Bazi drága és gusztustalan felületszerelt :-(
Bazi drága és gusztustalan felületszerelt :-(
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 (http://enterpriseforever.com/hardver/uj-hw-taszt-toldozas/msg2650/#msg2650)
A topikját érdemes átnézni :-D (http://enterpriseforever.com/hardver/uj-hw-taszt-toldozas/msg2650/#msg2650)
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.
ha most at vesszuk, hogy AVR fut mondjuk 16MHz-en az a Z80 4-szereseNyilvá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 ...
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 ?
, a masodik mar nem gond.De, 10 MHz -en simán gond.
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.
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.
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 ! :)
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 ...
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.
É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 ...
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.
Vagy nem tudom, Tigrian turbos megoldashoz kvarcot tett oda?Még hányszor írjam le, hogy IGEN! :twisted:
Még hányszor írjam le, hogy IGEN! :twisted:
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 ...
http://www.ladyada.net/library/picvsavr.html
hogy kb hasonlo kategoriaban miert vannak PIC-ek nagyobb orajellel mint AVR.Hát ja, bakker !
És ARM -mel mi a helyzet ?
Lehet kiderül, hogy az itt már hússzor linkelt, 72MHz -es ARM -re épülő Teensy 3.1 sem annyival gyorsabb az AVR -nél, mint az órajele mutatja ? :)
Hát nekünk most, arra amire használni karjuk, hogy semmi más ne legyen, csak egy chip, és bírjon felelgetni 1 mikroszekundum alatt is ... épphogy 2GHz lenne jó. (Csak ne fogyasszon ... :))
Tipikusan ide nem az orajel hanem a feature kene (http://enterpriseforever.com/Smileys/phpbb/smiley.gif) Pl a PIC-es PSP, na ezt irigylem azert PIC-ben (http://enterpriseforever.com/Smileys/phpbb/ds_icon_biggrin.gif)Jó, azt értem, hogy bizonyos fícsőrökkel le lehet venni az órajelet, és akkor már nem kéne,
By the way: MT8812
void loop()
{
while(true)
{
PORTD= 0xff;
PORTD= 0x00;
}
}
Letiltott megszakításokkal a fenti már 3.999 MHz ...
Milyen editor(oka)t használsz linux -on LGB ?
Aham ... na pont ilyenre gondoltam, mint ez a "gány" -is ... :)
És egyébként milyen paraméterek miatt esett erre a választásod,
mikor épp sikerül valaminek kivonszolni az otthonos termináljaidból ?
asm volatile
(
"ldi r16, %1" "\n\t"
"ldi r17, %2" "\n\t"
"Loop:"
"out %0, r16" "\n\t"
"out %0, r17" "\n\t"
"rjmp Loop" "\n\t"
:
: "I" (_SFR_IO_ADDR(PORTD)), "M" (255), "M" (0)
:
);
Ez az rjmp a leggyorsabb ugrása ennek a procinak ?
configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations. Source code for these libraries can be found at
their respective hosting sites as well as at
ftp://gcc.gnu.org/pub/gcc/infrastructure/. See also
http://gcc.gnu.org/install/prerequisites.html for additional info. If
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
make sure that you have installed both the libraries and the header
files. They may be located in separate packages.
Jajjnekem ... Linux ... :(
és itt az első kettő és az utolsó kettő tartozik össze ...
Hogy találok meg, és hogy hivatkozok linuxon egy USB serial (COM) portra ?
AVRDUDE -nak kell specifikálni portot, és gőzöm nincs linuxon ezt hogy tegyem ... winen csak beírom hogy COM3 mondjuk, amit meg a device manager -ben megtalálok ...
Ez kellett a rohadéknak:
sudo avrdude -vvvv -patmega32u4 -cavr109 -P/dev/ttyACM0 -b57600 -D -Uflash:w:fast.hex:i
Sok helyen a hwinfo nevű terminál parancsot említik mint általános linux hardver infó toolt -t,
ubuntu -n sem parancsnak sem csomagnak nem ismeri ezt a szót ...
Hol van ?
mind a billentyűzet mind a joystick vonalainak beolvasásához a b5 portot kell írni, és a b5 portra kiírt 4 bites érték jelenik meg majd azon az IC -n, amit Zozo korábban megjelölt ( plussz az az egy drót, aminek valami éle a változást jelzi) ?Igen.
Tehát mind a billentyűzet, mind pedig a joystick kérelem megváltozását lehet detektálni ugyanazon az egy dróton ?
még kérdezném azt is, hogy annó lgb mondta, és Zozo megerősítette, hogy ha a billentyűzeten a 10 vonalas kérelemváltozás figyelést valósítanám meg,A mit kér az ott van mindaddig amíg nem változik. A változás észrevétele korlátos, amit vagy a +1 dróttal, vagy pedig az előzöleg beolvasott 10 vonalas értékhez hasonlítgatással lehetne elkapni.
akkor ezeken a típusú drótokon még a 11 z80 ciklusnál is rövidebb ideig van csak meg az információ, hogy mit kér éppen a z80,
ez egyébként a joystick 4+1 vonalára is érvényes vagy ott megintcsak van több idő, mint a billentyűzet 4 vonalas módszerében ?
A mit kér az ott van mindaddig amíg nem változik. A változás észrevétele korlátos, amit vagy a +1 dróttal, vagy pedig az előzöleg beolvasott 10 vonalas értékhez hasonlítgatással lehetne elkapni.
A billentyű 10 vonal az egyenlő a 2xjoy 4+1-el.
A billentyű 10 vonal az egyenlő a 2xjoy 4+1-el.
10 bitet (drótot) figyelek, amelyiknél mindíg csak egyik lesz kijelölt, de ez az információ (hogy melyik kijelölt) még a 11 órajelciklusnál is csak rövidebb ideig van meg.Nem. Az ott van a "végtelenségig", pontosabban amíg újabb B5h port írás nem történik.
a joystick csatlakozókon összesen lévő 10 vonal, AZ PONT UGYANAZ, konkrétan ugyanaz a drót mint a billentyűnél a 10 drótos módszernél ?Igen, pont ugyanaz.
Vagy a joystick portoknak valójában csak 3 bementi vonaluk van, mely hol az egyik, hol a másik port bemeneteit tartalmazza ?Így van.
Csak most ki ne derüljün, hogy a joystick portok bemenetei IS megegyeznek a bill. bemeneti vonalaival ... :)Nem, a bill a B5h portra megy a 27-es IC-n keresztül, a joy meg a B6h portra megy a 28-as IC-n.
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.
és ezek szerint a Tigrian féle bekötés egy HARMADIK féle bekötés ?Igen.
Tehát sem a 4+1 -es sem a 10 -es, hanem egy harmadik féle, aminél igaz, hogy még a 11 órajelnél is kevesebb idő van a kérelem beolvasására ?
#include <avr/io.h>
#define F_CPU 16000000UL
#include <util/delay.h>
#include <avr/interrupt.h>
void main()
{
cli();
DDRD= 0xff;
while (1)
{
PORTD= 0xff;
_delay_ms(50);
PORTD= 0x00;
_delay_ms(2000);
}
/*
asm volatile
(
"ldi r16, %1" "\n\t"
"ldi r17, %2" "\n\t"
"Loop:"
"out %0, r16" "\n\t"
"out %0, r17" "\n\t"
"rjmp Loop" "\n\t"
:
: "I" (_SFR_IO_ADDR(PORTD)), "M" (255), "M" (0)
:
);
*/
}
Majd ha lgb még meg is mondja a hiányzó dolgokat a boxsoft<->EP kommunikációról,
Mi hianyzik meg?
Valami olyanra gondolok, hogy 1-re állítja a B7 x. bitjét, aztán vár x milliszekundumot, beolvassa a 4 bitet B6-ró, stb...
közben párhuzamosan gondolkodok a "billentyűzet egérről" is,
- kitalálni melyik portokat használom majd az AVR -ből, milyen funkciókkal az egyes biteken ...
- kitalálni a portok kivezetései melyik lábon vannak az AVR -en és melyiken az arduino micro kártyán ...
- utánanézni, hogy tud -e az ATmega32u4 akkor sok megszakítást is, vagy csak 4 -et ...
nincs az az élmény, mint annál a billentyűnél, amit még a szuperturbó EP -mhez kaptam,A mikrókapcsolókra vágysz? Az manapság a 30-40000 forintos extra gamer billentyűzetekben kapható. Minden más fólia, rajta a gumbigyó, ahogy EP-ben is.
A mikrókapcsolókra vágysz? Az manapság a 30-40000 forintos extra gamer billentyűzetekben kapható. Minden más fólia, rajta a gumbigyó, ahogy EP-ben is.
Pld. mikor beforrasztottam a PS/2 aljzatba a kábeleket, utána alig akart belemenni a billentyűzet csatlakozója ... előtte meg teljesen jó volt ... nyilván szétforrasztottam belül a lelkét szegénynek ... de hál istennek érintkezik mind a 4 csati, kimértem.
Hol lehet olyan infót megtalálni, hogy pld. az LDI utasítással csak 16 -nál nagyobb (indexű) regiszterbe lehet értéket tölteni ?
Valami olyan dolog, ami 4 biten engedi magát címezni, és 16 darab 8 bites regiszteréből (tárjából) felel egy 8 bites értékkel a 4 bites címzésre, azonnal.Lgb már beírta: dual port SRAM.
Nem mellesleg engedi magát az előzőtől függetlenül feltölteni aszinkron módon.
Lgb már beírta: dual port SRAM.
lgb, van neked valami tapasztalatod, hogy lehetne valami avr gcc flag -gel, vagy ilyesmivel lekorlátozni az avr gcc -t,
IN XL, INPUT_PORT
LD XL, X
OUT OUTPUT_PORT,XL
RETI
ahogy itt olvastam, egy PS/2 -es billentyű általában 2 scancode tábla szerint adja vissza a billentyűket. van egy harmadik is (és elvben ugye nincs határ, de már a harmadik is csak egy speciális gyártó ősrégi code táblája, modern PS/2 cucc nem használja),
De most hogy írtad ezt az EP vs PS/2 billentyűzet együttműködést, leesett valami:
Ha felhúzott bemeneten lesz a billentyű sorom, engedve hogy az ep bill. operáljon, akkor én azt vissza is tudom olvasni a kontrollerbe.
Vagyis egyetlen mikrokapcsoló felrakásával, vagy pedig egy speciális (más programok által soha b5 -re ki nem írt billentyű sor) címzéssel átkapcsolnám a mikrokontrollert billentyű mapping testreszabó módba,
a kerdeses ATtiny-ben ehhez nincs eleg RAM
az EP gombjain sem rajzolod at a feliratot mert mas nyelven hasznalodMert már megtették a gyárban :-)
És én abba az EEPROM -ba gondolnám ...Az EEPROM írása és olvasása sokkal több utasítás (és idő), mint a sima RAM-é, legalábbis a PIC-nél igen. Ráadásul ha teljesen korrekt akarsz lenni, EEPROM írás után még érdemes egy verify-t is csinálni.
Mert már megtették a gyárban :-)
Szoval nekem ez az allando atdefinialasi lehetoseg fura otlet, de ha valakinek ez kell ...Szerintem a felhasználók 99%-a azt szereti, ha az a karakter jön a képernyőn, ami a gombra van festve :-)
Szerintem a felhasználók 99%-a azt szereti, ha az a karakter jön a képernyőn, ami a gombra van festve :-)
Mondjuk az már kezd körvonalazódni, hogy nagyobb projekt lesz ez mint gondoltam ... :)
Az AVR foprogram pedig rohogve elboldogul ket PS/2 eszkozzel is,
Igy ha csak PS/2-ben gondolkodunk, eleg egy sima mezei AVR a gepben, es ki lehet hozni ket PS/2 csatit a gepre, billencs es eger celjara.
mely ráadásul nem is lesz 10MHz z80 kompatibilis 16 MHz -es AVR -en
Na ezeket a "röhögve elbírjákat" inkább hagyjuk ...
Úgy látom te sem követed a dolgokat "túl szorosan", de igen pont ez az első allomás, ahova el akarunk jelenleg érkezni. Ezért nyúzom zozót a custom mouse.xr -miatt, de végülis nem eszik olyan forrón a kályhát, lesz még neki ideje reagálni a kérdéskörre egyenlőre úgy tűnik ... :)
Annyi a különbség, hogy én nem főprogramból tervezem (jelenleg) a PS/2 kezelést sem, hanem 3 megszak lesz, melyek egymást is megszakíthatják, és a legmagasabb prioritású az EP megszak lesz természetesen (így azt már nem szakítja meg a másik kettő reményeim szerint).
Miert?
csak olyan vagy mint en, tul sokat irsz :)
Akkor a forprogram semmit nem csinal
Csak, hogy idegesítselek: Z180-nál már csak 9 órajel :-D
Bár végülis ebben nem vagyok olyan biztos, mert a megszak elkezdődéséig csak 5 avr órajel telik el, akkor ott az ember gyorsan lerendezi a z80 -at (mondjuk további 5 avr orajel alatt)
és akkor igaz hogy utána kiesik még 5 avr órajel a megszak visszatérésekor, de mivel a z80 -nak 11 órajel (10MHz z80 -nál az 1 mikroszekundum) alatt csak felelni kell tudni,
de valószínűleg nem tudja 11 órajel alatt a következő változását is megejteni a b5 porton, szóval mielőtt jön a következő EP megszak, a 11 z80 órajelen FELÜL lesz még több z80 órajelnyi idő, amíg nem tud jönni a következő EP megszak ... na ezen ciklusok alatt futhatna a másik két megszak és a főprogram ...
Szóval még az is lehet, hogy menni fog 10 MHz -es z80 -nal is ... :)
a belso cuccra mar csak EP matrix poziciok alapjan menne uzenet hogy keyup keydown, stb)
Egész pontosan a belső cuccba nem kéne semilyen up/down uzenet,
az egy sima 16 bájtos tároló lenne, amiből végezné az EP frissítését,
és kívulről írni és olvasni engedné ezt a 16 bájtot.
persze 1-2 bájttal még lehetne több is, és akkor oda lehetne tenni speciális biteket, mint a reszet, joyok, vagy ilyesmi ...
Azt is lehet, csak ide tobb vezetek kell, meg specko alkatresz (pl DP RAM).
Nem, én a belső avr mcu -s dologról beszéltem.
Azt pontosítottam, hogy a 2 MCU közé nem kellenek magas szintű üzenetek, úgy mint up/down, mouse pos, ilyenek,
hanem a kommunikációjuk csak pár bájt írására olvasására kell szorítkozzon.
Akkor nem ugyanarrol beszelunk, mert nekem kulso kis dobozkakent jobban tetszene az egyik "fele" akkor meg fontos lehet, hany drottal es milyen hosszu drottal van osszekotve. Amugy pl a soros kommunikacio elonye extrem hulyesegre: pl PC-t hozzakotsz soros porton (vagy USB-serial atalakito) es akkor teszt vagy mas jeleggel PC-rol sw-bol is lehet "vezerelni" az EP-t, kvazi. Mondjuk ertelme nem tudom van-e.
Amugy ha mar Dual Port RAM-ot akarsz beepiteni, lehet aztan uber szofisztikali, pl nem csak a B5 output-al indexelni, hanem mas porttal is ami pl kulso joy-hoz kell, vagy a mouse box strobe jelevel stb, es akkor aztan kvazi minden eger/joy/bill kombinacio lefedheto talan, eleg csak a DP ram-ot megfeleloen irogatni, ez kisse komplexebb megoldas, es talan dragabb is, de le lehet fedni vele sok mindent es idozitesi gond sincs mint sw-bol AVR-rel megprobalni.
Na most megyek a falnak ... :)
Az összes többit már te kavartad bele ... :)
a belso cuccra mar csak EP matrix poziciok alapjan menne uzenet hogy keyup keydown, stb)
Így se érthető ?
Hát most csak evvel tok szógálni az arra érdeklődőknek: :)
Aha, kisebb LED nem'vot? :)
Pia az micsoda?
Tudom, a lenyegre kerdezek ra ...
Igaz ez ?Igaz.
Aha, kisebb LED nem'vot? :) Pia az micsoda? Tudom, a lenyegre kerdezek ra ...Csak most látom a képet, de én is a LED-eken lepődtem meg, és whiskey-re tippeltem volna poénból, de úgy látszik, eltaláltam :-)
Igaz.
mert egyetértesz azzal, hogy az EP már felhúzta a drótokat)Így van, ezt csinálja az a színes IC az alaplap bal alsó sarkában.
Igaz ez?
Az jó, mert akkor kiírok a PORTx indánnevű portomra 0 -át, és akkor a DDRx nevű porton csak váltogatom hogy kimenet vagy bemenet legyen.
A PORTx kimenet esetében az értéket határozza meg, bemenet esetében pedig hogy legyen felhúzás vagy sem.
És mivel nekem nem kell felhúznom most (mert egyetértesz azzal, hogy az EP már felhúzta a drótokat) semmilyen esetben, ezért a PORTx fixen lehet nulla, vagyis bemenet esetén nincs felhúzás a biteken, kimenet esetében meg 0 a kimenet a biteken.
Konkrétan nem emlékszem hogy rövidzár vagy túláramvédelemről (is) olvastam volna,
de olyan komplex kimenetei vannak egy ilyen AVR -nek (datasheet -ben ott vannak az áramkörök), hogy meg lennék lepve ha rövidzárvédelem nem lenne bennük.
A ket eszkoz kozotti kommunikacio nem visz hibat a rendszerbe (a kritikus B5 valtozas, ra regalas csak a belso MCU dolga szigoruan!), max ha 9600 baudon csinalja az ember a kulso kommunikaciot akkor erezheto delay lesz a taszt lenyomasa es annak realizalodasa kozott, de nyilvan azert nem 9600 baud-dal kene nyomni feltetlen.Egyébként eleve a PC billentyűzet és annak protokolja (ami arra van kitalálva, hogy Gizike szép lassan pötyögi a betűket) már érezhető késleltetést visz a dologba, legalábbis a Tigrian féle cuccal jól érezhető volt, több programmal is kínszenvedés volt, mert nem lehetett olyan finom lenyomásokat produkálni, mint ami EP billentyűzettel nem gond.
Egyébként eleve a PC billentyűzet és annak protokolja (ami arra van kitalálva, hogy Gizike szép lassan pötyögi a betűket) már érezhető késleltetést visz a dologba, legalábbis a Tigrian féle cuccal jól érezhető volt, több programmal is kínszenvedés volt, mert nem lehetett olyan finom lenyomásokat produkálni, mint ami EP billentyűzettel nem gond.
Namost ha mindez igaz, akkor jönne a kérdés (hogy hol a rákban vannak ezek a nyákon :)), meg az igazi kérdés is, hogy az IC27 1 -es lába az meg egy RD0 nevű jel ... lehetne az is, hogy az ember csak az RD0 valamilyen éleire frissítgeti a 8 bitet az IC27 -en, mert igazából csak olyankor használják őket ?
Másik kérdés, hogy ez a WR0, RD0 jelek ezek már portra filtereltek, vagy pedig fütyülnek majd nekem minden port írásakor(olvasásakor), nem csak a b5/b6 portok bizergálásánál ?
csak nem tudod olyan gyorsan kiszolgalni
A B6 hogy jon ide? Az mar nem a WR1/RD1?
Valamint az IC26 -nál látok egy belső lábszámozást (megjelölést, mert betűk is vannak), az miért van ott külön, és miért nincs más IC -knél sehol ?
Az EP kapcsolása az ami ilyen RND sorrendben használja fel az egyes IC -k lábait,
vagy maguk az IC -k tervezői nem törekednek egy szép sorrendben történő lábkiosztásra ?
A rajzon alul a RESET az az igazi reset ? És hol a kapcsoló ? Mi az a CPU control bus ? Miért megy a reset e lolyan sok helyre ? Annak a z80 -hoz kéne mennie, oszt jónapot ...
IC30 -ból miért van kettő ?
Vagy pedig továbbra is hol a kapcsoló.
Oks, és akkor ez a reset ez már valami "kimeneti" reset a z80 -tól, és az "igazi" reset a kapcsolóval, az meg valami "bemeneti" reset a z80 -nak ?
Vagy pedig továbbra is hol a kapcsoló.
Nem bantasbol mondom, de nem sok kapcsrajzot neztel meg :)
Úgy is kérdezhetném, hogy ha én egy mcu -val reset -elni akarok,
akkor ezt a reset vonalat kell lehúzzam a földre (és az majd viszi a z80 -at meg mindent ami még ide nincs felrajzolva), vagy nemezt ?
A reset gomb a Davebe megy, az állitja elö a nyomkodástol független pillanatnyi resetjelet. Pcn és sok más gépen pl amig nyomod a reset gombot addig resetben van a gép. Ennek következménye, hogy pl megromlik a ram tartalom mert nincs frissités,stb. De azokon a gépeken nincs meleg reset, míg EPn van, ezért fontos a meghatározott csak pillanatnyi resetjel, függetlenül attol,hogy a felhasználó mit nyomkod.
Tökkjó, ha ti már értitek,
de akkó reszetelni hol (milyen ponton) és hogy (miféle jellel, fel/le, hogy időzítsem az mcu -val, stb.) köll ? :)
Tippelek, Dave RSTI bemenetet lehuzod a foldre,
Na az is egy külön művészet lesz, hogy azt a 22 -es lábat megtaláljam a nyákon ...
Hogy hívják angolul a felsővesszőt ? Sehol nem találom ...
Hát a minap tettem fel egyet, nincs látványra különösebb különbség:Na, ne szerénykedj, azért ez így már nagyon szép összképet mutat! :-) Köszi!
azért ez így már nagyon szép összképet mutat!
Az angol összevonásjelre ...
az apostrophe az gondolom ez: "
Én meg erre gondolok: '
Akkor ezek szerint az aposztrof megis :)
Valaminek kell 12V és FELFELE viszik a feszkót ?Te se szoktad sűrűn olvasni a hw topicokat :-)
A tápot meg lehet ismerni valahogy az EP nyákon ?Ha a +5V-ot keresed, akkor az ott van minden 74... IC jobb felső sarkán (azaz az utolsó lábán).
A földet ugye meg lehet, mert az olyan vastagabb drót ... tápnak nincs ilyen ismertetőjele ?
Ha nincs öszekötve a föld az EP -n és az AVR lapon (nyilván a hálózaton keresztül vannak összetestelve ilyenkor),Tud, a lehető legrövidebb úton legyen összekötve. Az alaplapon is ezért vannak plusz összekötések, pl a felső RAM panel sarkára a plusz drót.
az baj tud lenni ?
Tud ettől mindenféle zaj lenni a vonalakon ?
Én meg erre gondolok: 'És ez a 39-es vagy a 96-os karakter? :oops:
Szóval mivel kéne tesztelni sebességet szerinted ?Próbáld pl a FAFO menűjét (bár ezt lehet, hogy módosítottam a Tigrian cucchoz? vagy csak akartam? :oops: )
A FAFO -t azt ilyen néven találom az EP image -dzsen ?Alapvetően Zozotools :-) De múltkor már készült belőle betölthető külön .COM verzió.
Olyan, mintha csak egy fizikai kapcsoló lenne képes lehúzni a reszetet,
egy logikai alacsony kimenet az nem ... létezik ez ? Kellene valahova valamilyen ellenállás ? Vagy lehet hogy EP oldali átalakítás nélkül csak kapcsolóval, vagy valami erősítőelemmel (tranyó vagy mittomén) lehet ezt megoldani ?
A reset gomb jo oldalara kototted be?
csak kosd 1Kohm-os (vagy amennyi az EP-ben is van) ellenallasan at a +5V-ra, aztan nezd meg, hogy ugy le tudja-e huzni
Ha jól sejtem az a minimális idő ami alatt elküldi a billentyűzet a lenyomva/felengedve kódot, több mint amennyi az 1 pöccintéshez kéne.
I think is better to modify your Arduino keyboard project to assign the auxiliary keyboard keys on a game, to a button on a joystick. Almost every game have an internal joystick mode. Space is Fire1, but as you say, some programs or games need more buttons that are assigned to a key.
Mit gondoltok, van szerintetek olyan jaték, amelyiket nem lehet billentyűzetről játszani egyáltalán ?Én még nem találkoztam olyannal, igaz én a kontrollereket se szerettem, túl sok rajtuk a gomb :D, Quick Shotokon nőttem fel :D
És a billentyűzet alatt értem most (technikai okokból) a belső joy -t is ...
I'm only saying that is better to search for a lower goal in order to take impulse for connecting more complex controlers.
Your project is a great one if you find the way to replicate the keyboard contacts on the expansion port.
Then the project will be easily copied by other users. The trick to share those complex things is to make them easy for others. Then the information spreads itself.
The chinesse Arduinos work,
They only have a different driver(also chinesse), but after instaling you can program with the official Arduino software.
Flash memóriából 196KB, SRAM-ból pedig 24 KB található rajta.
Operációs rendszeréként a ViperOS RTOS funkcionál, aminek köszönhetően valós-idejű vezérlést igénylő feladatokra is fel lehet használni.
http://prog.hu/hirek/4068/itt-a-genuino-101-az-elso-intel-alapu-arduino-miniszamitogep
http://prog.hu/hirek/4071/intel-alapu-klont-kap-hamarosan-a-raspberry-pi-is