تصميم محطة مراقبة جودة الطاقة على أساس شريحة DSP TMS320F2812

يتم استخدام DSP (معالج الإشارة الرقمية) بشكل متكرر في التطبيقات الهندسية الحالية. هناك ثلاثة أسباب رئيسية لذلك: أولاً ، لديها قدرات حوسبية قوية ، قادرة على خوارزميات معالجة الإشارات الرقمية المختلفة مثل FFT والتصفية الرقمية ؛ ثانيًا ، قام مصنعو DSP الرئيسيون بتصميم IDEs (تطوير متكامل) لمنتجاتهم. البيئة) ، مما يجعل تطوير تطبيقات DSP أكثر قوة ؛ ثالثًا ، يتميز بأداء عالي التكلفة ، وهو قادر على المنافسة تمامًا مع أدائه القوي وسعره المنخفض.

صممت TI بيئة التطوير المرئية المتكاملة CCS (CodeComposerStudio) لـ DSP الخاص بالشركة، ويعتبر DSP/BIOS جزءًا مهمًا من CCS. إنها في الأساس نواة نظام تشغيل في الوقت الفعلي تعتمد على منصة DSP من سلسلة TMS320، وهي أيضًا جزء أساسي من برنامج TI في الوقت الفعلي. التكنلوجيا- تقنية eXpressDSP. يتضمن DSP/BIOS بشكل أساسي ثلاثة جوانب: نواة متعددة الخيوط، وأداة تحليل في الوقت الحقيقي، ومكتبة التكوين الطرفية.

1 متطلبات وظائف النظام

تتمثل الوظيفة الرئيسية لمحطة مراقبة جودة الطاقة في مراقبة وتحليل جودة الطاقة لشبكة الطاقة (ثلاث مراحل الجهد االكهربى وحالي) في الوقت الفعلي. متغيرات المراقبة الرئيسية هي: الجهد والقيمة الفعالة الحالية ، القوة النشطة والمتفاعلة ، تردد الجهد ، عدم توازن ثلاثي الطور ، كل جهد توافقي ومعدل محتوى التيار ، عامل القدرة ، عامل قدرة تغيير الطور ، تذبذب الجهد ، وقت طويل ، وميض ل a وقت قصير.

يختار النظام شريحة DSP عالية الأداء TMS320F2812 من TI باعتبارها جوهر المعالجة، وسرعة المعالجة البالغة 150MIPS كافية لتلبية متطلبات النظام في الوقت الفعلي. وفقًا لمتطلبات النظام، ينقسم النظام إلى الوحدات الوظيفية التالية: الفحص الذاتي الموجه وحدة، وحدة تنفيذ مهمة التجميع، وحدة المعالجة المسبقة لبيانات جودة الطاقة، وحدة تشغيل تحليل جودة الطاقة، وحدة تخزين البيانات، وحدة الاتصالات، ووحدة التفاعل بين الإنسان والكمبيوتر.

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

يوفر ظهور DSP/BIOS آلية أخرى لتنظيم الوحدات الوظيفية لبرامج التطبيقات. يعامل كل وحدة وظيفية كسلسلة مهام. من خلال خدمة kernel القابلة للتكوين، يقوم كل مؤشر ترابط مهمة بتعدد إرسال موارد وحدة المعالجة المركزية وفقًا لأولوية برنامج جدولة النظام. يتم تنسيق كل سلسلة مهام تمر بالتزامن والاتصال وتبادل البيانات وما إلى ذلك. تعمل هذه الآلية على تحسين إمكانية صيانة التطبيق وتوفر وسيلة أكثر ملاءمة وتقدمًا لإعادة الاختبار. وفقًا للخصائص المذكورة أعلاه، يعتمد هذا النظام DSP/BIOS كنواة في الوقت الفعلي، ويصمم النظام بأكمله بناءً على ذلك.

يوضح الشكل 1 تصنيف الوحدات الوظيفية للنظام ضمن DSP / BIOS.

2 تصميم البرامج على أساس DSP / BIOS

2.1 تخطيط موضوع التنفيذ

في التشغيل في الوقت الفعلي للنظام، يتم تشغيل بعض الوظائف الوظيفية بواسطة إشارات تحكم خارجية أو يتم تشغيلها في فترة محددة مسبقًا. ولذلك، فإن وضع القيادة وفترة تنفيذ الوظيفة مهمان جدًا لنظام الوقت الفعلي. يدعم DSP/BIOS التطبيقات متعددة الخيوط، ويمكن تعريف الخيوط كأولويات مختلفة.

يمكن للسلاسل ذات الأولوية العالية أن تقاطع سلاسل الرسائل ذات الأولوية المنخفضة، وتنقسم التفاعلات بين سلاسل العمليات المختلفة، مثل الحظر والاتصال والمزامنة، إلى الأنواع الأربعة التالية (الأولوية من الأعلى إلى الأدنى): مقاطعة الأجهزة (HWI)، مقاطعة البرامج ( SWI)، المهمة (TSK)، موضوع الخلفية (IDL). وفقًا للمتطلبات الوظيفية لنظام محطة مراقبة جودة الطاقة، يتم تقسيم وحدات الوظائف الفرعية للنظام إلى الأنواع الأربعة المذكورة أعلاه من الخيوط.

أولاً، قم بجدولة مؤشر ترابط مقاطعة الأجهزة (HWI). في الظروف العادية، يتم وضع رمز البرنامج الرئيسي للنظام في مقاطعة البرنامج أو المهمة؛ ومع ذلك، يجب وضع رمز البرنامج الخاص بالوحدة الوظيفية المرتبطة ارتباطًا وثيقًا بالجهاز الخارجي ويتطلب أداءً عاليًا في الوقت الفعلي في مقاطعة الأجهزة.

وفقًا للمتطلبات المذكورة أعلاه، يقوم النظام بتعيين وحدات الوظائف الفرعية التالية كسلاسل مقاطعة للأجهزة: وحدة مهمة الاستحواذ A/D ووحدة الاتصال (الاستقبال). يعد اكتساب A/D أساسًا مهمًا لهذا النظام، وهو مرتبط بشكل وثيق بالأجهزة الأساسية للنظام، لذلك يتم تعيينه كسلسلة مقاطعة الأجهزة (HWI).

العملية الرئيسية هي: تجمع شريحة A/D البيانات في الوقت الفعلي لشبكة الطاقة بتردد معين، ثم تتواصل مع منفذ McPSP الخاص بـ DSP. يستقبل DSP البيانات التي تم جمعها بواسطة شريحة A/D ويقوم بتخزينها في منطقة محددة من ذاكرة الوصول العشوائي الموجودة على الشريحة للتحضير لتشغيل الخيوط الأخرى. تستخدم وحدة الاتصال RS485 للتواصل مع الكمبيوتر المضيف، والذي يرتبط ارتباطًا وثيقًا بالأجهزة الأساسية للنظام، ولا تحتوي واجهة SCI الخاصة بـ DSP نفسه إلا على FIFO بحد أقصى 16 كلمة. إذا لم تتم معالجة البيانات المستلمة في الوقت المناسب، فسيتم فقدان البيانات.

فيما يلي وصف لإعدادات المعلمات لوحدة HWI في DSP/BIOS. يتم وضع مقاطعة الاستقبال للمنفذ التسلسلي McBSP في موضع HWI_INT6 لوحدة HWI، ويتم ملء وظيفة ISR ad_rx_isr() للمقاطعة المتلقية في عنصر استدعاء الوظيفة لمقاطعة HWI_INT6؛ في الوقت نفسه، اختر استخدام وظيفة جدولة HWI لنظام DSP/RI-OS، عند الاستجابة لـ McBSP. عندما يتلقى المنفذ التسلسلي مقاطعة، سيقوم النظام تلقائيًا باستدعاء وظيفة ad_rx_isr(). يظهر إعداد مقاطعة استقبال المنفذ التسلسلي لـ McBSP في الشكل 2.

على غرار إعداد مقاطعة استقبال المنفذ التسلسلي McBSP، يتم تعيين مقاطعة استقبال SCIA كمقاطعة استقبال الاتصال، ويتم ملء وظيفة ISR الخاصة بها scia_rx_isr() في عنصر استدعاء الوظيفة لمقاطعة HWI_INT9. عند الاستجابة لمقاطعة الاستلام، يستدعي النظام الدالة scia_rx_isr() للمعالجة. يعد مؤشر ترابط CLK أيضًا أحد مؤشرات ترابط مقاطعة أجهزة HWI. فهو يوفر مرجعًا زمنيًا لتشغيل النظام بأكمله، ويوفر طريقة للمستخدمين لاستدعاء الوظائف بشكل دوري، ويوفر مرجعًا زمنيًا لبعض أدوات تقييم التعليمات البرمجية. تعتمد وحدة CLK بشكل كامل على مقاطعة مؤقت DSP. يوفر TMS320C2812 مؤقتين لـ DSP/BIOS.

ثانيًا، قم بترتيب مؤشر ترابط مقاطعة البرنامج (SWI). يتم بدء جميع مقاطعات البرامج من خلال استدعاء API الخاص بنواة DSP/BIOS. لتسهيل التحكم، يقوم النظام بتعيين صندوق بريد 16 بت (صندوق بريد) لكل كائن SWI، والذي يمكن استخدامه لبدء صندوق البريد المقابل بشكل مشروط. انقطاع البرمجيات. يمكن ترتيب وحدات الوظائف الفرعية التي تعتبر أكثر أهمية من المهام العادية والتي تحدث بشكل متكرر في مؤشر ترابط مقاطعة البرنامج (SWI). تشمل وحدات الوظائف الفرعية الخاصة بها ما يلي: وحدة المعالجة المسبقة لبيانات جودة الطاقة، ووحدة الاتصال (الإرسال).

تقوم وحدة المعالجة المسبقة لبيانات جودة الطاقة بشكل أساسي بإكمال المعالجة اللاحقة لنتائج التحويل A/D. من الضروري المعالجة المسبقة لنتيجة التحويل A/D. نظرًا لأن شريحة A/D تختار ترددًا ثابتًا لاكتسابها، ولكن تردد شبكة الطاقة يتقلب، فإن إجراء عمليات FFT مباشرة على البيانات المكتسبة سوف يتسبب في تسرب الطيف. لذلك، يجب معالجة البيانات المكتسبة مسبقًا. على سبيل المثال، يتم تنفيذ عملية FFT من 1024 نقطة على إجمالي 1024 بيانات بواقع 256 نقطة لكل دورة من الدورات الأربع. بافتراض أن متوسط ​​تردد 4 دورات هو f، ودقة التردد هي f/4، ونتائج عملية FFT هي f/4، 4f/2، 4f/3، f، 4f/5... شدة التردد. لذلك، عندما يتغير تردد شبكة الطاقة f، يتغير أيضًا تردد بيانات شبكة الطاقة f لحساب FFT وفقًا لذلك، بحيث يكون تردد بيانات شبكة الطاقة f قبل حساب FFT دائمًا متسقًا مع تردد شبكة الطاقة الحالية fo.

تتمثل العملية المحددة لوحدة المعالجة المسبقة لبيانات جودة الطاقة في استيفاء البيانات بعد تحويل A/D، وتستخدم خوارزمية الاستيفاء الاستيفاء الخطي. بعد التحقق، تحت الجهد المقنن، يكون خطأ تشغيل FFT الناتج عن خوارزمية الاستيفاء الخطي ضمن 0. ضمن 1‰. بالإضافة إلى ذلك، هناك وظيفة أخرى للوحدة وهي حساب القيمة الفعالة للجهد خلال الدورة. هذه هي البيانات اللازمة لحساب تقلبات الجهد والوميض على المدى الطويل والقصير. وحدة الاتصال (الإرسال) مسؤولة عن إرسال البيانات إلى الكمبيوتر العلوي. على الرغم من أن متطلباته في الوقت الفعلي ليست عالية، إلا أنه يرتبط ارتباطًا وثيقًا بالطبقة السفلية للأجهزة، لذلك يتم تعيينه كسلسلة مقاطعة للبرنامج.

عند حدوث مقاطعة استقبال المنفذ التسلسلي، اتصل بوظيفة scia_rx_isr() لمعالجة أمر البيانات المستلمة، وأرسل بيانات جودة الطاقة المقابلة وفقًا للأمر ذي الصلة. يوفر DSP/BIOS أولوية من 0 إلى 14 لكائن مقاطعة البرنامج. وفقًا لأهمية الخيط أعلاه، تم تعيين أولوية خيط معالجة بيانات التجميع على 14، وتم ضبط خيط الاتصال المضيف على 8، ويتم حجز الأولويات الأخرى لترقيات البرامج المستقبلية.

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

ولذلك، إذا تم تعيين عدد كبير جدًا من مقاطعات الأجهزة أو مؤشرات ترابط مقاطعة البرامج، فسوف يتجاوز حجم المكدس. لهذا السبب، يجب وضع معظم وحدات المهام في سلاسل المهام. بعد ذلك، قم بجدولة سلسلة المهام (TSK). مثل معظم أنظمة الوقت الفعلي، تعد سلاسل المهام هي المكون الرئيسي للنظام بأكمله. يمكن تشغيل الوظائف في سلاسل المهام بشكل مستقل أو بالتوازي. تقوم وحدة إدارة المهام DSP/BIOS بترتيب التشغيل وفقًا لأولوية سلسلة المهام، وتكمل التحويل من مهمة إلى مهمة أخرى من خلال وظيفة التبديل.

تحتوي كل مهمة على 4 حالات تنفيذ: التشغيل، والجاهزية، والحظر، والإنهاء. تم إنشاء مهمة شهر يناير، وتكون دائمًا في إحدى الولايات الأربع. يوفر DSP/BIOS أولوية تتراوح من -l إلى 15 لكل كائن مهمة. سيتم تنفيذ المهام بترتيب أولويات صارم، وسيتم ترتيب المهام ذات الأولوية نفسها بترتيب التنفيذ وفقًا لمبدأ "من يأتي أولاً يخدم أولاً". تجدر الإشارة إلى أنه عند إنشاء سلسلة مهام، يجب إنشاء مكدس مخصص ينتمي إلى المهمة في نفس الوقت. يتم استخدام المكدس لتخزين المتغيرات المحلية أو المزيد من تداخل استدعاءات الوظائف.

قمنا بتعيين وحدة حساب تحليل جودة الطاقة ووحدة تخزين البيانات ووحدة التفاعل بين الإنسان والكمبيوتر في سلسلة المهام (TSK). يمكن تقسيم وحدة حساب تحليل جودة الطاقة إلى ثلاثة أجزاء: خيط مهمة الحساب التوافقي، وخيط مهمة حساب تقلب الجهد، وخيط مهمة حساب الوميض.

يعد مؤشر ترابط مهمة الحساب التوافقي مسؤولاً بشكل أساسي عن تنفيذ عمليات التحويل السريع (FFT) على بيانات جودة الطاقة المعالجة مسبقًا. تتضمن عملية FFT بشكل أساسي خمسة أجزاء: عملية تحويل البتات، عملية النوافذ، عملية الفراشة على أساس 2، عملية القاعدة المقسمة، وعملية المجموع المربع. يعد مؤشر ترابط مهمة حساب تقلب الجهد مسؤولاً عن تسجيل تقلبات جهد الشبكة خلال 3 دقائق. حصلت وحدة المعالجة المسبقة لبيانات جودة الطاقة السابقة على القيمة الفعالة للجهد لكل دورة.

وبهذه الطريقة، من الضروري فقط تسجيل القيم القصوى والدنيا للقيمة الفعالة للجهد خلال 3 دقائق، والفرق بين الاثنين هو تقلب الجهد. يتضمن مؤشر ترابط مهمة حساب الوميض حساب الوميض قصير المدى والوميض طويل المدى. الآن يتم اعتماد طريقة تصميم جهاز قياس الوميض IEC بشكل عام.

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

يمكن أن تحصل القيمة على وميض قصير المدى بعد حساب الارتباط، ويمكن أن تحصل 12 وميضًا قصير المدى متتاليًا (خلال ساعتين) على وميض طويل المدى بعد الحساب. بعد التحقق، تحتوي هذه الخوارزمية على خطأ في حدود 2‰ مقارنةً بخوارزمية مقياس الوميض الخاصة باللجنة الكهروتقنية الدولية (IEC).

يتم أيضًا وضع وحدة تخزين البيانات في سلسلة المهام، وتتمثل عمليتها في تخزين نتائج تحليل جودة الطاقة وتقلبات الجهد وقيم الوميض في FIash. تشتمل وحدة التفاعل بين الإنسان والحاسوب على جزأين: مهمة اكتشاف لوحة المفاتيح ومهمة شاشة الكريستال السائل. يمكن إكمال مؤشر ترابط مهمة الكشف عن لوحة المفاتيح بواسطة الوظيفة الدورية PRD. يمكن لـ PRD تحديد وقت تشغيل الوظيفة وفقًا لساعة الوقت الفعلي. هنا، قم بتعيين مهمة الكشف عن لوحة المفاتيح ليتم تشغيلها مرة واحدة كل 100 مللي ثانية لاكتشاف ضغطات المفاتيح. وفقا للشرط الرئيسي، الكريستال السائل عرض تعرض المهمة أحدث بيانات جودة الطاقة الحالية.

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

2.2 الاتصال والتزامن بين المواضيع

في هذا النظام متعدد الخيوط ، يتطلب الوصول إلى الموارد المشتركة التنسيق المتبادل بين الخيوط لحلها.

هناك ثلاث طرق اتصال في بيئة DSP / BIOS ، وهي الاتصال القائم على الأنابيب (PIPE) ، والاتصال القائم على القناة (SIO) ، والاتصال المستند إلى القناة المضيفة (HST).

يوضح الجدول 1 الطرق التي تقوم بها 4 خيوط بمشاركة البيانات وتحقيق المزامنة.

3 تحليل وتصحيح النظام في الوقت الحقيقي

سيكون للحمل في نواة DSP / BIOS تأثير على أداء برنامج النظام في الوقت الفعلي. لهذا السبب ، يجب تحسين نواة DSP / BIOS. يمكنك استخدام أداة تحليل DSP / BIOS المتوفرة في CCS لتحديد حمل DSP / BIOS وقدرة الحوسبة لنظام التطبيق بأكمله. على سبيل المثال ، يعد الرسم التخطيطي لحمل وحدة المعالجة المركزية في أداة التحليل في الوقت الفعلي الذي يوفره DSP / BIOS أحد الأدوات الشائعة الاستخدام.

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

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

4 ملخص

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