DSP على الأنظمة المضمّنة
النظرية تلتقي بالدوائر الإلكترونية. كيف تعمل المرشحات وتحويلات FFT والارتباطات فعلياً على شريحة بميلّيواتات من الطاقة وميكروثانية للمعالجة؟
ثلاثة قيود صارمة
معالجة الإشارات المضمّنة هي موازنة ثلاثية الاتجاهات دائماً. خلافاً لبرمجيات الحاسب المكتبي، لا يمكنك التحايل على أيٍّ من هذه القيود بالمال.
فاصلة ثابتة مقابل فاصلة عائمة
الفاصلة العائمة سهلة البرمجة لكنها مكلفة في الأجهزة. الفاصلة الثابتة (Q15, Q31) تعمل على الأجهزة الصحيحة — طاقة أقل بـ10 أضعاف، نفس الخوارزمية.
الفيض كارثي
- للفاصلة الثابتة نطاق محدود — تجاوزه يُلتف القيمة
- الالتواء في الصوت: نقرة حادة أو تشويه كامل
- الحل: الحساب بالتشبّع — التثبيت عند الحد الأقصى لا الالتواء
- الحل: التحجيم الدقيق — ترك هامش قبل الضرب
- المجمِّع بـ64 بتاً يستوعب مئات الضربات بأمان
معالجات مُصمَّمة لـDSP
ليست كل وحدات المعالجة متساوية. أنوية DSP تضيف مزايا تجعل حلقات الإشارات أسرع بفارق كبير.
- MAC بدورة واحدة: y += a × b في ساعة واحدة
- SIMD: عمليتا MAC (أو ثمانٍ) في كل دورة
- عنونة المخزن الدائري: خطوط التأخير بلا تكلفة
- عنونة عكس البتات: إعادة ترتيب FFT بالأجهزة
TI C6000 وARM Cortex-M
أبقِ البيانات قريبة من النواة
ذاكرة DRAM الخارجية أبطأ بـ10 إلى 100 ضعف من SRAM الداخلية. يجب أن تعيش المعاملات والمخازن الدائرية في TCM أو ذاكرة L1 لاستيفاء مواعيد الوقت الفعلي.
سريع بشكل متوقع
الوقت الفعلي لا يعني سريع في المتوسط — بل يعني عدم تجاوز أي موعد نهائي أبداً. حتى تجاوز واحد يُفسد الإشارة.
كود يعمل بسرعة
- استخدم CMSIS-DSP / DSPLIB: كود تجميع SIMD مضبوط — لا تُعده
- متطوعات SIMD: عمليتا MAC بـQ15 لكل دورة عبر
__SMLAD() - أزل التفريعات في الحلقات الحرجة — توقف خط الأنابيب يُهلك الإنتاجية
- DMA بمخزنَين بديلَين: احسب بينما يملأ DMA الكتلة التالية
- استهدف أقل من 70% حمل — اترك هامشاً للمقاطعات
سلسلة مؤثرات الصوت
اجمع كل شيء: معادل نطاقي، صدى، ضغط، وتأخير — معالج صوت متعدد المراحل من الإدخال إلى الإخراج.