[Vinculum]
[Sitapuces]
[Web Destructor] [ErySoft]
VDrive 2
VMusic 2
ErySoft 2009  - Utilisation des modules Vinculum -
ErySoft  2009
Si vous avez des questions à me poser, veuillez écrire à l'adresse suivante :
Cliquer sur l'image du drive correspondant pour télécharger l'outillage

Dernière mise à jour le 10 Avril 2010

Présentation des modules Vinculum

Les sociétés Vinculum et FTDI sont étroitement liées, et distribuent des circuits intégrés ainsi que des modules d'interface USB. Pour l'éléboration de ce projet, nous allons utiliser le FTDI232BM afin de pouvoir se connecter sur un port USB du PC, et les modules à base du VNC1L pour interfacer les clefs USB. Le VNC1L donne la possibilité d'utiliser une clef USB en mode autonome, que ce soit pour les fichiers conventionnels, ou les fichiers MP3 (Zic !). Les modules VDrive1 et VDrive2 permettent la gestion des fichiers d'une clef USB, tandis que les modules VMusic1 et VMusic2 donnent la possibilité d'écouter les fichiers MP3 contenus dans la clef. L'avantage est de pouvoir interfacer ces dernièrs avec un BON contrôleur, comme le AT89S51 par exemple ... ou une saloperie de PIC si vous le désirez. J'ai une sainte horreur de ces merdouilles !


VMusic 1 ou VMusic 2

Nous allons donc commencer par le plus important ... la reproduction musicale mp3 et wma. Les modules VMusic comportent toutes les commandes des VDrives, et disposent en plus de commandes spécifiques. Le chargement des fichiers se fait par le biais de votre PC. L'interface de VMusic n'a pas toutes les possibilités de de celle du VDrive.
La première chose à faire, c'est de mettre le module en mode ASCII et commandes étendues. Quand VMusic est mis sous tension, il recherche la présence d'une clef connectée, et si c'est la cas, il regarde dans la liste des fichiers sous la racine, si une nouvelle version du programme est disponible. Le nom de ce fichier doit impérativement se nommer "ftrfb.ftd". Si la version est majeure, il va afficher le message "Upgrade .....". Dans la cas contraire, le message "No Upgrade" sera affiché. Puis il envoie l'invité de commande "D:\>". A ce moment, l'interface va paramètrer automatiquement le système dans la configuration de base. A l'aide des deux touches (Option +) et (Option -) vous pouvez vous selectionnez le mode d'écoute, régler le volume et les tonalités. En ce qui concerne ces dernières, le résultat est probant, mais la manipulation pas très aisée. Il faut choisir premièrement un gain en dB pour les basses et les aigües, puis une fréquence palier de mise en service. Pour les basses par exemple, je régle un gain de 13dB à une fréquence de 140Hz. La bande de réglage va de 0 à 15dB pour la fréquence basse, et de +10,5dB à -12dB pour la fréquence aigüe qui est active sur une plage de 1kHz à 15kHz. A titre indicatif, je fixe la fréquence haute à 2 ou 3 kHz avec un gain de 3 à 4,5 dB.
Sur le schéma de l'interface, il n'y rien de bien compliqué. Le µC utilisé est le AT89S52 (ou AT89C52), qui gère l'afficheur LCD 2x16 en mode 8 bits (Voir la documentation BATRON). De même, il communique avec le VMusic2 en mode série. Les sources ASM étant disponibles, il vous sera aisé de "décrypter" les lignes d'assembleur largement commentées.

Les schémas :




Faire un clic à droite sur une des images, et sélectionner "Afficher l'image" dans le menu pour avoir cette dernière en plein écran.

Le coeur du montage est un AT89S52 ou AT89C52 cadencé avec un quartz de 22,1184 Mhz, ce qui donne une fréquence interne d'exécution des instructions supérieure à 2 Mhz. La documentation de ce dernier est disponible en téléchargement. Les 6 boutons poussoir sont directement lus par des entrées du µC. Le port P0 est utilisé à la fois pour gérer l'afficheur LCD, et l'adressage bas de la RAM 2114 (ou 9114). C'est à dire que les données présentes sur ce port peuvent être attribuées aux données de l'afficheur, ou à une adresse mémoire de la RAM. On remarque que le signal WE\ est normalement à 1, ce qui fait que les données présentes dans la RAM sont toujours disponibles sur P2.0 à P2.3 si CE\ = 0. Celle-ci a une capacité de 1024 x 4 bits. Comme le format des données est normalement de 8 bits, nous pouvons en déduire que le RAM peut donc contenir 512 octets. Ils servent à recueillir les informations issues d'une instruction DIR classique DOS, et du Tag d'un fichier mp3. Le programme du Vinculum ne gère que les noms courts. De ce fait, je vous conseille donc d'enregistrer dans votre clef des noms de fichiers qui ne dépassent pas 8 caractères. Vous pouvez par exemple les numéroter de la façon suivante : F0001.mp3, F0002.mp3 .... Vous allez me dire qu'il est impossible de lire dans ces conditions, le titre de la musique que vous écoutez. Mais le Vinculum va lire le Tag des fichiers mp3, donc à vous de remplir ces champs de données avec un éditeur approprié. Vous en trouverez un tas sur Clubic, ou vous pouvez utiliser Erypper, un soft réalisé par mes soins. J'ai testé des clefs ayant une capacité de 2Go sans problème. Si vous êtes mélomanes, je vous conseille de mettre des fichiers wma sur vos clefs , ou des fichiers mp3 en mode VBR. WinLame fait parfaitement ce travail. Il est disponible sur sourceforge. Il coule de source que vos musiques converties doivent être à l'origine au format wav. Il faut donc "ripper" un CDA, si celui-ci n'est pas protégé, ou disposer de fichiers mp3 en 320 kbps.
Un signal du µC a une double fonction, c'est la broche P2.4 qui porte le nom de RS/CE. Les données sont accessibles par l'afficheur LCD si le signal E de ce dernier passe à 0. Le signal RS sert quant à lui à indiquer à l'afficheur si il s'agit d'une fonction de configuration, ou d'une donnée à écrire à l'écran. On peut donc utiliser ce dernier pour gérer la RAM sans créer de conflits. Le réseau de résistances sur P0 est indispensable, car ce port, contrairement aux autres, ne comporte pas de transistors générateur de courant (Pull Up).
La Ram 2114 àu 9114 n'est pas obligatoire. L'interface détecte sa présence. Elle servira uniquement dans la prochaine version, pour la sélection d'un fichier dans un liste. Le cuivre (Circuit Imprimé) est disponible. Mais il est possible de la réaliser sur une carte d'essai au pas de 2,54 aux dimensions de 160 x 100 mm.
L'outillage est maintenant disponible en téléchargement avec le bouton "Outillage Interface". J'ai donné le nom de VUMP à ce lecteur de clef musicale. Afin d'obtenir une bonne définition, les tirages ont été réalisés en 600dpi bmp. A vous de les remettre aux dimensions en les divisant par 6. L'alimentation de l'interface se fait en 5V (VCC) avec une consommation de 100ma maximum, et celle des amplificateurs de 12 à 16V avec un minimum de 2A.
Je vous conseille d'avoir un minimum de connaissances en électronique et assembleur pour réaliser ce montage. Le câblage entre les cartes est celui du schéma de l'interface VMusic2 (VUMP). Les connecteurs aux pas de 5,08mm sont réalisés en soudant des cosses poignard. Pour le branchement du module VMusic2, coupez à l'une des extrémités le connecteur, et soudez les fils directement sur les cosses avec une gaine d'isolation électrique. Il vous suffit maintenant de remplir une clef de musique, et de la connecter sur le VUMP.

Vmusic2 version 1.1 :

Dans cette nouvelle version, la Ram est utilisée, et permet de récupérer le Tag du MP3. Les champs numéro de piste, titre, artiste et album sont obligatoires pour que le programme puisse reconnaitre le Tag. Si le fichier comporte une entête (header), le module a du mal à lire ce dernier. Le meilleur outil que je connaisse pour cette tâche, est le Mp3 Tag Tools. Il faut impérativement que le champs Header soit égal à 0. Le temps de transition entre deux fichiers est maintenant immédiat. Si le Tag est correct, il va défiler sur la deuxième ligne de l'afficheur LCD. Sinon, le temps sera visible.

Vmusic2 version 1.2 :

Des corrections sur l'affichage ont été réalisées. Maintenant, si le Tag n'est pas valide, le temps s'affiche correctement. Par contre, si la clef USB est déconnectée pendant la lecture d'un fichier, c'est un peu le merdier, mais l'interface retombe sur ses jambes.

Vmusic2 version 1.3 :

Bientôt disponible !



VDrive1 ou VDrive2

Le fonctionnement de VDrive1 et VDrive2 sont similaires, il n'y a que la présentation qui change. Toutes les documentations sur ces derniers se trouvent en téléchargement en tête de page. Je pourrais directement acheter les circuits intégrés pour la réalisation, mais ce sont des boîtiers CMS, et il faut donc faire un cuivre. Mais cela est trop onéreux. J'ai trouvé ce module chez Farnell, mais il est possible de l'acheter chez FTDI en Angleterre ... en Livres Sterling ! Mais il doit exister d'autres sources d'approvisionnement.

La communication entre le contrôleur et le module peut se faire en mode SPI, ou en mode série 9600,n,8,1. J'ai bien essayé d'augmenter la fréquence, mais cela pose des gros problèmes quand on écrit un fichier sur la clef. J'ai signalé ce problème à la maison mère ... pas très coopérative à mon goût. Les autres fonctions du module peuvent se faire à grande vitesse, supérieure à 115 200 Bauds. De toutes façons, l'écriture sur une clef n'est pas très rapide, alors ! J'ai donc opté pour le mode série, car pratiquement tous les contrôleurs disposent de cette option ... même les PIC's !

La communication série entre le module et le contrôleur, est de 9 600 Bds, données de 8 bits, 1 bit start, 1 bit stop sans contrôle de parité. Cette communication peut se faire en binaire, ou en ASCII (Caractères imprimables). Elle peut aussi être en mode court ou étendu. La rapidité n'étant pas l'objet de ce montage, nous allons donc utiliser la communication étendue en mode ASCII.
Il est à noter aussi, que les erreurs de commandes sont fatales pour les modules. Ils plantent grave ! Si vous désirez faire une opération sur un fichier, et que le nom du fichier indiqué n'est pas valable ... silence radio total ! Il faut donc couper l'alimentation pour faire une réinitialisation du module.

Je suis entrain de réaliser l'outillage de l'interface du VDrive. Pour des raisons de fiabilité du programme fournit par la société Vinculum (Des trous du cul !), j'avais décidé d'attendre qu'ils arrivent à mettre au point une version stable. Sinon, ce dernier plantait pour un oui, ou pour un non. Maintenant, c'est un peu mieux, mais de nombreux disfonctionnements existent toujours. J'ai la forte impression qu'ils font tout pour noyer le poisson dans l'eau, en distribuant au grand public des programmes pas très au point.