Založen: Oct 27, 2007 Příspěvky: 44 Bydliště: PB, SVK
Zaslal: ne prosinec 02 2007, 21:26 Předmět:
Takto: aky mas HDD?
ked chces precitat sektor musis postupovat takto:
najprv zistit precitanim z registra "status" bit "busy" a cakat az pokial ho HDD nastavi do log.0
potom zapises do prislusnych registrov hodnoty napr. citame sektor 0 LBA=0
register "head" #1110xxxxb =>LBA, HDD MASTER a kde xxxx su najvysie 4bity z 28bitovej LBA adresy
register "cylinder msb" bity 23 az 16 LBA adresy
register "cylinder lsb" bity 15 az 8 LBA adresy
register "sector" bity 7 az 0 Z LBA adr
register "sector counter" obsahuje pocet sektorov kt. chces precitat ak zadas #0 tak musis precitat 256 sektorov, ak zadas #1 tak sa precita jeden sektor
-ked mas toto zapisane zapise do registra "command" cislo prikazu read= #10h
-teraz musis cakat minimalne 400ns na spracovanie
potom citas z registra "status" bity DRQ a BSY, pricom DRQ musi byt log.1 a BSY musi byt log.0, a este bit ERROR musi byt v log.0, inak nemozes pristupit k citaniu dat
ak su spominane bity ok, tak pristupujes k citaniu dat pricom si treba uvedomiz, ze zbernica je 16bitiva, to znamena ze po kazdom "read pulze" precitas 2bajty a ty potrebujes precitat cely sektor tj 512byte, preto musis citane opakovat celkovo 256krat...
Založen: Dec 26, 2004 Příspěvky: 1426 Bydliště: Košice - okolie
Zaslal: ne prosinec 02 2007, 22:39 Předmět:
#1110xxxxb ak to zadam takto tak HDD sa zacne vypinat #0110xxxxb CRC musim nechat zapnute vtedy sa nevypina, ale data odtial nie a nie dostat, este idem sprtat dalej
Založen: Dec 26, 2004 Příspěvky: 1426 Bydliště: Košice - okolie
Zaslal: po prosinec 03 2007, 0:17 Předmět:
mam tento problem. zapisem udaje sector sector count ... atd.
Do comand registru zapisem 30H cakam 400ns
otestujem BUSSY a DRQ ak su 0 a 1 zvolim adresu DATA REGISTER, na datove vodice privediem data a signal RW stiahnem na LOG0 cakam 400ns RW signal spat do LOG1 a odteraz somnou prestane HDD komunikovat.
Prikladam asm kod pre zapis: WAIT je cakanie odpocitava sa register naplneny hdnotou 255 do 0.
Na PORTD su privedene vodice A0 A1 A2, A0 je PORTD,0 , A1 je PORTD,1 , A2 je PORTD,2
Hodnoty adries mam ulozené tu:
MOVLW B'00000000'
MOVWF DATA_R
MOVLW B'00000010'
MOVWF COUNT_R
MOVLW B'00000011'
MOVWF SECTOR_R
MOVLW B'00000100'
MOVWF LOW_R
MOVLW B'00000101'
MOVWF HI_R
MOVLW B'00000110'
MOVWF DHR_R
MOVLW B'00000111'
MOVWF STATUS_R
_WR EQU 0 ;port 0
_RD EQU 1 ; port 1
Prosim v com moze byt problem resp. kde robim chybu?
Dakujem
P.S. vodice CS0 a CS1 su trvalo pripojene na GND a +5V
Založen: Oct 27, 2007 Příspěvky: 44 Bydliště: PB, SVK
Zaslal: po prosinec 03 2007, 17:40 Předmět:
mikollar napsal(a):
Do comand registru zapisem 30H cakam 400ns
pri citani sektora z hdd zapisujes do command registru 20h anie 30h!
inak ak ides citat z data registra resp.ostatnych registrov, tak pouzijes riadiaci signal "IORD" tj. z log.1 do Log.0 a zas do log.1, ak ides zapisovat do registrov tak na zapis pouzijes signal "IOWR" z klud. stavu tj. log.1 do log.0 a znova do log.1 atd...
Založen: Oct 27, 2007 Příspěvky: 44 Bydliště: PB, SVK
Zaslal: po prosinec 03 2007, 18:02 Předmět:
najprv dobre sprav citanie z HDD, a potom sa pustaj do zapisu, ten je zrejme zlozitejsi, ja osobne nemam este vyskusany zapis sektora do hdd...myslim, ze chces z toho spravit mp3 prehravac, takze si myslim, ze na zaciatok citanie staci a este bude zaujmave rozlusknut suborovy sytem FAT16 resp FAT32...
Založen: Dec 26, 2004 Příspěvky: 1426 Bydliště: Košice - okolie
Zaslal: po prosinec 03 2007, 18:05 Předmět:
okis tak skusim naformatovat HDD v PC snad sa mi to podari na FAT16 na strnake co je tu v otkaze je to pisane tak to skuim cez to, a skusim precitat uvodne sektory.
Založen: Dec 26, 2004 Příspěvky: 1426 Bydliště: Košice - okolie
Zaslal: po prosinec 03 2007, 22:37 Předmět:
skusil som precitat LBA 0 , vsetkych 512B, stale mi to hadze hodnotu 58h, len na 2 miestach to vyhodi hodnotu 5Ah, HDD je naformatovany na 2 partition FAT16
Časy uváděny v GMT + 1 hodina Jdi na stránku Předchozí1, 2
Strana 2 z 2
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata 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 hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.