Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : microcontroleur [ Divers / Aide et documentation ] (sam20)

mardi 8 janvier 2008 à 12:26:13 | microcontroleur

sam20

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.

lundi 14 janvier 2008 à 13:08:49 | Re : microcontroleur

_dune2_

Membre Club
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 :
  • 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.
  • 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.
  • 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).

  • -> 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 ...

    lundi 14 janvier 2008 à 13:25:01 | Re : microcontroleur

    _dune2_

    Membre Club
    re,

     de plus, je viens de trouver (je pense) où tu as trouvé la docs que tu montres :
    [ Lien ]

    Si tu regardes les schémas fournis :
    [ Lien ]
    [ Lien ]

    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 ...



    Cette discussion est classé dans : lire, dur, disque, registre, bits


    Répondre à ce message

    Sujets en rapport avec ce message

    Petite question... [ par did2604 ] Bonsoir,Que signifie exactement la notation crochet en assembleur ? Je m'explique, par exemple : mov cl,[bx], je suppose que ce n'est pas un move ordi Placer là "partie basse" d'un registre 32 bits dans un registre 16 bits ??? [ par Otaku ] Salut, tout est dans le titre, comment faire pour placer la partie basse (LOWWORD) d'une valeur stockée dans le registre EAX dans un registre 16 bits Disque dur vers fichier et inverse [ par zounar_j5 ] Bonjours à tous, voici mon problème, je suis à la recherche d'une routine en turbo pascal 6.0 pour écrire dans un fichier des secteurs d'un disque dur Ecriture sur le secteur de boot d'un disque dur [ par vinc1008881 ] bonjourje sui tromper de lecteur, au lieu décrire sur le secteur d'amorce de ma disquette ; j'ai ecrit sur le secteur d'amorce de mon HD.ya plus rien Écrire sur un disque [ par SAKingdom ] Salut  j'aimerais s'avoir comment écrire sur un disque dur et disquette sans fonction déja toute faite et en mode 32 bits, donc sans d'intteruptions. bits de registres [ par vecchio56 ] Salut,Je cherche le moyen le plus rapide de-connaitre le bit numero n d'un registre-mettre à b le bit numero n d'un registre(Ou si c'est possible mett registre W [ par didoux95 ] Bonjour à tous.J'aurais aimé savoir si il est possible d'envoyer le contenu de mon registre de travail "W" sur une des broches du pic (par exemple, la Récuperer les droits sur la totalité du dsique [ par BooletMan ] Bonjour tout le monde.Voilà, j'ai formaté mon PC, et maintenant j'aimerai récupérer les données que j'ai stocké sur mon disque dur externe... le seul in / out windows XP : comment ? [ par cedc ] Bonjour à tousSous windows XP les instruction in / out sont interdites, comment peut on contourner le problème pour lire une adresse. Mon but étant de [NEWBIE] comment passer une structure en paramétre :( !? [ par xaminou ] voilà mon probléme j'aimerai passé en parametre pr une fonction une structure du genre :endroit structx dw ?y dw ?endroit ends ; je declare une struct


    Nos sponsors

    Sondage...

    CalendriCode

    Décembre 2008
    LMMJVSD
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    

    Consulter la suite du CalendriCode

    Téléchargements

    Logiciels à télécharger sur le même thème :



    Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
    CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
    CodeS-SourceS.com© est une marque déposée tous droits réservés
    Temps d'éxécution de la page : 0,234 sec

    Google Coop CodeS-SourceS Google Coop CodeS-SourceS


    Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.