PulseGenerator : IHM face avant

De Wiki_du_Réseau_des_Electroniciens_du_CNRS
Aller à : navigation, rechercher
Accueil - Projet Pulse Generator

Présentation - Cahier des charges - Gestion du projet - Côté PC - Côté PIC - Côté CPLD - Membres

Liaison SPI - Protocole SCPI - IHM face avant


 Vous pouvez rédiger vos propositions sur cette page, ou-bien nous les envoyer sur la liste de diffusion du projet ;-)


Nuvola filesystems folder.png Suggestion d'IHM pour la face avant

Présentation "IHM LCD 4x20", conçu lors de la formation PIC32 ;-)

PG IHM LCD 4x20.jpg


Proposition pour l'intégration dans un boitier rackable 19" au format 4U (les dessins ne sont pas à l’échelle) :

PG FaceAvantVersionA1.jpg
  • PG Face Avant Version A.2 en partant de la version A.1, cette nouvelle version présente une face avant avec 8 entrées et 8 sorties comprenant en entrée un connecteur BNC + un connecteur pour Fibre Optique + un bouton poussoir + une LED bicolore, et pour la sortie on aura la LED bicolore + une LED Optique + une BNC.
PG FaceAvantVersionA5.jpg
  • PG Face Avant Version B.0 avec BNC en partie basse du boitier pour une répartition moins serré de l'IHM (permet peut-être d'être moins gêné par les BNC et d'avoir plus d'espace pour les branchements)
PG FaceAvantVersionB0.jpg


Connexion de la carte chipKIT™ Pro MX7 (CEREBOT™ MX7cK)

voir le tableau de synthèse "Ressources PIC32_CHIPKIT_PRO_MX7_BOARD pour PG"

Les tableaux suivants donne les correspondances entre les éléments de la face avant et les broches des connecteurs Pmod:

Proposition pour le raccordement en maillage de 12 boutons poussoir :

IHM Face avant PIC32 Signal Name Connecteur Pmod
Row_1 AN2/C2IN-/CN4/RB2 JA-01
Row_2 AN3/C2IN+/CN5/RB3 JA-02
Row_3 AN4/C1IN-/CN6/RB4 JA-03
Column_1 PGEC2/AN6/OCFA/RB6 JA-04
Column_2 PGED2/AN7/RB7 JA-07
Column_3 AN8/C1OUT/RB8 JA-08
Column_4 AN9/C2OUT/RB9 JA-09
NC CVrefout/PMA13/AN10/RB10 JA-10
ou

Proposition pour le raccordement en maillage de 16 boutons poussoir (voir PmodKYPD) :

IHM Face avant PIC32 Signal Name Connecteur Pmod
COL4 AN2/C2IN-/CN4/RB2 JA-01
COL3 AN3/C2IN+/CN5/RB3 JA-02
COL2 AN4/C1IN-/CN6/RB4 JA-03
COL1 PGEC2/AN6/OCFA/RB6 JA-04
ROW4 PGED2/AN7/RB7 JA-07
ROW3 AN8/C1OUT/RB8 JA-08
ROW2 AN9/C2OUT/RB9 JA-09
ROW1 CVrefout/PMA13/AN10/RB10 JA-10

Raccordement de l'afficheurs LCD alphanumérique 4x20 :

IHM Face avant PIC32 Signal Name Connecteur Pmod
LCD_PIN_BKL PMD0/RE0 JB-01
LCD_PIN_RW (NC) PMD1/RE1 JB-02
LCD_PIN_RS PMD2/RE2 JB-03
LCD_PIN_E PMD3/RE3 JB-04
LCD_PIN_DB4 PMD4/RE4 JB-07
LCD_PIN_DB5 PMD5/RE5 JB-08
LCD_PIN_DB6 PMD6/RE6 JB-09
LCD_PIN_DB7 PMD7/RE7 JB-10
+

Liaison SPI maître vers la carte CPLD :

Signaux SPI PIC32 Signal Name Connecteur Pmod
SS SS1/IC2/RD9 JD-01
MOSI SDO1/OC1/INT0/RD0 JD-02
MISO T5CK/SDI1/RC4 JD-03
SCLK SCK1/IC3/PMCS2/PMA15/RD10 JD-04
NC OC2/RD1 JD-07
NC OC3/RD2 JD-08
NC OC4/RD3 JD-09
NC ETXD2/IC5/PMD12/RD12 JD-10


Nuvola apps kate.png Recensement des besoins de chacun pour la conception du proto

Nous pourrions utiliser un logiciel libre et Open source pour la réalisation des PCB. KiCad semble un bon candidat...

Nuvola apps ksim.png Hardware

voir la "Nomenclature pour commande projet Pulse Generator"

  • carte Nexys™4 Artix-7 FPGA Board
  • 8 entrées Trigger avec 3 entrées raccordées sur une carte logique "OU" dont une BNC, une Fibre Optique et un bouton poussoir
  • de 16 à 32 voies en sortie avec des délais différents
  • entrées et sorties compatible TTL, voir Logic Level Converter Bi-Directional
  • interface électronique pour Trigger permettant de convertir un signal TTL (0-5 V) vers l'entrée 3V3 du FPGA/CPLD
  • 2 BNC 50 Ohms par voie (Trigger + Pulse), montées sur panneau avant pour en facilité l'accès
  • 1 LED (bicolore) pourrait-être ajouté à coté de chaque BNC pour visualiser la configuration des Trigger en association avec les voies de sortie, ainsi que le déclenchement de ces dernières
  • entrée "Alimentation Signal de sortie" sur face arrière, pour fixer depuis des collecteurs ouverts le niveau de tension des sorties des signaux Pulse
  • faire une carte fond de panier ou carte mère pour pouvoir raccorder plusieurs cartes CPLD avec la face arrière
  • souhait de ne pas avoir de jitter sur la durée des pulses
  • comptage du nombre de trigger avant la génération du pulse, exemple:
Chrono - Comptage Pulse.jpg
  • avoir les boutons suivant:
    • pavé de navigation 5 voies → RS Components: 126-846
    • boutons pour séquenceur: Pause / Stop / Reset → ? proposer un modèle de face avant, si validé...
  • RTCC pour horodatage des événements (TDGL013 - Digilent PmodRTCC Peripheral Module)
  • firmware USB Host sur la carte PIC32 → Sauvegarde et restauration de configuration utilisateur + fichier LOG sur clef USB (fiche USB type A en face avant)


Nuvola filesystems folder.png Intégration mécanique


Nuvola filesystems folder.png Fonctionnement depuis l'IHM de la face avant

  • un écran d’accueil (Splash screen) affiché pendent 5 sec, voici quelques propositions, pensez aux présentations pour les prochaines rencontres dans les réseaux :
 """"""""""""""""""""""
 ".:: AAP RdE 2013 ::."
 "Projet Collaboratif "
 "  _ Pulse Generator "
 "_/   Firmware v1.00 "
 """"""""""""""""""""""
  --------------------
 ".:: AAP RdE 2013 ::."
 " Projet Collaboratif"
 "  _ Pulse Generator "
 "_/ \_ Firmware v1.00"
  --------------------
  • Gestion des menus par une variable d'environnement "Current_Menu" pour rendre le fonctionnement du PIC fluide. Description des valeurs :
    00 = MAIN_MENU : menu principale, navigation mais pas de sélection en cours
    10 = ... : menu 1
    20 = ... : menu 2
    30 = ... : menu 3
    31 = ... : sous menu 3-1
    32 = ... : sous menu 3-2
    33 = ... : sous menu 3-3
    40 = ... : menu 4
    41 = ... : sous menu 4-1
    42 = ... : sous menu 4-2
    et un grand SWITCH CASE pour gérer tout ça dans la boucle while(1) du main
  • On peut imaginer d'avoir une navigation dans les menus qui soit intuitives (plutôt qu'un grand nombre de bouton), par exemple pour le niveau 1 "Pulse Setting", puis ('→' marquant la transition lors de la sélection par l'utilisateur) on choisi la voie à configurer, avant d'accéder en niveau 2 pour le paramétrage des timing...
 NIV1.L1 "--Menu: Principale--"
 NIV1.L2 "> Pulse Setting [--]" → ">Pulse Setting [32]<" → puis aller vers niveau 2 pour le paramétrage de la voie sélectionnée
 NIV1.L3 "  Delay Setting [--]" → ">Delay Setting [32]<" → puis configurer le temps de retard du pulse lors d'un Trigger
 NIV1.L4 "  Trig. Setting [--]" → ">Trig. Setting [32]<" → idem pour la configuration du Trigger