Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
On parle des Pics, sans rapport avec le langage ou la programmation

Modérateur : Jérémy

Utilisation du coprocesseur flottant Micromega uM-FPU
Claudius
Avatar de l’utilisateur
Amateur
Amateur
Messages : 195
Âge : 64
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#1 Message par Claudius » dim. 10 févr. 2019 21:47

Bonjour,

A la demande de la communauté, j'ouvre ce fil de discussion sur l'utilisation du coprocesseur flottant uM-FPU de la Société Micromega
Ce fil fait suite au post #362 et suivants de la discussion Soft de commande CNC en asm initiée par notre ami F6FCO

Chacun est invité à contribuer (questions / réponses / propositions); le but est de faire en sorte que son utilisation avec le PIC dans l'environnement de son choix soit le plus facile possible et pourquoi pas aboutir en final à un ou plusieurs tutoriels pour répondre à des cas précis de besoins et d'utilisation...

Dans un premier temps et avant sa mise en œuvre avec un PIC, il sera consigné ici le maximum d'informations concernant l'utilisation de ce coprocesseur qui se décline en 3 familles; à savoir :
==> - uM-FPU64 64-bit Floating Point Coprocessor
==> - uM-FPU V3.1 Floating Point Coprocessor
==> - uM-FPU V2 Floating Point Coprocessor

Ce coprocesseur se pilote avec tout µC au moyen d'une des 2 interfaces I²C ou SPI
Modifié en dernier par Claudius le mar. 12 févr. 2019 09:19, modifié 1 fois.

Utilisation du coprocesseur flottant Micromega uM-FPU
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 1338
Âge : 68
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#2 Message par paulfjujo » lun. 11 févr. 2019 07:47

bonjour Claudius et à tous,

:+1: Merci pour avoir ouvert ce post qui s'avere tres interressant à suivre et pourquoi pas , y participer .

Ou as-tu commandé ton FPU V3.1 ?

Tant qu'à faire, personnellement je m'interesse plutot au FPU 64bits , car couvrira les lacunes de la bibliotheque "Maths" de mikroC
qui ne gere que le flottant 32 bits (.. meme en déclarant des doubles sur 64 bits !)
qui limite la précisions dans les calculs lies au GPS et autres applis.
et ce sera bien plus parlant d'en démontrer l'usage et l'utilité, en comparant les 2 modes de calculs.

Ca me rappelle le rajout du 8087 sur mon vieux PC XT
et le changement de vitesse de calcul en Raytracing... en quelques heures au lieu de jours.

j'ai deja vu que le SPI galope plus vite que l'i2C
mais ce n'est pas uniquement la frequence CLK qui doit pouvoir departager le mode de dialogue optimum
avec ces bestiaux.


A+
Aides toi, le ciel ou Fantastpic t'aideras

Utilisation du coprocesseur flottant Micromega uM-FPU
Claudius
Avatar de l’utilisateur
Amateur
Amateur
Messages : 195
Âge : 64
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#3 Message par Claudius » lun. 11 févr. 2019 09:31

Bonjour paulfjujo et à tous,

J'ai passé commande chez Lextronic: cf. COPROCESSEUR MATHÉMATIQUE "UM-FPU V3"

Quant au uM-FPU v2 à 8 pattes, celui-ci semble en rupture de stock chez pas mal de fournisseurs en espérant qu'il se fabrique encore ;-)
Pour le 64 bits, pas dispo. pour l'instant chez Lextronic : cf. COPROCESSEUR MATHÉMATIQUE "UM-FPU 64"

Les flottants en 32 bits et 64 bits correspondent effectivement et respectivement aux types float et double de la norme IEEE 754
Maintenant, la précision est limitée par le GPS Américain lui-même, du moins en attendant la couverture totale du Galileo Européen

@j'ai deja vu que le SPI galope plus vite que l'i2C
mais ce n'est pas uniquement la fréquence CLK qui doit pouvoir départager le mode de dialogue optimum
avec ces bestiaux.


Effectivement, comme l'avait identifié F6FCO (qui, je crois, en a commandé également ;-), ces coprocesseurs permettent en plus de dérouler à leur fréquence propre un programme pré-téléchargé qui évite les allers-retours avec le µC. C'est surtout dans cette utilisation que la différence se fera au prix d'une relative complexité accrue dans la mise au point et qui sera abordée naturellement dans ce fil de discussion :-)

NB: Merci pour les encouragements et ne pas hésiter à participer car c'est un sujet très large et passionnant (les nombres flottants, leurs avantages / inconvénients, leur mise en œuvre, pourquoi faire le pas par rapport à l'arithmétique entière lors de l'analyse de phénomènes physiques, utilisation de l'I²C, du SPI, etc.)
Modifié en dernier par Claudius le mar. 12 févr. 2019 09:19, modifié 1 fois.

Utilisation du coprocesseur flottant Micromega uM-FPU
F6FCO
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 848
Âge : 65
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#4 Message par F6FCO » lun. 11 févr. 2019 20:15

Bonsoir,
Un grand merci Claudius d'avoir ouvert ce sujet, ce coprocesseur m'intéresse au plus haut point, çà simplifiera bien la mise en oeuvre des calculs en ASM.

Claudius a écrit :Effectivement, comme l'avait identifié F6FCO (qui, je crois, en commandé également ;-),


Ben, j'étais bien parti pour en commander un et puis j'ai fais marche arrière pour la bonne raison que me connaissant bien je me suis dit que si je commençais à me passionner pour ce truc mon projet de CNC allait rester sur la touche et que dans quelques temps je ne comprendrais plus rien à mon programme. J'ai les étagères pleines de projets qui ont avortés parce que çà durait trop et que je me suis lancé dans autre chose avant de les terminer.

Mais bon, d'un autre coté ce serait dommage de louper le coche, c'est mieux de faire en même temps que vous deux plutôt que d'y revenir après coup. Soyons fou, je commande et je vais tacher de mener les deux trucs de front.

De plus j'ai pété le coupleur d'axe Z et je suis obligé d'attendre la réception d'Aliexpress pour continuer, donc la cnc est en stand by pour l'instant.
Une porte nand prend 2 bits en entrée... la cochonne !!! 8-)

Utilisation du coprocesseur flottant Micromega uM-FPU
F6FCO
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 848
Âge : 65
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#5 Message par F6FCO » ven. 15 févr. 2019 19:18

Hello tous,

Toujours pas reçu le FPU, çà ne saurait tarder. J'ai installé l'IDE pour découvrir la chose en avant-première, il y a un tuto dans le manual: j'ai coché PIC MPASM dans le menu déroulant de l'IDE et j'ai tapé le tuto, compilé et çà m'a donné du code asm à copier/coller dans le PIC. A priori ce code sert à envoyer les commandes de calcul au FPU.

Au premier abord il y a des petits trucs qui me dérangent au niveau des variables mais j'attends d'en savoir un peu plus pour me faire une idée.
Une porte nand prend 2 bits en entrée... la cochonne !!! 8-)

Utilisation du coprocesseur flottant Micromega uM-FPU
Claudius
Avatar de l’utilisateur
Amateur
Amateur
Messages : 195
Âge : 64
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#6 Message par Claudius » ven. 15 févr. 2019 19:30

Bonsoir F6FCO et à tous,

Super...
Je devrais avoir mes 2 exemplaires du COPROCESSEUR MATHÉMATIQUE "UM-FPU V3" la semaine prochaine :-)

En //, je prépare à l'aide d'un simulateur un programme pour 16f628 qui émulera dans un 1st temps les 4 opérations + , - , / et * d'une calculatrice via l'UART + terminal avec présentation du résultat en notation scientifique.

Après viendra le téléchargement d'un programme comme ... une calculatrice en quelque sorte ;-)

Utilisation du coprocesseur flottant Micromega uM-FPU
F6FCO
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 848
Âge : 65
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#7 Message par F6FCO » ven. 15 févr. 2019 20:11

Yes !

C'est pas des rapides chez Lextronic, j'ai commandé le lendemain de l'ouverture de ton sujet.
Une porte nand prend 2 bits en entrée... la cochonne !!! 8-)

Utilisation du coprocesseur flottant Micromega uM-FPU
Claudius
Avatar de l’utilisateur
Amateur
Amateur
Messages : 195
Âge : 64
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#8 Message par Claudius » ven. 22 févr. 2019 11:07

Bonjour,

Pour info., j'ai bien reçu les 2 exemplaires du COPROCESSEUR MATHÉMATIQUE "UM-FPU V3" :-)

Utilisation du coprocesseur flottant Micromega uM-FPU
Jérémy
Administrateur du site
Administrateur du site
Messages : 2324
Âge : 40
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#9 Message par Jérémy » ven. 22 févr. 2019 12:05

Bonjour à tous,

Je suis avec attention cette discussion. En effet je suis également intéressé par l'utilisation de GPS ( voir ce post )

Mais comment doit on programmer ce genre de bestiole ? en VHDL ? faut il un logiciel particulier ? comment ca fonctionne en quelques mots. Genre on lui envoie une trame GPS, et paf il effectue des calculs dessus ( qu'on aura préalablement programmés) et nous renvoie une distance par exemple ?
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Utilisation du coprocesseur flottant Micromega uM-FPU
Claudius
Avatar de l’utilisateur
Amateur
Amateur
Messages : 195
Âge : 64
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#10 Message par Claudius » ven. 22 févr. 2019 13:19

Bonjour Jérémy,

S'agissant de la programmation de la bestiole, je dirais plutôt pilotage depuis n'importe quel µC au travers d'une interface I2C ou SPI...
Pas de logiciel particulier (hormis un IDE pour plus de confort que je regarderai à l'occasion) dès lors que sa datasheet est bien respectée avec les commandes attendues par le chip...

Maintenant coté GPS, tu vas peut-être être déçu ... il n'offre en fait qu'une desérialisation + parsing des trames NMEA avec possibilité d'isoler les champs String pour les convertir en interne en flottant IEEE 754 ou PIC - Microchip, ce qui peut soulager le µC puisque effectué en //.

Cf. uM-FPU V3.1 - Datasheet - 32-bit Floating Point Coprocessor pour tout savoir et ne pas hésiter à remonter toutes incompréhensions et/ou interrogations

Pour ma part, je continue dans le projet d’interfaçage + lecture approfondie de la datasheet +Instruction Set et vous tiendrai comme promis au courant de mes avancées logicielles et matérielles


Retourner vers « Généralités sur les PICs »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités