Envoyé par
danieldou
Donc, comme tu dit, c'est comme si on reliait le microcontrôleur au PC par le port série RS232 et les faire communiquer, comme ça ça résout le problème de l'explorateur Windows et ça facilite la mise en place, mais est ce que le microcontrôleur peut communiquer des données (de sa mémoire flash, très petite oui, mais en théorie ?) via le port série RS232 ? comme une clé USB quoi (via le logiciel développé pour ça, bien entendu).
Question toute bête : le programmateur USB que j'ai acheté indique qu'il est compatible pour toutes les familles de PIC allant de 10F a 32F, je suppose que le PC18F4550 sera donc compatible ?
Il existe beaucoup de solution pour répondre a ton besoin mais pour faire un choix il faudrait que tu ais un cahier des charges plus précis. Par exemple, pour l'histoire du bridge USB/UART qui se situe entre le PC et le micro-contrôleur, et tu l'as bien compris, le PC voit de son côté un port série virtuel (et non pas une clé USB) et de l'autre côté le micro contrôleur lui voit aussi un UART. En réalité ce bridge est complètement transparent et ni le micro-contrôleur, ni le PC ne s'aperçoivent qu'ils communiquent aux travers de l'USB, ils ont tous les deux l'impression de communiquer via un câble série RS232.
Pour ta réponse concernant la mémoire interne flash ou ram ou eeprom, oui, le micro y a accès et sait très bien la lire ou l'écrire ou l'envoyer sur un périphérique.
Mais sans cahier des charges c'est dur de faire un choix ! Premièrement si tu choisie de mettre un bridge USB/UART est ce qu'un téléphone sait reconnaître un port série virtuel ? Un PC oui mais un téléphone portable ? Et une tablette ?
Et si tu décides d'implémenter directement ce bridge dans ton PIC18F4550 afin de ne pas avoir de composant intermédiaire entre entre le PC et le micro, quant est t-il si tu connectes ça à un téléphone portable ? Admettons que la réponse soit "oui ça marche aussi" : Est ce qu'une application mobile sur Android ou IOS (peut importe en quel langage) peut gérer un port série virtuel sachant que, si je n'abuse, aucun téléphone portable a de port série ?
Après il existe d'autres bridges USB/SPI, USB/I2C, le quel est le mieux pour ton projet ? Bien sur le PIC18F4550 peut aussi implémenter lui même ces bridges.
Si tu as besoin de gérer beaucoup de fichier dans ta futur clé, ne vaudrait il pas mieux implémenter de l'USB/MSC dans le PIC18F4550, au quel cas le PC va prendre ton micro pour une clé USB, et établir des règles d'accès pour interdire quiconque de lire ou écrire ?
Si tu n'as que quelques octets (genre 200) a sauvegarder dans cette clé alors peut être que d'autres solutions seront plus adaptées.
Concernant le programmateur, il est bien mais il ne te permettra pas de faire du débuggage et ça risque d'être bloquant. Si tu avais pris un Pickit3, tu aurais pu dérouler ton programme en mode pas à pas, mettre des points d'arrêts, voir tes registres en temps réel et lors d'une mise au point ça aide. La avec un simple programmateur, tu balances le programme dans le micro et puis tu serres les fesses pour que ça marche du premier coup et si ça marche pas, je te raconte pas la galère pour trouver le problème ! (toi et moi savons que ça ne marche jamais du premier coup)
Envoyé par
danieldou
Par le plus de boulot tu entend quoi ? tu pourrait me lister les étapes par lesquelles il faudrait passer pour mettre en place cette solution ?
Après pour la mémoire c'est vrai que c'est embêtant... il n'y a aucune solution de mettre du CMS sur une plaque d'essai..? donc si j'opte pour cette option, si j'arrive a faire fonctionner tout ça, de toutes façons je ne pourrais pas ajouter de mémoire et je devrais me contenter de l'extrêmement basse mémoire déjà incluse dans le microcontrôleur, c'est ça ?
T'a jamais trouvé de schéma de clé USB ? quand tu tape "usb key schematics" sur Google images, ce ne sont pas de bons schémas ?
Et bien mis a part la mémoire, je pense que tout les composants se trouvent en taille assez grande pour une plaque d'essai (résistances, condensateurs etc.) je me trompe ?
Par boulot, j'entends pas là :
1 - Implémenter la stack USB (CDC ou HID ou MSC selon ce que tu souhaites faire) côté micro
2 - Il y aura sûrement un peu de gestion FAT32 mais cela dépendra de l'USB que tu choisiras (si c'est du MSC alors oui il faut gérer le FAT32 pour qu'un PC prenne cette clé pour un répertoire compréhensible mais si c'est en HID ou CDC alors ça n'a aucune importance puisque le PC ne voit pas la clé comme un répertoire, il l'a voit comme un appareil connecté (genre souris, clavier, une carte électronique, ...)) déjà on voit tout de suite que le point 2) va dépendre du point 1) et tant qu'on ne sait pas qu'est ce qu'on implémente en USB alors impossible de savoir le boulot à faire derrière.
3 - Faire le soft côté PC qui implémentera le même USB que le micro (il faut d'abord choisir le point 1) avant)
4 - S'assurer que l'application est portable vers une tablette et téléphone portable (c'est le point 1) encore une fois, qu'il faut voir pour s'en assurer)
Je pense que pour démarrer sainement il faut décrire clairement ce que doit faire cette clé USB et choisir l'implémentation USB la plus adaptée.
Imaginons que tu veuilles une clé sécurisé de 1Go alors c'est clair que c'est l'USB MSC qui s'y prête le mieux, restera à trouver la parade pour que personne n'y ait accès sauf toi. Mais si d'un coup tu veux allumer des LED via le logiciel alors le MSC ne va plus vraiment convenir
Imaginons que tu te tournes vers HID alors pour allumer des LED via le soft c'est nickel mais pour gérer des fichiers/dossiers alors ça va être un peu plus compliqué car là c'était bien MSC le plus adapté.
C'est hyper compliqué de répondre.
Pour les composants CMS sur une plaque d'essai c'est pas évident et malheureusement dès que tu voudra de la mémoire tu ne trouvera pas composant en boîtier DIP, qui va bien pour une plaque d'essai. Tu as raisons pour tout ce qui est quartz, résistance, condo là oui aucun soucis.
Pour des schémas de clé je n'ai pas regardé, tu pourrai me donner quelques liens que tu as vu ?
D'un point de personnel et si j'étais amené à faire ce projet.
J'aurai commandé une démo board (un peu comme la carte rouge tout en haut de ces messages) mais de chez Microchip si tu veux prendre ce fabricant, je sais qu'ils en ont car il y a quelques années j'avais acheté la démo board USB mais c'était pour autres choses que je m'en étais servis. Grâce a cette démo board j'aurai testé plusieurs classe USB (HID/CDC/MSC) pour voir ce qui correspondrait le mieux à mon besoin. Et surtout j'aurai essayé de branché ma démo board sur une tablette ou téléphone portable pour voir si elle est détectée. (attention, il faut bien choisir la démo board USB pour voir si elle correspond bien et si elle a un peu de mémoire pour faire des essais) Généralement les fabricants fournissent plein de démo et même des logiciels PC pour que tu apprivoises leur micro. Par exemple, la carte Texas Instruments et afin que tu sois séduit par ce fabricant, ils ont mis 2 programmes de démonstration dedans, donc quand tu la reçois elle est déjà programmée. Le premier programme est l'USB MSC et des que tu connectes cette petite carte à 12€ sur ton PC, tu vois apparaître une clé USB et dedans il y a 3 fichiers textes. Le second programme se lance lorsque tu appuis sur un bouton,il change la pile stack en mémoire et la transforme en USB CDC (clavier USB). Dans le bouquin de la démo board il te demande d'ouvrir note/gédit/word etc... et d'appuyer sur le bouton, lorsque tu le fais tu vois du texte apparaître, lettre par lettre comme ci tu tapais au clavier. Bien sur Texas, en plus de te montrer 2 moyens de faire de l'USB, te donne leur source de démonstration afin de te facilité la vie. Je ne suis pas inquiet, Microchip fait pareil et d'autres fabricants aussi.
Si tu arrives a faire ce que tu veux alors le principe sera validé et il restera a choisir la gamme du micro à mettre en place car souvent sur une démo board, il te mette un micro super balaise mais si c'est pour qu'il soit utilisé à 30% autant mettre le petit frère de la même gamme, souvent moins volumineux et moins cher et par moment avec de la chance, il est disponible dans un boîtier qui convient à une plaque d'essai. En revanche, concernant la mémoire, je suis quasi sur que tu aura beaucoup de mal à trouver une grosse mémoire qui peut être placée sur une plaque d'essai !
Partager