Floppy - protokol transmisji

Jul 10, 2006 28 Replies

Witam szanowne grono!



Ktos tu ostatnio marudzil, ze "nuuuuuuuda panie w elektronice". No to chcialem zadac pytanko, moze ktos bedzie mogl mi pomoc. Od razu uprzedzam ze elektronika (i to zdecydowanie czesc cyfrowa) to bardziej moje male hobby niz zawod, ktoremu poswiecam sie od niedawna, wiec nie bijcie jak pytanie zbyt lamerskie i wybaczcie moze czasem zupelnie elementarne braki w wiedzy. No ale do rzeczy. Chce zrobic sobie stacje dyskietek na ATmega + EEPROM. Zalozenie - podpinam do tasiemki w kompie i widac ja jako standardowa stacje. Mam juz caly pinout, jednak nie potrafie nigdzie na necie znalesc sposobu transmisji danych. Chodzi mi tylko o przesylanie danych odczytywanych/zapisywanych. Wybor glowicy, sciezki itp rozumiem i tu nie ma problemu. Jakby byl ktos tak mily i podeslal linka do dokumentacji jesli gdzies na taka sie natknal, bylbym wdzieczny :)



pozdrawiam!


nie moze to byc chyba skomplikowane, kiedys w Elektorze byl opis "krzemowej" stacji dyskietek, wlasnie jako zamienika dla FDD3.5... tylko nie pamietam ,czy przypadkiem nie uzyli ISA do tego.. tak czy inaczej ,byla on widzialna w systemie jako dyskietka

no to trzeba poszukac o kodowaniu MFM, opis kontrolera uPD765. Ogolnie trzeba sie liczyc ze strumieniem danych na poziomie 125, 250 i 500kbps, wydzielic zegar, dane sa kodowane w MFM, maja okreslona strukture... a na sieci naprawde duzo jest materialow o FDD i strukturze zapisu... Najrozsadniejsza strategia wydaje sie byc sprawdzanie sygnalu INDEX generowanego dla kazdego pelengo obrotu nosnika, wczytac (prawdopdobnie nadprobkujac - wachania predkosci obrotowej dysku) cala sciezke do bufora i potem programowo wydzielic zegar i zdekodowac strukture. Polecam popatrzenie na procedury dekodowania i enkodowania w Amidze (kontroler FDD jest programowy)

U¿ytkownik "ToTylkoJa" snipped-for-privacy@bez.tego.interia.pl> napisa³ w wiadomo¶ci news:e8suon$flr$ snipped-for-privacy@atlantis.news.tpi.pl...

Ze stacj± dysków to mo¿na wiele (np. zagraæ "wlaz kotka" ;-) g³owicami) Z tego co pamiêtam trzeba by³o odczytywane bajty xorowaæ z jak±¶ tam liczb±.... ale to dawno by³o.

[ciach]

Mało że nie pomogę to raczej zniechęcę, ale jak samemu chciałem kiedyś podłączyć FDD do '51 to wychodziło że to nie takie proste. Już łatwiej podłączyć HDD czy CD-ROM w standardzie ATAPI. Kiedyś do obsługi FDD używano specjalizowanego kontrolera WD-1772 (czy może WD-1770) który odczytywał z danych szeregowych z FDD właściwą informację. Czy można w prosty sposób zrobić to programowo nie wiem. Ale może kto inny podpowie bo sam jestem też ciekawy czy w sposób programowy można zrobić transmisję od/do FDD

MArek

Dokladnie. Zajrzyj do archiwum - temat sie pojawial.

A raczej nie zagladaj - pomysl o USB. USB jest i jeszcze trochje bedzie, floppy beda zanikac .. po co komu dzis dyskietki ?

Kolega chce stacje udawac, co odwraca zagadnienie. Transmisja do kompa jest stosunkowo prosta, choc wymaga naprawde szybkiego procka, jako ze bity trzeba zmieniac ... juz nie pamietam, ale cos kolo 1us. Moze sie uda jakis interfejs szeregowy zrobic. No i pamiec - komputer czyta calymi sciezkami, wiec musimy miec z 10KB do dyspozycji.

Odbior z kompa tez jest teoretycznie mozliwy, ale wymagania predkosciowie wzrastaja kilkukrotnie, bo trzeba sie dosynchronizowac do strumienia danych.

J.

Wiesz, az tak bardzo skomplikowane to to nie jest, wsadzasz FPGA i zrobisz. Tylko pytanie po co probowac - sa prostsze, lepsze i z przyszloscia sposoby.

J.

ano sa takie zastosowania. Nie chodzi tu o PCty. Mam system, ktory startuje z dyskietki (to tylko terminal) i nie ma innej mozliwosci. A dyskietki awaryjne no i kup tu chlopie dyskietke 5 1/4"

no to pogarsza sprawe, pewnie podnosi koszty, ale powalcze, moze sensownie da sie to jakos zrobic

Dzieki wszystkim za sugestie!

Komputer nie musi czytac sciezek - potrafi czytac wybrane sektory problem ze przy implementacj programowej trudno zrobic separator, dekodowac MFM i analizowac znaczniki - choc pewnie majac w uC z 20 MIPS daloby sie to zaimplementowac...

... Ale wykonalne! 20 lat temu zrobili¶my to dla stacji 5 1/4" i procesora Z-80 - dane zapisywane na dyskietce przez uP, odczytywane na PC - chodzi³o bez zarzutu.

A do autora w±tku: Jednak dwie przeprowadzki, zmiana pracy oraz sza³ porz±dków i wyzbywania siê papierów i gratów spowodowa³y, ¿e nie ma po tym ¶ladu :((((( Niestety w g³owie tak¿e "tabula rasa", a g³ówny wykonawca siedzi gdzie¶ w USA. Jedyne co pamiêtam: tworz±c protokó³ korzystali¶my z jakich¶ materia³ów Intela, ale nie mam pojêcia z jakich. Jednak nie zniechêcaj siê, bo jest to mo¿liwe do zrobienia.

Najsensowniej to zgrac dyskietke sciezka po sciezce (wykorzystujac sygnal INDEX) i potem odtwarzac tez cale sciezki...

Nie wiem jak z kupnem, ale ode mnie mo¿esz dostaæ 10 szt. - le¿± i zajmuj± miejsce, w³a¶nie zamierzam je wyrzuciæ.

Nijak nie wiesz co komputer chce przeczytac. Naped o tym nie jest informowany. Trzeba mu dostarczac sciezke w kolko, a komputer/sobie wybierze wlasciwy sektor.

J.

Rozejrzyj sie po zlomowisku to moze jeszcze pare dostaniesz. Albo idz do jakiejs kiepskiej szkoly, zaproponuj lepsze komputery w zamian za ich stare :-) Albo pomysl jak tam naped 3.5" wsadzic ..

Jesli terminal sie tylko laduje, to byc moze nie trzeba wcale zapisu z komputera realizowac.

A w ogole .. co za terminal - moze mozna go spokojnie wywalic na zlomowisko ? :-)

J.

Tak, ale Twoja wypowiedz sugerowalaby ze komputer musi odczytac cala sciezke - tak nie jest moze odczytac sektor, co wiecej w przyadku kontrolerow wzorowanych na i8272 (upd765) mozliwy jest interleaving sektorow - stad musi istniec i istnieje dowolnosc w czytaniu sektorow. natomiast jesli emulujemy naped to w tym momencie oczywiscie nie wiem co chce komputer wiec musimy emulowac FDD - czyli zero inteligencji - czytamy i zapisujemy scizeki... FDD tak naprawde daje linie RD gdzie wystawia dane (z zegarem) i linie TD gdzie dane sa zapisywane (z zegarem), do tego pare sygnalow jak INDEX i Track00 oraz strob zapisu WD no i linia MotorON...

Owszem,

Juz niepotrzebny, pecety sa za szybkie.

Zegarow sobie nie przypominam. Tzn owszem - one sa w sygnale zawarte, ale linia jedna i zegar dopiero trzeba odzyskac, synchronizacja bedzie pewnym problemem.

J.

Nie musi bo w sciezce zawarte sa dodatkowe znaczniki pozwalajace na odczyt wybranych sektorow (zreszta tak wlasnie dziala to na PC - odczytuje sie sektor a nie track - odworotnie jest w Amidze)

Tak... i nie... zalezy jak zrobiona jest iobsluga legacy devices - problem z obsluga przerwan w systemnach klasy NT jest dosc duzy...

formatting link
a pod
formatting link
jest klon Atari ST/STE gdzie jest rowniez zaimplementowany FDC (WD1772 compatible floppy disk controller IP Core. This file is part of the SUSKA ATARI clone project. ---- Description: Floppy disk controller with all features of the Western Digital WD1772-02 controller).

Ja sie z Toba co do tego zgadzam i to mialo byc potwierdzenie :-)

Ale to ma potwierdzac co napisalem czy negowac ? Osobnej linii zegarow nie ma, synchronizowac sie trzeba. Co wymaga odpowiedniego sprzetu albo bardzo szybkiego procesorka.

Na szczescie przy nadawaniu nie ma problemu synchronizacji.

Software'owo ?

niestety, na stronie widze tylko:

Fatal error: Call to undefined function: mysql_connect() in /home/typo3-src/typo3_src-3.8.0/typo3/ext/de_custom_tags/pi1/class.tx_decustomtags_pi1.php on line 43

a to przepraszam :)

Potwierdzac, problemem jest dosc szybkie przychodzenie danych ale to akurat mozna czesciowo rozwiazac - jest taki smieszny projekt ktory nazywa sie afr:

formatting link
w ktorym odzysk zegara odbywa sie przy pomocy 555 a wprowadzanie danych TTL 74164... - dzieki temu procesor ma 8 razy wiecej czasu wiec...

nie, fpga :D ale kod jest gotowy wiec...

cos neistety lezy - w zeszlym tygodniu (czwartek?) sciagalem stamtad zrodla...

Ha - zle to jest przedstawione. Moze nie calkiem zle, ale jednak kiepsko.

J.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required