IMA4 2018/2019 P5 : Différence entre versions
(→Réalisation du Projet) |
(→Réalisation du Projet) |
||
Ligne 181 : | Ligne 181 : | ||
==Prologue== | ==Prologue== | ||
==Semaine 1== | ==Semaine 1== | ||
+ | ===Analyse et appropriation du Projet=== | ||
+ | Le projet étant de réaliser le prototype de la calculatrice NumWorks qui est un projet Open-Source, j'ai commencé par me documenter sur leur site afin de déterminer quels choix ont été effectué pour la conception de cette dernière. | ||
+ | |||
+ | J'ai pu trouver sur [https://www.numworks.com/ numworks.com] les deux parties distinctes de mon projet. La première correspond à la partie [https://www.numworks.com/resources/engineering/hardware/ Hardware Engineering] et la seconde au [https://www.numworks.com/resources/engineering/software/ Software Engineering] | ||
+ | |||
+ | La partie Hardware comporte deux sections, | ||
+ | * [https://www.numworks.com/resources/engineering/hardware/mechanical/ Mechanical Engineering] qui concerne les pièces plastiques de la calculatrices mais qui ne nous concerne pas dans le cadre d'un prototype. | ||
+ | * La deuxième section, [https://www.numworks.com/resources/engineering/hardware/electrical/ Electrical Engineering] est correspond à ce que nous voulons étudier afin de pouvoir réaliser un prototype. | ||
+ | |||
+ | Dans cette section nous pouvons y trouver les éléments/composants ainsi que leur Schematics et Datasheets et le PCB de la NumWorks. | ||
+ | |||
+ | <NumWorks-Specifications.PNG> | ||
+ | |||
+ | * Nous pouvons voir qu'ils utilisent un STM32 F412 VGT6 comme MCU, dans notre cas, il est également proposé d'utiliser un STM32, le F412ZGT6 dont les caractéristiques sont similaires, par son appartenance à la série G des STM32F412. | ||
+ | Leur puce comporte un ARMv7-M Cortex-M4 fréquencé à 100MHz, 1Mo de mémoire flash et 256Ko de RAM. | ||
+ | |||
+ | * Le pilote d'affichage du contrôleur LCD : ST7789V | ||
+ | |||
+ | |||
+ | |||
==Semaine 2== | ==Semaine 2== | ||
+ | ===Recherche de matériel=== | ||
=Documents Rendus= | =Documents Rendus= |
Version du 10 octobre 2018 à 11:53
Présentation générale
Description
Partie 1 : Conception du prototype
Dans le cadre de ce projet, il s'agira dans une première partie de réaliser un prototype de calculatrice NumWorks à base de plateforme Nucleo.
L'idée proposée est de se baser sur une carte Nucleo qui présente des caractéristiques similaires à celle utilisée dans la NumWorks
- STM32F412ZG contre STM32F412VGT6 (NumWorks)
Il sera également nécessaire de réaliser un PCB afin d'y installer les boutons ainsi que la LED RGB pour le mode examens. Ce PCB doit également fonctionner comme un shield intermédiaire pour le shield Nucleo où se trouve le contrôleur d'écran puis enfin l'écran
Tout ceci sera à vérifier grâce aux datasheets/schematics des éléments concernés.
Ceci constitue en une étude de faisabilité. Dans le cas où il est matériellement possible de réaliser le prototype, il sera possible d'aborder le côté software de cette partie.
Dans le cas contraire, deux calculatrices NumWorks ont été mises à disposition pour poursuivre la seconde partie, essentiellement software, qui ne nécessite pas de modification hardware.
Une fois le prototype assemblé, il faudra y installer le système d'exploitation (Epsilon) et vérifier son bon fonctionnement.
Partie 2 : Mise à jour d'une NumWorks via une autre NumWorks
Dans cette partie, il s'agit d'essayer de développer une méthode par USB permettant à une NumWorks en version X de mettre à jour une autre NumWorks en version Y (Y < X).
Une méthode par UART étant déjà disponible, il est proposé, en dernier recours, de regarder s'il est possible d'ajouter un connecteur sur une NumWorks standard pour réaliser la programmation par une autre méthode de communication avec le STM32. (Dans le cas où la méthode par USB n'est pas possible à cause du bootloader)
Remarques
On ne prendra pas en compte les parties telles que la gestion de l'énergie étant donné que nous utiliserons une alimentation puisqu'il s'agit d'un prototype.
Objectifs
- Partie 1 : Conception du prototype
- Partie 2 : Mise à jour d'une NumWorks via une autre NumWorks via USB
Préparation du projet
Cahier des charges
Choix techniques : matériel et logiciel
Matériels
- 1x NUCLEO-F412ZG Farnell ref: NUCLEO-F412ZG
- 47x Boutons (clavier+reset) RS ref: 2-1437565-7
- 1x Résistance (reset) CMS 0603 10 kΩ RS ref: ERA3APB103V
- 1x LED RGB Mouser ref: LTST-S310F2KT
- 3x Résistance (SOT-23) CMS 0603 1 MΩ RS ref: CPF0603B1M0E
- 1x Résistance R-led CMS 0603 100 Ω RS ref: CPF0603B100RE
- 2x Résistance G-led/B-led CMS 0603 56 Ω RS ref: ERA3AEB560V
- 3x AO3424 SOT-23 RS ref: 942-IRLML6346TRPBF
Logiciels
- OS (Epsilon) : SDK [1]
- Réalisation du PCB : Fritzing [2]
Liste des tâches à effectuer
Partie 1 : Conception du prototype
- [] Examiner les caractéristiques d'une NumWorks standard et établir un cahier des charges avec les encadrants du projet.
- [] Déterminer la liste des éléments qui correspondent au cahier des charges.
- [] Réaliser le PCB (Fritzing) (shield pour Shield Nucleo) permettant l'ajout des boutons et de la LED RGB.
- [] Procéder à l'assemblage et aux tests d'implémentation de l'OS.
ST7781 (Controlleur LCD ST7781.pdf)
ST7781R (Controlleur LCD ST7781R.pdf)
- [] Effectuer les corrections en cas de nécessité d'adapter. Sinon, en cas de non fonctionnement, procéder directement à la Partie 2 en employant les deux NumWorks mises à disposition.
Partie 2 : Mise à jour d'une NumWorks via une autre NumWorks
- [] Déterminer s'il est possible ou non de réaliser cette fonctionnalité via USB.
- [] Développer, implémenter puis tester la fonctionnalité, au moyen des deux NumWorks fournies si nécessaire.
- [] Dans le cas où il est impossible de réaliser en USB, chercher une méthode alternative pour communiquer avec le STM32
Calendrier prévisionnel
- Soutenance : 19 Décembre (à reconfirmer)
Réalisation du Projet
Feuille d'heures
Tâche | Prélude | Heures S1 | Heures S2 | Heures S3 | Heures S4 | Heures S5 | Heures S6 | Heures S7 | Heures S8 | Heures S9 | Heures S10 | Total |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Analyse du projet | 0 | Mercredi 19/09 : 4h
Jeudi 20/09 : 6h Vendredi 21/09 : 6h |
Lundi 24/09 : 2h
Mercredi 26/09 : 3h Jeudi 27/09 : 3h Vendredi 28/09 : 2h |
|||||||||
Partie 1 | 0 | 0 | Lundi 24/09 : 1h
Mercredi 26/09 : 1h Jeudi 27/09 : 2h Vendredi 28/09 : 2h |
Lundi 01/10 : 3h
Mercredi 03/10 : 3h Jeudi 04/10 : 3h Vendredi 05/10 : 3h |
Lundi 01/10 : 3h
Mercredi 10/10 : 4h |
0 | 0 | 0 | 0 | 0 | 0 | |
Partie 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
Rédaction du wiki | 1h | 1h30 | 1h | 0 | 2h | 0 | 0 | 0 | 0 | 0 | 0 |
Prologue
Semaine 1
Analyse et appropriation du Projet
Le projet étant de réaliser le prototype de la calculatrice NumWorks qui est un projet Open-Source, j'ai commencé par me documenter sur leur site afin de déterminer quels choix ont été effectué pour la conception de cette dernière.
J'ai pu trouver sur numworks.com les deux parties distinctes de mon projet. La première correspond à la partie Hardware Engineering et la seconde au Software Engineering
La partie Hardware comporte deux sections,
- Mechanical Engineering qui concerne les pièces plastiques de la calculatrices mais qui ne nous concerne pas dans le cadre d'un prototype.
- La deuxième section, Electrical Engineering est correspond à ce que nous voulons étudier afin de pouvoir réaliser un prototype.
Dans cette section nous pouvons y trouver les éléments/composants ainsi que leur Schematics et Datasheets et le PCB de la NumWorks.
<NumWorks-Specifications.PNG>
- Nous pouvons voir qu'ils utilisent un STM32 F412 VGT6 comme MCU, dans notre cas, il est également proposé d'utiliser un STM32, le F412ZGT6 dont les caractéristiques sont similaires, par son appartenance à la série G des STM32F412.
Leur puce comporte un ARMv7-M Cortex-M4 fréquencé à 100MHz, 1Mo de mémoire flash et 256Ko de RAM.
- Le pilote d'affichage du contrôleur LCD : ST7789V