پاورپوینت واحدهای CKGR و PMC (pptx) 42 اسلاید
دسته بندی : پاورپوینت
نوع فایل : PowerPoint (.pptx) ( قابل ویرایش و آماده پرینت )
تعداد اسلاید: 42 اسلاید
قسمتی از متن PowerPoint (.pptx) :
واحدهاي CKGR و PMC
ميكروكنترلرهاي ARM شركت ATMEL
خانواده AT91SAM7Sxxx
تعريف اصطلاحات
CKGR = CLocK Generator
مولد پالس ساعت
PMC = Power Management Controller
مديريت مصرف توان
نكته مهم: وجود پالس ساعت يا كلاك براي كار كردن سيستم هاي منطقي ترتيبي مانند پردازنده ها و ميكروكنترلرها ضروري است.
كلاكي كه ميكروكنترلرهاي AT91SAM7Sxxx با آن كار مي كنند master clock يا MCK نام دارد.
ميكروكنترلرهاي AT91SAM7Sxxx مي توانند با حداكثر فركانس MCK (master clock) 55 مگاهرتز كار نمايند.
واحد مولد پالس ساعت از سه منبع كلاك تشكيل شده است:
يك واحد PLL
پالس PLLCK را به عنوان خروجي واحد تقسيم كننده (Divider) و PLL مي سازد.
يك واحد نوسان ساز اصلي (Main Oscillator)
پالس MAINCK (Main Clock يا كلاك اصلي) را مي سازد.
يك واحد نوسان ساز RC داخلي
پالس SLCK (Slow Clock يا كلاك آهسته) را به عنوان تنها كلاك هميشگي و دائم سيستم با فركانس 768/32 كيلوهرتز بوجود مي آورد
نكته: اسامي رجيسترهاي (ثبات هاي) واحد مولد كلاك با عبارت CKGR_ شروع مي شود.
مولد پالس ساعت (CKGR)
با وصل شدن تغذيه پايه VDDCORE (8/1 ولت) يك نوسان ساز (اسيلاتور) متشكل از مقاومت و خازن كه در داخل ميكروكنترلر تعبيه شده اند، شروع به نوسان كرده و يك پالس ساعت (كلاك) را با فركانس 768/32 كيلوهرتز (حداقل 22 و حداكثر 42 كيلوهرتز) ايجاد مي نمايد.
نكته مهم: اين كلاك هميشه و در هر حالتي در سيستم وجود دارد.
نوسان ساز كلاك آهسته RC (SLCK)
در شكل زير مي توانيد بلوك دياگرام واحد main oscillator را مشاهده نماييد.
نوسان ساز اصلي (Main Oscillator)
Main oscillator داراي دو حالت كاري است:
Normal
در اين حالت مي توان يك كريستال را بين دو پايه XIN و XOUT (شكل رو به رو) متصل نمود. با استفاده از اين نوسان ساز مي توان فركانسهاي 3 الي 20 مگاهرتز را براي استفاده ميكروكنترلر ايجاد نمود.
در كريستال هايي با فركانس كمتر از 8 مگاهرتز بايد از يك مقاومت يك كيلو اهمي (شكل رو به رو) استفاده كرد.
مقادير خازن ها در حدود 40 پيكوفاراد انتخاب مي شود.
زمان راه اندازي (startup time) نوسان ساز اصلي براي فركانس 3 مگاهرتز 5/14 ميلي ثانيه و براي فركانس 20 مگاهرتز 1 ميلي ثانيه است و با افزايش فركانس كريستال، كاهش مي يابد.
Bypass
در اين حالت مي توان يك پالس مربعي (دامنه 8/1 ولت، فركانس حداكثر 50 مگاهرتز و duty cycle بين 40 الي 60 درصد) را به پايه XIN ميكرو متصل نمود و از اين پالس به عنوان كلاك سيستم استفاده كرد.
در اين حالت پايه XOUT به هيچ جايي متصل نمي شود.
حالات كاري Main Oscillator
OSCBYPASS bit
in CKGR_MOR register
0 : Normal
1 : Bypass
پس از ريست ميكرو، براي كاهش توان مورد نياز براي راه اندازي، نوسان ساز اصلي غيرفعال شده و SLCK انتخاب مي شود.
براي فعال يا غيرفعال سازي نرم افزاري نوسان ساز اصلي از بيت MOSCEN استفاده مي شود
MOSCEN bit (CKGR_MOR Register) = 0:Disable, 1:Enable
براي آگاهي از فعال يا غير فعال بودن نوسان ساز اصلي مي توان بيت MOSCS را از ثبات PMC_SR خواند.
MOSCS bit (PMC_SR Register) = 0:Disable, 1: Enable
فعال و غيرفعال سازي Main Oscillator
برنامه نويس بايد در هنگام فعال كردن main oscillator براي كار كردن با يك كريستال خارجي، بايد مقدار زمان راه اندازي مورد نياز را نيز تعيين نمايد.
مقدار زمان راه اندازي بستگي به فركانس كريستال مورد استفاده دارد و با افزايش فركانس كاهش مي يابد.
اين كار با تنظيم بيت هاي OSCOUNT ( 8 بيتي) در ثبات CKGR_MOR و با استفاده از رابطه زير انجام مي شود.
Startup time = (8 x OSCOUNT) / SLCK freq.
براي مثال اگر مقدار OSCOUNT=255 و فركانس SLCK=32768 Hz باشد، مقدار زمان راه اندازي در حدود 62 ميلي ثانيه بدست مي آيد.
زمانيكه مقدار شمارنده به صفر مي رسد، بيت MOSCS (به نشانه فعال شدن main osc.) يك مي شود.
startup time يا زمان راه اندازي Main Oscillator
SLCK/8
Main Oscillator
Counter
OSCOUNT
MOSCS
CKGR_MOR
PMC_SR
PMC_IMR
پس از پايدار شدن فركانس MAINCK (يك شدن بيت MOSCS) و با اولين لبه بالا رونده SLCK، شمارنده فركانس كلاك اصلي با فركانس MAINCK شروع به شمارش مي كند و پس از 16 سيكل SLCK شمارنده متوقف مي شود و بيت MAINRDY از ثبات CKGR_MCFR يك مي شود.
مقدار شمارش شده توسط شمارنده در MAINF در ثبات CKGR_MCFR ذخيره شده است.
با استفاده از رابطه زير مي توان مقدار فركانس كلاك اصلي (MAINCK) را براي استفاده در برنامه، بدست آورد.
MAINCK freq. = (SLCK freq. x MAINF) / 16
شمارنده فركانس Main Clock
MAINCK
Main Clock
Frequency
Counter
< 16th Cycle
MAINRDY
CKGR_MCFR
MAINF
CKGR_MCFR
SLCK
MOSCS
EN