Skip to content
Menu
bsm300gb120dlc
  • Home
  • components
  • الإخبارية
bsm300gb120dlc

كيفية وضع MCU في حالة السكون ومعرفة مقدار استهلاك الطاقة الذي يمكن توفيره؟

Posted on 2022-08-05

“أفضل طريقة لاستكشاف أوضاع الطاقة المنخفضة هي اختيار متحكم دقيق وتشغيل المعالج في أوضاع مختلفة للطاقة المنخفضة. في هذه المقالة ، قررت اكتشاف لوحة NXP Kinetis-L Freedom المتربة التي استخدمتها ليس فقط للتجارب ، ولكن أيضًا للعديد من المنتجات والتطبيقات والدورات التدريبية. عن حق أو خطأ ، قررت ألا أقيس فقط استهلاك الطاقة لوحدة التحكم الدقيقة ، ولكن أيضًا استهلاك الطاقة للوحة التطوير بأكملها. عادةً ما تكون MCU واحدة من أكبر مستهلكي الطاقة على السبورة ، لكن قياس تيار النظام بأكمله غالبًا ما يذكرني أنه ليس الجهاز الوحيد المتعطش للطاقة على اللوحة.يقطع تحسين وحدة التحكم الدقيقة شوطًا طويلاً ، ولكنه ليس الوحيد

“

تجربة وضع الطاقة المنخفضة

أفضل طريقة لاستكشاف أوضاع الطاقة المنخفضة هي اختيار متحكم دقيق وتشغيل المعالج في أوضاع مختلفة للطاقة المنخفضة. في هذه المقالة ، قررت اكتشاف لوحة NXP Kinetis-L Freedom المتربة التي استخدمتها ليس فقط للتجارب ، ولكن أيضًا للعديد من المنتجات والتطبيقات والدورات التدريبية. عن حق أو خطأ ، قررت ألا أقيس فقط استهلاك الطاقة لوحدة التحكم الدقيقة ، ولكن أيضًا استهلاك الطاقة للوحة التطوير بأكملها. عادةً ما تكون MCU واحدة من أكبر مستهلكي الطاقة على السبورة ، لكن قياس تيار النظام بأكمله غالبًا ما يذكرني أنه ليس الجهاز الوحيد المتعطش للطاقة على اللوحة. لا يزال تحسين وحدة التحكم الدقيقة بعيد المنال ، ولكنه ليس الجهاز الوحيد الذي يحتاج إلى تحسين لاستهلاك الطاقة.

ابدأ بقياسات خط الأساس

عندما أعمل على تحسين استهلاك الطاقة للمنتج ، أبدأ بقياس الطاقة الأساسي. عادةً ما أعرف من أين أبدأ من خلال تحليل السحب الحالي للجهاز خلال بضع ثوانٍ أو دقائق. في تجاربي على لوحة التطوير ، قمت بوضع Kinetis-L في وضع التشغيل ، بدون وضع السكون ، جميع الأجهزة الطرفية قيد التشغيل وتم ضبط اللوحة على تبديل مصابيح LED بشكل دوري. باستخدام مصحح أخطاء I-Jet من IAR Embedded Workbench جنبًا إلى جنب مع I-Scope ، تمكنت من تكوين خط أساس بسيط لهذه اللوحة ، وهو حوالي 16.9 مللي أمبير عند إيقاف تشغيل مصابيح LED و 18.0 مللي أمبير عند تشغيل مصابيح LED ، مثل هو مبين في الشكل 1 الموضح. من الواضح أنه من المهم مكان بدء القياس ، وإلا فقد تنحرف نتائج التحليل بشكل كبير.

الشكل 1: القياس الحالي للوحة التطوير ، يتبدل مؤشر LED كل ثانية. (المصدر: المؤلف)

تحسين استهلاك الطاقة مع وضع الاستعداد ووضع السكون العميق

أسرع طريقة لتوفير الطاقة هي إجراء وضع الاستعداد أو السكون العميق. توضح دراسة ورقة البيانات الخاصة بمعالج Kinetis-L أن استهلاك الطاقة في وضع الاستعداد يتراوح بين 3.7 و 5.0 مللي أمبير عند 3 فولت. في هذا الوضع ، يتم تعطيل وحدة المعالجة المركزية والساعات الطرفية ، وتكون ذاكرة الفلاش في وضع السكون ، مما يسمح للمعالج بالاستيقاظ خلال الإطار الزمني للمقاطعة (12-15 دورة ساعة). من السهل تنفيذ وضع الانتظار ، ويكون الرمز المطلوب إعداده للدخول إلى وضع الانتظار كما يلي:

باطل Sleep_Wait (باطل)
{
SCB_SCR & = ~ SCB_SCR_SLEEPDEEP_MASK ؛
asm (“WFI”) ؛
}

باستخدام هذين السطرين فقط من التعليمات البرمجية ، انخفض الاستهلاك الحالي للوحة من 18.0mA إلى 15.9mA. تم تقليل الاستهلاك الحالي بنسبة 11.6٪! إذا كانت اللوحة تعمل ببطارية 680 مللي أمبير ، فإن عمر بطارية الجهاز سوف ينتقل من 37.8 ساعة إلى 42.8 ساعة! يمكن لسطرين من التعليمات البرمجية إطالة عمر البطارية بمقدار خمس ساعات!

تكمن فائدة أوضاع الطاقة المتقدمة هذه في أنه يمكننا بسهولة الذهاب خطوة إلى الأمام. يمكننا وضع المعالج في وضع انتظار السكون العميق بدلاً من مجرد الانتظار باستخدام الكود التالي:

Sleep_Deep باطل (باطل)
{
SCB_SCR | = SCB_SCR_SLEEPDEEP_MASK ،
asm (“WFI”) ؛
}

كل ما فعلناه هو ضبط بعض الشيء في سجل SCB_SCR وقمنا بتخفيض الاستهلاك الحالي الأولي 18 مللي أمبير إلى 14.8 مللي أمبير. تم تقليل الاستهلاك الحالي بنسبة 17.8٪! مرة أخرى ، نما عمر البطارية الآن من 37.8 ساعة إلى 46 ساعة ، بافتراض أن اللوحة تعمل ببطارية 680 مللي أمبير! يمكنك توفير الكثير من الطاقة ببضعة أسطر من التعليمات البرمجية ، وهذا مجرد غيض من فيض!

الاستهلاك الحالي بمستوى Microamp مع وضعي Stop و VLLS

يؤدي استخدام وضع الإيقاف إلى تعطيل الساعات الأساسية والنظام ، مما يؤدي إلى تقليل استهلاك MCU الحالي بمقدار 2 مللي أمبير إضافية. ستجد أنه كلما انخفض وضع الطاقة ، زادت الحاجة إلى مزيد من التعليمات البرمجية لتنفيذه ، وزادت تعقيد الكود لتنبيه النظام إلى العمل مرة أخرى. يبدو الكود الخاص بوضع Kinetis-L في وضع التوقف كما يلي:

Sleep_Stop باطل (باطل)
{
وهمية int غير موقعة متقلبة = 0 ؛
SMC_PMCTRL & = ~ SMC_PMCTRL_STOPM_MASK ؛
SMC_PMCTRL | = SMC_PMCTRL_STOPM (0) ،
وهمي = SMC_PMCTRL ،
Sleep_Deep () ،
}

لاحظ أنه يتم التحكم في وضع الإيقاف بواسطة سجل التحكم في إدارة الطاقة ، بمجرد تعيين الحالة ، يتم استدعاء وظيفة Sleep_Deep لإكمال إعداد وضع الطاقة وتنفيذ WFI.

حتى الآن ، كنا نتحدث عن استهلاك طاقة MCU من 1 ~ 2mA. ستوفر المتحكمات الدقيقة الحديثة أوضاع طاقة تستهلك ميكرو أمبير فقط أو حتى نانو أمبير! معالج Kinetis-L ، الذي ظهر لأول مرة في عام 2013 ، يستخدم فقط 135 إلى 496 ميكرو أمبير في وضع منع التسرب المنخفض للغاية (VLLS)! يبدو رمز تهيئة وضع الطاقة هذا كما يلي:

Sleep_VLLS1 باطل (باطل)
{
وهمية int غير موقعة متقلبة = 0 ؛
SMC_PMCTRL & = ~ SMC_PMCTRL_STOPM_MASK ؛
SMC_PMCTRL | = SMC_PMCTRL_STOPM (0x4) ،
SMC_VLLSTRL = SMC_VLLSCTRL_LLSM (1) ،
dummyread = VLLS_CTRL ؛
Sleep_Deep () ،
}

في هذه المرحلة ، ستجد أن المتحكم الدقيق لا يستهلك أي طاقة تقريبًا!

تأثيرات أوضاع الطاقة المنخفضة على زمن انتقال التنبيه

كما رأينا حتى الآن ، يعد وضع المعالج في أوضاع طاقة منخفضة وأخرى أقل طريقة رائعة لتوفير الطاقة ، ولكنه يأتي بتكلفة. كلما انخفضت حالة طاقة المعالج ، كلما استغرق الأمر وقتًا أطول لإيقاظ المعالج مرة أخرى للعمل. على سبيل المثال ، إذا استخدمت وضع الإيقاف القياسي ، فسيستغرق الأمر 2µs بالإضافة إلى زمن انتقال المقاطعة حتى يستيقظ المعالج ويبدأ في تنفيذ التعليمات البرمجية مرة أخرى ، وهو أمر مقبول. ومع ذلك ، إذا تم تعيين أحد أوضاع VLLS على Kinetis-L ، فسيتطلب الأمر تأخيرًا للاستيقاظ لبدء تشغيل المعالج بالإضافة إلى 53 إلى 115 ميكروثانية إضافية! قد لا تقبل بعض التطبيقات هذا الشرط. يوضح الشكل 2 التحولات المختلفة لـ Kinetis-L من أوضاع الطاقة المنخفضة إلى حالات التشغيل.

كيفية وضع MCU في حالة السكون ومعرفة مقدار استهلاك الطاقة الذي يمكن توفيره؟
الشكل 2: وقت انتقال Kinetis-L من وضع الطاقة المنخفضة إلى أوضاع مختلفة. (المصدر: ورقة بيانات Kinetis-L)

ختاماً

تحتوي جميع وحدات التحكم الدقيقة في الذراع على أوضاع قياسية منخفضة الطاقة ، ولكن كل صانع شرائح يقوم بتخصيص المزيد من أوضاع الطاقة المنخفضة المتاحة للمطورين. كما رأينا ، يقدم موردو الرقائق عادةً عدة أوضاع سهلة التنفيذ مع تأثير ضئيل على زمن انتقال التنبيه. كما أنها توفر العديد من أوضاع الطاقة المنخفضة للغاية التي تغلق المعالج فعليًا وتستهلك بضع مئات من ميكرو أمبير أو أقل! غالبًا ما يحتاج المطورون إلى إجراء مفاضلة بين استهلاك الطاقة والمدة التي يستغرقها النظام للاستيقاظ ومدى سرعة استجابته للأحداث. ويجب أن تكون المفاضلات قائمة على التطبيق ، لذلك لا تتوقع أن تكون قادرًا على تنفيذ أقل أوضاع الطاقة في كل منتج وتطبيق.

  • components
  • الإخبارية
  • ابدأ من أبعاد متعددة لإنشاء معدات اختبار أوتوماتيكية مستقرة وفعالة لتلبية الفرص والتحديات في عصر تكامل الدائرة المتكاملة
  • نتحدث عن حالة صناعة شنغهاي IC
  • Fuji 2MBI100U4A-120 New Stock
  • Fuji 2MBI200U4H-120 New Stock
  • ما هو الفرق بين المستشعر والمشغل
©2022 bsm300gb120dlc | Created by bsm300gb120dlc
Go to mobile version