IMA4 2017/2018 EC3 : Différence entre versions
(→Travail effectué) |
(→Description du projet) |
||
(10 révisions intermédiaires par un autre utilisateur non affichées) | |||
Ligne 16 : | Ligne 16 : | ||
* prendre en main le programme de gestion de la carte SD fourni, réaliser un programme de modification de blocs par interface série ; | * prendre en main le programme de gestion de la carte SD fourni, réaliser un programme de modification de blocs par interface série ; | ||
* concevoir l'interface USB en respectant le protocole pour un "Storage Class Device", le plus simple est de s'appuyer sur la démonstration <code>MassStorage</code> de la bibliothèque <code>LUFA</code> ; | * concevoir l'interface USB en respectant le protocole pour un "Storage Class Device", le plus simple est de s'appuyer sur la démonstration <code>MassStorage</code> de la bibliothèque <code>LUFA</code> ; | ||
− | * mettre au point le protocole série permettant la communication entre l'ATMega16u2 qui réalise l'interface USB et l'ATMega328p qui gère la carte SD, en particulier ce protocole devra assurer le transfert des blocs de données entre les deux | + | * mettre au point le protocole série permettant la communication entre l'ATMega16u2 qui réalise l'interface USB et l'ATMega328p qui gère la carte SD, en particulier ce protocole devra assurer le transfert des blocs de données entre les deux micro-contrôleurs. |
Pour tester le dispositif, il suffit de vérifier que le périphérique de stockage est détecté comme une clef USB et qu'il est possible de le formater et de l'utiliser en lecture et en écriture. L'accès aux données sera fatalement lent à cause du faible débit de la liaison série. | Pour tester le dispositif, il suffit de vérifier que le périphérique de stockage est détecté comme une clef USB et qu'il est possible de le formater et de l'utiliser en lecture et en écriture. L'accès aux données sera fatalement lent à cause du faible débit de la liaison série. | ||
Ligne 43 : | Ligne 43 : | ||
1.Demander quelle commande? Si il n'y a pas de réponse dans un bout de temp, c'est-à-dire il y a un délai de réponse, il reprendre la commande. | 1.Demander quelle commande? Si il n'y a pas de réponse dans un bout de temp, c'est-à-dire il y a un délai de réponse, il reprendre la commande. | ||
2.Quand il a reçu la commande, il demande le nom de fichier que vous voulez. | 2.Quand il a reçu la commande, il demande le nom de fichier que vous voulez. | ||
− | 3.Quand il a reçu le nom, il fait les traîtements. | + | 3.Quand il a reçu le nom, il fait les traîtements(lire, écrire, supprimer etc). |
4.Retourner un résultat. | 4.Retourner un résultat. | ||
== Sources == | == Sources == | ||
+ | Arduino uno: [https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf] | ||
− | |||
− | |||
Atmega16u2: [https://www.microchip.com/wwwproducts/en/ATMEGA16U2] | Atmega16u2: [https://www.microchip.com/wwwproducts/en/ATMEGA16U2] | ||
+ | |||
+ | DFU: [http://www.gammon.com.au/bootloader] | ||
+ | |||
+ | SPI: [https://arduino.stackexchange.com/questions/16348/how-do-you-use-spi-on-an-arduino] | ||
+ | |||
+ | SPI: [https://www.arduino.cc/en/Reference/SPI] | ||
+ | |||
+ | Principe de communication SPI: [https://baike.baidu.com/item/SPI/4429726?fr=aladdin] | ||
+ | |||
+ | Et les sites Web de l'Encyclopédie de Chine etc. | ||
== Documents == | == Documents == | ||
− | + | Les fonctions différents sont réalisés dans le fonction main | |
[[Media:Usb_arduino.zip]] | [[Media:Usb_arduino.zip]] |
Version actuelle datée du 28 août 2018 à 10:53
Sommaire
Présentation du projet
Contexte
L'élève continue son semestre S8 à l'école.
Objectif
Concevoir et réaliser un dispositif de stockage USB avec une Plateforme Arduino adjointe d'un bouclier de gestion de carte SD.
Description du projet
Le but de projet est très simple : transformer un Arduino avec un bouclier carte SD en une clef USB.
Il est recommandé de décomposer le travail en trois étapes :
- prendre en main le programme de gestion de la carte SD fourni, réaliser un programme de modification de blocs par interface série ;
- concevoir l'interface USB en respectant le protocole pour un "Storage Class Device", le plus simple est de s'appuyer sur la démonstration
MassStorage
de la bibliothèqueLUFA
; - mettre au point le protocole série permettant la communication entre l'ATMega16u2 qui réalise l'interface USB et l'ATMega328p qui gère la carte SD, en particulier ce protocole devra assurer le transfert des blocs de données entre les deux micro-contrôleurs.
Pour tester le dispositif, il suffit de vérifier que le périphérique de stockage est détecté comme une clef USB et qu'il est possible de le formater et de l'utiliser en lecture et en écriture. L'accès aux données sera fatalement lent à cause du faible débit de la liaison série.
Matériel nécessaire
- Arduino UNO ;
- Bouclier carte SD ;
- Cable USB.
Planning prévisionnel
Travail effectué
Atmega:
Atmega328p: Le coeur de processeur ARDUINO UNO. Atmega16u2: Responsable de la communication USB, il reçoit les datas et envoie au 328p.
Télécharger bootloader pour Atmega328p:
/Atmega328pBootloader/opti_atmega328.hex
Télécharger firmware usbserial pour Atmega16u2:
/ATMega16u2Project/atmegaxxu2/Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3.hex
Processus de 328pAPP_c:
1.Demander quelle commande? Si il n'y a pas de réponse dans un bout de temp, c'est-à-dire il y a un délai de réponse, il reprendre la commande. 2.Quand il a reçu la commande, il demande le nom de fichier que vous voulez. 3.Quand il a reçu le nom, il fait les traîtements(lire, écrire, supprimer etc). 4.Retourner un résultat.
Sources
Arduino uno: [1]
Atmega16u2: [2]
DFU: [3]
SPI: [4]
SPI: [5]
Principe de communication SPI: [6]
Et les sites Web de l'Encyclopédie de Chine etc.
Documents
Les fonctions différents sont réalisés dans le fonction main Media:Usb_arduino.zip