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 وسرعة الوصول إلى الفلاش ووضع البرمجة.