GebraBit

تایمر های General Purpose

متن سربرگ خود را وارد کنید

تایمر های General Purpose

  1. خانه
  2. »
  3. میکروکنترلر
  4. »
  5. تایمر های General Purpose

تایمر های General Purpose

متن سربرگ خود را وارد کنید

تایمر های General Purpose

 اکثر تایمرهای میکروکنترلرهای STM32 تایمرهای general purpose  هستند. برخلاف تایمرهای اولیه ای basic timers  که قبلا دیدیم، آنها به لطف چهار کانال مستقل که می توانند برای اندازه گیری سیگنال های ورودی، ارائه سیگنال در خروجی بر اساس زمان، تولید سیگنال های مدولاسیون عرض پالس (PWM) استفاده شوند، قابلیت های بسیار زیادی را ارائه می دهند.

تولید پایه زمان Time Base با منابع کلاک خارجی

شکل زیر بلوک دیاگرام یک تایمر general purpose  را نشان می دهد. زمانی که کلاک APB به عنوان منبع انتخاب می شود، مسیری که با رنگ قرمز مشخص شده است برای تغذیه تایمر استفاده می شود: کلاک داخلی CK_INT در واقع Prescaler  (PSC) را تغذیه کرده و تعیین می کند که رجیستر شمارنده (CNT) با چه سرعتی افزایش/کاهش یابد. این رجیستر با محتوای auto-reload register (که با مقدار فیلد TIM_Base_InitTypeDef.Period پر شده است) مقایسه می شود. هنگامی که مطابقت پیدا کردند، رویداد UEV ایجاد شده و IRQ مربوطه در صورتی که فعال باشد ، رخ می دهد.

با نگاهی به شکل بالا ، می بینیم که تایمر می تواند منبع “محرک” را از منابع دیگر نیز دریافت کند. این منابع تحریک را می توان به دو گروه اصلی تقسیم کرد:

  • منابع Clock ، برای کلاک تایمر  استفاده می شوند. آنها می توانند از منابع خارجی متصل به پین های میکروکنترلر یا سایر تایمرهایی که به صورت داخلی به MCU متصل هستند، نشات بگیرند. توجه داشته باشید که یک تایمر نمی تواند بدون منبع کلاک کار کند، زیرا از آن برای افزایش رجیستر counter  استفاده می شود.
  • منابع Trigger ، برای همگام سازی تایمر با منابع خارجی متصل به پین های میکروکنترلر یا سایر تایمرهایی که به صورت داخلی به میکروکنترلر متصل هستند ، استفاده می شود. به عنوان مثال، یک تایمر را می توان طوری پیکربندی کرد که وقتی یک رویداد خارجی آن را تحریک می کند، شروع به شمارش کند. در این حالت تایمر توسط یک منبع کلاک دیگر (که می تواند هم گذرگاه APBx یا یک منبع کلاک خارجی متصل به پین ETR2 باشد) کلاک می شود و توسط دستگاه دیگری کنترل می شود (یعنی چه زمانی شروع به شمارش کند …).

بسته به نوع تایمر و اجرای آن، یک تایمر می تواند از منابع زیر کلاک شود:

  • TIMx_CLK داخلی ارائه شده توسط RCC
  • ورودی trigger داخلی 0 تا 3

– ITR0، ITR1، ITR2 و ITR3 با استفاده از تایمر دیگری (master) به عنوان prescaler  این تایمر (slave)

  • پین های کانال ورودی خارجی

– پین 1: TI1FP1 یا TI1F_ED

– پین 2: TI2FP2

  • پین های ETR خارجی:

– پین ETR1

    – پین ETR2

همچنین یک تایمر می تواند از موارد زیر تحریک شود:

  • ورودی های trigger داخلی 0 تا 3

– ITR0، ITR1، ITR2 و ITR3 با استفاده از تایمر دیگری به عنوان master

  • پین های کانال ورودی خارجی

– پین 1: TI1FP1 یا TI1F_ED

– پین 2: TI2FP2

  • پین خارجی ETR1

این مقاله را با دوستانتان به اشتراک بگذارید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این مقاله را با دوستانتان به اشتراک بگذارید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Shopping cart
Start typing to see posts you are looking for.

Sign in

No account yet?