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 ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

C'est normal çà ?
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#1 Message par F6FCO » dim. 28 nov. 2021 00:18

Hello tous,

Voici ma config des fusibles pour mon projet AD9850:

Code : Tout sélectionner


        Errorlevel
-302 
        list        p
=18f4525                
        
#include    <p18f4525.inc>            
    
 
;
 CONFIG OSC = HS
 
;CONFIG OSC = INTIO67    ; Oscillateur interne 8MHz 
 CONFIG IESO 
= OFF    ; Délai au démarrage (ON/OFF)
 CONFIG BOREN = OFF    ; Reset si chute de tension (ON/OFF)
 CONFIG BORV = 0    ; Tension de reset en 1/10ème Volts 
 CONFIG WDT 
= OFF    ; Mise hors service du watchdog (ON/OFF)
 CONFIG PBADEN = OFF    ; PORTB<4:0> les broches sont configurées comme E/S numériques lors de la réinitialisation
 CONFIG LPT1OSC 
= OFF    ; Timer1 configuré pour un fonctionnement plus puissant
 CONFIG MCLRE 
= ON    ; Mclr configuré comme entrée
 CONFIG STVREN 
= ON    ; Reset sur débordement de pile (ON/OFF)
 CONFIG LVP = OFF    ; Programmation basse tension autorisée (ON/OFF)
 CONFIG XINST = OFF    ; L'extension du jeu d'instructions et le mode d'adressage indexé sont désactivés(mode hérité)
 CONFIG DEBUG = OFF    ; Debugger hors service
 CONFIG CP0 = OFF    ; Code protection sur block 0 (ON/OFF)
 CONFIG CP1 = OFF    ; Code protection sur block 1 (ON/OFF)
 CONFIG CP2 = OFF    ; Code protection sur block 2 (ON/OFF)
 CONFIG CPB = OFF    ; Code protection sur bootblock  (ON/OFF)
 CONFIG CPD = OFF    ; Code protection sur eeprom (ON/OFF)
 CONFIG WRT0 = OFF    ; Protection écriture block 0 (ON/OFF)
 CONFIG WRT1 = OFF    ; Protection écriture block 1 (ON/OFF)
 CONFIG WRT2 = OFF    ; Protection écriture block 2 (ON/OFF)
 CONFIG WRTB = OFF    ; Protection écriture bootblock (ON/OFF)
 CONFIG WRTC = OFF    ; Protection écriture configurations (ON/OFF)
 CONFIG WRTD = OFF    ; Protection écriture zone eeprom (ON/OFF)
 CONFIG EBTR0 = OFF    ; Protection lecture de table block 0 (ON/OFF)
 CONFIG EBTR1 = OFF    ; Protection lecture de table block 1 (ON/OFF)
 CONFIG EBTR2 = OFF    ; Protection lecture de table block 2 (ON/OFF)
 CONFIG EBTRB = OFF    ; Protection lecture de table bootblock (ON/OFF)

; ------------------------------------ #define



Je travaille en ce moment sur ma platine de développement et j'ai besoin de vitesse d'éxécution (une division 32/16 qui me prends trop de temps d'exécution).
Le quartz du PIC est sur support ce qui m'a permis de faire une expérience:
- Si j'ôte le quartz en cours de fonctionnement le pic fonctionne toujours.
- quelque fréquence de quartz (de 4Mhz à 39Mhz) que je mette sur support çà ne change rien à la vitesse d'exécution.

Bref, l'impression que l'osc du PIC tourne toujours en interne.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

C'est normal çà ?
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#2 Message par satinas » dim. 28 nov. 2021 07:36

Bonjour F6FCO,

Dans les réglages hardware horloges et selon les types de pic, il y a :

OST délai au démarrage 1024 Tck, toujours actif si LP/XT/HS
IESO démarrage horloge en 2 temps, 1024 Tck interne, puis externe
SCS system clock switching, on sélectionne à chaud l'oscillateur par registre
FSCM fail safe clock monitor, si oscillateur externe en panne, le pic passe en interne

Si une fonctionnalité ci-dessus est présente dans le pic et pas prévue dans la config, elle est toujours active. Dans ce pic, il y a un bit config FCMEN pour activer le FSCM, il doit être à ON par défaut. D'après la doc l'oscillateur de secours tourne à 31,25kHz/64, soit 488 Hz.

La liste des options de config est dans :
C:\Program Files (x86)\Microchip\MPASM Suite\p18F4525.inc

C'est normal çà ?
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#3 Message par F6FCO » dim. 28 nov. 2021 08:51

Merci Satinas, je vais aller explorer çà de suite.
Ce doit certainement être ce que tu dis car je peux même programmer (Debugger et Program) le pic sans xtal externe.
J'ai effectivement exploré le fichier .inc mais je n'avais pas vu cette option.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

C'est normal çà ?
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#4 Message par F6FCO » dim. 28 nov. 2021 10:59

C'était bien çà :-D
En passant je viens de faire quelques essais de quartz, le 18F4525 qui est donné pour 40Mhz maxi tourne très bien avec un 64Mhz.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

C'est normal çà ?
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#5 Message par satinas » dim. 28 nov. 2021 11:32

Et avec un quartz 16MHz et la PLLx4, ca passe aussi ?

C'est normal çà ?
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#6 Message par F6FCO » dim. 28 nov. 2021 15:02

Pas essayé, je n'ai encore jamais joué avec ce genre de choses :wink:
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

C'est normal çà ?
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#7 Message par satinas » dim. 28 nov. 2021 15:50

Tu as juste à mettre CONFIG OSC = HSPLL, cela donne FOSC = 4 fois la fréquence du quartz. Il y aura moins d'interférence électromagnétique avec un quartz 16MHz. La PLL supportera-t-elle les 64MHz, c'est à voir. La PLL peut aussi être utilisé avec l'oscillateur interne 8MHz pour donner FOSC = 32MHz.

18F4525_Clock.png
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

C'est normal çà ?
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#8 Message par F6FCO » dim. 28 nov. 2021 18:42

Et hop, encore un truc d'appris :wink: je vais essayer et je reviens.

De retour,

Code : Tout sélectionner

;
 ;CONFIG OSC = HS
 
;CONFIG OSC = XT                        ; Oscillateur ext 4MHz 
 CONFIG OSC 
= HSPLL                        ; Oscillateur interne 32Mhz 
 
;CONFIG OSC = INTIO67    ; Oscillateur interne 8MHz 
 CONFIG FCMEN 
= OFF
 CONFIG IESO 
= OFF    ; Délai au démarrage (ON/OFF)
 CONFIG BOREN = OFF    ; Reset si chute de tension (ON/OFF)
 CONFIG BORV = 0    ; Tension de reset en 1/10ème Volts 
 CONFIG WDT 
= OFF    ; Mise hors service du watchdog (ON/OFF)
 CONFIG PBADEN = OFF    ; PORTB<4:0> les broches sont configurées comme E/S numériques lors de la réinitialisation
 CONFIG LPT1OSC 
= OFF    ; Timer1 configuré pour un fonctionnement plus puissant
 CONFIG MCLRE 
= ON    ; Mclr configuré comme entrée
 CONFIG STVREN 
= ON    ; Reset sur débordement de pile (ON/OFF)
 CONFIG LVP = OFF    ; Programmation basse tension autorisée (ON/OFF)
 CONFIG XINST = OFF    ; L'extension du jeu d'instructions et le mode d'adressage indexé sont désactivés(mode hérité)
 CONFIG DEBUG = OFF    ; Debugger hors service
 CONFIG CP0 = OFF    ; Code protection sur block 0 (ON/OFF)
 CONFIG CP1 = OFF    ; Code protection sur block 1 (ON/OFF)
 CONFIG CP2 = OFF    ; Code protection sur block 2 (ON/OFF)
 CONFIG CPB = OFF    ; Code protection sur bootblock  (ON/OFF)
 CONFIG CPD = OFF    ; Code protection sur eeprom (ON/OFF)
 CONFIG WRT0 = OFF    ; Protection écriture block 0 (ON/OFF)
 CONFIG WRT1 = OFF    ; Protection écriture block 1 (ON/OFF)
 CONFIG WRT2 = OFF    ; Protection écriture block 2 (ON/OFF)
 CONFIG WRTB = OFF    ; Protection écriture bootblock (ON/OFF)
 CONFIG WRTC = OFF    ; Protection écriture configurations (ON/OFF)
 CONFIG WRTD = OFF    ; Protection écriture zone eeprom (ON/OFF)
 CONFIG EBTR0 = OFF    ; Protection lecture de table block 0 (ON/OFF)
 CONFIG EBTR1 = OFF    ; Protection lecture de table block 1 (ON/OFF)
 CONFIG EBTR2 = OFF    ; Protection lecture de table block 2 (ON/OFF)
 CONFIG EBTRB = OFF    ; Protection lecture de table bootblock (ON/OFF)

Pas trouvé de 16Mhz dans mes tiroirs mais ça tourne bien avec le 64Mhz, çà voudrait donc dire que le 18F4525 pédale à 64x4=256Mhz :shock: , j'ai du mal à le croire.
Ou faut-il aussi décommenter CONFIG OSC = HS ?
J'ai testé en enlevant le quartz et faisant un reset çà ne va plus, dés que je remets le quartz en place çà redémarre donc c'est bien çà.

PS: trouvé un 16Mhz, évidement çà marche bien aussi.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

C'est normal çà ?
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#9 Message par paulfjujo » dim. 28 nov. 2021 19:10

bonsoir,

F6FCO , as tu verifié que le PIC tournait effectivement à 64MHz (cycle de 4/64 nS soit 62,5nS) , avec un quartz 64MHz en RA6 RA7 ?

mes essais avec quartz 32,768MHz sur mon 18F27K42 :
le programme tournait quand meme .. mais avec un FOSC reel autour de 20MHz ..
limite max de quartz pour ce PIC , d'apres la datasheet datasheet -> 20MHz
mais > 40MHz avec oscillateur externe
j'ai pas encore testé ce cas..

en oscillateur interne No problemo pour 16x4= 64MHz
Aide toi, le ciel ou FantasPic t'aidera

C'est normal çà ?
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#10 Message par F6FCO » dim. 28 nov. 2021 19:14

Oui j'ai essayé de tester en mettant le fréquencemètre sur Ra6 ou Ra7, aucune mesure. Peut-être mon appareil qui n'est pas assez sensible.
J'avais déjà essayé cette manip auparavant et çà n'avait déjà rien donné non plus.
Mes oscillos ne montent pas assez haut.
Il faudrait peut-être écrire un programme qui fait des pulses à la vitesse maxi sur une pin sortie et les mesurer.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:


Retourner vers « Langage ASM »

Qui est en ligne

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