Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

prepojenie PIC a CDROM cez ATA
Jdi na stránku Předchozí  1, 2
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
mikollar



Založen: Dec 26, 2004
Příspěvky: 1426
Bydliště: Košice - okolie

PříspěvekZaslal: ne prosinec 02 2007, 20:56    Předmět: Citovat

precitat prave ze neviem, zadame sector count = 1 adresy a hlavy , LBA mod ale stale po precitani sektora to hodi inu hodnotu
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Kado



Založen: Oct 27, 2007
Příspěvky: 44
Bydliště: PB, SVK

PříspěvekZaslal: ne prosinec 02 2007, 21:26    Předmět: Citovat

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...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mikollar



Založen: Dec 26, 2004
Příspěvky: 1426
Bydliště: Košice - okolie

PříspěvekZaslal: ne prosinec 02 2007, 21:30    Předmět: Citovat

jaaaj ja som ale vol ja som myslel že ked dam 1 tak staci precitat data register raz Embarassed , nieje ta hodnota 20h na precitanie? http://elektronika.kvalitne.cz/ATMEL/necoteorie/IDEtesty/rizeni_CF_HDD.html
Teraz uz chapem tomu co je tam pisane

Idm to vyskusat, dakujem za vysvetlenie

EDIT: HDD mam 2,5GB western digital.

dakujem za uistenie na ten prikaz 20h


Naposledy upravil mikollar dne ne prosinec 02 2007, 21:37, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Kado



Založen: Oct 27, 2007
Příspěvky: 44
Bydliště: PB, SVK

PříspěvekZaslal: ne prosinec 02 2007, 21:34    Předmět: Citovat

Sorry prikaz "read sector" je hodnota #20h, "write sector" je #30h atd
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mikollar



Založen: Dec 26, 2004
Příspěvky: 1426
Bydliště: Košice - okolie

PříspěvekZaslal: ne prosinec 02 2007, 22:39    Předmět: Citovat

#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
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mikollar



Založen: Dec 26, 2004
Příspěvky: 1426
Bydliště: Košice - okolie

PříspěvekZaslal: po prosinec 03 2007, 0:17    Předmět: Citovat

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


kód:
WRITE


      BSF         STATUS,RP0
      MOVLW       .0
      MOVWF      TRISB
      BcF         STATUS,RP0

   ;--------30H DO COMMAND REG ----------------------------
   
       MOVFW      STATUS_R    ;do comand registru
      MOVWF      PORTD

      MOVLW      30H         ;zapis
      MOVWF      PORTB

      bcf         PORTE,_WR   ;POTVRD/ZAPIS

      CALL      WAIT
      CALL      WAIT

      BSF         PORTE,_WR   ;POTVRD/ZAPIS

ZAPIS   CALL      WAIT
      CALL      WAIT
      CALL      WAIT
      CALL      WAIT
      CALL      WAIT

        CALL      BUSSY         ;zisti bussy 0
        call      DRQ                  ;zisti DRQ 1
      
      MOVFW      DATA_R      ;zvolit DATA REGISTER
      MOVWF      PORTD

      MOVLW      .0               ;hodnota do DATA REGISTRU
      MOVWF      PORTB

      bcf         PORTE,_WR   ;POTVRD/ZAPIS

      CALL      WAIT
      CALL      WAIT
      CALL      WAIT
   
      
      BSF         PORTE,_WR   ;POTVRD/ZAPIS

      DECFSZ      TMP3,F            ;TMP3 hodnota 0 pre zopakovanie 256 krat
      GOTO      ZAPIS

      


      RETURN
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Kado



Založen: Oct 27, 2007
Příspěvky: 44
Bydliště: PB, SVK

PříspěvekZaslal: po prosinec 03 2007, 17:40    Předmět: Citovat

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...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mikollar



Založen: Dec 26, 2004
Příspěvky: 1426
Bydliště: Košice - okolie

PříspěvekZaslal: po prosinec 03 2007, 17:52    Předmět: Citovat

citanie mi ide aspon dufam teda, tento program je na zapis a to mi nejde stlae sa to sekne

dakuje za vsetky rady
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Kado



Založen: Oct 27, 2007
Příspěvky: 44
Bydliště: PB, SVK

PříspěvekZaslal: po prosinec 03 2007, 18:02    Předmět: Citovat

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...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mikollar



Založen: Dec 26, 2004
Příspěvky: 1426
Bydliště: Košice - okolie

PříspěvekZaslal: po prosinec 03 2007, 18:05    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mikollar



Založen: Dec 26, 2004
Příspěvky: 1426
Bydliště: Košice - okolie

PříspěvekZaslal: po prosinec 03 2007, 22:37    Předmět: Citovat

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

Zbytok programu je v predchadzajucom prispevku

Mam chybu v zadavani dat do HDD v programe?

Dakujem

kód:
READ

BSF      STATUS,RP0
MOVLW .0
MOVWF   TRISB
BcF      STATUS,RP0

   ;--------20H DO COMMAND REG ----------------------------
   
       MOVFW      STATUS_R   
      MOVWF      PORTA

      MOVLW      20H         ;CITAJ
      MOVWF      PORTB

      bcf         PORTE,_WR   ;POTVRD/ZAPIS

      CALL      WAIT

      BSF         PORTE,_WR   ;POTVRD/ZAPIS

      CALL      WAIT
   

CITAJ   CALL      BUSSY
      call      DRQ
      
      BSF      STATUS,RP0
      MOVLW .255
      MOVWF   TRISB
      BcF      STATUS,RP0
   
      MOVFW      DATA_R   
      MOVWF      PORTA

      bcf         PORTE,_RD   ;POTVRD/ZAPIS

      CALL      WAIT
      CALL      WAIT
      CALL      WAIT
      MOVFW      PORTB     ;POSLI DOLNYCH 8 BITOV NA RS232
      CALL      SER_TX

      MOVFW      PORTD   ;POSLI HORNYCH 8 BITOV NA RS232
      CALL      SER_TX

      BSF         PORTE,_RD   ;POTVRD/ZAPIS

      CALL      WAIT
      
      DECFSZ      TMP3,F
      GOTO      CITAJ

      BSF      STATUS,RP0
      MOVLW .0
      MOVWF   TRISB
      BcF      STATUS,RP0

      RETURN
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Kado



Založen: Oct 27, 2007
Příspěvky: 44
Bydliště: PB, SVK

PříspěvekZaslal: po prosinec 03 2007, 22:57    Předmět: Citovat

No to neviem ci mas chybu v programe, ale ked precitas MBR (LBA=0) tak posledne dva bajty obsahuju signaturu 55h a AAh...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Jirka



Založen: Jul 01, 2005
Příspěvky: 2031
Bydliště: zbídačený kraj

PříspěvekZaslal: ne leden 27 2008, 12:25    Předmět: Citovat

Tak jak, už to hraje?
_________________
*****
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
mikollar



Založen: Dec 26, 2004
Příspěvky: 1426
Bydliště: Košice - okolie

PříspěvekZaslal: ne leden 27 2008, 12:29    Předmět: Citovat

este nie Embarassed ,mal som trocha viac povinnosti v skole (skusky), ale pracujem na tom, ak sa to podari hodim sem komplet dokumentaciu
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2
Strana 2 z 2

 
Přejdi na:  
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

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

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.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.15 sekund