Table of Contents
إن فهم كيفية حساب قيم التوقيت والتأخير أمر أساسي لبرمجة المتحكمين في الميكروبات المدمجة، وهذه الحسابات تضمن التوقيت الدقيق لمهام مثل ربط الأجهزة المتفجرة المرتجلة، وتوليد إشارات PWM، وخلق تأخيرات دقيقة، وتنفيذ نظم مراقبة الوقت الحقيقي، ويوفر هذا الدليل الشامل نهجا تدريجيا لتحديد القيم الصحيحة للموقّعات والتأخيرات في تطبيقات المتحكمات الدقيقة، ويشمل المفاهيم الأساسية، والأمثلة العملية، والتقنيات المتقدمة.
فهم أساسيات التوقيت في مجال المراكب الصغرى
يستخدم المتحكمون المصغرون جهاز التوقيت كعنصر متكامل، حيث يوجد في معظم المتحكمين الحديثين نموذج واحد على الأقل من وحدات التوقيت التي تم بناؤها فيها، وجهاز توقيت هو الطرفي في جهاز التحكم الجزئي الذي يحسب أو ينخفض على تواتر محدد، وفائدة في إحداث حالات التأخير، وقياس فترات زمنية معينة، وبدء المهام الدورية، ويحدد قرار الموقّر والحساب الأقصى مدى دقة قياس أو توليد التأخيرات.
التدفق الثابت للنبضات التي يحسبها الزمن عادة ما يُسمى "ساعة الزمن" بينما يشير الناتج الزمني الثابت إلى أن جهاز توقيت يمكن أن يُصنع عادة ما يُسمى "المرض" فهم هذا التمييز حاسم بالنسبة لتشكيل التوقيت السليم وتنفيذه.
الهيكل الزمني والمكونات
وتتألف وحدة قياس زمني نموذجية من عدة عناصر رئيسية تعمل معا لتوفير التشغيل في التوقيت:
- Timer Counter Register:] The core register that increments or decrements with each hour pulse
- Prescaler:] A divider that reduces the input clock frequency to a manageable rate
- Compare/Match Register:] Stores values for comparison with the counter to trigger specific events
- Control Registers:] Configure timer modes, clock sources, and interrupt settings
- Status Registers:] Indicate overflow, comparison match, and other timer events
ويمكن أن تستمد وحدة التوقيت/المحاسبة مصدر ساعاتها من ساعة النظام، وأن تقوم بعمليات عد تستند إلى نبض الساعة هذا، ويقال إنها تعمل كموقّع وتؤدّي عمليات قياس الوقت، وبما أن تواتر ساعات النظام يحدده المستخدم، وهو في كثير من الأحيان مستقر تماما، فإن المبرمج قادر على تحقيق فترات زمنية دقيقة عن طريق وضع نموذج التوقيت المناسب.
دور القائمين على برمجيات التوقيت
ففريق ما قبل النطاق هو صنف من أجهزة الحاسوب يقلل من تواتر ساعات النظام قبل أن يصل إلى جهاز التوقيت، مثلاً مع وجود 16 جهازاً من الترددات الترددية للجهاز ومقياساً مسبقاً يبلغ 2، فإن تواتر مدخلات التوقيت سيكون 8 ميغاهرتز، والعامل التمهيدي هو أحد أهم العناصر في تشكيلة التوقيت لأنه يسمح لك بالتوازن بين تسوية التوقيت والحد الأقصى للمدة الزمنية.
فهم حدود ما قبل الانتشار
بعض المفترسين يقصرون على قسمين من حيث القوة على مدار الساعة، حتى تتمكن من الحصول على إف (ساعة النظام) أو F/2 أو F/4 أو F/8 أو F/16، وبعض المفترسين أكثر محدودية من ذلك، حيث أن بعض أقسام القوة من 2 متاحة، وليس جميعها، أما المفترسون في هذه الحالة، فبالنسبة لمعظم الـ (أف آر)، فإن الشُعب الرئيسية الوحيدة التي تحصل عليها هي 1 و 824.
وبتغيير عدد ساعات العمل السابقة على النطاق الزمني، يمكننا تغيير تواتر ساعة التوقيت حتى وإن كانت تردد ساعات النظام لا يزال على حاله، وقدرة تغيير تواتر ساعات التوقيت تسمح لنا باختيار أنسب تواتر للعمل (العمل) في التوقيت، وسرعة التوقيت تعطي حلا زمنيا أكبر، ولكن الوقت الأقصر، بينما تعطى ساعة زمنية أبطأ حلا زمنيا أقل، ولكن وقتا أطول.
عمليات التبادل التجاري السابقة النطاق
ويتيح مقدم العرض تسويق النسبة بين القرار والفترة القصوى لتحقيق الأثر المنشود، وعند اختيار قيمة ما قبله، ينظر في هذه العوامل:
- Resolution requirements: ] How precise does your timing need to be?
- Maximum Duration: ] What is the longest delay you need to generate?
- Timer Bit Width:] 8-bit timers (0-255) vs 16-bit timers (0-65535)
- Available Prescaler Values:] Limited options on many microcontrollers
نظام حساب التوقيت الأساسي
والصيغة الأساسية لحساب عمليات حساب التوقيت هي:
Timer count = Desired Delay × Timer Frequency]
أين:
- Desired Delay] هو الوقت الذي تريد أن تتأخر في ثواني
- Timer Frequency] is the clock frequency divided by the prescaler value
تردد التوقيت = تردد / قفل وحدة تحليل البرامج، هذه هي أهم صيغة أساسية لجميع حسابات التوقيت.
حساب الوقت لكل زم
التردد هو عدد المرات التي يحدث فيها شيء ما في لحظة واحدة لذا فإن تردد الساعة 20 ميغاهيرتز هو في الواقع 20 × 106 × دورة ساعة في ثانية واحدة، للحصول على الوقت اللازم لدورة ساعة واحدة، يجب أن تأخذ عكس التردد، وفي هذه الحالة، يكون 1/20MHz الذي سيعطي 0.0510-6 ثواني.
والصيغة التي تُعطى للزمن بعد التكدس هي:
Time per Tick = 1 / Timer Frequency = Prescaler / CPU Clock Frequency]
وتمثل هذه القيمة كم يمر الوقت لكل زيادة في عدد أجهزة التوقيت.
حساب عددات الوقت المطلوبة
يتطلب حساب تحديدات ما قبل النطاقات وتوقيتات (محاسب) ثلاثة معلومات: تردد ساعة المتحكمات الدقيقة، وتواتر أو فترة النواتج المنشودة (الفوت أو توت)، وطريقة عمل الموقّر (الصف الرابع).
بمجرد أن تعرف الوقت المناسب للدغه يمكنك حساب كم عدد المدغات المطلوبة لتأخيرك المنشود
Required Ticks = Desired Delay / Time per Tick]
أو الجمع بين الصيغ:
Required Ticks = (Desired Delay × CPU Clock Frequency) / Prescaler]
المسابقة
لنعمل من خلال مثال مفصل لبيان عملية الحساب، إفترض أنّ مُتحكماً صغيراً يعمل في 16 ميغاهيرتز ويستخدم مُسبقاً بـ64
الخطوة 1: حساب تردد التوقيت
Timer Frequency = CPU Clock / Prescaler]
Timer Frequency = 000 16 Hz/64 = 000 250 Hz]
وهذا يعني أن عدد مرات الضبط الزمني يصل إلى 000 250 مرة في الثانية.
الخطوة 2: حساب الوقت لكل زم
Time per Tick = 1 / Timer Frequency]
Time per Tick = 1 / 000 250 Hz = 4 microseconds]
ويمثل كل زيادة في جهاز التوقيت 4 ثواني من الزمن الممتد.
الخطوة 3: حساب عددات التوقيت المطلوبة
Timer count = Desired Delay / Time per Tick]
Timer count = 1 millisecond / 4 microseconds = 1000 ميكروغرام/4 ميكروغرام = 250 إحصاء ]
وكبديل لذلك، باستخدام الصيغة المباشرة:
Timer count = 0.001 s × 250,000 Hz = 250 counts]
الخطوة 4: التحقق من عدم حدود الوقت
بالنسبة لـ8 درجات، أقصى عدد 255 بما أن العدد المطلوب هو 250 أقل من 255، ستنجح هذه التشكيلة، إذا تجاوز العدد المطلوب القيمة القصوى للزمن،
- زيادة القيمة المسبقة لخفض تردد التوقيت
- استخدام جهاز توقيت أكبر (16-بت بدلا من 8-بت)
- استخدام تدفقات زمنية متعددة مع منضدة في البرامجيات
العمل مع مختلف موديوتمر
وعادة ما يدعم المتحكمون البالغون عدة أساليب تشغيل موقوتة، كل منها مناسب لتطبيقات مختلفة، ويعتبر فهم هذه الوسائط أمرا حاسما في استخدام التوقيت على نحو فعال.
Mode العادي (Overflow Mode)
وفي الأسلوب العادي، يرتفع اتجاه العد (الزيادة) دون أي تصفية، ويصل إلى أقصى قيمة لها من 8 أرباع، ويعاد ترتيبها في القاع (0x00) وعندما يصل إلى 0xFF ويمتد إلى 0x00، فإنه يحدد علامة التوقيت/التضخم الكوني (TOV1). وفي هذه المرحلة، يُحدث انقطاع سيُوضح التليفون الخامس - 1 وتُكرر العملية.
ويحسب جهاز التوقيت مع كل نبض ساعة، وعندما يصل إلى أقصى قيمة له (مثل 255 مقابل 8 درجات)، فإنه يتدفق ويزيد من الرغاوي إلى صفر.
في النموذج العادي، غالبا ما تحتاج إلى تحميل سجل قياس التوقيت ذي قيمة محددة لتحقيق التأخير المرغوب فيه، وبما أن جهاز التوقيت يحسب حتى التدفق الزائد، يجب أن تعيد تحميل جهاز التوقيت بـ 65536 ناقصا العدد المطلوب لـ 16 نقطة توقيت، أو 256 ناقصا العدد المطلوب لـ 8 درجات.
نموذج مركز التجارة الدولية (الرقم المختصر في المصيد المقارن)
وفي حالة مركز مكافحة الإرهاب، يحسب التوقيت من القيمة الأولية صفر إلى قيمة سجل تطابقه، عندما تحدث تطابقات، في وقت لاحق، إلى صفر من الدقائق الزمنية. وهذا الأسلوب مفيد بصفة خاصة لتوليد ترددات دقيقة وقطعات دورية دون الحاجة إلى إعادة تحميل المصاريف يدويا.
طريقة مركز مكافحة الإرهاب تبسط الحسابات لأنك وضعت قيمة مقارنة مباشرة بعدد الدغدغات التي تحتاجها بدلاً من حساب قيمة حمولة أولية، ويعادل التوقيت تلقائياً عندما يصل إلى القيمة المقارنة، مما يجعلها مثالية لتوليد موجات مربعة وإشارات دورية.
PWM Modes
وتستخدم أساليب تعديل النبضات أجهزة توقيت لتوليد إشارات ذات دورات عمل مختلفة، وإذا كان TIM Pulse = 500 والفترة 1000، فإن القناة ستنتج تواتراً لرقم 1 KHz مع دورة عمل 50/50، وكيماويات البوليستروم ضرورية للرقابة على السيارات، وأجهزة التلقيم المميتة، وتوليد إشارات التماثل.
وفي حالة إدارة المركبات، تهيمن على الفترة (قيمة تحميلها) وطول نبضها (قيمة شاملة)، وتحسب دورة العمل على النحو التالي:
Duty Cycle (%) = (Compare Value / Period Value) × 100]
تقنيات حساب التوقيت المتقدمة
معالجة التأخيرات الطويلة مع تدفق الوقت
وهناك بعض الحالات التي تكون فيها قيمة العد كبيرة جداً بحيث تستوعب في حيز السجلات المتاح (العامل السابق، والمرتبات، وسجل التوقيت)، مما يعني أن الفترة الزمنية المطلوبة أكبر من أن يُنتجها الموقّت، وفي هذه الحالة، يجب أن تلجأوا إلى بعض الأساليب الأخرى مثل وجود مناظر في القانون الدولي، بحيث يحدث انقطاع الزمن عدداً من المرات قبل تنفيذ القانون الدولي.
على سبيل المثال، لخلق تأخير واحد ثانية عندما جهاز التوقيت الخاص بك يمكن أن تولد فقط 10ms انقطاع، كنت تحسب 100 انقطاع موقوت في البرامجيات:
- جهاز توقيت للثقة لعشرة أمتار فوق التدفق
- زيادة متغير معاكس في التوقيت
- عندما تصل المقابلة إلى 100، تنفيذ مهمتك الثانية الواحدة
- إعادة تشغيل العدّاد وتكراره
استخدام مضادات التكرار
وإذا كانت قيمة مفاعل التكرار ن، فإن المعالج سيستشهد بآخر المستجدات في كل تدفق زائد من الزوايا + 1، وهذه السمة، المتاحة على بعض المتحكمين المتطورين مثل STM32، توفر عدا للتدفقات الزائدة على الأجهزة دون تدخل في البرامجيات.
وتصبح الصيغة المستخدمة في تردد انقطاع التوقيت مع جهاز التكرار:
Interrupt Frequency = Timer Clock / [(Prescaler + 1) × (Period + 1) × (Repetition Counter + 1)]]
اعتبارات ما بعد النطاق
المُشغل لا يُبطئ العدّاد، فقط كم يُحدث انقطاعاً، إذا كان مُحدداً لـ2: 1، يجب أن يصل إلى الصفر مرتين لقطعة العلم المُقطعة زمنياً،
أمثلة على التنفيذ العملي
الإرسال 1: LED Blinking with Timer Overflow
لننفذ نصف قطرة من الـ 500 متر باستخدام جهاز التحكم بالمايكروفلوري يعمل في 16 ميغاهيرتز مع جهاز توقيت 8 بيض
Requirements:]
- CPU Clock: 16 MHz
- Desired Delay: 500 ms
- تايم: 8 أطنان (0-255)
عملية التلقيح: ]
أولاً، اختيار مقدم مناسب، مع 1024 متقدماً:
تواتر الوقت = 000 16 / 1024 = 625 15 Hz
Time per Tick = 1 / 15.625 = 64 ميكروغرام
For 500ms delay:
Required Ticks = 500,000 mis / 64 mis = 7,812.5
بما أن 812 7 يتجاوز الحد الأقصى المحدد لدينا البالغ 8 أرباع (255)، علينا أن نستخدم تدفقات زائدة متعددة.
عدد التدفقات الزائدة = 812 7 / 256 حفز 30.5 تدفق
ويمكننا استخدام 30 تدفقاً زائداً كاملاً بالإضافة إلى العد الجزئي، بالنسبة لـ 30 تدفقاً زائداً: 30 × 256 = 680 7 دغدغة، وبقايا باقية: 812 7، 680 = 132 دغ، قيمة التحميل السابقة للتدفق الزائد الأخير: 256 - 132 = 124.
المثال 2: توليد تواتر واضح مع نموذج مركز التجارة الدولية
ولإحداث موجة مربعة من 250Hz مع تحديد التوقيت 1 في نموذج مركز التجارة الدولية، يحسب جهاز التوقيت من القيمة الأولية صفر إلى القيمة الدفترية للمقارنة بين سجل المقارنات الخاص به.
(ج) وضع سجل المطابقة (OCR1A) إلى 32000، وتكليف جهاز التوقيت لضبط مدخل الإنتاج على أساس المقارنة، وتولد الأجهزة تلقائياً الموجة المربعة دون تدخل برمجي.
النموذج 3: STM32 Timer Configuration
مع تساوي الترددات الزمنية 80 ميغاهيرتز، ودرجة ما قبل 79، ومعدل الشحن الآلي (فترة التأريخ) 9999، ورقم قياس التكرار صفر، يبلغ معدل انقطاع التوقيت 100 هرتز.
التحقق:
Timer Clock after Prescaler = 000 80 / (79 + 1) = 000 1 Hz
] Interrupt Frequency = 000 1 / (99 + 1) = 100 Hz
Interrupt Period = 1 / 100 = 10 ms
بالنسبة لـ (سي إم 32) مُوقّت، (تيم) - (بريكستر) = ن - 1) يقسم ساعة الحافلة/الحركة التي تُحلق على الأرض بواسطة (ن)، و (تيم) - (بيرويد) = (ن - 1) فُقَصْتُ على الساعةِ مِن قِبل (ن)
تنفيذ التأخيرات في تطبيق المدونة
وبعد معرفة عدد الوقت، تُحدد سجلات التوقيت وفقا لذلك، وتنطوي عملية التنفيذ عادة على عدة خطوات:
خطوات التجمّع
- Select Timer and Mode:] Choose an appropriate timer (8-bit or 16-bit) and operating mode (Normal, CTC, PWM)
- Configure Prescaler:] Set the prescaler value in the timer control register
- Load Counter/Compare Values:] Initialize the timer counter register or comparison match register with calculated values
- Enable Interrupts (if needed):] Configure interrupt enable bits and implement the ISR
- Start Timer:] Enable the timer by setting the appropriate control bits
ضع القيمة المحسوبة في سجل العدّ الزمني، وابدأ بالتوقيت وانتظر حتى يتدفق أو يصل إلى القيمة المحددة، هذا يخلق تأخيراً دقيقاً على أساس حساب التوقيت المحسوب
Polling vs Interrupt-Driven Approaches
وهناك طريقتان أوليتان لكشف أحداث التوقيت:
Polling Method:] The main program continuously checks the timer overflow flag in a cycle. This approach is simple but wastes CPU cycles and can miss events if the flag is not check frequently enough.
Interrupt Method:] Timer interrupts in STM32 microcontrollers provide a powerful way to execute specific tasks at precise time intervals without continuous CPU polling. By leveraging timer interrupts, developers can create efficient and responsive embedded applications for tasks such as periodic data sampling, time-based eventing and real-time system.
كاتبة بعنوان " كفاءة التوقيت "
(ب) إبقاء ممثلي الموظفين الدوليين قصيرين وسريعين بتجنب العمليات المعقدة، ولا يؤدون إلا الإجراءات الأساسية، ويؤجّلون تجهيزات أكثر تعقيداً إلى البرنامج الرئيسي، كما أن تجنب أي تأخير أو حلقات قد تسبب انقطاعاً وبطءاً، وينبغي اعتبار التباينات التي تتقاسمها اللجنة والبرنامج الرئيسي متقلبة لضمان عدم تهدئة المجمّع لها.
وتشمل أفضل الممارسات المتبعة في تحديد مواعيد إصدار شهادات المنشأ ما يلي:
- إبقاء وقت الإعدام في أدنى حد (من الناحية التقليدية أقل من 10 إلى 20 دقيقة)
- استخدام كلمة مفاتيح متفجرة للمتغيرات المشتركة
- قطع أعلام فورا
- وضع أعلام أو تحديثات مضادة بدلا من القيام بعمليات معقدة
- تجنب المكالمات، ولا سيما لعرقلة المهام
- إعادة تحميل قيم التوقيت إذا استخدمت طريقة تدفق زائد
تطبيقات التوقيت المشتركة في النظم المدمجة
المهام الدورية
وتستخدم فترات انقطاع التوقيت على نطاق واسع لإنشاء مهام دورية تحافظ على معدلات التنفيذ المتسقة بصرف النظر عن العمليات الجارية الأخرى في مجال التحكم في الميكروبات، فعلى سبيل المثال، قد يستخدم تطبيق مدمج انقطاع زمني لأجهزة استشعار درجة الحرارة كل 100 ميل ثانية، مما يؤدي إلى تحويلات في البلدان النامية بمعدل ثابت، وينظم أجهزة التلقيم المزودة بالأجهزة المزودة بالأجهزة المزودة بالأجهزة ذات المستويات العالية من حيث التوقيت، ويسمح بأن تكون حلقات البرامج الرئيسية ذات تركيز مستقلة.
نظام التشغيل الحقيقي
ويعدّ نظام إيسترندغ تقليدي حجر الأساس للعديد من النظم، وربما معظمها، المدمجة، ويفيد نظام التوقيت على طول 10 أمتار في مجموعة متنوعة من المهام، حيث أنه يوفر استجابة جيدة للإجراءات الإنسانية، بينما يسمح معظم دورات وحدة البرامج القطرية بالذهاب إلى عمل آخر.
وكثيرا ما تستخدم نظم التوقيت في الوقت الحقيقي، حيث يتعين تنفيذ المهام بدقة في فترات محددة، وفي هذه النظم، تتسم دقة التوقيت بأهمية حاسمة، وتوفر أجهزة التوقيت الأساس لتحديد مواعيد المهام، ويمكن أن يكون جهاز التوقيت الذي يولد انقطاعات منتظمة (أعيرة) في فترات ثابتة بمثابة أساس لجداول نظام التشغيل في الوقت الحقيقي أو قاعدة زمنية للمهام الدورية.
PWM
فالتيمور ضرورية لتوليد إشارات PWM تستخدم في مراقبة السيارات، ومراقبة اللامع في الأجهزة المتفجرة المرتجلة، وتحويل التكنولوجيا الرقمية إلى المواد، وذلك بتشكيل جهاز التوقيت في نمط إدارة المركبات، وتكييف القيمة المقارنة، يمكنك التحكم بدقة في دورة العمل في إشارة الإنتاج.
وبالنسبة لمراقبة سرعة السيارات، تتراوح ترددات الحركة من 1 كيلوهرتز إلى 20 كيلوهرتز.
تنفيذ نظام رصد التوقيت
جهاز مراقبة التوقيت هو جهاز توقيت خاص يصلح النظام إذا لم يعد البرنامج دورياً، فهذا الميز يساعد على منع شنق النظام عن طريق إعادة تشغيل وحدة مراقبة السفن تلقائياً إذا أصبحت غير مستجيبة، فتشكيل جهاز مراقبة مناسب يتطلب حساب فترات زمنية كافية للتنفيذ العادي ولكن قصيرة بما يكفي للحاق بفشل النظام بسرعة.
برمجيات التوقيت وتنفيذها
الأخطاء الحسابية المشتركة
عدة أخطاء مشتركة قد تؤدي إلى سلوك غير صحيح في التوقيت:
- Off-by-One Errors:] Many timer registers use N-1 notation where setting a value of 99 actually means 100 counts
- Unit Conversion Mistakes:] Mixing microseconds, milliseconds, and seconds in calculations
- Integer Overflow:] Intermediate calculation results exceeding changing size limits
- Prescaler Availability:] Assuming any prescaler value is available when only specific values are supported
- Clock Source Confusion:] Using the wrong clock frequency in calculations (system clock vs peripheral clock)
تقنيات التحقق
تحقق دائما من حساباتك الزمنية وتنفيذك:
- Oscilloscope Measurement:] Connect an oscilloscope to an output paintpin toggled by the timer to measure actual timing
- محلل تعليمي: ] Capture timing sequences and verify against expected values
- LED Blink Test:] Use visible LED blinking to verify approximate timing (human eye can detect roughly 10 Hz and above)
- Serial Output:] Print timestamps or counter values via UART for analysis
- Calculator Tools:] Use online timer calculators to verify manual calculations
التعامل مع السكوت
وتتوقف دقة التوقيت في العالم الحقيقي على مصدر الساعة، عادة ما يكون للأجهزة الداخلية لأجهزة الشاشة درجة حرارة تبلغ 1.5 في المائة، بينما توفر البلورات الخارجية درجة دقة تتراوح بين 20 و50 في المائة، ولتطبيقات التوقيت الدقيق، تستخدم دائماً جهازاً للمسح الكريستالي الخارجي وتحسب لتفاوت درجات الحرارة في تصميمك.
النظر في منهاج العمل
AVR Microcontrollers
أما المتحكمون في الميكروفونات في منطقة المحيط الأطلسي (أطلل سابقا) فيتمتعون بخصائص محددة من حيث التوقيت، وبالنسبة لأمثلة AVR، فإن جهاز التوقيت 1 هو جهاز توقيت 16 مبتغا، ويستخدم جهاز توقيت من طراز STM32، ويستخدم جهازا قياسيا من طراز AVR، ويستخدم في العادة في دعم قيم ما قبل النطاقات، وهي 1 و 8 و 64 و 256 و 1024.
وتشمل سجلات التوقيت في جمهورية أفريقيا الوسطى (سجل مراقبة الحركة/الوحدة)، وسجل مراقبة المركبات، وسجلات الشبكة الدولية للمرور العابر، وسجل برمجيات أوروبا (سجل مقارنات) وسجل TIMSK (سجل تداخل السيارات) وفهم هذه السجلات أمر أساسي لتشكيل التوقيت المناسب.
STM32 Microcontrollers
وتتوفر لدى أجهزة التحكم الدقيقة التي تعمل بالأشعة فوق البنفسجية من 16 إلى 20 درجة، بحيث يمكن تقسيم ساعة النظام إلى أي قيمة بين 1 و 65536، وهذه المفترسات هي أكثر لطفاً بكثير من العمل بفضل مرونة أكبر لها، وتتيح هذه المرونة تشكيلات توقيتية أكثر دقة مقارنة بالخيارات المحددة قبل النطاق.
وبالنسبة للموقّعين من طراز STM32، يختارون المُسبق لتقليص الوقت إلى تردد قابل للتدبر، ويضعون قيمة الشحن الآلي لتحقيق الفترة المنشودة، ثم يبرمجون قيم الضبط الذاتي للحواسيب الشخصية وقيم السحب من السجلات الزمنية.
PIC Microcontrollers
ويضم المتحكمون في الميكروفون من الميكروفيب مجهزين مسبقاً ومرتبات في بعض المواضع، مما يوفر مرونة إضافية، ويستخدم نموذج التوقيت عادة لعمليات التوقيت الأساسية، في حين يقدم تايمبر 1 وتايمر2 سمات أكثر تقدماً تشمل مدخلات ساعات العمل الخارجية وسجلات الفترة.
يستخدم جهاز تحديد التوقيت في كثير من الأحيان 4: 1 فرق ساعات التعليم، بمعنى أن ساعة التوقيت تعمل في ربع تردد المُسَمِّر، و دائماً ما يُستشيرُ صحيفة البيانات لتحديد التردد الزمني الفعلي لجهازك الخاص بالضغط النباتي.
منهاج عمل آردينو
التوقيت هو موقّع ذو 8 درجات يستخدمه الأردينو في تأخيره، وطاحونة وميكروستر تايمر 1 هو موقّع من 16 درجة تستخدمه مكتبة سيرفو وتايمر2 هو موقّع من 8 أرباع تستخدمه مكتبة تونيس، وعند استخدام موقّعات آردوينو مباشرة، يكون على علم بالصراعات مع وظائف المكتبة المُبنى.
المواضيع المتقدمة والتحسين الأمثل
قسم العمليات الذرية والأقسام الحاسمة
وعند الوصول إلى سجلات موقوت متعددة الأطراف من كل من الرموز الرئيسية وممثلي الوكالات، تستخدم العمليات الذرية أو انقطاعات غير قابلة للتحلل مؤقتاً لمنع ظروف العرق، وبالنسبة لـ 16 موقّعاً في مراكب صغيرة من عيار 8 ماء، يتطلب قراءة أو كتابة القيمة المقابلة الحصول على سجلين من 8 ميغابايت، ويجب أن يتم ذلك بذرية لتجنب قراءتها قيماً غير متسقة.
توقيت التسلسل
وتتطلب بعض التطبيقات موقّعات متعددة للعمل في تزامن، وتوفر أجهزة التحكم المتطورة جهازاً للربط أو تشكيلات للرقاقة الرئيسية يمكن أن يحفز أو يعيد تشغيل نظام آخر، وهذا مفيد لأنماط متعددة الأطراف لإدارة الأسلحة النارية، ومراقبة السيارات المتعددة المراحل، وأخذ عينات منسقة لأجهزة الاستشعار.
استهلاك الطاقة على الوجه الأمثل
ويستمر تشغيل التموين في معظم وسائل الطاقة المنخفضة، مما يجعلها مثالية لإيقاظ المتحكم في الميكرويات على فترات محددة، ويستخدم المزودون بالوقت الأقل قبولاً للحد من استهلاك الطاقة، ويعرض بعض المتحكمين في الميكرويين فترات زمنية منخفضة القدرة، مصممة خصيصاً لتطبيقات الطاقة الكهربائية المنخفضة.
جليس وتوقيت الاستحقاق
فالبطء المفاجئ يُدخل مُنَقَّنات في العمليات القائمة على التوقيت، وتتراوح فترات التوقف النمطية بين بضعة ثواني صغيرة وعشرات من اللحظات الدقيقة تبعاً لهيكل المتحكمات الدقيقة وحالة التنفيذ الحالية، أما بالنسبة للتطبيقات التي تتطلب دقة دون المستوى الثاني، فتستخدم نواتج مُؤقت الأجهزة بدلاً من دبابيس مُنظَّمة بواسطة البرمجيات.
المبادئ التوجيهية للتصميم العملي
اختيار التوقيت الصحيح
عند اختيار موقّع لطلبك، النظر في:
- Resolution requirements:] 8-bit timers for simple delays, 16-bit or 32-bit for longer periods or higher precision
- Feature requirements:] PWM outputs, input capture, comparison match, external clock input
- [التوفر: ] بعض الوقت يمكن أن تستخدمه المكتبات أو وظائف النظام
- المصدر: ] Peripheral clock frequency and available prescaler options
- Interrupt Priority:] Some timers may support higher priority interrupts
الوثائق والحفظ القانوني
دائماً ما توثق حساباتك الزمنية بوضوح في التعليقات الرمزية، بما في ذلك تواتر ساعات العمل، وقيمة ما قبل النطاق، والتوقيت المرغوب فيه، والتوقيت الفعلي المتحقق، مما يجعل من الأسهل تعديل معايير التوقيت فيما بعد أو شفرة الموانئ إلى ترددات مختلفة على مدار الساعة.
النظر في إنشاء وظائف ما قبل التجهيز أو خطوط الأساس التي تلخص حسابات جهاز التوقيت، مما يجعل المدونة أكثر قابلية للقراءة وقابلية للاستمرار:
#define TIMER FREQ (F CPU / PRESCALER)
]#define MS TO TICKS(ms) ((ms * TIMER FREQ) / 1000)
#define US TO TICKS(us)
الاختبار والتقييم
وضع نهج اختباري منهجي لأداء وظائف قائمة على التوقيت:
- التحقق من الحسابات باستخدام أساليب مستقلة متعددة
- اختبارات في ظروف الحدود (قيم الحد الأدنى والحد الأقصى للتوقيت)
- قياس التوقيت الفعلي للصكوك الخارجية
- اختبارات في ظروف تحميل مختلفة للتحقق من اتساق التوقيت
- توقيت التوقف المثمر ومدة تنفيذ القانون الدولي
- التحقق من الانجراف في التوقيت على مدى فترات ممتدة
على الإنترنت الأدوات والموارد
ويمكن أن تساعد عدة أدوات على الإنترنت في حساب التوقيت والتحقق منه، حيث أن هذه الحواسيب تعمل على تيسير عملية تحديد قيم ما قبل النطاق والفترة المحددة للمتطلبات المحددة للتوقيت، وتشمل الخيارات الشعبية حاسبات توقيت STM32، وأجهزة حاسبة توقيت AVR، وأجهزة حاسبة مجهزة بالزمن ذات الأغراض العامة.
وعند استخدام أجهزة الحاسب الإلكتروني، تحقق دائما النتائج يدوياً فيما يتعلق بالتطبيقات الحرجة، وتدرك الحسابات الأساسية بدلاً من الأدوات الآلية التي تثق بشكل أعمى، وهذه الحواسيب هي ممتازة للتحقق السريع واستكشاف خيارات مختلفة للتشكيل.
For more information on embedded systems programming and microcontroller peripherals, visit resources like Embedded.com, ]EmbeddedRelated.com], and manufacturer-specific documentation from MSTrochip:
خاتمة
إن إجراء عمليات قياس التوقيت والتأخير أمر أساسي لبرمجة النظم المتأصلة، وبفهم العلاقة بين ترددات ساعات العمل، وأجهزة القياس، وطرق التوقيت، والقيم الموازية، يمكن أن تنفذ توقيتاً دقيقاً لأي تطبيق، بدءاً بالصيغ الأساسية، والتحقق من حساباتك، وتستكشف تدريجياً سمات متقدمة مثل مقارنة انقطاعات المباريات، وتوليد نظام إدارة المواد الكيميائية، وتزامن التوقيت.
تذكر أن تشكيلة التوقيت تتضمن تبادلا بين مدة القرار، والفترة الزمنية القصوى، واستخدام الموارد، واختيار قيم المقاييس المسبقة وطرق التوقيت التي تتناسب على أفضل وجه مع متطلبات تطبيقك، وتجربة تنفيذ التوقيت دائما مع قياسات المعدات الفعلية لضمان الدقة.
مع الممارسة والخبرة، حسابات التوقيت تصبح غير ملائمة، مما يسمح لك بضبط التوقيت بسرعة لأي تطبيق مدمج، سواء كنت تلصق جهازاً معتمداً، أو تولد إشارات من طراز PWM، أو تنفيذ جدول زمني في الوقت الحقيقي، أو قياس بارود النبضات، فإن المبادئ التي يغطيها هذا الدليل توفر الأساس لنجاح تصميم النظم المتأصلة القائمة على التوقيت.