Download presentation
1
USB 2.0 to SD-Card File Transfer
By: Nadav Haklai & Noam Rabinovici Supervisors: Mike Sumszyk & Roni Lavi Semester: Spring 2010
2
Project Goal Create a prototype for file transfer system.
Implement a stand alone bridge between USB and SD-Card interfaces. Design a platform for future file transfer developments. Learn the USB and SD-Card protocols.
3
System Definition: Copy files between USB and SD card devices.
Stand-alone device. Support FAT file systems. Easy to use user interface. Low power – self powered (battery) . Fast transfer rates - USB 2.0. Low cost product.
4
Prototype Constrains:
Altera DE-3 Development Board High power – Power supply. Large dimensions. Lower transfer rates – generic FPGA. Very expensive. Short development time and resources Using open-source code (FAT). Using Altera examples as skeleton.
5
Prototype System Architecture:
DE3 Board USB 2.0 Port ISP1761 (USB Controller) Stratix III Leds and switches PIO Controller ISP1761 Controller Nios II Soft Processor Avalon Switch Fabric Console JTAG PIO Controller On Chip Memory SD Card Connector
6
Development Tools Software: Hardware: Quartus II 10.0 SOPC Builder
NIOS II IDE 10.0 Hardware: Altera DE3 Board Stratix III FPGA Soft NIOS II Core USB Controller - ISP1761 Signal Analyzer USB Analyzer
7
Software Architecture:
Control Layer NIOS II PIO ISP 1761 HAL USB HOST Controller USB Protocol USB mass storage device Driver FAT File System Main Program – User Interface SD-Card Driver Files Layer 512 Bytes Blocks Layer Physical Layer
8
Technical Background:
USB 2.0- Standard for peripheral devices The USB mass storage device class ISP single-chip Hi-Speed Universal Serial Bus (USB) On-The-Go (OTG) Controller SD-Card - Non-Volatile memory card format Very popular and common (Cameras, Embedded Systems) Fat - File System
9
USB 2.0 Definition: A specification to establish communication between devices and a host controller. Main Uses Device Classes Mass Storage Device Human Interface Device (HID) Physical Layer Host/Device Topology
10
USB Mass Storage Class USB Protocol - UFI Layer USB Floppy Interface
USB method for file transfers Based on SCSI Commands Data packet encapsulation Uses USB low level driver
11
USB Mass Storage Class USB UFI level Implementation main commands:
Write Command: Read Command:
12
USB Mass Storage Class USB Bulk level : Command/Data/Status Flow:
Command Status/Block Wrapper Packet structure:
13
USB Mass Storage Class USB Write Function Structure
This function writes 512Bytes block using the USB. Request from the file system to write 512B logical block USBDISK_WriteBlock512 Request from the file system to write a physical block (equal or less than 512B) USBDISK_ BOT_Write10 USBDISK_ BOT_execute Sending the command to the device, same to read & write Port_BulkIN Port_BulkOut Port_AltOut Port_AltIn Changing datagram with the device
14
Technical Background:
USB 2.0- Standard for peripheral devices The USB mass storage device class ISP single-chip Hi-Speed Universal Serial Bus (USB) On-The-Go (OTG) Controller SD-Card - Non-Volatile memory card format Very popular and common (Cameras, Embedded Systems) Fat - File System
15
SD-Card SD-Card Protocol SD Mode (1 or 4bits) vs. SPI Mode
Bus Protocol basic operation: Command Packet Format Data Packet Format
16
SD-Card SD-Card Implementation: Initialization flow:
17
SD-Card SD-Card Implementation: Write Flow: Read Flow:
18
SD-Card SD-Card Write Function Structure: SD_write_block send_cmd
Request from the file system to write 512B logical block SD_write_block Sending the command send_cmd SD_CLK_HIGH executing the command SD_CLK_LOW SD_CMD_HIGH SD_CMD_LOW SD_DAT0_HIGH SD_DAT0_LOW
19
Technical Background:
USB 2.0- Standard for peripheral devices The USB mass storage device class ISP single-chip Hi-Speed Universal Serial Bus (USB) On-The-Go (OTG) Controller SD-Card - Non-Volatile memory card format Very popular and common (Cameras, Embedded Systems) Fat - File System
20
FAT File System A method of storing and organizing computer files and their data FAT Fundamentals: Sectors and Clusters Volume Structure: MBR:
21
FAT File System Implementation – Open Source File System Support for:
SD-Card USB – Mass Storage Device Application Interface: f_mount - Register/Unregister a work area f_open - Open/Create a file f_write - Write file f_read - Read file f_opendir - Open a directory f_getfree - Get free clusters
22
FAT File System Files organization on storage device
Cluster Chains example
23
Technical Background:
USB 2.0- Standard for peripheral devices The USB mass storage device class ISP single-chip Hi-Speed Universal Serial Bus (USB) On-The-Go (OTG) Controller SD-Card - Non-Volatile memory card format Very popular and common (Cameras, Embedded Systems) Fat - File System
24
Encountered Difficulties:
SD Card: Signals Timing issues – Driver development. USB: Software bugs in the Terasic DE-3 examples code. FAT: Had to search for reliable open source code. Complex integration of the FAT and the interfaces.
25
From Prototype to Product:
ASIC vs. FPGA Board Design Increase SD Card throughput Support for different memory cards USB 3.0 NTFS File system support Low power design considerations User interface Product package
26
Thank You Questions?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.