Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięProgramowa obsługa dysku twardego na AT90S2313
Moderatorzy:Jacek Bogusz, procesorowiec, r-mik, Moderatorzy
- Wiesław Obrembski
- -
- Posty:20
- Rejestracja:18 sty 2004, o 12:04
- Lokalizacja:Łódź
- Kontaktowanie:
Witam!
Mam pytanie: W jaki sposób ze strony software'owej i hardware'owej obsłużyć niewielki dysk twardy na kontrolerze AT90S2313 (używam komputerka edukacyjnego z książki "Mikrokontrolery AVR w praktyce". Chodziło by mi, żebym mógł zapisać oraz odczytać dane z dysku. Nie mam pojęcia jak to wykonać. Jedyne co do tej pory znalazłem to zestawienie pinów na złączu od HD. Jeżeli ktoś ma jakiekolwiek informacje jak coś takiego wykonać, B.proszę o POSTa.
Mam pytanie: W jaki sposób ze strony software'owej i hardware'owej obsłużyć niewielki dysk twardy na kontrolerze AT90S2313 (używam komputerka edukacyjnego z książki "Mikrokontrolery AVR w praktyce". Chodziło by mi, żebym mógł zapisać oraz odczytać dane z dysku. Nie mam pojęcia jak to wykonać. Jedyne co do tej pory znalazłem to zestawienie pinów na złączu od HD. Jeżeli ktoś ma jakiekolwiek informacje jak coś takiego wykonać, B.proszę o POSTa.
Obsługa dysku twardego to nie tylko kwestia przyłączenia do magistrali dyskowej. Aby dysk wykonywać nakazane czynności, trzeba znać harderowy protokół komunikacyjny, co oczywiście nie wyczerpuje tematu, bo pozostaje kwestia logicznej budowy dysku, tj trzeba pokonać takie pojęcia jak przykładowo partycja (ze wszystkimi szczegółami) , budowa FAT (nawet w najprostszym wydaniu FAT16), struktura kartoteki itp. Na oko nawet ATMEGA8515 będzie miał za małe zasoby (miejsce na program) aby to wszystko zmieścić.
A do czego chcesz to użyć?
A do czego chcesz to użyć?
- Wiesław Obrembski
- -
- Posty:20
- Rejestracja:18 sty 2004, o 12:04
- Lokalizacja:Łódź
- Kontaktowanie:
Tak po prostu chcę spróbować czegoś, czego inni na razie (przynajmniej nie słyszałem) nie wymyślili. A tak w ogóle to nie wie ktoś jakie są parametry dysku (cylinders, sectors, WPcom...) laptopowego z Highscreen 386SX - dysk ST9145AG. Szukałem na www.segate.com, ale tam są same bzdury.
Jak napisali poprzednicy, 90S2313 jest zbyt mały na obsługę IDE. Pomijam sprzęt - dałoby się rozszerzyć. Jednak w 1ksłów pamięci programu byłoby ciasno. Popatrz choćby na Yampp'a - wiele opisów w EP, włącznie z kursem programowania IDE. Autor użył w nim 8535 i szybko przeskoczył na Mega161. Gdyby dało się na 2313, na pewno ktoś by już to zrobił
Pozdrawiam.
Pozdrawiam.
-
- -
- Posty:175
- Rejestracja:10 paź 2003, o 20:44
- Lokalizacja:Białystok
- Kontaktowanie:
Wprawdzie to nie do mnie , ale :Gawle czy to nadal aktualne?Poszukam w swoich archiwach, kedyś miałem napisaną kompletną obsługę dysku.
http://www.e-armazem.com.br/dev/fat16-32driver/
Pozdrowienia Jurek S.
-
- -
- Posty:651
- Rejestracja:13 sty 2005, o 18:38
- Lokalizacja:Krasnystaw
- Kontaktowanie:
hej Ja robilem obsluge dysku twardego przez mikrokontroler. Po pierwsze musisz sie zastanowic co chcesz robic, czy napisac progrem ktory czyta lub zapisuje ci pojedynczy sektor (512 bajtow), czy dane plikow W pierwszym przypadku, czesc programowa nie jest zbyt trudna. W drugim natomiast musisz poznac takie pojecia jak adresowanie dysku twardego : LBA (logiczne) CHS (fizyczne) Osobiscie polecam logiczne, wtedy nie musisz znac organizacji dysku twardego. Dalej boot sector - pierwszy fizyczny sektor na dysku twardym (adres w trybie lba = 0), wpim jest tablica partycji, ktora zawiera 4 wpisy dla partycji. Pozniej cala strukture zastosowanego systemu plikow na dysku. Mysle ze fat-32 lub 16 beda odpowiednie na poczatek. Najlepiej sciagnij sobie specyfikacje ata-3 lub ata/atapi-4 - to do obslugi dysku twardego Dobrze jest wszystko opisane. Takze w ep byl opis specyfikacji ata poszukaj. Do komunikacj z dyskiem zastosuj tryb PIO, najlatwiejszy do implementacji. Mysle ze ten mikrokontroler co chcesz wykorzystac nie wystarczy Sama szyna danych interfejsu IDE jest 16 bitowa a dotego potrzeba jeszcze 5 sygnalow adresowych 2 strobujace no i sygnal reset, czyli lacznie 8 sygnalow sterujaco-adresowych oraz 16 na szyne adresowa. Wiec musi to byc procesor o odpowiednio duzej liczbie portow. No i tez musisz zadac sobie pytanie czy zalezy ci na szybkosc podczas wymiany danych. Bo jesli tak to muszisz wybrac procesor o odpowiednio duzej czesctotliwosci kwarcu. Mysle ze 24 lub 48 Mhz to podstawa. Jak masz jakies pytania to smial pytaj
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 6 gości