OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 15:33

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 30 ]  Přejít na stránku Předchozí  1, 2
Autor Zpráva
 Předmět příspěvku: Re: Emulace FDD na FPGA
PříspěvekNapsal: 09.10.2015, 13:38 
Offline
Kecálek

Registrován: 07.05.2014, 12:10
Příspěvky: 197
Bydliště: Jbc
Has thanked: 0 time
Been thanked: 39 times
46164/300 = 153 Byte/s = 1231 bit/s
Nebo neumim pocitat? Spis se nam tu motaji bity a bajty...

Kdyz mam analogovy signal, tak komparator (digitalni vstup) se preklopi pri dosazeni urciteho napeti. Pokud z tohoto signalu udelam digitalni 1-bitovy a jeste hrany zaokrouhlim s nejakym hrubym krokem, nikdy z toho nedokazu zrekonstruovat puvodni signal... Pak musim jit bud se vzorkovanim dostatecne vysoko (protoze informace tu je ulozena prave v hranach) nebo musim porozumet obsahu a ukladat jen ta data, ktera nesou informaci...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace FDD na FPGA
PříspěvekNapsal: 09.10.2015, 14:12 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
hynek píše:
46164/300 = 153 Byte/s = 1231 bit/s
Nebo neumim pocitat? Spis se nam tu motaji bity a bajty...

Kdyz mam analogovy signal, tak komparator (digitalni vstup) se preklopi pri dosazeni urciteho napeti. Pokud z tohoto signalu udelam digitalni 1-bitovy a jeste hrany zaokrouhlim s nejakym hrubym krokem, nikdy z toho nedokazu zrekonstruovat puvodni signal... Pak musim jit bud se vzorkovanim dostatecne vysoko (protoze informace tu je ulozena prave v hranach) nebo musim porozumet obsahu a ukladat jen ta data, ktera nesou informaci...


Hynku opravuji se. Mas pravdu s temi bity a bajty.

Jinak jestli Nobomi pise ze je odzkouseno vzorkovani na frekvenci 22 kHz tak bych to pro zacatek pouzil.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace FDD na FPGA
PříspěvekNapsal: 09.10.2015, 16:42 
Offline
Pan Štábní

Registrován: 11.11.2013, 10:29
Příspěvky: 1198
Has thanked: 359 times
Been thanked: 304 times
CMT: Pro mezeni a pokusy muzete zkusit nejaky soft pro PC, ktery vyuziva zvukovou kartu jako vstup a A/D prevodnik. Pustit treba TurboCopy, nahrat do nej nejaky program, dat save 3/1 a podivat se, jak to vypada. Urcite pujde i merit cas, atd.
Takhle se da 'vypiskat' cokoliv a zase to 'napiskat' zpet. A treba z notebooku, tabletu nebo telefonu. Suksofte: to by mel zvladnout i PIC/AVR nebo tak neco.
Jen, kdo to udela, ze?

_________________
Sharp MZ-800++, MZ-1500++, MZ-2500++, SM-B-80T, MK-14_replica, HP-85, ZX-80+replica, ZX81, ZX-Spectrum+replica++, PMI-80+replica, SAM coupe++, PMD-85-2A+3, Didaktik-M, SORD-M5, TI-57, TI-59+PC-100, TI99/4A, ZetaV2+ppp, ZX-uno, Petr


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace FDD na FPGA
PříspěvekNapsal: 11.10.2015, 17:24 
Offline
Kecálek

Registrován: 07.05.2014, 12:10
Příspěvky: 197
Bydliště: Jbc
Has thanked: 0 time
Been thanked: 39 times
suksoft píše:
Jinak jestli Nobomi pise ze je odzkouseno vzorkovani na frekvenci 22 kHz tak bych to pro zacatek pouzil.


Jen jeste upozornuji, ze tech 22kHz bylo zminovano ve spojitosti s analogovym signalem aspon 8 bitu... Takze prevod na format 1 bit/22kHz je docela dost ztratovy - a to v plnem vyznamu slova ;-)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace FDD na FPGA
PříspěvekNapsal: 11.10.2015, 22:42 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Nemuzu si pomoc ale nejak nevidim v nasem pripade rozdil. Jestli se z nejakeho zarizeni posle analogovy signal do READ vstupu kazetaku a tam se to "prozene" pres par obvodu tak stejne se na konektor T5 dostane jen log0 nebo log1. Zmena signalu nikdy nemuze prijit jindy nez kdyz je vzorkovani, coz je 22000/s. Muze tam byt nejake zpozdeni ale zmena signalu porad prichazi v konstantnim case.

Kdyz budu rovnou posilat data na T5 stejnou vzorkovaci frekvenci, tak docilim stejneho vysledku. Jen mam 8x mene dat. Posilat to tam analogove stejne nicemu nepomuze.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace FDD na FPGA
PříspěvekNapsal: 12.10.2015, 09:21 
Offline
Kecálek

Registrován: 07.05.2014, 12:10
Příspěvky: 197
Bydliště: Jbc
Has thanked: 0 time
Been thanked: 39 times
Pokud zpracovavam analogovy signal, ktery je pred vstupem do komparatoru stejne jeste upraveny nejakym filtrem, tak se hrana na vystupu komparatoru vygeneruje v zavislosti na casovem prubehu analogoveho napeti, tedy nejen v zavislosti na vzorkovani, ale hlavne na prubehu napeti. Takze casovani hran signalu, ktere bude analyzovano algoritmem LOAD, bude rozhodne jemnejsi nez 22kHz!
Pokud posleme digitalni signal se vzorkovanim 22kHz primo na digitalni vstup, tak budeme mit casove rozliseni jen tech 22kHz.
Pro rychlejsi signaly to mozna muze, ale take nemusi fungovat - dle pouziteho detekcniho algoritmu... Proto se casto resi ruzne detekce synchronnim zpusobem - prijimac se synchronizuje na rychlost dat - a to bych doporucil i u tohoto projektu... Zpetne vysilani muze byt klidne jinou (optimalni pro vysilani - tj. ne puvodni pri ukladani) rychlosti, protoze prijimac by se mel zas umet zasynchronizovat podle zavadeciho tonu... Nebo v pripade FDD tam je take nejaky zpusob zaveseni na zpracovavana data...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace FDD na FPGA
PříspěvekNapsal: 12.10.2015, 13:51 
Offline
Radil

Registrován: 08.10.2013, 18:00
Příspěvky: 296
Has thanked: 12 times
Been thanked: 228 times
suksoft píše:
Nemuzu si pomoc ale nejak nevidim v nasem pripade rozdil. Jestli se z nejakeho zarizeni posle analogovy signal do READ vstupu kazetaku a tam se to "prozene" pres par obvodu tak stejne se na konektor T5 dostane jen log0 nebo log1. Zmena signalu nikdy nemuze prijit jindy nez kdyz je vzorkovani, coz je 22000/s. Muze tam byt nejake zpozdeni ale zmena signalu porad prichazi v konstantnim case.

Kdyz budu rovnou posilat data na T5 stejnou vzorkovaci frekvenci, tak docilim stejneho vysledku. Jen mam 8x mene dat. Posilat to tam analogove stejne nicemu nepomuze.


Jak už píše jinými slovy Hynek, chyba ve Tvém uvažování je v tom, že zvuková karta ve skutečnosti nedělá jen vzorkování v přesném čase jako ten jednobitový komparátor. Zase jsme se dostali na téma, o kterém se dají napsat hordy skript a téma nebude vyčerpané, takže ve zkratce:

Pokud zvuková karta vzorkuje (návrhář karty chce, aby vzorkovala) 22k samplů za sekundu, moc dobře ví, že nesmí mít na vstupu frekvence větší než polovinu vzorkovací frekvence jak praví kolega Nyquist, tedy v tomto případě 11kHz, jinak nepůjde signál zrekonstruovat pomocí DA převodu zpět (respektive budou v něm parazitní "zrcadlové" frekvence, které v původním signálu nebyly). Metod jak toho víceméně dosáhnout je mnoho, nejjednodušší je filtr nějakého vyššího řádu přímo na vstupu převodníku tzv. anti-aliasing filtr. Stejně se tak dělá po D/A převodu, kde zase naopak vzniknou "zrcadlové" frekvence nad těmi 11kHz, ty se zase potlačují rekonstrukčním filtrem.

Zpět do kazeťákového vstupu a jeho komparátoru by signál přišel po absolvování célého tohoto řetězce a zachování detekovaných hran impulzů pak závisí na součinu fázových charakteristikách příslušných filtrů. Jinými slovy záleží na kvalitě zvukové karty, kterou se to bude pořizovat, když bude dostatečně kvalitní, musí při plném vybuzení vstupu těch 8bit a 22kHz i na rychlost 3:1 stačit. Škoda, že jsme se minuli na ByteFestu, mohli jsme udělat první veřejnou pitvu kazeťákového signálu a vyzkoušet to na skutečném železe přímo před zraky nevěřících laiků :)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace FDD na FPGA
PříspěvekNapsal: 13.10.2015, 01:14 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Kluci porad se mne pokousite presvedcit ze analogovy signal je lepsi nez primy digitalni. Ja rikam ze je to naopak. Vy mate pri stejne frekvenci vzorkovani horsi a degradovany signal. Snad se shodneme, ze kdyz propojite dva Sharpy krizene pres Write a Read + GND pres T5 konektor tak z jednoho muzete nahravat do druheho a naopak. A toto presne budu delat ja. Jen s tim rozdilem, ze to budu ukladat do pameti. Ja nechci vubec pouzivat nejaky analogovy signal a tak diskuse o analogovem signalu a jeho vzorkovani nas jen zdrzuje od rozumne prace. Pojdme radeji pohovorit o tom jak se muze zpozdit ci poskodit nahrany signal. Rikam ze pri vzorkovani 22000 vzorku/s je jeden vzorek (vzorek je jeden bit) za kazdych 45 us. To znamena ze se muzu dozvedet o zmene signalu maximalne o 45 us pozdeji. V nejhorsim pripade se signal muze zkratit nebo prodlouzit prave o tech 45 us. V pripade ze log0 nebo log1 trva dele nez nejakych 50 us tak ze o zmene stavu READ vstupu vzdy dozvim a muzu na to reagovat.

Prohlednul ten zdrojovy kod z odkazu co jsem jiz posilal
Speed1=551 ;rychlost 1/1 (rychlosti)
Speed2=311 ;rychlost 2/1 (podle Turbo)
Speed3=231 ;rychlost 3/1 (Copy)

a udelal jednu malou tabulku
tiku 551 311 231
CKMS (Hz) 1108375 1108375 1108375
frekvence (Hz) 2011,57 3563,91 4798,16
impuls (us) 497,12 280,59 208,41

Takze i rychlost 3/1 by mela byt bezproblemova. Short impuls ma delku 208 us a cteni je v 3/4 teto doby.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace FDD na FPGA
PříspěvekNapsal: 13.10.2015, 08:33 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 10:52
Příspěvky: 1669
Bydliště: Mliecna draha
Has thanked: 19 times
Been thanked: 124 times
Mal by si pravdu keby zvukovka samplovala digitalny vstup.

Ale to neroby a to je vec na.ktoru chalani upozornuju

_________________
Amiga 600 + a602, Amiga 600 PCB only, Commodore 64+ZZ-RAM V1.0 512k+C1541(18k RAM)+sd2iec +9.600 Rs232, Commodore 116 + 64k upgrade, ZX 81 ISSUE1 + ZX81XRAM

http://zz-indigo.mavipet.sk/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace FDD na FPGA
PříspěvekNapsal: 13.10.2015, 09:52 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
zz_indigo píše:
Mal by si pravdu keby zvukovka samplovala digitalny vstup.

Ale to neroby a to je vec na.ktoru chalani upozornuju


Co je to za nesmysl. Na konektoru T5 je digitalni signal. Proc se porad nekdo chce bavit o analogovym signalu? Ja nebudu samplovat zadny analogovy signal. Pojdme se bavit o tom jak vypada signal z kazetaku jaky ma tvar a casovani, to je prinosne.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace FDD na FPGA
PříspěvekNapsal: 13.10.2015, 12:08 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 10:52
Příspěvky: 1669
Bydliště: Mliecna draha
Has thanked: 19 times
Been thanked: 124 times
suksoft píše:
zz_indigo píše:
Mal by si pravdu keby zvukovka samplovala digitalny vstup.

Ale to neroby a to je vec na.ktoru chalani upozornuju


Co je to za nesmysl. Na konektoru T5 je digitalni signal. Proc se porad nekdo chce bavit o analogovym signalu? Ja nebudu samplovat zadny analogovy signal. Pojdme se bavit o tom jak vypada signal z kazetaku jaky ma tvar a casovani, to je prinosne.


Pokial som to spravne pochopil samplovat ches zvukovkou a pre tu je analogovy signal vsetko aj vystup z 7400. A vstupne filtre ti dodrbu hrany. (Co ale nemusi vadit.) Ale musis sa ktomu spravat ako k analogovemu signalu.

p.s. Pri digitalnych signaloch sa snimkovanie robi inak. Bud na zaklade nejakeho zdroju casu alebo detekciou hran. (Dobrim prikladom je ako sa detekuje signal RS232, ci ako funguju logicke analyzatory.)

Ale nebudem ta rusit v tvojom uvazovani.

_________________
Amiga 600 + a602, Amiga 600 PCB only, Commodore 64+ZZ-RAM V1.0 512k+C1541(18k RAM)+sd2iec +9.600 Rs232, Commodore 116 + 64k upgrade, ZX 81 ISSUE1 + ZX81XRAM

http://zz-indigo.mavipet.sk/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace FDD na FPGA
PříspěvekNapsal: 13.10.2015, 13:13 
Offline
Pan Štábní

Registrován: 11.11.2013, 10:29
Příspěvky: 1198
Has thanked: 359 times
Been thanked: 304 times
suksoft: Mas pravdu, na T5 je uz digitalni signal, ale stejne ho jeste LS14 upravi, protoze je to Schmitt-trigger. Takze v pripade analogoveho signalu dojde k jeho uprave. To je na vstupu a na vystupu je digitalni signal jak Brno vzdy. Jestli ho kazetak upravuje, aby lepe zapisoval na mag. pasku mi je fuk. To me nezajima.
Myslim, ze az tak moc na tvaru signalu z kazetaku nezalezi. Dulezity je rozdil mezi 0 a 1 a cas. Takze bych se opravdu drzel toho, co rikas.
Pri rychlosti zaznamu (a matne si vzpominam, ze max rychlost je) 2400Bd, 5 vzorku na jedem bit by melo stacit. To je cca 12kHz ve smycce na to, aby se dalo docela spolehlive cist.
Tak, a ted se bavime o emulatoru CMT, ze?
Pokud by emulator CMT chtel cist presneji, musel by vzorkovat casteji. Dela se to tak, ze citac cita treba 100kHz a zaroven prichazi preruseni pri kazde zmene urovne 0->1 a 1->0. Pri zavadecim signalu se zmeri delka odpovidajici 0 a druha pro 1. No a mam vse co potrebuji, pri kazdem preruseni rozhodnu a) k jake doslo zmene, b) jak dlouho to trvalo a za c) resit ruzne chyby (kratky pulz, zmenu delky pulzu). A za d) muzu analyzovat data a (nejakou stavovou masinou) resit, co jsem precetl a kam to patri. Tohle zvladal PIC/AVR na 4MHz. a jeste se u toho 'dloubal v nose'. A to jsem takto analyzoval data, ktera prichazela rychlosti 125kHz.

_________________
Sharp MZ-800++, MZ-1500++, MZ-2500++, SM-B-80T, MK-14_replica, HP-85, ZX-80+replica, ZX81, ZX-Spectrum+replica++, PMI-80+replica, SAM coupe++, PMD-85-2A+3, Didaktik-M, SORD-M5, TI-57, TI-59+PC-100, TI99/4A, ZetaV2+ppp, ZX-uno, Petr


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace FDD na FPGA
PříspěvekNapsal: 13.10.2015, 22:19 
Offline
Radil

Registrován: 08.10.2013, 18:00
Příspěvky: 296
Has thanked: 12 times
Been thanked: 228 times
suksoft: Ok, od začátku píšeš, že chceš zaznamenávat jen 0/1, chápu. Cesta z pohledu HW nemůže být čistější, nepopírám, ale osobně bych ji stejně opustil.

Proč se kvůli náhradě kazeťáku pokoušet o nějaký s ničím nekompatibilní systém, když každej z nás nosí v kapse zařízení, které umí přehrávat WAVy (mnohé i nahrávat) s vysokým uživatelským komfortem, stačí jen šňůra jack-jack, píchnout zezadu do Sharpíka a jedu ? :)

Analogové připojení na zadní konektory v Sharpovi mi přijdou vhodnější pro připojení než konektor někde uvnitř, takové zařízení by se dalo použít obecně pro libovolný komp s připojením na kazeťák.

Líbilo by se mi něco s SD kartou a pár řádkovým diplejíkem, dvě tři tlačítka, kde si navolím co chci přehrát, a nebo když to detekuje nejaký pohyb na zápisu, tak vytvoří nový soubor a dokud se něco děje, bude do něj zapisovat.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace FDD na FPGA
PříspěvekNapsal: 13.10.2015, 23:29 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Nobomi co vim tak presne toto delas v Unikarte. Mozna by bylo vhodne udelat aktualizaci dokumentace. To je ted slabina Unikarty. Proto na OCP vetsina lidi chtela (ze srandy) od Martin8bity pristup na jeho soukromy mail aby si tam mohla precist co vlastne vse je mozno pouzit :-). Vim ze udelani dokumentace je az posledni prace na projektu ale bez ni ani nevime co mame jak pouzit.

Muj cil je uplne jiny a jeden z castecnych cilu je emulovat realnou mechaniku QD. Duvod je prosty, ma zivotnost jen 2000 prehrani. Chapu ze ostatni chteji pouzivat emulovany QD v Unikarte ale nevidim zadny duvod proc bych nemohl pouzit realny radic QD a k tomu mit pripojene nejake udelatko co bude simulovat mechaniku. Protoze mam doma vetsinu veci co k tomu budu potrebovat tak to bude pekna zabava.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace FDD na FPGA
PříspěvekNapsal: 14.10.2015, 00:56 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Mikes21 urcite bude vhodne pro zacatek vybrat nejakou frekvenci vzorkovani. Jedna co by se pekne pocitala by byla 20000 vzorku/s. Jeden slot by mel sirku 50 us. Jedna sekunda by se vesla do 2500 bajtu. Napr. bezny Short signal dle originalniho manualu je v log1 po dobu 240 us a v log0 po dobu 278 us. Tak program v Turbo Pascalu by dokonce byl schopen pripravit data primo uvnitr pocitace Sharp. Fungovalo by to trivialne. Program by pocital zda uz uplynula doba kdy se ma prepnout na druhy stav a kdyz by to udelal tak by vzal v uvahu zda neprepnul pozdeji a vyrovaval by pripadne nepresnosti. Dam priklad, pro Short by program dal na 5 slotu log1, dalsi uz by dal log0 a pocital by ze ma deficit -10 us. To je cas kdy to spravne mel udelat. Pak by jeste nasledovalo 5 slotu s log0. Dalsi by byl v log1 a deficit by byl -32 us. Cele by se to pocitalo jako cele cislo a tak by to bylo mozne dokonce udelat v assembleru ale hlavne by to bylo rychle.

Umim si predstavit program pod CP/M co by mel nazvy tri MZF programu jako parametry. Ty by spojil a dal mezi ne 3 s mezeru. Data by prekonvertoval a asi ulozil do flash. Nasledne by se udelal reset pocitace a spustil sw obsluhu magnetofonu z romky. Pak by postupne nahral loader, obrazek a vlastni program.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 30 ]  Přejít na stránku Předchozí  1, 2

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 2 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz