اطلاعیه

Collapse
No announcement yet.

چجوری xtal تنظیم کنم؟ lpc1768

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    چجوری xtal تنظیم کنم؟ lpc1768

    چجوری مثلا میتونم بکنمش 100mhz؟

    #2
    پاسخ : چجوری xtal تنظیم کنم؟ lpc1768

    سلام

    منظورتون فرکانس کاری میکرو هست یا چی ؟؟؟
    http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

    دیدگاه


      #3
      پاسخ : چجوری xtal تنظیم کنم؟ lpc1768

      نوشته اصلی توسط kamhagh
      چجوری مثلا میتونم بکنمش 100mhz؟
      ابتدا فرکانس PLL را تنظیم کن:
      FCCO = (2 * M * FIN) / N
      FIN همون فرکانس ورودی هست (کریستال)
      مثلاً با کریستال 12MHz:
      اگر N-1 برابر 5 و M-1 برابر 99 باشه میشه 400MHz
      در اینصورت رجیستر PLL0CFG برابر 0x00050063 میشه

      بعد از اون باید فرکانس CPU را تنظیم کنی که برای 100MHz میشه 400/4 ؛ پس باید divider CPU را برابر 4 بذاریم که باید هشت بیت کم ارزش CCLKCFG را برابر 0x03 قرار بدیم
      به همین راحتی فرکانس CPU روی 100MHz تنظیم میشه

      برای اطلاعات بیشتر Chapter 4 از User Manual قطعه را مطالعه کن

      موفق باشید

      اضافه شده در تاریخ :
      این wizard هم میتونه کمکت کنه:
      http://www.eca.ir/forum2/index.php?topic=91302.0
      امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

      دیدگاه


        #4
        پاسخ : چجوری xtal تنظیم کنم؟ lpc1768

        نوشته اصلی توسط Abbas Sarami
        ابتدا فرکانس PLL را تنظیم کن:
        FCCO = (2 * M * FIN) / N
        FIN همون فرکانس ورودی هست (کریستال)
        مثلاً با کریستال 12MHz:
        اگر N برابر 5 و Mبرابر 99 باشه میشه 400MHz
        در اینصورت رجیستر PLL0CFG برابر 0x00050063 میشه

        بعد از اون باید فرکانس CPU را تنظیم کنی که برای 100MHz میشه 400/4 ؛ پس باید divider CPU را برابر 4 بذاریم که باید هشت بیت کم ارزش CCLKCFG را برابر 0x03 قرار بدیم
        به همین راحتی فرکانس CPU روی 100MHz تنظیم میشه

        برای اطلاعات بیشتر Chapter 4 از User Manual قطعه را مطالعه کن

        موفق باشید

        اضافه شده در تاریخ :
        این wizard هم میتونه کمکت کنه:
        http://www.eca.ir/forum2/index.php?topic=91302.0
        مرسی!

        دیدگاه


          #5
          پاسخ : چجوری xtal تنظیم کنم؟ lpc1768

          نوشته اصلی توسط Abbas Sarami
          ابتدا فرکانس PLL را تنظیم کن:
          FCCO = (2 * M * FIN) / N
          FIN همون فرکانس ورودی هست (کریستال)
          مثلاً با کریستال 12MHz:
          اگر N برابر 5 و Mبرابر 99 باشه میشه 400MHz
          در اینصورت رجیستر PLL0CFG برابر 0x00050063 میشه

          بعد از اون باید فرکانس CPU را تنظیم کنی که برای 100MHz میشه 400/4 ؛ پس باید divider CPU را برابر 4 بذاریم که باید هشت بیت کم ارزش CCLKCFG را برابر 0x03 قرار بدیم
          به همین راحتی فرکانس CPU روی 100MHz تنظیم میشه

          برای اطلاعات بیشتر Chapter 4 از User Manual قطعه را مطالعه کن

          موفق باشید

          اضافه شده در تاریخ :
          این wizard هم میتونه کمکت کنه:
          http://www.eca.ir/forum2/index.php?topic=91302.0
          چطوری ضرب کردی ؟ fcco شما 475.2 میشه .
          کد:
          fcco=2*99*12/5=475.2

          http://www.eca.ir/forum2/index.php?topic=103695.msg665468#msg665468
          تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
          داشتن عقله زيادتر از دیگر آدم ها است

          دیدگاه


            #6
            پاسخ : چجوری xtal تنظیم کنم؟ lpc1768

            نوشته اصلی توسط aliila
            چطوری ضرب کردی ؟ fcco شما 475.2 میشه .
            کد:
            fcco=2*99*12/5=475.2

            http://www.eca.ir/forum2/index.php?topic=103695.msg665468#msg665468
            اهم!, راست میگی!

            دیدگاه


              #7
              پاسخ : چجوری xtal تنظیم کنم؟ lpc1768

              سلام دوستان

              این تابع رو نوشتم برای تنظیم کلاک میکرو روی 100mHz ، حالا فکر کنم میکرو دچار مشکل شده و برنامه رو اجرا نمیکنه !!!
              یکی اینکه الان چیکارش کنم و یکی اینکه برای تامین فرکانس ادوات جانبی میکرو از جمله ADC و ... باید از کدوم رجیستر استفاده بشه ؟؟؟ درحالت عادی داره از کجا تامین میشه ؟؟؟
              کد:
              void PLL_Init(){ 
               LPC_SC->SCS = 0x30;
              	LPC_SC->PLL0CON = 0x1;
              	LPC_SC->PLL0FEED = 0xaa;
              	LPC_SC->PLL0FEED = 0x55;
              	LPC_SC->PLL0CON = 0x0;
              	LPC_SC->PLL0FEED = 0xaa;
              	LPC_SC->PLL0FEED = 0x55;
              	while(!(LPC_SC->SCS&0x40));
              	LPC_SC->CLKSRCSEL = 0x1;
              	LPC_SC->PLL0FEED = 0xaa;
              	LPC_SC->PLL0FEED = 0x55;
              	LPC_SC->PLL0CFG = 0xB00C7;
              	LPC_SC->PLL0FEED = 0xaa;
              	LPC_SC->PLL0FEED = 0x55;
              	LPC_SC->PLL0CON = 0x1;
              	LPC_SC->PLL0FEED = 0xaa;
              	LPC_SC->PLL0FEED = 0x55;
               LPC_SC->CCLKCFG = 3;
               while((LPC_SC->PLL0STAT&0x4000000)==0);
              	LPC_SC->PLL0CON = 0x3;
              	LPC_SC->PLL0FEED = 0xaa;
              	LPC_SC->PLL0FEED = 0x55;	
              }
              http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

              دیدگاه


                #8
                پاسخ : چجوری xtal تنظیم کنم؟ lpc1768


                تابع تنظیم pll
                کد:
                #include "LPC17xx.H" 
                
                 
                 
                
                
                
                
                void pllfeed()
                {
                __disable_irq();
                LPC_SC->PLL0FEED=0x000000aa;
                LPC_SC->PLL0FEED=0x00000055;
                __enable_irq();  
                }
                
                
                void setpll(int n , int m, int d )
                {
                	
                 
                 
                // the MBED crystal oscillator is 12 MHz
                // main oscillator frequency 300 MHz: M = (300 x N) / (2 x 12)
                // processor clock 100 MHz = 300 MHz / D
                // n=2;m=25; d=3;
                 
                // disconnect
                LPC_SC->PLL0CON=0x00000001; pllfeed();
                // disable
                LPC_SC->PLL0CON=0x00000000; pllfeed();
                // set new PLL values
                LPC_SC->PLL0CFG=((n-1)<<16)|(m-1); pllfeed();
                // enable
                LPC_SC->PLL0CON=0x00000001; pllfeed();
                // set cpu clock divider
                LPC_SC->CCLKCFG=d-1;
                // wait for lock
                //while ((LPC_SC->PLL0STAT&0x04000000)==0);
                 //int i ; for (i=0;i<50000;i++) ;
                // connect
                LPC_SC->PLL0CON=0x00000003; pllfeed();
                }
                تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
                داشتن عقله زيادتر از دیگر آدم ها است

                دیدگاه


                  #9
                  پاسخ : چجوری xtal تنظیم کنم؟ lpc1768

                  سلام

                  ممنون ، منم تو تابعی که نوشتم دقیقا همین کارارو کردم
                  فقط الان میکرو برنامه رو اجرا نمیکنه ، در صورتی اجرا میکنه که jlink رو قطع کنم و ولتاژ رو قطع و وصل کنم ، اگه دوباره jtag رو وصل کنم و بخام مثلا دیباگ کنم ، میکرو برنامه رو اجرا نمیکنه !!!
                  باید چیکار کرد که میکرو به حالت اولیه دربیاد ???
                  http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                  دیدگاه


                    #10
                    پاسخ : چجوری xtal تنظیم کنم؟ lpc1768

                    پاور رو قطع کن بعد پین p2.10 رو زمین کن بعد پاور رو وصل کن بعد پین p2.10 رو آزاد کن . بلافاصله میکرو رو برنامه ریزی کن .
                    تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
                    داشتن عقله زيادتر از دیگر آدم ها است

                    دیدگاه


                      #11
                      پاسخ : چجوری xtal تنظیم کنم؟ lpc1768

                      اون رابطه که نوشتم از متن دیتاشیت بود، باید نکته اش را ذکر میکردم که متاسفانه فراموش شد
                      Fcco =(2*Fin*MSEL0+1)/NSEL0+1
                      که NSEL0 و MSEL0 مقادیر رجیستر PLL0CFG هستند که همون مقادیر 5 و 99 را درونشون قرار میدیم
                      پست قبلی را هم اصلاح کردم
                      از اینکه کامل توضیح ندادم عذر خواهی میکنم
                      موفق باشید
                      امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

                      دیدگاه


                        #12
                        پاسخ : چجوری xtal تنظیم کنم؟ lpc1768

                        نوشته اصلی توسط aliila نمایش پست ها
                        پاور رو قطع کن بعد پین p2.10 رو زمین کن بعد پاور رو وصل کن بعد پین p2.10 رو آزاد کن . بلافاصله میکرو رو برنامه ریزی کن .

                        داداش دمت گرم نجاتم دادی . تو فکر عوض کردن میکرو بودم .
                        دوستان سعی نکنید کلاک میکرو بیشتر از 100MHZ تنظیم کنید .
                        کلا پروگرامر هم نمیشناستش و باید این کاری که مهندس فرمود و انجام بدبد .
                        باز تشکر میکنم

                        دیدگاه

                        لطفا صبر کنید...
                        X