Kluci nejdrive ukazu jake veci mam v tabulkovem kalkulatoru ohledne CMT pro MZ800 a MZ80B:
mz800
cas log0 plus cas log1 1482
prumer na jeden bit 741
zapis 9 bitu pro jeden bajt 6669
8 bitu = 1 bajt 833,63
1 sekunda 1000000
baudu 1199,58
bitu / sekundu 1349,53
cas kdy cist stav (us) 379
vzorec =+240+278/2
log0-high 240
log0-low 278
soucet 518
log1-high 470
log1-low 494
soucet 964
-----------------------------
mz80b
cas log0 plus cas log1 999
prumer na jeden bit 499,5
zapis 9 bitu pro jeden bajt 4495,5
8 bitu = 1 bajt 561,94
1 sekunda 1000000
baudu 1779,56
bitu / sekundu 2002
cas kdy cist stav (us) 250
vzorec =+167+166/2
log0-high 167
log0-low 166
soucet 333
log1-high 333
log1-low 333
soucet 666
-----------------------------
Michale baud je definovan jako pocet symbolu za sekundu. Mysli se prumerna rychlost. Ma to logiku, kdyz jeste se prenasel telegram pomoci morseovky, tak puvodne se rikala rychlost "slov za minutu". To ale bylo v roce 1926 upresneno a lepe definovano na pocet "symbolu za sekundu". Jak pises, my mame dva symboly 'short' a 'long' a prave "uzitecny" prumer je pro MZ800 tech 1200 baudu. Dulezite je si uvedomit ze kazdy telegram je jedinecny (ma jiny obsah) a proto cas prenosu z mista A do mista B neni nikdy (skoro) stejny. Stejne jako kazdy program ma jiny obsah a proto jeho ulozeni trva jinou dobu.
Jinak obecne je vhodne aby signal byl v log1 stejne tak dlouho jako v log0. Pro MZ80B je to zajisteno a tak stredni hodnota na spojovacim kondenzatoru je stale stejna a nemuze dojit k tomu ze se pomalu nabije a prestane prenaset signal. Problem je ale slozitejsi a strasne zalezi na tom jak je zapojeny kazetofon. Napr. interni kazetak nema zadny kondenzator v ceste a tak tam problem neni. Pro format MZ800 v log0 zustava dele a tak na strane Sharpa pro ExWrite je zajisteno ze kondenzator ma snahu se vybijet.
Jinak zajimave jit do historie. Pro MZ80B (MZ2000,MZ2500) se rika ze ma 2Kb/s a to je opravdu prumerna rychlost zmen na vystupu do kazetaku. Ale v jinych manualech se pak pouziva pojem 1800 baudu. Pisi to proto ze az nekdo bude lustit v japonstine manualy, tak at vi jak se k tomu doslo.
Fery veta "Ak v datach su same nuly, moze to teoreticky vystupat takmer na dvojnasobok oproti suboru so samymi jednotkami." neni spravne. Je to presne opacne. A z toho vyplyva, ze jestli nekdo bude delat nejakou kompresi tak idelani je mit co nejmene jednicek ve vysledku.
Kdyz se jeste vratim k tomu pojmu 1200 baudu, tak je nutno rici ze je to pocitano z prumeru ale v realite to neni prumer, protoze zapsany bajt vzdy zacina 'long' a ten je delsi nez nez 'short' nebo 'prumer'. Proste statisticky by se melo radeji rici ze mame 1161 baudu.
5928 8xprumer
964 1xlong
6892 celkem
861,5 /8
1160,77 baudu
Radek
p.s. Toto je idelani tema pro akci Talsky mlyn.
Snazim se vytvorit nejake kompendium o logickych a fyzickych CMT formatech. Nicmene stale mi unika zpusob jakym se vlastne urcuje baudova rychlost. Definice rika, ze se jedna o pocet zmen signalu za sekundu....
Analogovy format:
===============
Hodnota < 0 reprezentuje logickou uroven "1". Hodnota >= 0 reprezentuje hodnotu "0".
Fyzicky format pulzu:
=================
Rozlisuje dva typy "slov" Long Pulse a Short Pulse, ktere se skladaji z logickych urovni "1" a "0".
Zakladni Sharp format definovany servisnim manualem ma Long Pulse: 470 us ve stavu "1" a 494 us ve stavu "0" (celkem 964 us). Short pulse: 240 us v "1" a 278 us v "0" (celkem 518 us).
Dale je v komentovanem vypise uvedeno, ze readpoint je situovan 379 us od vzestupne hrany.
1200 baudu?
Jak uz bylo receno, tak baudova rychlost definuje pocet zmen v modulovanem signalu za 1 sekundu. Mam tomu rozumet tak, ze Long Pulse i Short pulse je slozen ze dvou zmen (vzestupna a sestupna hrana)? V nasi definici slov jsme schopni za sekundu prenest bud 1930 Short "0" bitu, nebo 1037 Long "1" bitu. S poctem zmen signalu se tato cisla vynasobi 2x.
===========
V definici Bd je uvedeno, ze u starych zarizeni platilo, ze 1 Bd = 1 bit, nicmene u novych zarizeni je pocet bitu na 1 Bd vyssi (chapu, ze napr. modemy dokazi rozlisovat zda napetovy pulz sel nahoru, ci dolu a nebo to o kolik mV se signal zmenil a tim tedy kodovat do prenosu vice informaci, nez jen 0 a 1). Predpokladam, ze Sharp samozrejme spada do kategorie techto starych zarizeni a tato definice pak navadi k tomu, ze "pocet zmen" neodpovida skutecnemu poctu napetovych zmen, ale "poctu informacnich zmen" ... Stale vsak se takto nedoberu k hodnote 1200 Bd.
Aritmeticky stred poctu Long a Short za sekundu je 1483.
Aritmeticky stred delky Long a Short pulzu je 741 us ... 1 / 0.000741 = 1349 (tim jsme zatim k tem 1200 Bd asi nejblize).
Podstatnou slozkou prenosu je ten vyse zminovany read point ze ktereho plyne, ze je vzdy dulezite presne dodrzet delku te prvni casti pulzu, zatimco druha polovina muze byt vlastne libovolne dlouha.
Vlastne v tuto chvili moc dobre nechapu duvod, proc Long Pulse a Short Pulse nemaji tu druhou polovinu pulzu stejne dlouhou?
Vychazime-li z toho, ze 1 Bd = 1 bit, tak je rychlost urcena delkou doby po ktere nasleduje read point + delkou read pointu + nacitenim klidove casti pulzu, coz by melo byt zhruba stejne jako je readpoint.
Vime, ze Short Pulse trva 518 us po odecteni read pointu nam zbyva 139 us, pricemz neco z toho jeste musi byt rezerva...
1 / 1200 = 833 us
Znate nekdo nejaky oficialni vzorec, ktery by mne z techto hodnot dovedl k tem 1200 Bd?
Mereni:
=======
Intercopy 10.2 umi m.j. po nacteni hlavicky programu vypsat informaci o Bd.
Udelal jsem na Sharpu nejaka mereni. Ulozil jsem vzdy stejny soubor z ROM, Turbo Copy a v Intercopy - CMT vystup jsem nahral do WAV a pak jsem to nacital a meril v Intercopy 10.2.
Zaroven jsem mel na vystupu z 8255 pripichnuty logicky analyzer a pri SAVE jem meril delky pulzu. Nize uvedena hodnota Bd je to, co mi o tom zaznamu rekl Intercopy, kdyz jsem se to snazil z tech WAV zpatky nahrat:
ROM 1/1: 1152 Bd, Long: 469 us / 487 us, Short: 238 us / 259 us
(Delky pulzu z Turbo Copy byly dost rozlitane - snazil jsem se udelat nejaky prumer)
TC 1/1: 1152 Bd, Long: 497 us / 497 us, Short: 250 us / 245 us
TC 2/1: 2043 Bd, Long: 282 us / 283 us, Short: 141 us / 139 us
TC 3/1: 2756 Bd, Long: 208 us / 206 us, Short: 105 us / 104 us
(Delky pulzu z Intercopy byly vetsinou velice presne - je videt, ze Marek odvedl precizni praci)
IC 1200: 1149 Bd, Long: 470 us / 495 us, Short: 235 us / 264 us
IC 2400: 2262 Bd, Long: 235 us / 260 us, Short: 114 us / 139 us
IC 2800: 2701 Bd, Long: 177 us / 224 us, Short: 88 us / 125 us
IC 3200: 2945 Bd, Long: 178 us / 223 us, Short: 88 us / 124 us
Formaty:
=======
Marek ma v Intercopy 10.2 uveden normalni MZ format, ktery tam disponuje rychlostma 600, 1200, 2400, 2800 a 3200.
Dale tam ma CP/m format (program tape), ktery ma mozne rychlosti 1200, 2400, 2800, 3200 a 3600.
Vzdycky jsem si myslel, ze cp/m tape a sharp format jsou identicke, akorat ze cp/m je nativne v rychlosti 2400. Ten rozdil v maximalni rychlosti vsak naznacuje, ze je to mozna jinak. Vite o tom nekdo neco?
Je mozne, ze tape.com podporuje vice typu fyzickych, ci zaznamu. Kazdopadne pokud v Intercopy ulozim jeden a ten samy soubor v Normal 2400 a v CPM 2400, tak pri zpetnem nacitani to Intercopy umi rozlisit a u kazdeho pak napise bud Normal, nebo cp/m.
Michal
_______________________________________________ SharpMZ mailing list SharpMZmail.ordoz.com http://mail.ordoz.com/mailman/listinfo/sharpmz
Vlákno · 6 zpráv
- [SharpMZ] CMT - jak se pocita baudova rychlost?
- Re: [SharpMZ] CMT - jak se pocita baudova rychlost?
- Re: [SharpMZ] CMT - jak se pocita baudova rychlost?
- Re: [SharpMZ] CMT - jak se pocita baudova rychlost?
- Re: [SharpMZ] CMT - jak se pocita baudova rychlost?
- Re: [SharpMZ] CMT - jak se pocita baudova rychlost?