ELECINF344/381

Partie interactive du site pédagogique ELECINF344/ELECINF381 de Télécom ParisTech (occurrence 2011).

Catégories

[Casper] Carte STM32

Nous avons aujourd’hui poursuivi la prise en main de notre carte, en commençant par l’écran. Mauvaise surprise, il se commande en SPI 9 bits, et le STM ne fait que du 8 ou du 16 bits. D’après certains forums, il est possible de contourner le problème en utilisant un USART, mais malheureusement aucun USART du STM n’est remappable sur les pins que nous avons choisis pour contrôler l’écran. Nous avons donc dû commander l’écran en bit-banging. Nous nous sommes appuyés sur le tutoriel de James P. Lynch, très clair, pour les protocoles d’initialisation de l’écran et d’écriture. Celui-ci fournit également trois fontes de caractères dans un format facilement utilisable. Notre écran est à base de contrôleur de type Epson (l’écran peut en effet être à base de deux types différents de contrôleurs), mais la plupart des pins de configuration ne sont pas accessibles depuis la sortie de l’écran (comme celles permettant de faire du SPI 8 bits…).

Heureusement, la flash se commande quant à elle en SPI 8 bits, et l’utilisation du DMA devrait permettre de soulager un peu plus le processeur lors du chargement d’images à afficher…

Prochaine étape : communication UART pour envoyer des images à afficher, et les stocker dans la flash.

 

MB Led : architecture fonctionnelle

Durant cette semaine, nous nous sommes surtout focalisés sur le TP STM32. Cependant, nous avons revu notre choix des composants pour MB Led.
Nous avons trouvé – merci Alexis – le TCL59116 de chez Texas Instrument. C’est un driver de LED où le contraste de chaque LED est programmable en soft. Ainsi, il serait possible d’avoir la même intensité pour toutes les LEDs. Etant donné qu’il contrôle seulement 16 LEDs, nous en prendrons deux. Le STM32 communiquera avec les TCL59116 par bus I²C, ce qui ne changerait pas notre brochage.
Pour le reste des composants, nous ne changeons pas notre choix initial (cf https://spreadsheets.google.com/ccc?key=0AncMdD-cz6M-dE5adzNDWkNnel9qNzd3LU1faUpuNEE&authkey=CNSan78L&hl=en#gid=0 )

Durant ce week end, j’ai aussi continué de programmer le test bench en Python. L’apprentissage du python se fait difficilement mais j’arrive à communiquer entre deux threads, c’est déjà un bon début.

Voici notre architecture fonctionnelle : les 16 blocs ont la même face recto et pour le verso, un des bloc intègre un module Bluetooth tandis que les autres ne l’ont pas.