OldComp.cz
http://oldcomp.cz/

Emulace FDD na FPGA
http://oldcomp.cz/viewtopic.php?f=136&t=3157
Stránka 22

Autor:  hynek [ 09.10.2015, 13:38 ]
Předmět příspěvku:  Re: Emulace FDD na FPGA

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...

Autor:  suksoft [ 09.10.2015, 14:12 ]
Předmět příspěvku:  Re: Emulace FDD na FPGA

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.

Autor:  Mikes21 [ 09.10.2015, 16:42 ]
Předmět příspěvku:  Re: Emulace FDD na FPGA

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?

Autor:  hynek [ 11.10.2015, 17:24 ]
Předmět příspěvku:  Re: Emulace FDD na FPGA

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 ;-)

Autor:  suksoft [ 11.10.2015, 22:42 ]
Předmět příspěvku:  Re: Emulace FDD na FPGA

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.

Autor:  hynek [ 12.10.2015, 09:21 ]
Předmět příspěvku:  Re: Emulace FDD na FPGA

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...

Autor:  nobomi [ 12.10.2015, 13:51 ]
Předmět příspěvku:  Re: Emulace FDD na FPGA

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ů :)

Autor:  suksoft [ 13.10.2015, 01:14 ]
Předmět příspěvku:  Re: Emulace FDD na FPGA

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.

Autor:  zz_indigo [ 13.10.2015, 08:33 ]
Předmět příspěvku:  Re: Emulace FDD na FPGA

Mal by si pravdu keby zvukovka samplovala digitalny vstup.

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

Autor:  suksoft [ 13.10.2015, 09:52 ]
Předmět příspěvku:  Re: Emulace FDD na FPGA

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.

Autor:  zz_indigo [ 13.10.2015, 12:08 ]
Předmět příspěvku:  Re: Emulace FDD na FPGA

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.

Autor:  Mikes21 [ 13.10.2015, 13:13 ]
Předmět příspěvku:  Re: Emulace FDD na FPGA

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.

Autor:  nobomi [ 13.10.2015, 22:19 ]
Předmět příspěvku:  Re: Emulace FDD na FPGA

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.

Autor:  suksoft [ 13.10.2015, 23:29 ]
Předmět příspěvku:  Re: Emulace FDD na FPGA

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.

Autor:  suksoft [ 14.10.2015, 00:56 ]
Předmět příspěvku:  Re: Emulace FDD na FPGA

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.

Stránka 22 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/