class ADCAll -- الوصول إلى جميع قنوات ADC¶
تكشف ADCAll كل قناة ADC على الـ MCU من خلال كائن واحد -- شاملةً كلاً من دبابيس الإدخال التناظري الخارجية والقنوات الداخلية لدرجة حرارة الشريحة، ومرجع 1.21 V، و VBAT. وهي مفيدة لمراقبة قضيب التغذية للـ MCU والمستشعرات الموجودة على الشريحة دون إنشاء نسخة ADC لكل دبوس.
مثال:
import pyb
# 12-bit resolution, internal channels only (temp + VBAT + VREF).
adcall = pyb.ADCAll(12, 0x70000)
temp = adcall.read_core_temp()
vbat = adcall.read_core_vbat()
vref = adcall.read_core_vref()
vdda = adcall.read_vref()
المُنشئات¶
- class pyb.ADCAll(resolution: int, mask: int = 0xffffffff)¶
يوفر وصولاً متزامناً إلى كل قناة ADC على الـ MCU، بما في ذلك القنوات الداخلية لدرجة حرارة الشريحة، والمرجع الداخلي 1.21 V، و
VBAT. إنشاء هذا الكائن يحوِّل جميع دبابيس ADC الخارجية المُقنَّعة إلى وضع الإدخال التناظري.
resolutionهي دقة تحويل ADC بالبتات (عادةً8أو10أو12).
maskهي قناع بتات بطول 32 بت يحدد القنوات التي ستُفعَّل؛ البتNيُفعِّل القناةN. القيمة الافتراضية هي0xffffffff(جميع القنوات). توجد القنوات الداخلية عند البتات16(درجة الحرارة) و17(VBAT) و18(VREF)، لذا لتفعيل القنوات الداخلية فقط مرِّر0x70000.
مستشعر درجة الحرارة الموجود على الشريحة مُعايَر من المصنع ودقيق إلى نحو ±1 °C، لكنه يقيس درجة حرارة الشريحة -- التي تكون عادةً أعلى من المحيط بعشرات الدرجات عندما يكون الـ MCU نشطاً. لا تكون القراءات ذات معنى كمؤشر للحرارة المحيطة إلا على لوحة استيقظت لتوها.
تحذير
يجب ألا تتجاوز جهود الإدخال التناظري أبداً جهد التغذية الفعلي.
الطرائق¶
- read_channel(channel: int) int¶
قراءة قناة ADC المحددة. تُرجِع القنوات الخارجية (
0--15) قيماً خاماً غير مُحجَّمة عند الدقة المُهيَّأة؛ كما تُرجِع القنوات الداخلية (16--18) قيماً خاماً أيضاً، لكن الدوال المساعدة المخصصة أدناه تحوِّلها إلى جهود.
- read_core_temp() float¶
إرجاع درجة حرارة الشريحة بالدرجات المئوية، محسوبة من قناة درجة الحرارة الداخلية وقيم المعايرة المصنعية المخزَّنة في الـ MCU.
- read_core_vbat() float¶
إرجاع جهد بطارية الاحتياط بالفولت. تُؤخذ القراءة عبر مقسِّم جهد موجود على الشريحة (بحيث لا يقيد الهامش مدى دخل ADC) ثم تُعاد إلى جهد البطارية الفعلي بالتحجيم. لا يكون المقسِّم نشطاً إلا أثناء تحويل ADC، لذا فإن استنزاف وضع الاستعداد لبطارية الاحتياط ضئيل جداً.
- read_core_vref() float¶
إرجاع جهد المرجع الداخلي 1.21 V (الاسمي) بالفولت، مقيساً باستخدام تغذية الـ MCU كمرجع لـ ADC. هذه هي نتيجة التحويل الخام.
- read_vref() float¶
إرجاع جهد تغذية الـ MCU بالفولت. يُحسب بقياس مرجع الجهد الداخلي والتحجيم العكسي باستخدام قيمة معايرته المصنعية. مع قضيب سليم بجهد 3.3 V ستكون القراءة قريبة من
3.3. يستمر الـ MCU في العمل -- وتبقى تحويلات ADC ذات معنى -- بتغذية منخفضة تصل إلى نحو 2 V، شريطة مراعاة الإعدادات المناسبة لساعة الـ MCU وسرعة الوصول إلى الفلاش ووضع البرمجة.