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

Table DIA (DEVICE INFORMATION AREA) des PIC 18F
Got
Membre
Membre
Messages : 9
Enregistré en : décembre 2018

#1 Message par Got » dim. 16 déc. 2018 20:45

Bonjour

Je suis nouveau sur ce forum, merci de m'accueillir parmi vous.

Je découvre un peut l'IDE MPLABX, et je cherche a afficher la table DIA (DEVICE INFORMATION AREA) d'un PIC18F27K42 sous MPLABX
pour aller lire la calibration du capteur interne de température et des tensions du FVR.
J'ai un ICD4 avec MPLABX v4.15 et le PIC18 branché dessus sur une carte de test, alimenté en 5V.
Quand j'ouvre la fenêtre : Device information dans Window>PIC Memory Views>Device Information
J'ai les registres 3F0000 à 3FFF08 mais ils sont tous à 0xFFFF,
même si je clic sur la petite icone, en haut à gauche de la fenêtre, avec une flèche verte vers le haut, tout le registres passent à 0x0000, après que l'ICD est sensé avoir lu ces registres, et tjs pas de valeurs cohérentes! :cry:

L'ICD4 fonctionne car j'arrive à debugger un petit programme (la fameuse LED qui clignote).
A+
Got
Modifié en dernier par Got le lun. 17 déc. 2018 17:59, modifié 1 fois.

Table DIA
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#2 Message par Temps-x » lun. 17 déc. 2018 00:54

Bonsoir Got,

Soit le bienvenue sur le forum, et j'espère que tu y passeras des bons moment comme nous,

Got a écrit :Source du message je cherche a afficher la table DIA d'un PIC18F27K42 sous MPLABX
pour aller lire la calibration du capteur interne de température et des tensions du FVR.


là!! il faudra que tu m'expliques, car no compris :?:

Got a écrit :Source du message si je clic sur la petite icône, en haut à gauche de la fenêtre, avec une flèche verte vers le haut, tout le registres passent à 0x0000, après que l'ICD est sensé avoir lu ces registres


Si ça passe à zéro c'est que la communication entre pic et PC ne se font pas, mais c'est pas considéré comme une erreur.

Que veux tu faire :?:

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Table DIA
Got
Membre
Membre
Messages : 9
Enregistré en : décembre 2018

#3 Message par Got » lun. 17 déc. 2018 09:29

Bonjour Temps-x,

Je veux aller lire la calibration du capteur interne de température et des tensions du FVR, mis par Microchip lors du test final
dans une zone mémoire appelé DIA (DEVICE INFORMATION AREA) de 0x3F0000 à 0x3F003F;
pour corriger les erreurs de l'ADC et du capteur de température
du 18F27K42.

Il y a aussi dans cette zone mémoire, le " Microchip Unique Identifier " de 6 mots: le numéro de série unique du PIC.
A+

Got

Table DIA
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#4 Message par Temps-x » lun. 17 déc. 2018 12:23

Bonjour Got, et tout le forum,

:roll: Hum.... tu risques d'être déçu avec ce Pic18F27K42 lit ces 2 posts, et tu comprendras.ICI

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Table DIA
Claudius
Avatar de l’utilisateur
Passioné
Passioné
Messages : 260
Âge : 69
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#5 Message par Claudius » lun. 17 déc. 2018 14:00

Bonjour,
Temps-x à écrit :
Hum.... tu risques d'être déçu avec ce Pic18F27K42 ... mais il est probable que le problème soit MikroC compilateur !

Déjà, ne pas confondre le compilateur de MPLABX utilisé par Got et MickroC, qui n'est pas une référence entre nous, avec le problème posé ;-)
Got à écrit :
... pour aller lire la calibration du capteur interne de température et des tensions du FVR ...
J'ai les registres 3F0000 à 3FFF08 [MUI0-MUI4] mais ils sont tous à 0xFFFF
L'ICD4 fonctionne car j'arrive à debugger un petit programme (la fameuse LED qui clignote)


Maintenant, les registres de calibration de l'ADC sont TSLR2 [0x3F0026] pour le réglage des gammes basses et
TSHR2 [0x3F002C] pour le réglage des gammes hautes; tous deux à 90° Celsius mesurés à la production en usine

Une idée : suffit de lever le doute en écrivant un programme qui va lire justement ces registres ad hoc dont la valeur peut varier d'un chip à l'autre afin de s'adapter et ne rien définir en dur dans le programme final de lecture d'une température

--
Claudius

Table DIA
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#6 Message par Temps-x » lun. 17 déc. 2018 15:51

Bonjour Claudius,

Claudius a écrit :Source du message mais il est probable que le problème soit MikroC compilateur !


Il y a pas que ça, d'après paulfjujo il y aurait un problème au niveau programmation pour le Pic18F25K42 avec Pickit3

Voir Ici

Claudius a écrit :Source du message
Déjà, ne pas confondre le compilateur de MPLABX utilisé par Got et MickroC


Il y a comme même une sacré différence, :sifflotte: MPLABX n'est pas un compilateur comme MickroC.


Pour ma part, je pratique que ASM, même pour les Pic18Fxxxx...

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Table DIA
Got
Membre
Membre
Messages : 9
Enregistré en : décembre 2018

#7 Message par Got » lun. 17 déc. 2018 17:46

Bonsoir,

Claudius a dit:
Une idée : suffit de lever le doute en écrivant un programme qui va lire justement ces registres ad hoc dont la valeur peut varier d'un chip à l'autre afin de s'adapter et ne rien définir en dur dans le programme final de lecture d'une température


Merci Claudius, j'y avais pensé.
Mais comment faire en C (microchip XC8)pour lire ces datas? Je ne suis pas encore aguerri à ces subtilitées.
A+
Got

Table DIA (DEVICE INFORMATION AREA) des PIC 18F
Claudius
Avatar de l’utilisateur
Passioné
Passioné
Messages : 260
Âge : 69
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#8 Message par Claudius » lun. 17 déc. 2018 19:08

Tiré du fil de discussion Read Device-ID in Hitech-C with PIC 16F182x :

Code : Tout sélectionner

//------------------------------------------------------------------------------
// This replaces the old PICC18 "device_id_read" function which seems to have disappeared.
// Code taken from Microchip forum thread "config_read() macro for XC8 ?"
unsigned int readDeviceID(void)
{   
    // config bits on PIC18F46K80 start at 300000h   
    auto unsigned char devID1, devID2;       
 
    TBLPTRU = 0x3F;   
    TBLPTRH = 0xFF;   
    TBLPTRL = 0xFE;   
    asm( "TBLRD" );   
    devID1 = TABLAT;       
 
    TBLPTRL = 0xFF;   
    asm( "TBLRD" );   
    devID2 = TABLAT;       
 
    return (((unsigned int)devID2 << 8) | devID1);
}

À adapter en fonction du type de µC, de la localisation des registres à lire et du compilateur C; notamment la directive "asm" et le nom des registres

NB : L'utilisation des registres TBLPTRU, TBLPTRH, TBLPTRL et TABLAT au moyen de l'instruction TBLRD (Table Read) est décrite dans la
datasheet du pic18F27K42

Table DIA (DEVICE INFORMATION AREA) des PIC 18F
Got
Membre
Membre
Messages : 9
Enregistré en : décembre 2018

#9 Message par Got » lun. 17 déc. 2018 21:56

Bonsoir,

Merci Claudius,
maintenant c'est clair.
Je vais tester dès que possible.
Mais ca ne m'explique pas pourquoi ca ne marche pas avec MplabX... :shock:

Cdt

Table DIA (DEVICE INFORMATION AREA) des PIC 18F
Got
Membre
Membre
Messages : 9
Enregistré en : décembre 2018

#10 Message par Got » ven. 21 déc. 2018 17:24

Bonsoir,

J'ai testé, ca marche!
J'ai inclus cette fonction dans mon projet, et j'ai pu lire ces valeurs de calibrations.
Merci a tous. :-)

A+


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

Qui est en ligne

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