OpenDCC GBM16: Construction du détecteur d'occupation/ détecteur BiDi-B

Introduction

    Les GBM16 sont basées sur 2 processeurs Atmel ATXMEGA128A1 (TQFP100, pas de 0,5 mm) et d'une série de composants CMS (généralement 0603), voir soudure CMS.

Implémentation

    côté composants côté soudure

Assemblage Hardware

Etape 1

    Gleisbelegtmelder Railcom, Platine 1

     

    Tout d'abord, équiper les voyants et les réseaux résistance (1206 par exemple Reichelt BCN16 1,0 K) , les régulateurs de tension et les transformateurs restent non équipés. Au LED, des petits coins sélectionnent la cathode , l'anode est reconnaissable au cas par cas aussi au raccordement à l'intérieur sur la puce. Avec les LEDs faire attention à la soudure qui ramollit rapidement le plastique, donc ne pas prendre une trop haute température.

    Maintenant, les LEDs sont testés de suite: la carte-mère est connectée à la masse et au Pin-Pads correspondant du processeur est contrôlée par application de 3,3 V si tous les voyants s'allument un par un. Le mieux pour ce test, et d' amener du 3,3 V via une résistance de 100 ohms et caresser simplement doucement le long des Pads.

     


Etape 2

Maintenant, les régulateurs de tension et les condensateurs sont équipés et les tensions initiales sur la carte-mère de voie ('trackproc') et le Controlboard ('controlproc') sont contrôlés. elles doivent être de 3.3V. Il faut noter que, selon le régulateur de tension peut-être utilisé une charge minimum (souvent de l'ordre de 2 mA) doit être disponible sur le 3.3V, pour que le régulateur fonctionne vraiment bien. Ainsi, il est recommandé de charger le 3,3 V avec 1k pour ce test.

Etape 3

    Gleisbelegtmelder Railcom, Platine 2

     

    Maintenant, les ATXMEGA être montés. Attention: avant demonter, contrôler la révision de la puce: pour GBM la révision H ou supérieur est requise. La ref de la Revision est sur la face inférieure de la puce. D'abord aligner avec précision sur un angle, puis souder à l'opposé. Vérifiez à nouveau l'orientation broche 1 (vérifier que le boîtier ne s'est pas déplacé, "please ensure that the chips are mounted with correct orientation").


    Soyez sans crainte des courts-circuits à la soudure! Soudez toutes les broches avec économie de soudure et puis absorber l'excédent avec un cordon absorbur d'étain mince. Après que les broches aient été à nouveau examinés à la loupe pour d'éventuels court-circuits (vérifier au moins deux fois, sous des angles différents!) on met sous tension avec une alimentation limitée en courant et on surveille le courant débité. Il devrait être d'environ 15mA. Le courant en opération est d'environ 50-70mA.


Etape 4

    L'ensemble est complété, les entrées de rail et les coupleurs magnétiques sont équipés, tout comme les prises et bornes à vis (ces derniers tout à la fin). Pour les diodes merci de vérifier si celle-ci sont soudées correctement et si un joint de soudure n'est pas ouvert, une tension d'entrée trop grande peut détruire le processeur! Faire également attention au type des diodes à cause du maximum de la tension d'écoulements et du courant. Pour les cavaliers et les connecteurs entre le GBM16T peut prendre têtes simples, comme Reichelt SL 2X32G, droit, RM 2.00.

    Les bornes de la GBM sont montés dans des versions différentes à partir de la version 1.4:
    Le raccordement rail peut être bipolaire ou unipolaire. Au cas d'une connection unipolaire, la deuxième connection doit être tirée tout de même depuis la voie jusqu'au GBM et seulement là au bord DCC1 chaque fois ensemble être connecté. Pour le double pôle double-decker rail borne de connexion RIA AKL 267 ou vous pouvez utiliser le système de plugin équipé AKL183 + AKL169. En DCC et l'alimentation de remplacement sont disponibles avec des borniers à 4 pôles (vis) ou porter amovible par AKL182 + AKL169-04-04. Vous ne devriez pas utiliser le AKL183 de sorte que le câblage n' interfére pas avec éventuellement un module branché en boucle.

Téléchargement du micrologiciel (Firmware)

    Le firmware peut être enregistré soit directement, soit par un processus en deux étapes avec le chargeur de démarrage (boot loader). La méthode de bootloader a l'avantage que vous pouvez importer ultérieurement les mises à jour du firmwaresans un programmeur. Cependant, il faut que les cartes soient équipées en USB, ou pour le GBM16T le cable FTDI USB vers TTL RS232 est nécessaire.

    Les ATXmega sont programmés au moyen de PDI, c'est une interface de 2 fils. L'adaptateur SPI usuel jusqu'ici (comme par exemple ponyprog) ne peut pas être utilisé. Pour USBPROG il n'y a encore aucun soutien, une demande dans le forum local ou celui des developper est resté sans réponse. Malheureusement, le support est un peu maigre ...

    Peut être utilisé:

    ◦ AVRISPmkII: A cet effet, la version actuelle de AVR Studio est nécessaire, s'assurer de la mise à jour du menu de programmation du firmware de l'AVR ISP avant utilisation.

    ◦ STK600: Pour STK600 le connecteur à 6 broches bleu PDI tire une connexion 1:1 au module. Important: Le cavalier vbut STK600 doit être ouvert!

    Débutera l'installation du firmware avec les fusibles:
    Fuses ATXmega128A1 Bootloader
    Remarque: Désactivez le fusible JTAG, sinon la mesure sur la voie 12-15 ne fonctionnera pas.

     

    Fusibles ATXMEGA128A1, avec Bootloader
    Fusebyte 00xFFJTAG User ID
    Fusebyte 10xAAConfiguration de chien de garde
    Fusebyte 20xBAReset Configuration
    Fusebyte 40xFFConfiguration de démarrage
    Fusebyte 50xFDMémoire non volatile
    Sans bootloader serait Fusebyte 2 0xFA, voir la capture d'écran correspondant.
    Fuses ATXmega128A1U, avec Bootloader
    Fusebyte 00xFFJTAG User ID
    Fusebyte 10xAAConfiguration de chien de garde
    Fusebyte 20xBERéinitialiser la configuration
    Fusebyte 40xFFConfiguration de démarrage
    Fusebyte 50xDDMémoire non volatile

    (Note: en dépit de la signature même de l'ATXMEGA128A1 et ATXmega128A1U Atmel a déplacé le EESAVE et BODACT-Fuse de Fusebyte 2 vers Fusebyte 5 ). Vous pouvez (et devriez) choisir le réglage de 0xDD Fusebyte5 et 0xBA pour Fusebyte2 général.

    Le chargeur de démarrage est ensuite enregistré. GBM16C pour (ControlProc) est utilisé xboot_gbm16c.hex and xboot_gbm16t.hex pour la GBM16T (TrackProc) (Si aucun chargeur de démarrage n'est utilisé à ce stade, vous pouvez utiliser les mêmes fichiers (hex et EEP) . importation)


    Remarque importante sur l'alimentation pendant la programmation avec l'adaptateur PDI:
    Le programmateur connecte GND de la cartmère à GND du PC. Pour le GBM16C (ControlProc) nous sommes au même potentiel ( il n'y a pas de problèmes). Cependant pour GBM16T (TrackProc), le GND de la carte-mère est connecté à la sortie de voie du Boosters ou de la centrale. Ici, si le programmateur est branché, alors cette sortie de piste est court-circuitée à la masse. Cela signifie que soit:

    • doit fournir le booster ou la station centrale non connectée à la masse- l'alimentation électrique doit être isolé, il ne doit pas y avoir une connexion USB ou RS232 de la station centrale à l'ordinateur. XPressNet doit aussi être isolé.
    • ou s'assurer que DCC est éteint et débranché bien que la Trackproc soit alimentée et la centrale coupée. Vous pouvez brancher une alimentation USB (ou autre source d'alimentation) à Trackproc et ainsi assurer l'approvisionnement du processeur lors de la lecture du FW.

Effectuer une mise à jour du firmware

    Une fois que le programme d'amorçage est installé, le microprogramme d'exploitation est chargé via l''interface série. Pour ce faire, procédez comme suit:

    Mise à jour sur GBM16T: (Trackproc)

    1. Déploiement avrosp.exe, update_gbm16t.bat et fichiers du firmware gewüschten (gbm16t.hex, gbm16t.eep) dans un répertoire. AVROSP se trouve dans Application Note 911 d'Atmel.
    2. Branchez le GBM16T sur le connecteur du bas en utilisant le câble FTDI USB vers RS232 TTL . Un câble 3,3 V ou 5V peut être utilisé. Absolument corect en la polarité (noir = GND). Veuillez également noter que l'opto-coupleur doit être installé pour utiliser cette interface sur GBM16T.
    3. Contrôler quel port (virtuels) de série, a été affecté câble, via le gestionnaire de périphérique, qui est accessible via les propriétés de la tâche. Vous pouvez utiliser: «Exécuter ...» devmgmt.msc et puis... (j'ai mis un raccourci sur le bureau, parce que je l'utilise souvent)). Le port doit être dans la gamme COM1 à COM8.
    4. démarrer update_gbm16t.bat COMx, dans lequel x désigne le numéro de port précédemment trouvé.
    5. Allumer le GBM16T, tout en maintenant enfoncé le bouton de programmation. Le type d'alimentation n'est plus important, puisque le port série est connecté via optocoupleurs. L' isolation électrique n'est pas nécessaire, c'est à dire le GBM16T peut rester dans le système. Relâcher le bouton-poussoir après la commutation.
    6. Suivez les instructions de update_gbm16t.
    Mise à jour sur GBM16C: (controlproc)
    1. Déploiement avrosp.exe, update_gbm16c.bat et les fichiers du firmware gewüschten (gbm16c.hex, gbm16c.eep) dans un répertoire.
    2. Branchez le GBM16C soit via le port USB ou en utilisant le câble FTDI USB vers RS232 TTL. Un câble 3,3 V ou 5V peut être utilisé. (la broche d'alimentation n'est pas connecté). Absolument corect en la polarité (noir = GND).
    3. Contrôler les ports (virtuels) de série, qui ont été affectés pour le câble ou GBM16C. (Voir ci-dessus)
    4. démarrer update_gbm16c.bat COMx, dans lequel x désigne le numéro de port précédemment trouvé.
    5. Allumer le GBM16C, ce cavalier doit être installé sur le port K3. This jumper is located on the 2mm 8-pin header (J54), situé le plus proche du connecteur de programmation.
    6. Suivez les instructions de update_gbm16c.

Jumper, cavaliers

  • JP30: Ce pont de soudure est toujours fermé (utilisé comme ligne de détection de GBM16T)
  • JP54-3: uniquement pour activer le bootloader
  • Tous les autres cavaliers doivent être laissées ouvertes.

Errata pour les premières versions de circuit imprimé

  • Au connecteur PDI les broches 3 et 5 ont été inversées.
  • Changement de valeur: R40: 47 Ohms -> 22 Ohm
  • R41 n'est pas installée. En Verion 1.2 elle sera remplacée par un circuit de source de courant. Ce circuit de source de courant est disponible en tant que solution de remplacement (petit conseil supplémentaire), s'il vous plaît demander.
  • Pont IC1 pin 51 à pin 48 (DCC_IN Connectez deux fois)
  • Connectez la Pin 100 de IC50 au +5V avec R81 (=10k) (S88), avec cela une reconnaissance de l'approvisionnement de S88 sera possible..