Microcontroleur

cs_sam20 Messages postés 184 Date d'inscription lundi 31 juillet 2006 Statut Membre Dernière intervention 26 mai 2016 - 8 janv. 2008 à 12:26
_dune2_ Messages postés 141 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 20 avril 2011 - 14 janv. 2008 à 13:25
Salut a tous.
Je voudrai faire une videotech.
A partir d'un circuit imprimé,disque dur ,microcontroleur.  lire des video,jpg et mp3 sur ma tv.

J'ai trouvé un peu de doc.
Pour la decompression mp3 le STA013,voici les branchement:

Pour lire les donnees sur le disque dur le mode PIO.
Description physique:
Numéro |Nom |I/O |Description |----
1, /RESET, Entrée, Quand cette patte est tirée à la masse, tous les disques présents sur la nappe IDE sont resetés., ----
2, 19, 22, 24, 26, 30, 40, GND, -, Toutes ces broches doivent être reliées à la masse., ----
3, 5, 7, 9, 11, 13, 15, 17, D7..0, Bidirect., Bits de poids faible du bus de données. Ces pattes sont utilisées pour transmettre un paramètre ou une commande au disque. Lors de transfert de données (sur 16 bits) elles forment l'octet de poids faible., ----
18, 16, 14, 12, 10, 8, 6, 4, D15..8, Bidirect., Bits de poids fort du bus de données. Ces pattes sont uniquement utilisées lors des transferts de données (sur 16 bits)., ----
23, /WR, Entrée, Signal d'écriture., ----
25, /RD, Entrée, Signal de lecture., ----
31, IRQ, Sortie, Signal d'interruption (Non utilisé par le lecteur MP3), ----
36, 33, 35, A2..0, Entrée, Bus d'adresses. permettant d'accéder aux différents registres du disque dur., ----
38, 37, /CS1, /CS0, Entrée, Ces deux signaux sont utilisés en combinaisons avec le bus d'adresses pour adresser un registre du disque dur., ----
39, /ACT, Sortie, Signal d'activité du disque dur.

Description des registres:
/CS0 |/CS1 |A2..0 |Nom |Accès en lecture |Accès en écriture |Description |----
0, 1, 000, DATA_REG, X, X, C'est par l'intermédiaire de ce registre que sont transférés les 512 octets lors d'une lecture ou d'un écriture sur le disque. Le registre de données est le seul registre 16 bits., ----
0, 1, 001, ERROR_REG, X,  , Donne des informations sur les éventuelles erreurs survenues lors de l'exécution d'une commande., ----
0, 1, 010, SECTOR_COUNT_REG, X, X, Utilisé pour spécifier le nombre de secteurs à transmettre lors une opération de lecture ou d'écriture. Pour simplifier, on écrira toujours 01h dedans., ----
0, 1, 011, START_SECTOR_REG, X, X, On rentre dans ce registre les bits 7..0 de l'adresse LBA du secteur à lire ou à écrire., ----
0, 1, 100, CYLINDER_LOW_REG, X, X, On rentre dans ce registre les bits 15..8 de l'adresse LBA du secteur à lire ou à écrire., ----
0, 1, 101, CYLINDER_HIGH_REG, X, X, On rentre dans ce registre les bits 23..16 de l'adresse LBA du secteur à lire ou à écrire., ----
0, 1, 110, HEAD_DEVICE_REG, X, X, On spécifie dans ce registre les bits 27..24 de l'adresse LBA ainsi que le périphérique à adresser (master ou slave), ----
0, 1, 111, STATUS_REG, X,  , Une lecture de ce registre permet de connaître l 'état du disque., ----
0, 1, 111, COMMAND_REG,  , X, L'écriture dans ce registre provoque le démarrage d'une commande., ----
1, 1, 110, ALT_STATUS_REG, X,  , Identique au registre STATUS_REG. Cependant une lecture efface le signal d'interruption., ----
1, 0, 110, INTERRUPT_RST_REG,  , X, Permet de reseter le disque et de spécifier si l'on utilise les interruptions.

Insi que du code en c pour lire un secteur.
Ce n'est qu'une petite partie de ce que je cherche j'en fais profiter et si vous avez de la doc et vous voulez m'aider merci a vous.

2 réponses

_dune2_ Messages postés 141 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 20 avril 2011
14 janv. 2008 à 13:08
Salut,

pour developper ton lecteur matériellement, j'ai l'impression que tu attrapes ton projet par le mauvais bout ;)

1) défini ce qu'il va devoir faire en fonction du coût
        (cahier des charges, pour éviter de se disperser !).
2) défini ce qui va être le coeur (microcontroleur, ram, flash, bootstrap ?).
3) défini les interfaces de périphériques (interface IDE, codecs mp3, interface vidéo ?).
4) défini les bus interconnectants ces périphériques, avec un mapping cohérent.
5) un proto, pour réaliser les tests fonctionnels
6) code de boostrap (là c'est le début du codage).
7) code runtime ...

C'est un projet ... lourd ;) mais si tu es motivé, pourquoi pas ;)

Pour l'instant tu as donné :
- Le composant STA013 qui est un code -> soit le (3)
- Et un morceau de datasheet qui n'avance à rien sans avoir défini l'architecture du système

Pour le STA013 :
<li>Entrée MP3 : On compte un signal de donnée (SDI) et
d'horloge (SCKR) qui servent à charger les données MP3 à
partir de la source. Lorsque DATA_REQ est à 1, le STA013 indique qu'il
est prêt à recevoir des données.</li><li>Sortie PCM : On retrouve en sortie du STA013 le flux de données
décompressé qui alimente le convertisseur numérique analogique.
Les quatre signaux (SD0, SCKT, LRCKT, OCLK) sont directement reliés
au CS4334.</li><li>Interface I2C : Pour ajuster certains paramètres (Volume, basses,
balance...) une interface I2C est disponible (SDA et SCL). Elle sert par ailleurs
à la phase de configuration du composant (indispensable avant toute utilisation).</li>
-> ok pour le codec ... on a l'interface d'entrée, de sortie et de controle.
-> Il reste à définir dans ton projet, le plus important, le coeur du système ;)

Gentoo... que du bonheur ...
0
_dune2_ Messages postés 141 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 20 avril 2011
14 janv. 2008 à 13:25
re,

 de plus, je viens de trouver (je pense) où tu as trouvé la docs que tu montres :
http://www.oryxmp3.com/fr/doc/ide_interface.php

Si tu regardes les schémas fournis :
http://www.oryxmp3.com/fr/oryx/download/oryx_main_board_schematics_rev_a.pdf
http://www.oryxmp3.com/fr/oryx/download/oryx_front_panel_schematics_rev_a.pdf

tu t'apercevras que ce que tu as donné n'a pas de sens, c'est directement lié à la
conception hardware de l'Oryx ...

Donc soit tu refais un Oryx ;) soit tu fais ton propre hardware, auquel cas, tu peux te
calquer sur l'Oryx, mais à 1ère vue, il ne fait pas lecteur vidéo ...
Si tu veux faire un lecteur vidéo, il te faut repenser l'interface vidéo qui y est absente,
mais aussi peut-être repenser le microcontroleur (T89C51RD2) qui ne sera surement pas
suffisant pour le décodage vidéo (déjà qu'il ne l'est pas pour le MP3 !!).
Bref, il te faut repenser la carte ...
As-tu des bases en électronique ? (composants/bus/alims)

dune2.

Gentoo... que du bonheur ...
0
Rejoignez-nous