اطلاعیه

Collapse
No announcement yet.

اسیلاتور میکرو AVR

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

    اسیلاتور میکرو AVR

    سلام
    راستش من یه سوالی راجع به اسیلاتور میکرو های AVR دارم.
    در صورتی که از اسیلاتور خارجی استفاده کنیم. با تنظیم فیوز بیت ها این کار امکان پذیر است.
    حالا چه دلیلی داره در نرم افزار مثلا codevision فرکانس کلاک را دوباره انتخاب کنی. مگه با همون مقدار کلاکی که سخت افزاری قرار دادیم کار نمی کنه؟
    حالا اگه بخواهیم از فرکانسی کمتر از اون اسیلاتوری که سخت افزاری قرار بدیم استفاده بکنیم .امکان پذیر است؟

    #2
    پاسخ : اسیلاتور میکرو AVR

    منظورتون تو قسمت Configure مربوط به CodeVision هستش ؟
    اون که برای روتین های داخلی مثل delay استفاده میشه. بهتره برابر با کلاک واقعی قرار بدینش.

    درستش و واقعیش همونیه که fuse bit تنظیم میکنه.
    اگر آن کس که باید باشد، نیستی ؟
    پس چه فرقی می کند که کیستی ؟

    دیدگاه


      #3
      پاسخ : اسیلاتور میکرو AVR


      فیوز بیت که فقط مشخص میکنه منبع کلاک کجاست داخلیه یا خارجی. و در حالت اسیلاتور داخلی مقدار فرکانس مورد نظر را میتوان مشخص کرد. ولی در مورد اسبلاتور خارجی طبق اون جدول مدهای عملکردی با توجه به CKSEL3..1 , CKOPT یه سری رنج فرکانسی داده. راستش من این سوال ها برام پیش اومده.

      1- آیا باید هر فرکانس کاری که میخواهیم (واسه اسبلاتور خارجی) فیوز بیت ها را طوری برنامه ریزی کنیم که فرکانس مدنظر ما در اون رنج باشه بعدش کریستال که میخواهیم توی مدار قرار بدیم؟

      2- حالا اگه مثلا فیوز بیت ها را طوری برنامه ریزی کنیم که مثلا توی رنج 0.4-0.9 باشه ولی کریستال 8 مگ قرار بدیم چی میشه؟

      3- حالا اگه با پروگرام کردن فیوزبیت ها و قرار دادن کریستال مثلا مقدار 8 مگ درست شد . اگه توی codevision مقدار 4 مگ انتخاب بشه چی میشه؟

      ممنون از وقتی که میگذارید.

      دیدگاه


        #4
        پاسخ : اسیلاتور میکرو AVR

        1 - بله باید همین طور باشه.

        2 - حالت بهینه اجرا زمانیه که فیوزبیت کلاک رو درست انتخاب بکنی.

        3 - درصورتیکه مقدار کلاک در codevision متفاوت با مقدار واقعی باشده توابع داخلی نرم افزار که بطور نرم افزاری نیاز به دانستن کلاک دارن مثل delay دچار ایراد اساسی خواهند شد. بعنوان مثال اگر همانطور که گفتی بجای 8 از 4 مگاهرتز استفاده کنی و تنظیم codevision روی 8 باقی بمونه زمانهات در دستورات دو برابر خواهند شد مثلا (delay_ms(500 تاخیری برابر یک ثانیه رو باعث میشه.

        دیدگاه

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