NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4559 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 17 از 17

موضوع: كريستال خارجي و داخلي

  1. #1
    کاربر فعال safavism آواتار ها
    تاریخ عضویت
    Mar 2011
    نام
    سیدمحمدصفوی
    نوشته ها
    299
    تشکر
    144
    تشکر شده 245 بار در 132 پست

    پیش فرض كريستال خارجي و داخلي

    با سلام خدمت دوستان گرامي
    در چه مواقعي است كه استفاد از كريستال خارجي بجاي كريستال داخلي ميكرو ترجيح داده ميشه؟

  2. تشکرها از این نوشته :


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  4. #2
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    سلام

    در مواقعی که دقت بالاتر و یا سرعت بیشتری نیاز داشته باشیم.

    کریستال داخلی میکروکنترلر درواقع یک اسیلاتور متشکل از یک خازن و مقاومت هست که با تغییر مقدار اونها میشه فرکانس های متفاوت ایجاد کرد ، اما فرکانس تولید شده دقت فرکانس تولید شده توسط کریستال خارجی رو نداره و در برابر نویز هم آسیب پذیره.

    کلا کریستال های خارجی دارای دقت های بالایی هستن ، اگه دقت کنید بعد از مقدار فرکانسشون 3 تا صفر (بعد از اعشار) یا 6 تا صفر وجود داره. این صفرها نشون دهنده ی دقت کریستال ها هستند.

    یکی از جاهائیکه استفاده از کریستال های خارجی با فرکانس مناسب توصیه میشه در ارتباط سریال rs232 هست.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  5. کاربران : 7 تشکر کرده اند از شما morteza_rk برای ارسال این پست سودمند:


  6. #3
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    در واقع ما کریستال داخلی نداریم ! اون چیزی که داخل میکرو هست که نوستان ساز RC هست که کالیبره شده همین ، یعنی از دقت پایینی داره و برای کار های کنترلی که زمان توش خیلی دخیله کاربرد نداره و فقط برای راه اندازی میکرو و انجام کار هایی هست که وابستگی چندانی به زمان ندارن هست ، کریسال خارجی هم که اقای توضیحات آقای morteza_rk کامل هست و نیاز نمی بینم چیزی اضافه کنم!

  7. کاربران : 4 تشکر کرده اند از شما agape برای ارسال این پست سودمند:


  8. #4
    کاربر فعال safavism آواتار ها
    تاریخ عضویت
    Mar 2011
    نام
    سیدمحمدصفوی
    نوشته ها
    299
    تشکر
    144
    تشکر شده 245 بار در 132 پست

    پیش فرض

    متشکرم موفق و پیروز باشید

  9. کاربران : 2 تشکر کرده اند از شما safavism برای ارسال این پست سودمند:


  10. #5
    کاربر فعال mehrdad22 آواتار ها
    تاریخ عضویت
    Nov 2011
    نام
    مهرداد بابایی
    نوشته ها
    168
    تشکر
    184
    تشکر شده 144 بار در 96 پست

    پیش فرض

    سلام
    1- چطوری باید کریستال داخلی میکروهای avr رو فعال کرد ؟ (مثلا 8Mhz یا 4Mhz)
    2- فیوز بیت ها رو در حالتی که کریستال داخلی استفاده کردیم(1و2و4و8) چطوری میشن؟
    3- و وقتی که از کریستال خارجی استفاده کردیم(4و8و12و16) باید جطوری تنظیم بشن؟
    4-و سوال آخر عملا نحوه تنظیم فیوز بیت ها توی بسکام چطوری و از چه منویی انجام میشه؟

    ممنون از همه دوستان
    ویرایش توسط mehrdad22 : 06-12-2011 در ساعت 05:49

  11. کاربران : 2 تشکر کرده اند از شما mehrdad22 برای ارسال این پست سودمند:


  12. #6
    کاربر علاقه مند Cortex آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    28
    تشکر
    36
    تشکر شده 37 بار در 16 پست

    پیش فرض فیوز بیتها

    نقل قول نوشته اصلی توسط mehrdad22 نمایش پست ها
    سلام
    1- چطوری باید کریستال داخلی میکروهای avr رو فعال کرد ؟ (مثلا 8Mhz یا 4Mhz)
    2- فیوز بیت ها رو در حالتی که کریستال داخلی استفاده کردیم(1و2و4و8) چطوری میشن؟
    3- و وقتی که از کریستال خارجی استفاده کردیم(4و8و12و16) باید جطوری تنظیم بشن؟
    4-و سوال آخر عملا نحوه تنظیم فیوز بیت ها توی بسکام چطوری و از چه منویی انجام میشه؟

    ممنون از همه دوستان
    سلام. به ترتیب سوالاتون و بر اساس دیتاشیت جواب میدم:

    1- نیازی نیست. به طور پیشفرض از اسیلاتور داخلی استفاده میکنند.

    2و3-
    cksel3-0=1xxx + ckopt=x کریستال خارجی رو فعال میکنه. (x= 0 or 1)
    و اگر ckop=1 , cksel3=0 اسیلاتور داخلی روشنه.

    4- اینجوری: http://images.elektroda.net/76_1204291406.jpg
    بستگی به پروگرامرتون هم داره. اگر با بسکام نشد باید با نرم افزاری که مخصوص پروگرامرتون هست پروگرام کنید. مثل ProgISP و...

    یک نکته هم اضافه کنم:
    اگه کریستال خارجی میکرو رو فعال کردید برای پروگرام کردن دوبارش باید یک کریستال بذارید
    ویرایش توسط Cortex : 07-12-2011 در ساعت 19:14

  13. کاربران : 5 تشکر کرده اند از شما Cortex برای ارسال این پست سودمند:


  14. #7
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    با سلام
    خوب دوستمون كامل توضيح دادن البته اينو بايد در نظر بگيريد كه تو نرم افزاراي مربوط به پروگرمرا تنظيم فيوز بيتا فرق ميكنه. حالا به نوع پروگرمر و نرم افزراي كه داريد استفاده مي كنيد بستگي داره.
    البته حواستون باشه اگه ميكرو درست پروگرم نكنيد ممكنه براتون ايجاد مشكل كنه. مثلا ميكرو قفل بشه.

    ________________________
    برنامه نويسي، الكترونيك(PE)
    ________________________

  15. کاربران : 3 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  16. #8
    کاربر فعال mehrdad22 آواتار ها
    تاریخ عضویت
    Nov 2011
    نام
    مهرداد بابایی
    نوشته ها
    168
    تشکر
    184
    تشکر شده 144 بار در 96 پست

    پیش فرض

    نقل قول نوشته اصلی توسط cortex نمایش پست ها
    سلام. به ترتیب سوالاتون و بر اساس دیتاشیت جواب میدم:

    1- نیازی نیست. به طور پیشفرض از اسیلاتور داخلی استفاده میکنند.

    2- فیوز بیتها به صورت زیر اسیلاتور داخلی رو فعال میکنند:
    Ckopt=1 cksel0=1 , cksel1=0 , cksel2=0 , cksel3=0

    3- فیوز بیتها به صورت زیر کریستال خارجی رو فعال میکنند:
    Ckopt=0 cksel0=1 , cksel1=1 , cksel2=1 , cksel3=1

    4- اینجوری: http://images.elektroda.net/76_1204291406.jpg
    بستگی به پروگرامرتون هم داره. اگر با بسکام نشد باید با نرم افزاری که مخصوص پروگرامرتون هست پروگرام کنید. مثل progisp و...

    یک نکته هم اضافه کنم:
    اگه کریستال خارجی میکرو رو فعال کردید برای پروگرام کردن دوبارش باید یک کریستال بذارید
    ckopt=1 یعنی اینکه کریستال داخلی روی 1mhz تنظیم بشه؟ و اگه مثلا ckopt=8بشه اسیلاتور داخلی روی 8mhz تنظیم میشه؟

  17. تشکرها از این نوشته :


  18. #9
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mehrdad22 نمایش پست ها
    ckopt=1 یعنی اینکه کریستال داخلی روی 1mhz تنظیم بشه؟ و اگه مثلا ckopt=8بشه اسیلاتور داخلی روی 8mhz تنظیم میشه؟
    سلام دوست عزيز
    نه اشتباه نكنيد همونطور كه از اسمش معلومه تنظيم فيوز بيت هستش. شما با بيت ها سرو كار داريد(0 يا 1)
    ویرایش توسط sadmonew : 06-12-2011 در ساعت 23:06

  19. کاربران : 2 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  20. #10
    کاربر فعال mehrdad22 آواتار ها
    تاریخ عضویت
    Nov 2011
    نام
    مهرداد بابایی
    نوشته ها
    168
    تشکر
    184
    تشکر شده 144 بار در 96 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sadmonew نمایش پست ها
    سلام دوست عزيز
    نه اشتباه نكنيد همونطور كه از اسمش معلومه تنظيم فيوز بيت هستش. شما با بيت ها سرو كار داريد(0 يا 1)
    سلام
    ممنون از جوابتون
    کلا قاطی کردم ، یه چیزایی از قبل هم میدونستم ولی الان دیگه کلا قاطی شد(اول در مورد اسیلاتور داخلی صحبت کنیم بعد میریم خارجی)
    مگه پیشفرض اسیلاتور داخلی روی 1mhz نیست؟
    خب پیشفرض که روی 1mhz هستش فیوز بیتها به اون صورتی که گفتی تنظیم میشن
    خب حالا شروع سوالات:
    حالا من میخوام مقدار پیشفرض رو عوض کنم و بکنم 8mhz اولا چطوری این کار رو بکنم ؟
    دوما فیوز بیتها چه تغییری میکنن؟

  21. تشکرها از این نوشته :


  22. #11
    مدیرکل انجمنها Doloop آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    حسين
    نوشته ها
    1,964
    تشکر
    3,312
    تشکر شده 3,086 بار در 1,371 پست

    پیش فرض

    سلام
    ببين براي حالت پيش فرض اصلا نياز نيست شما فيوز بيت هارو تغير بدي تغير فيوز بيت ها فقط براي زمانيه كه شما ميخاي از كريستال خارجي استفاده كني
    پس زمانيكه از اسيلاتور(كريستال) داخلي استفاده ميكني
    همون قسمت برنامه كه مقدار كريستال رو تعين ميكني ميتوني مقدارش رو تغير بدي مثلا 1 مگا هرتز بزاري يا 8 مگا هرتز بزاري پس با فيوز بيت ها كاري نداري....
    موفق باشي
    *** اللّهم عجّل لولیک الفرج ***

  23. کاربران : 2 تشکر کرده اند از شما Doloop برای ارسال این پست سودمند:


  24. #12
    کاربر فعال mehrdad22 آواتار ها
    تاریخ عضویت
    Nov 2011
    نام
    مهرداد بابایی
    نوشته ها
    168
    تشکر
    184
    تشکر شده 144 بار در 96 پست

    پیش فرض

    سلام
    من یه جا دیدم که اینطوری گفته بودن:

    کریستال داخلی رو میشه روی مقادیر دیگه ای هم گذاشت (1و2و4و8)
    برای قرار دادن هرکدوم از این کریستال های داخلی باید فیوزبیت CKSEL رو عوض کنی
    به این شکل :
    اگه 1Mhz تعریف کنی ، باید *( CKSEL 0 )* رو برابر 1 کنی و بقیه رو 0 کنی
    اگه 2Mhz تعریف کنی، باید *(CKSEL 1)* رو برابر با 1 کنی و بقیه رو 0 کنی
    اگه 4Mhz تعریف کنی ، باید *( CKSEL 0)* و *(CKSEL 1)* رو برابر با 1 کنی و بقیه رو 0
    اگه 8Mhz تعریف کنی ، باید *( CKSEL 2)* را برابر 1 کنی و بقیه رو 0

    پیشفرض روی یک مگا هرتز هستش

    یعنی این توضیحات غلط هستش؟

  25. کاربران : 2 تشکر کرده اند از شما mehrdad22 برای ارسال این پست سودمند:


  26. #13
    کاربر علاقه مند Cortex آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    28
    تشکر
    36
    تشکر شده 37 بار در 16 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mehrdad22 نمایش پست ها
    سلام
    من یه جا دیدم که اینطوری گفته بودن:

    کریستال داخلی رو میشه روی مقادیر دیگه ای هم گذاشت (1و2و4و8)
    برای قرار دادن هرکدوم از این کریستال های داخلی باید فیوزبیت cksel رو عوض کنی
    به این شکل :
    اگه 1mhz تعریف کنی ، باید *( cksel 0 )* رو برابر 1 کنی و بقیه رو 0 کنی
    اگه 2mhz تعریف کنی، باید *(cksel 1)* رو برابر با 1 کنی و بقیه رو 0 کنی
    اگه 4mhz تعریف کنی ، باید *( cksel 0)* و *(cksel 1)* رو برابر با 1 کنی و بقیه رو 0
    اگه 8mhz تعریف کنی ، باید *( cksel 2)* را برابر 1 کنی و بقیه رو 0

    پیشفرض روی یک مگا هرتز هستش

    یعنی این توضیحات غلط هستش؟
    نه. کاملا درسته.
    کافیه قسمت کلاک آپشن دیتاشیت میکرو رو ببینید.

  27. تشکرها از این نوشته :


  28. #14
    کاربر علاقه مند Cortex آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    28
    تشکر
    36
    تشکر شده 37 بار در 16 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mehrdad22 نمایش پست ها
    ckopt=1 یعنی اینکه کریستال داخلی روی 1mhz تنظیم بشه؟ و اگه مثلا ckopt=8بشه اسیلاتور داخلی روی 8mhz تنظیم میشه؟
    نه عزیز. اینا صفر و یک منطقی هستند.
    0= برنامه ریزی فیوز بیت
    1= عدم برنامه ریزی فیوز بیت

    cksel3-0=1xx1 + ckopt=x کریستال خارجی رو فعال میکنه. (x= 0 or 1)
    و اگر ckop=1 , cksel3=0 اسیلاتور داخلی روشنه.

    بعد از فعال کردن کریستال خارجی میکرو باید یک کریستال بین پایه های xtal1 , xtal2 قرار بدید و بهتره هر پایشو با یه خازن 12-22 پیکو فاراد با زمین سری کنید.
    ویرایش توسط Cortex : 07-12-2011 در ساعت 19:54

  29. تشکرها از این نوشته :


  30. #15
    کاربر فعال safavism آواتار ها
    تاریخ عضویت
    Mar 2011
    نام
    سیدمحمدصفوی
    نوشته ها
    299
    تشکر
    144
    تشکر شده 245 بار در 132 پست

    پیش فرض

    با سلام
    ckopt اگه برنامه ریزی بشه خازنهای داخلی36پیکو را فعال میکنه و نیازی نیست که خازن استفاده کنیم ... اگر یکی از دوستان مجددا زحمت میکشیدند و نحوه ی تنظیم فیوز بیتها برای اسیلاتور داخلی وکریستال خارجی کاملا با مثال توضیح میدادند بسیار عالی بود..مثلا اگه فیوز بیتهای میکرو برای کریستال خارجی تنظیم بشه برای پروگرام کردن مجدد با همون فرکانس باز نیاز هست جهت پروگرام کردن به یه کریستال وصل بشه؟ چندین بار میکرو را با همون فرکانس تعریف شده و با تغییرات در اجرای کد برنامه پروگرام کردم میکرو در کوتاه مدت برنامه را اجرا میکنه ولی بعد از گذشت یک یا دو روز قسمتی از برنامه اجرا نمیکنه حسابی گیج شدم نمیدونم اشکال از برنامه است یا از نحوه ی پروگرام کردن میکرو ..!
    ویرایش توسط safavism : 07-12-2011 در ساعت 23:48

  31. تشکرها از این نوشته :


  32. #16
    کاربر علاقه مند Cortex آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    28
    تشکر
    36
    تشکر شده 37 بار در 16 پست

    پیش فرض

    نقل قول نوشته اصلی توسط safavism نمایش پست ها
    با سلام
    ckopt اگه برنامه ریزی بشه خازنهای داخلی 33 پیکو را فعال میکنه و نیازی نیست که خازن استفاده کنیم ... اگه فیوز بیتهای میکرو برای کریستال خارجی تنظیم بشه برای پروگرام کردن مجدد با همون فرکانس باز نیاز هست جهت پروگرام کردن به یه کریستال وصل بشه؟
    درسته
    برنامه ریزی ckopt واسه محیطهای نویزی یا وقتی که از پایه xtal2 کلاک خروجی بگیریم هم هستش.

    واسه سوالتون:
    آره باید کریستال بذارید ولی لازم نیست حتما همونمقدار باشه فقط باید تو رنجی که فیوزبیتها واسش پروگرام شدن باشه.
    مثلا اگه فیوز بیتها رو به این صورت پروگرام کنید:
    ckopt=0 cksel3-0=1111,1011,1101
    اینجوری میتونید یک کریستال اکسترنال از 1Mhz به بالا استفاده کنید و دوباره میکرو رو پروگرام کنید.
    ولی موقع کار کردن میکرو کریستال باید همون مقداری باشه که موقع برنامه نویسی گذاشتید.
    ویرایش توسط Cortex : 08-12-2011 در ساعت 15:14

  33. کاربران : 2 تشکر کرده اند از شما Cortex برای ارسال این پست سودمند:


  34. #17
    کاربر فعال safavism آواتار ها
    تاریخ عضویت
    Mar 2011
    نام
    سیدمحمدصفوی
    نوشته ها
    299
    تشکر
    144
    تشکر شده 245 بار در 132 پست

    پیش فرض

    با سلام
    مثلا atmega8
    با برنامه ريزي ckopt خازن 36پيكو داخلي فعال ميشه
    ویرایش توسط safavism : 07-12-2011 در ساعت 23:48

  35. کاربران : 2 تشکر کرده اند از شما safavism برای ارسال این پست سودمند:


موضوعات مشابه

  1. مقدار دهي به رجيسترها
    توسط siavash7 در انجمن LPC series (NXP)
    پاسخ: 7
    آخرين نوشته: 13-03-2013, 17:57
  2. عدم راه اندازي Pll با رجيستر
    توسط payameashena در انجمن AT91 series (ATMEL)
    پاسخ: 0
    آخرين نوشته: 12-11-2012, 18:59
  3. رجيستر
    توسط 2012 در انجمن PIC
    پاسخ: 1
    آخرين نوشته: 05-02-2012, 04:01
  4. كريستال 18.432 براي sam-ba
    توسط armstk در انجمن AT91 series (ATMEL)
    پاسخ: 1
    آخرين نوشته: 09-01-2010, 13:40
  5. گرفتن فركانس از كريستال
    توسط FAM در انجمن AVR
    پاسخ: 3
    آخرين نوشته: 02-03-2009, 23:07

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •