DigitalSpirit / Wiki / Piccompactflash

Présentation

Cette page à pour but d'expliquer le projet de pilotage d'une carte Compact Flash en mode "ATA" avec un PIC18 et gestion de la FAT.

Documentations

Pour commencer, j'ai effectué une recherche de documentations, de cas similaires pour avoir des retours d'expériences...etc...

Hardware

Le mieux étant encore d'expérimenter par soi même, il serait très intéressant d'avoir une carte de dèv pour tester une Compact Flash "cobaye". Les Compact Flash ont 3 modes de fonctionnement : I/O Mode, IDE Mode (ou ATA) et Memory Mode, ce dernier mode sera utilisé. En mode "ATA", nous allons avoir besoin sur la Compact Flash de (les noms précédés de - indique un signal actif à l'état bas):

Mapping des broches :

Broche CF A0 A1 A2
Port Pic RE0 RE1 RE2
Broche CF D0 D1 D2 D3 D4 D5 D6 D7
Port Pic RD0 RD1 RD2 RD3 RD4 RD5 RD6 RD7
Broche CF -CE1 -CD1 RESET -OE -WE READY
Port Pic RA0 RA1 RA2 RA3 RA4 RA5

J'ai donc réaliser une carte de développement comprenant un PIC18 qui jouera le rôle de cerveau sur la plaque, un connecteur Compact Flash (librairie Eagle dispo ici) bien sûr, un connecteur ICD2 permettant de programmer et de débugguer "IN SITU" (sans avoir à enlever le PIC à chaque fois), et enfin un connecteur DB9 pour la liaison série.

Schéma de principe :

Emplacement des composants :

Les fichiers originaux (Au format Eagle Layout Editor)

Software

Le programme pour accéder à la Compact Flash est écrit en C avec le compilateur C18 de Microchip. Voici la liste des prototypes des fonctions :

Un exemple est fourni dans le projet vous permettant de lire une Compact Flash et d'afficher des infos tel que le numéro de série...etc... Le programme attend l'insertion d'une Compact Flash dans le lecteur, une fois la carte insérée, il envoie sur l'UART les infos sur la carte.

Téléchargements

Ce programme est fourni sous les termes de la licence GNU General Public License