Picproje Elektronik Sitesi

DERLEYİCİLER => Microchip XC Serisi => Konuyu başlatan: Mr.Java - 02 Mart 2014, 12:07:46

Başlık: dsPIC33FJ128GP710 OSC Ayarları
Gönderen: Mr.Java - 02 Mart 2014, 12:07:46
Bu MCU Osilatör ayarlarını tam anlayamadım.Şimdi ben RC15 ve RC12 bacaklarına 22pf kondansatör takıp 4mhz kristal bağladım.Benim çalışma frekansım max kaça kadar çıkabiliyor pll ile ? Ayarlarım nasıl olmalı ?
Başlık: Ynt: dsPIC33FJ128GP710 OSC Ayarları
Gönderen: subram - 02 Mart 2014, 14:19:39
dsPIC33FJ128GP710 in MIPS değeri 40MHZ diyor. dahasheette 140-141 sayfalarında PLL konusunu anlatmış. Bir göz at istersen.

http://ww1.microchip.com/downloads/en/DeviceDoc/70286C.pdf (http://ww1.microchip.com/downloads/en/DeviceDoc/70286C.pdf)
Başlık: Ynt: dsPIC33FJ128GP710 OSC Ayarları
Gönderen: iyildirim - 03 Mart 2014, 22:11:21
Kod 33F serisi için geçerli.  MC710 da çalışıyor.

Hesabı MIPS = M * N1 / N2 şeklinde. Max 40 MIPS olabilir. M * N1  max 80e6 olmalı.   


Atanan değerlerin üzerine +2 ekleyerek hesap yapmak gerekiyor.


4 mhz xtal için M= 78 , n1=n2=0 değeri verebilirsiniz.


//#define FRC_OSC_USED

#define PLL_M 38
#define PLL_POST_N1 0
#define PLL_PRE_N2 0

    PLLFBD = PLL_M;                            // M = 40
    CLKDIVbits.PLLPOST = PLL_POST_N1;    // N2 = 2
    CLKDIVbits.PLLPRE = PLL_PRE_N2;        // N1 = 2
   
    OSCTUN=0;                                    // Tune FRC oscillator, if FRC is used
    Nop();
    RCONbits.SWDTEN=0;                        // Disable Watch Dog Timer
    Nop();

#ifdef FRC_OSC_USED

// Initiate Clock Switch to Internal FRC with PLL (NOSC = 0b001)
    CLKDIVbits.FRCDIV = 0;
   
    __builtin_write_OSCCONH(0x01);
    __builtin_write_OSCCONL(0x01);
    while (OSCCONbits.COSC != 0b001);    // Wait for Clock switch to occur

#else

// Initiate Clock Switch to Primary Oscillator with PLL (NOSC = 0b011)
    __builtin_write_OSCCONH(0x03);
    __builtin_write_OSCCONL(0x01);
    while (OSCCONbits.COSC != 0b011);    // Wait for Clock switch to occur

#endif

    while(OSCCONbits.LOCK!=1);            // Wait for PLL to lock
Başlık: Ynt: dsPIC33FJ128GP710 OSC Ayarları
Gönderen: Mr.Java - 03 Mart 2014, 23:16:37
Teşekkürler çalıştı.Bende bunu arıyordum.