USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB...

19
(c) 2007 Michael Roland USB Storage Device Class Überblick und Einbindung in AVR AT90USB1287 www.mroland.at

Transcript of USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB...

Page 1: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

USB Storage Device Class

Überblick und Einbindungin AVR AT90USB1287

www.mroland.at

Page 2: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

B A C H E L O R A R B E I Tam

Fachhochschul-Bachelorstudiengang

Hardware/Software Systems Engineering

in Hagenberg

www.mroland.at

Page 3: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

Inhalt

• Universal Serial Bus (USB)• Massenspeicherklasse• Speicherzugriffsprotokolle• Atmel AVR AT90USB1287• USB Firmware Architektur

www.mroland.at

Page 4: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

USB

• ein Bus für alle Peripheriegeräte• 2 Drähte für Datenübertragung• 2 Drähte für Stromversorgung• Anschluss im laufenden Betrieb

www.mroland.at

Page 5: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

Datentransfer am USB

• Control-Transfer» Befehle und Konfiguration; Control-Endpoint

• Interrupt-Transfer» zyklische Übertragung; kleine Datenmengen

• Bulk-Transfer» zeitunkritische, große Datenmengen

• Isochronous-Transfer» zeitkritische, große Datenmengen

www.mroland.at

Page 6: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

USB-Geräteklassen

• Gerätegruppen• einheitlicher Aufbau• einheitlicher Zugriff• einheitliche Treiber

www.mroland.at

Page 7: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

Massenspeicherklasse

• unterschiedliche Speichermedien» Disketten» CDs/DVDs» Festplatten» Flash-Datenspeicher» . . .

www.mroland.at

Page 8: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

Massenspeicherklasse

• Übertragungsmechanismen» Control/Bulk/Interrupt Transport» Bulk-only Transport

• Befehlssätze» zahlreiche unterschiedliche Befehlssätze» Windows: nur wenige Befehlssätze unterstützt» gemeinsame Basis: SCSI-Befehlssatz

www.mroland.at

Page 9: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

CBI Transport

• nur für Diskettenlaufwerke• nur für Full-Speed USB-Geräte

www.mroland.at

Page 10: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

Bulk-only Transport

• Control-Endpoint• Bulk-IN-Endpoint• Bulk-OUT-Endpoint

www.mroland.at

Page 11: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

Bulk-only TransportBereit

CBW(Bulk-OUT-EP)

CSW(Bulk-IN-EP)

Daten zur Function(Bulk-OUT-EP)

Daten zum Host(Bulk-IN-EP)

www.mroland.at

Page 12: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

SCSI TransparentCommand Set

• kein eigener Befehlssatz• jeder SCSI-Befehlssatz verwendbar• im Bulk-only Transport:

» Command Block Wrapper enthält Befehlsblock» Datenteil enthält Daten/Parameter

www.mroland.at

Page 13: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

SCSI-Befehlssatz

• Befehle zur Kommunikation mit Datenträger

• Aufbau der Befehlsblöcke• Aufbau der Daten

www.mroland.at

Page 14: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

AVR AT90USB1287

• Betrieb mit 8 oder 16 MHz• 4 Timer• Analog-Digital-Konverter• mehrere serielle Schnittstellen• 48 I/O-Pins• USB-Kontroller

www.mroland.at

Page 15: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

USB-Kontroller

• Low- oder Full-Speed-Function» Control-Endpoint» bis zu 6 weitere Endpoints

• On-The-Go-Host» Kommunikation mit einer USB-Function» Control-Pipe» bis zu 6 weitere Pipes

www.mroland.at

Page 16: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

USB Firmware Architektur

• von Atmel zur Verfügung gestellt• verwendbar für Function und Host• übernimmt Enumeration• Funktionen zum Lesen/Schreiben auf

Endpoints/Pipes• Funktionen zur Behandlung von

Device-Requestswww.mroland.at

Page 17: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

Massenspeicher-Function

• Bulk-only Transport• SCSI Transparent Command Set• SCSI Block Commands 2

www.mroland.at

Page 18: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.

(c) 2007 Michael Roland

Massenspeicher-Host

• großer Entwicklungsaufwand» 2 Übertragungsmechanismen» viele Befehlssätze

• deshalb:» Host nur für bestimmten USB-Massenspeicher

implementieren!

www.mroland.at

Page 19: USB Storage Device Class -- Überblick und Einbindung in ... · (c) 2007 Michael Roland USB StorageDeviceClass. Überblick und Einbindung. in AVR AT90USB1287.