Sari la conținut
ELFORUM - Forumul electronistilor

Setare viteza MIPS la dsPIC33F


mircang9

Postări Recomandate

Defapt MIPS inseamna viteza sau frecventa la care se executa un ciclu instructiune

la un procesor, nu ? adica Fcy, nu ?

 

Bun adica: la 20 MIPS max 80 MHz. la 30 MIPS max 120 MHz. la 40 MIPS max 160 MHz ?

Va refereati la Fvco de la PLL nu ? care la dsPIC33F

trebe sa fie intre 100MHz si 200MHz. Din subiectul "diferenta de MIPS la dsPIC"

deschis de ovy_pas.

Vizez dsPIC33FJ256GP506 si dsPIC33FJ128GP802.

 

/* Configure Oscillator to operate the device at Fcy = 40MHz = 40MIPS.

* Fosc= Fin*M/(N1*N2), Fcy=Fosc/2

* Fosc= 7.37*43/(2*2)=79.2275 MHz ( 80 MHz ) for 7.37M input clock at PLL */

 

PLLFBD=41; // M=43CLKDIVbits.PLLPOST=0; // N1=2CLKDIVbits.PLLPRE=0; // N2=2OSCTUN=0; // FRC = 7.37 MHz nominalCLKDIVbits.DOZE = 011; // FCY/8 (default) biti ignorati pentru ca DOZEN = 0CLKDIVbits.DOZEN = 0; // Processor clock/peripheral clock ratio forced to 1:1

inseamna ca dsPICu meu lucreaza la 40 MIPS ? Eu asa cred: ca lucreaza

la 40 MIPS conform cu liniile de cod de mai sus. Vreau o confirmare sau corectare la

cele spuse de mine aici, va rog.

 

In datasheet la dsPIC33FJ256GP506 pagina 138,139.

 

 

CLKDIVbits.DOZE trebuie sa fie 000 adica Fcy/1 pentru ca procesorul sa

ruleze la ciclu de instructiune Fosc/2 ( viteza maxima ) ? Pentru ce este DOZE<2:0> ?

Nu pentru a seta Fcy adica durata unui ciclu instructiune Fcy la procesor ?

 

Cum lucreaza intreruperea cu CLKDIVbits.ROI ? La ce foloseste bitul ROI ?

Se pare ca are influenta asupra bitului DOZEN.

 

Ce inseamna "Processor clock/peripheral clock ratio forced to 1:1" cand

cand bitul DOZEN = 0 ? Inseamna ca indiferent de bitii DOZE<2:0>

Fcy = Fp = Fosc /2 ? unde Fcy = frecventa unui ciclu instructiune, iar

Fp frecventa la care lucreaza modulele periferice ( ADC, output compare, etc ? ) ?

Clock ratio 1:1 inseamna Fosc/2 pentru Fp si Fcy ? Asa reiese din diagrama

pentru oscilatorul sistemului de la pagina 137 din datasheetul lui dsPIC33FJ256GP506.

 

Spre deosebire de PIC18F, PIC16F pentru care un ciclu instructiune are frecventa Fcy=Fosc/4;

la dsPIC33FJ un ciclu instructiune are frecventa Fcy=Fosc/2. Asa este ?

 

Daca CLKDIVbits.DOZEN = 0, bitii CLKDIVbits.DOZE<2:0> sunt ignorati ? si

Fcy = Fosc/2 ?

 

De exemplu daca DOZE<2:0> = 011 ( default ) atunci un ciclu instructiune

la procesor dureaza Fcy/8 = (Fosc/2)/8 = Fosc/16. Nu ? Mai exact

avand in vedere ca iesirea maxima la Fosc din PLL este 80 MHz,

in acest caz 80MHz/16 = 5 MIPS. Nu ?

 

Numarul de MIPS maxim adica 40 MIPS ar fi daca CLKDIVbits.DOZEN = 0 sau

daca CLKDIVbits.DOZEN = 1 si CLKDIVbits.DOZE = 0 ( 000 ) adica Fcy/1 adica:

un ciclu instructiune dureaza Fcy/1 = (Fosc/2)/1 = Fosc/2 = 80MHz/2 = 40 MHz = 40 MIPS. Nu ?

 

:jytuiyu

Link spre comentariu
  • Răspunsuri 1
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • mircang9

    2

Zile populare

Top autori în acest subiect

Am mai studiat putin si se pare ca am presupus bine in postul de mai sus. Bitii DOZE<2:0>sunt folositi pentru a reduce consumul de putere prin reducerea frecventei de lucru a dsPIC33F. Printr-o intrerupere se seteaza bitul ROI si CPU revine lafrecventa de lucru nominala adica la Fcy=Fosc/2 ignorand bitii DOZE<2:0> folositi pentru consum de putere redus. :dans:

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări