اطلاعیه

Collapse
No announcement yet.

تنظیم منابع کلاک در XMEGA

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

    تنظیم منابع کلاک در XMEGA

    سلام به همه
    من یه atxmega32a4 دارم PWM ADC DAC و PLL رو باش کار کردم ولی با کریستال خارجی مشکل دارم نوسان نمیکنه یعنی با کلاک خاجی کار میکنه ولی با کریستال کار نمیکنه ممنون میشم اگه کسی کمکم کنه :angry:

    #2
    پاسخ : تنظیم کلاک در XMEGA

    لطفا تنظیماتی را که برای رجیسترهای کنترل کننده اسیلاتور و کلاک انجام داده اید، ذکر کنید تا صحت آن مورد بررسی قرار گیرد.
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

    دیدگاه


      #3
      پاسخ : تنظیم کلاک در XMEGA

      برای کار با XMEGA اول از همه یک پروگرامر MKII از WWW.JAVANELEC.COMبخرید و بعد با خیال راحت با AVR STUDIO کدش رو بنویسید AVR STUDIO که تو ی CD همراه پروگرامر هست اینم چند نمونه کد برای شروع :wow:

      #include <util/delay.h>
      #include <avr\pgmspace.h>
      #include <math.h>
      #define F_CPU 32000000UL
      #include <stdio.h>
      #include <avr\io.h>
      #include <inttypes.h>
      #include <avr/io.h>
      #include <avr/interrupt.h>
      #include <stdlib.h>

      //================================================== ======================
      main()
      {
      Config32MHzClock();
      PORTB.DIR = 0xFF;
      PORTB.OUT = 0x0;

      while(1)
      {
      _delay_us(500);
      PORTB_OUTCLR=PIN1_bm;
      _delay_us(500);
      PORTB.OUTSET=PIN1_bm;
      }
      }

      void Config32MHzClock(void)
      {

      OSC.CTRL = 2;
      while(!(OSC.STATUS & 2));
      CCP = 0xD8;
      CLK.CTRL = 0x01;
      CLK.PSCTRL = 0x00;
      OSC.DFLLCTRL=2;


      };

      دیدگاه


        #4
        پاسخ : تنظیم کلاک در XMEGA

        void configclock(void)
        {

        OSC.CTRL = 8;
        while(!(OSC.STATUS & 8));
        CCP = 0xD8;
        CLK.CTRL = 0x03;
        CLK.PSCTRL = 0x01;

        }

        دیدگاه


          #5
          پاسخ : تنظیم کلاک در XMEGA

          برنامه اول برای فعال سازی کلاک داخلی 32 مگاهرتز است که در آن مقدار دهی به رجیستر CLK.PSCTRL لازم نیست. زیرا مقدار اولیه این رجیستر 0x00 است.
          در برنامه دوم برای تعیین محدوده فرکانس کریستال باید به رجیستر OSC.XOSCCTRL مقداردهی شود که اینکار انجام نشده است. برای کریستال در محدوده 12 تا 16 مگاهرتز، دستور زیر را در قبل از مقداردهی به OSC.CTRL قرار دهید:

          OSC.XOSCCTRL=0XCB;
          اوژن: به معنای افکننده و شکست دهنده است
          دانایی، توانایی است-Knowledge is POWER
          برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
          وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
          قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
          اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
          ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

          دیدگاه


            #6
            پاسخ : تنظیم کلاک در XMEGA

            void configclock(void)
            {

            OSC.XOSCCTRL=0XCB;
            OSC.CTRL = 8;
            while(!(OSC.STATUS & 8));
            CCP = 0xD8;
            CLK.CTRL = 0x03;
            CLK.PSCTRL = 0x01;

            }

            من این کد رو گذاشتم کار نمیکنه فقط وقتی کلاک خارجی بهش میدم کار میکنه موردی که پیدا کردم اینه که ولتاژ روی پین کریستال نداریم :read:

            دیدگاه


              #7
              پاسخ : تنظیم کلاک در XMEGA

              1-در کد شما باید OSC.CTRL=9 باشد.
              2- کریستال باید بین 12 تا 16 مگاهرتز باشد.
              3- خازن های کریستال باید 10pF باشند.
              4- برای مشاهده نوسان کریستال، پراب اسیلوسکوپ باید در وضعیت X10 باشد تا اسیلاتور از کار نیافتد.
              اوژن: به معنای افکننده و شکست دهنده است
              دانایی، توانایی است-Knowledge is POWER
              برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
              وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
              قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
              اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
              ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

              دیدگاه


                #8
                پاسخ : تنظیم کلاک در XMEGA

                درست شد :wow:
                با همون کد بالایی کار میکنه با خازن 33pF هم کار میکنه فقط فیوز بیت BODLVLخیلی مهم است باید زیر 2.4 ولت باشه و کریستالش هم از جنس خوبی باشه در کل نوسان سازش ضعیف عمل میکنه مثل سری MEGA نیست
                با تشکر فراوان از طراح عزیز


                دیدگاه


                  #9
                  پاسخ : تنظیم کلاک در XMEGA

                  دستور OSC.CTRL=0X08 به معنای غیر فعال کردن اسیلاتور داخلی 2 مگاهرتز است و اگر این دستور قبل از آماده شدن اسیلاتور کریستالی(که مدتی زمان می برد) واقعا اجرا شود، سبب از کار افتادن اجرای برنامه می شود. اما ظاهرا معماری XMEGA چنین اجازه ای را نمی دهد و به همین دلیل است که در عمل مشکلی به وجود نیامده است.
                  مقدار خازن ها هم در جدولی در اطلاعات XMEGA ذکر شده که برای کریستال در محدوده فرکانسی 2 تا 12 مگاهرتز مقدار 15 پیکوفاراد و برای 12 تا 16 مگاهرتز مقدار 10 پیکوفاراد توصیه شده است. حال ممکن است با مقادیر دیگری هم اسیلاتورعمل کند، اما مقدار بهینه ای نخواهد بود و ممکن است باعث افت دامنه اسیلاتور و یا از کار افتادن آن شود.

                  ضمنا از آنجایی که شما از جمله معدود اعضای این انجمن هستید که تجربه کار عملی با XMEGA را دارید، برای استفاده بیشتر سایر اعضا راجع به تجربیات و مراحل کار خود بیشتر توضیح دهید.
                  اوژن: به معنای افکننده و شکست دهنده است
                  دانایی، توانایی است-Knowledge is POWER
                  برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                  وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                  قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                  اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                  ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                  دیدگاه


                    #10
                    پاسخ : تنظیم کلاک در XMEGA

                    من تونستم تا فرکانس 200mhz با xmega کار کنم(3.6V)الان هم دارم روی راه اندازی LCD600RGB800 کار میکنم تو بردم یه مشکل داشتم :mrgreen: از mmc استفاده کرده بودم :redface: اینو در نظر نگرفته بودم که سرعت mmc 128kb بیشتر نمیشه (SPI البته ) میخوام از CF استفاده کنم برای همین یه پست جدید میزنم به نام CF

                    دیدگاه


                      #11
                      پاسخ : تنظیم کلاک در XMEGA

                      هرچند خروجی PLL در XMEGA تا فرکانس 200 مگاهرتز قابلیت تولید کلاک دارد. اما اینکه CPU بتواند تا بیش از 6 برابر فرکانس کاری گارانتی شده عمل کند، جدا جای تعجب دارد و تا حدی بعید به نظر می رسد. برای احراز صحت این مسئله باید از روش هایی مانند تولید شکل موج یا مانند آن استفاده کرد و با مشاهده زمان شکل موج به کلاک واقعی سیستم دست پیدا کرد. این آزمایش را در فرصت مقتضی انجام می دهم و نتیجه را در همینجا به اطلاع خواهم رساند.
                      اوژن: به معنای افکننده و شکست دهنده است
                      دانایی، توانایی است-Knowledge is POWER
                      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                      دیدگاه


                        #12
                        پاسخ : تنظیم کلاک در XMEGA

                        پیرو پست قبلی، دو آزمایشی عملی در تغذیه 3.3 ولت و با استفاده از اسیلاتور داخلی 32 مگاهرتز و و کریستال 4 مگاهرتز انجام شد. ولی در هیچ یک از دو آزمایش در فرکانس های بالاتر از 64 مگاهرتز، میکروکنترلر به درستی عمل نمی کرد.
                        اوژن: به معنای افکننده و شکست دهنده است
                        دانایی، توانایی است-Knowledge is POWER
                        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                        دیدگاه


                          #13
                          پاسخ : تنظیم کلاک در XMEGA

                          یه سوال نمیدونم ربط داره یا نه؟ولی برای تغذیه از رگولاتور3.6 هم استفاده کردید؟نتیجه چی شد؟

                          دیدگاه


                            #14
                            پاسخ : تنظیم کلاک در XMEGA

                            نوشته اصلی توسط شهریار رجب زاده
                            یه سوال نمیدونم ربط داره یا نه؟ولی برای تغذیه از رگولاتور3.6 هم استفاده کردید؟نتیجه چی شد؟
                            آزمایش در تغذیه 3.3 ولت انجام شد. اما این مطلب که با 0.3 ولت دیگر افزایش تغذیه، محدوده فرکانس تا 3 برابر افزایش یابد، امری بسیار بعید است.
                            اوژن: به معنای افکننده و شکست دهنده است
                            دانایی، توانایی است-Knowledge is POWER
                            برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                            وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                            قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                            اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                            ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                            دیدگاه


                              #15
                              پاسخ : تنظیم کلاک در XMEGA

                              راستش ولتاژ با فرکانس رابطه مستقیم دارد من فعلا دسترسی ندارم اما اگر میتوانید این را آزمایش نمایید با تشکر

                              دیدگاه

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