Piloter une TV par un microcontroleur
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Piloter une TV par un microcontroleur



  1. #1
    invite7ded4a0d

    Piloter une TV par un microcontroleur


    ------

    Bonjour a tous !

    Voila, j'aimerai piloter une TV (afficher une image simple dans un premier temps, genre un carré noir sur fond blanc) juste avec un microcontroleur, en RGB.
    Je me suis renseigné un peu, et pour du 60Hz en 640x280, ça fait une fréquence de transmission beaucoup trop grande (genre un pixel de 40ns, là ou mon top d'horloge est à 100ns) !

    Ma question est : peut-on réduire significativement cette fréquence, par exemple en tombant à 20 ou 30Hz (peut importe si ça scintille) et en limitant la résolution a son minimum ? La TV va-t-elle suivre ou pas ?

    Merci !
    a+, nico

    -----

  2. #2
    inviteede7e2b6

    Re : Piloter une TV par un microcontroleur

    pas même besoin de µcont :

    http://www.cfp-radio.com/realisations/rea06/rea06.html

    plus évolué:

    http://www.f5ubz.fr/les_mires/la_page_des_mires.htm

    dans les deux cas , l'image est stockée en ROM , mémoire lue par une logique ou un µcont , ce qui simplifie le problo de vitesse.

  3. #3
    invite936c567e

    Re : Piloter une TV par un microcontroleur

    Bonjour

    La fréquence critique n'est pas celle du balayage vertical (qu'on peut toujours obtenir correctement en insérant des lignes vides et/ou en répétant des lignes), mais celle du balayage horizontal (fréquence ligne, de 15625 Hz en PAL ou SECAM).

    S'agissant de la fréquence ligne, la réponse à la question est non. On ne peut pas réduire la fréquence jusqu'à la moitié de sa valeur nominale.

    Si on tente de le faire, dans le meilleur des cas la TV continuera à effectuer un balayage à une fréquence à la fois proche de la fréquence normale et multiple de la fréquence qu'on tente de lui imposer (à 7,8 kHz, le balayage sera de 15,6 kHz). Mais généralement le balayage sera désynchronisé.


    Avec un top d'horloge à 100 ns, les 52 µs de la partie visible d'une ligne permettent d'afficher jusqu'à 520 pixels. Cela signifie que tu pourrais déjà faire une image de 512 pixels de large (pour faire un compte rond). N'est-ce pas suffisant ?

  4. #4
    f6bes

    Re : Piloter une TV par un microcontroleur

    Bsr nico_de_pablo,
    Tu ne cherche donc pas à "piloter" une TV, mais à afficher une "image" sur une TV.
    Si ton image est " fixe" cela s'appele une mire.
    Si elle est animée et répétitive= mire animée.

    Si mes souvenirs sont bons f5ubz à créer une mire animée (drapeau flottant)
    Voir lien fourni par Pixel.
    Voir là aussi:
    http://f5ad.free.fr/ATV-QSP_Descript...rustateurs.htm

    A+

  5. A voir en vidéo sur Futura
  6. #5
    invite7ded4a0d

    Re : Piloter une TV par un microcontroleur

    Citation Envoyé par PA5CAL Voir le message
    S'agissant de la fréquence ligne, la réponse à la question est non. On ne peut pas réduire la fréquence jusqu'à la moitié de sa valeur nominale.

    Si on tente de le faire, dans le meilleur des cas la TV continuera à effectuer un balayage à une fréquence à la fois proche de la fréquence normale et multiple de la fréquence qu'on tente de lui imposer (à 7,8 kHz, le balayage sera de 15,6 kHz). Mais généralement le balayage sera désynchronisé.
    OK donc j'abandonne cette idée déjà !
    Et si je repose ma question, mais pour un écran PC et pas une TV, ça change la réponse ?

    Citation Envoyé par PA5CAL Voir le message
    Avec un top d'horloge à 100 ns, les 52 µs de la partie visible d'une ligne permettent d'afficher jusqu'à 520 pixels. Cela signifie que tu pourrais déjà faire une image de 512 pixels de large (pour faire un compte rond). N'est-ce pas suffisant ?
    Ho, pour l'instant je débute vraiment dans le domaine, donc une image de 100px me conviendrai déjà bien ^^ Mais je ne pensais pas qu'on pouvait réduire le nombre de pixel comme ça, "librement"...

    En tout cas merci pour ces réponses et tous vos liens, ça m'ouvre de nouvelles perspectives

  7. #6
    invite936c567e

    Re : Piloter une TV par un microcontroleur

    Citation Envoyé par nico_de_pablo Voir le message
    Et si je repose ma question, mais pour un écran PC et pas une TV, ça change la réponse ?
    Avec les moniteurs informatiques, les fréquences admissibles sont plus nombreuses, mais malheureusement cela ne concerne que des valeurs plus élevées.


    Citation Envoyé par nico_de_pablo Voir le message
    Ho, pour l'instant je débute vraiment dans le domaine, donc une image de 100px me conviendrai déjà bien ^^ Mais je ne pensais pas qu'on pouvait réduire le nombre de pixel comme ça, "librement"...
    Le signal vidéo étant analogique, le nombre de pixels transmis peut être indépendant du nombre de pixels physiques de l'écran. Si l'on transmet un faible nombre de pixels sur une ligne, ils apparaîtront étalés sur plusieurs pixels physiques.

    Le seul inconvénient, c'est que si le rapport entre la fréquence des pixels transmis et la fréquence des pixels physiques n'a pas une valeur entière, alors on verra apparaître quelques petites imperfections à l'affichage (barres verticales claires/sombres, moiré), mais rien de bien grave s'il s'agit seulement de faire de l'affichage "informatif".

  8. #7
    invite7ded4a0d

    Re : Piloter une TV par un microcontroleur

    Alors, j'ai eu le temps de bidouiller un peu...
    J'ai d'abord essayé de reproduire les signaux de synchronisation sortant de ma carte vidéo, et de les envoyer vers mon ecran, mais le resultat est moyen, l'ecran perd la synchro au bout de quelques dizaines de secondes... j'ignore pourquoi, des idées, des conseils ?

    Je genere les signaux avec un microcontroleur (j'ai que ca sous la main) avec un top à 50ns (mais une resolution temporelle sur les signaux de 250ns).

  9. #8
    invite7ded4a0d

    Re : Piloter une TV par un microcontroleur

    Bon, j'ai reussi a faire quelques trucs, ca marche, seulement mon pauvre µC est completement saturé (meme avec la resolution de 128*96px...), impossible de mettre a jour l'image en moins de quelques secondes...
    Que ce soit avec un microcontroleur ou juste en logique cablée avec quelques memoires (comme le schema de PIXEL), je rencontre le meme probleme : je dois lire et ecrire dans la memoire en meme temps. C'est possible, ca ?
    J'ai vaguement entendu parler du DMA (direct memory access), c'est quoi ? Ce qui me conviendrai parfaitement, ca serai un microcontroleur assez rapide (>= 100MHz) mais qui donnerai acces à sa memoire comme le ferai une EEPROM ou une RAM (genre 16 broches d'adressage pour selectionner l'octet à traiter et 8 broches de données où lire cet octet) : ca existe ?

    Merci !

  10. #9
    invite936c567e

    Re : Piloter une TV par un microcontroleur

    Il existe des mémoires spéciales à double accès qui autorisent la lecture et l'écriture simultanément. Mais c'est peu courant et pas spécialement bon marché, et dans le cas présent il y a peu de chance que cela se justifie (car alors, autant carrément choisir une autre architecture).

    Le DMA (Direct Memory Access) n'est qu'un système d'échange de données entre mémoires et périphériques qui permet de décharger le processeur principale d'une machine des opérations de transfert. Mais ça ne règle pas le problème, puisque pendant la lecture pour générer l'affichage, la mémoire reste normalement inaccessible pour réaliser d'autres opérations.

    En fait, à moins d'opter pour un système plus complexe et plus coûteux (banques de mémoire paginée, processeur vidéo, etc.) qui tranche avec la simplicité d'un montage à microcontrôleur, il faut se résoudre à limiter les échanges avec la mémoire vidéo aux seules périodes de synchronisation.

    Et si la puissance de calcul restant disponible pour les traitements est insuffisante, alors il faut avoir recours à des circuits supplémentaires pour générer tout ou partie des signaux vidéo.


    Pour info, les micro-ordinateurs qu'on utilisait il y a un peu moins d'une trentaine d'année avaient des processeurs qui tournaient à quelques MHz seulement, mais ils étaient épaulés d'un petit circuit spécialisé (un processeur vidéo très simple, en quelque sorte) qui se chargeait du séquencement des opérations de lecture de la mémoire vidéo. Les échanges entre le processeur et la mémoire vidéo étaient gérés par ce circuit, mais n'intervenaient le plus souvent que durant les tops syncho ligne et trame.

Discussions similaires

  1. [Thermique] Piloter Une Petite Porte Par Regulateur
    Par invite665a0786 dans le forum Dépannage
    Réponses: 3
    Dernier message: 03/03/2008, 22h30
  2. Piloter un moteur : Microcontrôleur ou DSP ?
    Par invitedffd721a dans le forum Électronique
    Réponses: 1
    Dernier message: 05/03/2007, 09h30
  3. Piloter ses montages par internet
    Par invite1469b964 dans le forum Électronique
    Réponses: 13
    Dernier message: 19/01/2007, 14h42
  4. Piloter des montages électroniques par internet
    Par invite1469b964 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 2
    Dernier message: 18/01/2007, 10h06
  5. Piloter un pic par le port usb...
    Par invite61e27b7d dans le forum Électronique
    Réponses: 9
    Dernier message: 02/01/2007, 13h21
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...