Forum: Projekte & Code HDD SD an AVR ATmega1284p Assembler Beispiele


von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

Eine kleine Schaltung mit einem ATmega1284p steuert eine IDE ATA 
Festplatte und bei Bedarf

eine SD-Card, LCD, TWI/I2C Bus , RS232(TX) und fragt Tasten zur 
Menue-Steuerung ab.


Bei einem HDD-SD-Programm-ERROR erfreut uns die rote LED ^^

Die HDD benötigt mindestens 23 Pins am µC
(8xD0, 8xD1, WR, RD, A0, A1, A2, CS0, CS1)


HDD:
- CHS/LBA-Modus
- 4.000 Sectoren/s bei read/write
- SLEEP, SEEK, wait BUSHY
- Sectoren read/write
- Register read/write (incl. Error-Register)


SD-Card:
- SDSC/SDHC Initialisierung
- CID CSD OCR Register Auswertung
- CMD0, CMD1, ACMD41, CMD8, CMD9, CMD10, CMD12, CMD16, CMD17, CMD18,
- CMD23, CMD24, CMD25, CMD55, CMD58

Menue u.a.:
- IDE SLEEP (manche HDD akzeptieren kein SLEEP-->Error)
- IDE SEEK
- IDE read test
- IDE write test
- IDE LL Format
- SD read test
- SD write test
- SD LL Format
- Copy SD-->IDE
- Copy IDE-->SD


Dieser Beitrag half mir bei vielen Fragen:
Beitrag "HDD Festplatte ATA IDE an AVR µC Mikrocontroller ATmega1284p Assembler - viele Fragen"


Hinweise:
- Die Beschaltung der SD-Card könnte auch anders erfolgen.
- Speziell der Steuerbus treibt das LCD und fragt die Tasten ab.
- Der TWI/I2C Bus ermöglicht einen Master und/oder Slave-Betrieb
- Viele Pins und Ports lassen sich umkonfigurieren.
- Ein otionales TWI Display (EA eDIPTFT32-ATP) verwendete ich im 
Prototyp, um größere Datenmengen anzuzeigen


Für konstruktive und hilfreiche Hinweise bin ich/sind wir sehr dankbar.

Bernhard


PS: bitte keine e-mails, bei Diskussion im Forum haben alle etwas davon

: Bearbeitet durch User
von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

in der "ini.asm" lassen sich die Pins teilweise umkonfigurieren

Beitrag #5479595 wurde von einem Moderator gelöscht.
von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

So könnte eine kleine Experimentierplatine ausschauen.

Der 22 MHz Quarz und einige Kondensatoren, auch für Uref ADC,
fanden ihren Platz in der IC-Fassung ^^

Mit wenigen Handgriffen lassen sich die Ports für Data0 und Data1 
umstöpseln, je nach Betriebsart SPI, TWI bzw. USART.

Natürlich könnte der Data0/1 Port der HDD auch auf frei programmierbar 
im Assemby-Programm umgeschrieben werden, aber dafür sind wertvolle 
µC-Takte erforderlich, wodurch der read/write Datendurchsatz sehr 
leidet.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.