» Électronique »Quel sera le badge pour la conférence Hackaday en 2019, et comment se faire pareil

Quel sera le badge pour la conférence Hackaday en 2019, et comment se faire pareil



Pour la troisième année maintenant, lorsque Hackaday accueille la prochaine conférence, elle suit une bonne tradition: elle distribue des badges aux participants, qui sont en même temps des systèmes informatiques assez puissants. Les appareils sont inclus dans le prix du billet. Ils sont produits en petites séries industrielles, mais sont du matériel ouvert, ce qui signifie que tous ceux qui ne peuvent pas se rendre à la conférence peuvent, s'ils ont le désir et la capacité de se faire le même badge que fait maison fais-le toi-même. Cette fois, l'équipe de développement est assez grande: ce sont des auteurs sous les surnoms Lutetium, Aleksandar Bradic, Mike Szczys, Sophi Kravitz, Mike Walters, Sprite_tm, Elliot Williams, de∫hipu, Kumar Abhishek, Piotr Esden-Tempski, Voja Antonic, Zapp, Roger, Hyr0n, Sylvain Munaut et Sean Cross. Et oui, Voya Antonich est à nouveau le même, le développeur de l'ordinateur domestique désormais vintage et Galaksija.

Si, dans le passé, le badge avait été fabriqué dans un facteur de forme similaire à Cybiko ou à un téléphone à clavier QWERTY comme Nokia Asha 200, et qu'il pouvait exécuter l'émulateur Z80, le système d'exploitation CP / M et l'interpréteur de langue de base, il ressemble maintenant plus à celui de poche une console de jeu comme Game Boy. Et vous permet même de connecter des cartouches à 40 broches. Et cette fois, il a été réalisé sur le réseau FPGA LFE5U-45F.

La répétition de l'appareil doit commencer par le matériel. La première chose à faire est de télécharger tous les fichiers d'ici et installer le logiciel nécessaire, tout d'abord - KiCad. Ouvrez le diagramme qu'il contient (le fichier hadbadge2019.sch) et achetez tous les composants qui y sont inclus, après avoir examiné les notes (fichier hadbadge2019-bom-notes.txt). Ouvrez le dessin de la carte de circuit imprimé (fichier hadbadge2019.kicad_pcb) et exportez-le au format Gerber. Commandez la fabrication d'une planche dans une entreprise au profil approprié. Même si vous maîtrisez parfaitement la LUT, dans ce cas, cela n'aidera pas. Dans l'atelier de réparation des smartphones, commandez le montage sur une carte composant dans des boîtiers BGA. Vous soudez facilement tous les autres composants vous-même, en vous concentrant sur la photo ci-dessous, en vous rappelant que certains composants, par exemple les LED, sont polaires.



Dans le FPGA, vous devez remplir le chargeur de démarrage avec le programmeur en téléchargeant tous les fichiers nécessaires pour cela d'ici. Après cela, toutes les autres interactions de votre PC avec la carte se feront via USB. Pour «faire revivre» complètement le FPGA, vous devez télécharger la boîte à outils d'ici, et le code pour l'implémentation sur le FPGA du processeur RISC-V et l'interaction avec les périphériques est d'ici. Compilez et remplissez le code.

Après cela, la carte sera définie comme un lecteur flash normal, et il sera possible d'y mettre des fichiers avec les programmes qui lui sont destinés. Les cartes de programme stockées dans la mémoire peuvent être sélectionnées à l'aide des boutons dans le menu à l'écran.

La cartouche est facultative. Il s'agit d'une planche très simple qui peut être réalisée par LUT, ou même sur perfboard. Voici un schéma de la cartouche et une photo de sa carte:




Vous pouvez installer une puce de mémoire flash sur la cartouche, puis lorsqu'elle est installée, son chargement démarre automatiquement lorsqu'elle est allumée. Il existe également des plates-formes pour connecter différents périphériques sur la carte à cartouche. Les fichiers nécessaires pour répéter la cartouche sont iciet KiCad, si vous avez répété le badge lui-même, vous l'avez déjà.

Si vous n'êtes pas programmeur, vous êtes prêt. Vous pouvez prendre des exemples ici et ici et expérimenter. Si vous décidez d'écrire un logiciel de badge vous-même, les développeurs initient tout le monde aux méthodes de contact de leurs programmes utilisateur vers la périphérie.

Les noms des boutons se composent du mot BUTTON, d'un trait de soulignement et de l'un des mots suivants: UP, DOWN, LEFT, RIGHT, A, B, SELECT, START.

Exemple de code pour interroger un bouton:

si ((MISC_REG (MISC_BTN_REG) & BUTTON_RIGHT)) {
    // Faites quelque chose lorsque vous appuyez sur le bouton droit.
}


Exemple de code pour lire une minuterie lisant à une fréquence de 60 Hz:

uint32_t counter60hz (void) {
    retour GFX_REG (GFX_VBLCTR_REG);
}


Exemple de code pour lire un nombre à partir d'un générateur de nombres aléatoires matériel:

MISC_REG (MISC_RNG_REG)


Exemple de code pour le contrôle LED:

MISC_REG (MISC_LED_REG) = 0xF;


Les informations les plus complètes sur le moteur graphique de l'appareil sont données dans ce fichier. Graphiques - tuile et sprite (comme sur NES). L'image à l'écran se compose de quatre couches (répertoriées de haut en bas): une couche sprite, une couche B, une couche A et une couche d'arrière-plan. Les ensembles de carreaux, dont chacun a une résolution totale de 256x512 pixels, se composent de carreaux carrés avec un côté de 16 pixels. La palette est de 16 bits.

La couche contient des tuiles 64x64, mais une fenêtre de 30x20 tuiles est visible à l'écran. Lorsqu'un calque est sélectionné, tous ses changements deviennent immédiatement visibles. La fenêtre peut être déplacée en douceur par rapport au calque.

Les couches avec des tuiles peuvent être mises à l'échelle et déformées, les exemples actuels sont donnés dans le fichier main.c. Le travail avec la couche sprite n'a pas encore été implémenté, il sera plus proche de la conférence. Les exemples seront ensuite placés dans le même fichier.

Voici une équipe de développeurs ayant un design intéressant. Quelqu'un dira que dans les temps précédents avec un clavier QWERTY et BASIC, c'était plus intéressant, mais les rétrocomputeurs se souviennent des deux mondes - et la maison ordinateurs et consoles. Et c'est probablement vrai.
0
0
0

Ajoutez un commentaire

    • souriresouritxaxaokne sais pasYahoonea
      patronse gratterfououioui-ouiagressifsecret
      désolédansedanse2danse3pardonaiderles boissons
      arrêteramisbonbonsifflerévanouirla langue
      fumerapplaudircraydéclarermoqueurdon-t_mentiontélécharger
      chaleurirritérire1mdaréunionmasquagenégatif
      not_ipop-cornpunirlireeffrayerfait peurrecherche
      railleriemerci_vousçato_clueumnikaigud'accord
      mauvaisabeilleblack_eyeblum3rougirse vanterennui
      censuréplaisanteriesecret2menacervictoireyusun_bespectacled
      shokrespektlolprévalubienvenuekrutoyya_za
      ya_dobryiaidene_huliganne_othodifludinterdirefermer

Nous vous conseillons de lire:

Donnez-le au smartphone ...