Hírek:

Fontos tudnivalók a migrációval kapcsolatban, Kérlek nézd meg a Régi fórumról új fórumra való költözés

Main Menu

Elektronika

Indította gaben, 2025 február 03, 18:18

Előző téma - Következő téma

keri

Azért kérdezem tőled, hogy NEKED mi az elképzelésed, mert szemmel láthatólag más az elképzelésünk, és szeretnélek megérteni.

De kérlek, ezen ne múljon. Azon felül hogy a hangkártyás leírásnál már leírtam, elmondom csak a megszakítás kezelő dolgát:
 A megszakítás kezelő annyit tesz, hogy egy benne beállított esemény bekövetkezése esetén, felfüggeszti (megszakítja) az aktuálisan futó programot, és elindít egy adott eseményhez rendelt programot.

Időzítésre csak úgy lehet használni, ha van olyan eszközöd ami a megfelelő időben megszakítást generál.
486-osban nincs ilyen, csak ha külön kártyán belerakod. Mikrokontrollerekben van, mert azok komplett számítógépek egyetlen chipben.

Intel procik megszakítás vezérlője valóban figyelemreméltóan komplex, míg a PIC csupán egyetlen megszakítást kezel, és szoftverből processzor időből kell megoldani a megszakítás lekezelését, amit az intel prociknál egy külön megszakítás kelező egység végez, ezzel is tehermentesítve a processzor logikai magját.

keri

időzítő lépést minden 1000-ik órajel impulzusra kell generálnod a megszakítás kezelővel...

ezt is leírjam?

4ybj8h3c8

Ez a vezérlési probléma alapvetően ott lett elcseszve szinte az összes programnál, MACH-nál is, hogy mindenki egy meglévő, alapvetően nem erre kitalált perifériát buzgerál, ahelyett, hogy fejlesztettek volna egy használható szoftvert egy használható bővítőkártyával ami tojik az alapgépre, megkapja a nem túl sok adatot és kiszámol magának mindent ami a pontos működéshez kell. Amíg a MACH számolgat és küld addig rossz lesz és az is marad.

544if3hez

Igen.

 De miért is foglalkozzak ezzel?

"időzítő lépést minden 1000-ik órajel impulzusra kell generálnod a megszakítás kezelővel..."

"Mondjuk órajel*1000 időközönként?" na most melyik? Nem ugyanaz.


Ok ezt értem számolnom kell az órajelet és minden 1000-ik után egy megszakitásjel, kinek kell ezt jelezni?
Miért van szükség erre? Mi a cél?

De miért is foglalkozzak ezzel? Mert nem az volt az eredeti téma.

000000000

A hangkártyára kitérve azért komolyabb dolgokat is lehet csinálni azzal.
Például mikor nagyba nyomtuk a rádiózást természetesen semmi legális ! [#eplus2]
Akkor 192KHz-es mintavátelezésű studió kártyával ment a MPX jel generálása plusz RDS és egyéb nyalánkságok.
Így nem kellet megvenni az Orban vagy Omnia kódolókat és hang processzorokat 2-3 millióért használtan az agybajról.
Természetesen ez is windows alatt ment , de létezik linux alá is.
Egyszer nem állt meg a dolog, mondjuk volt is alatta egy i3 proci 3GHz feletti órajellel [#nevetes1]
Voltak is kint a hatóságok, aztán kicsit elbeszélgetünk.
Mondta az ember, hogy jobban jött mint a helyi szentfazék rádió [#nevetes1]
Nem akartam lelőni a poént miért is volt így [#papakacsint]

keri

Ez így van.
Hozzáteszem, ez a DOS-os időkben sufniprojektként indult abban a korban amikor még 4darab BC303-as tranzisztort rátettem a printerportra, és azon keresztül mozgattuk a fa vázas, fiók sínes gépeinket, és alapvetően a MACH is erre a feladatra készült, nem arra hogy drága gépeket kiszolgáljon.

Ezen felül van lehetőség kiegészítő periféria használatára, csak akinek ez az igénye annak megmaradt az LPT vezérlés.

keri

Nem kötelező, csak ha érdekel hogy működik.

Egyébként igen, nagyon jó a megoldásod.
Számolni kell az órajelet, egészen 1000-ig.
És mi számol? Kell egy számláló áramkör a procin belül, ami elszámolgat magában, és ezernél jelzi a processzornak hogy lejárt az idő. Na ilyen nincs a 486-ban.
Ezért csak azt tudod csinálni, hogy a proci számol. Viszont ha minden egyes órajelet meg akarod számolni, az 100%-ban lefoglalja a processzort, hiszen minden egyes utasítás sorban növelni kell a számláló tartalmát 1-el.

Persze nem muszáj minden órajelet megszámolni, de akkor meg két számolás közötti utasítások végrehajtási ideje befolyásolja a számlálás pontosságát, tehát csak addig lesz pontos míg fix az órajel, és fix a végrehajtandó utasítások száma, és fix a végrehajtási ideje.

544if3hez

Még mindig nem tudom mi a célod. De miért kell a procival számoltatni?

keri

Vannak már olyan A/D konverterek amik direktben digitalizálják a KF jelét, és ott történik a szűrés, demodulálás ideális algoritmusokkal kiküszöbölve az analóg technika korlátait.
Vicces, hogy közönséges gagyi USB tunernak árulják, de megfelelő szoftverrel igazi mindenevő amatőr vevő vagy spektrum analizátor is lehet.

000000000

LPT el kell felejteni ugyanúgy az USB-vel együtt !
LPT elavult nehézkes és már csak valamit rátákolnak az alaplapokra, hogy mégis legyen rajta.
USB meg nem ipari környezetbe való, megdöglik a kommunikáció egy kicsit nagyom EMP-től.
A LAN az egyedüli alternativa mint sebességben mint stabilitásban zavarvédettségben.
Ott meg aztán tök mindegy mi hajtja.
Például nem messze egy vállalkozó srácnak építettünk anno egy böszeme marógépet.
Bagyánszki Zsolti csinálta a mechanikát én az elektronikát.
Valami elcseszett USB-s vezérlő lett rátéve ami aztán kukázva is lett mert használhatatlannak mutatkozott mit CNC vezérlés.
Aztán rendelt hozzá LAN-os vezérlőt ami már Mach4-el megy azóta is gyártanak vele probléma mentessen.

keri

Semmi gond. Bonyolult dolgok ezek, és nincs rá szükséged.
Elég annyit megértened, hogy nekem van igazam [#integet2]

000000000

Ismerem nekem is van néhány belőlük.
24-1800MHz-ig mindet lehet vele hallgatni, lehalhatni [#papakacsint]

keri

csalódtam is volna benned, ha nem ismernéd ezeket :)

544if3hez

Egy 100 MHz-es 486-nál igen sűrűn kapnád a szoftveres megszakitást ami terhelné de ha fizikai eszköz figyeli és az adja a megszakítást.. De még midig jóvolna tudni miért akarod számolni az órajelet.. vagy a Pc számláló tartalmát lekapod majd annak a tartalmát figyeled  hogy mikor lesz nagyobb 1000-l. De megint csak jön a kérdés mit akrsz ezzel? Így csak ötletelek..

544if3hez

Értem szóval mi kis "buták" nem értenénk a magasröptű gondolatidat..
Legyen.. Neked van igazad,  ha az örömet okoz neked..)