עיצוב מסוף ניטור איכות החשמל מבוסס על שבב DSP TMS320F2812

DSP (מעבד אותות דיגיטלי) משמש בתדירות גבוהה יותר ויותר ביישומים ההנדסיים של ימינו. יש לכך שלוש סיבות עיקריות: ראשית, יש לו יכולות מחשוב חזקות, המסוגלות לאלגוריתמים שונים של עיבוד אותות דיגיטליים כגון FFT וסינון דיגיטלי; שנית, יצרני DSP גדולים תכננו IDE קשורים (פיתוח משולב) עבור המוצרים שלהם. סביבה), מה שהופך את הפיתוח של יישומי DSP לעוצמתי עוד יותר; שלישית, יש לו ביצועים בעלות גבוהה, והוא תחרותי לחלוטין עם הביצועים החזקים והמחיר הנמוך שלו.

TI עיצבה את סביבת הפיתוח החזותי המשולבת CCS (CodeComposerStudio) עבור ה-DSP של החברה, ו-DSP/BIOS הוא חלק חשוב מ-CCS. זהו בעצם ליבת מערכת הפעלה בזמן אמת המבוססת על פלטפורמת DSP מסדרת TMS320, והיא גם חלק מרכזי מתוכנת הזמן האמיתי של TI טֶכנוֹלוֹגִיָה-טכנולוגיית eXpressDSP. DSP/BIOS כולל בעיקר שלושה היבטים: ליבה מרובה הליכי, כלי ניתוח בזמן אמת, ספריית תצורה היקפית.

1 דרישות תפקוד המערכת

התפקיד העיקרי של מסוף ניטור איכות החשמל הוא לנטר ולנתח את איכות החשמל של רשת החשמל (תלת פאזי מתח ושוטף) בזמן אמת. משתני הניטור העיקריים הם: ערך אפקטיבי של מתח וזרם, הספק פעיל ותגובתי, תדירות מתח, חוסר איזון תלת פאזי, כל מתח הרמוני וקצב תכולת זרם, גורם הספק, גורם הספק משמרת פאזה, תנודת מתח, זמן רב, הבהוב למשך זמן זמן קצר.

המערכת בוחרת את שבב ה-DSP בעל הביצועים הגבוהים של TI TMS320F2812 בתור ליבת העיבוד, ומהירות העיבוד שלו של 150MIPS מספיקה כדי לעמוד בדרישות בזמן אמת של המערכת. על פי דרישות המערכת, המערכת מחולקת למודולים הפונקציונליים הבאים: בדיקה עצמית מודרכת מודול, מודול ביצוע משימות איסוף, מודול עיבוד מקדים של איכות חשמל, מודול פעולת ניתוח איכות חשמל, מודול אחסון נתונים, מודול תקשורת ומודול אינטראקציה בין אדם למחשב.

על פי שיטת התכנות המסורתית, מודולים פונקציונליים אלו יאורגנו יחד במבנה רציף, והקריאות והמעבר בין מודולים יושלמו על ידי הקוד של כל מודול, כך שהמודולים של האפליקציה נמצאים במצב צמוד. אם ברצונך להוסיף מודול פונקציה חדש או לשנות מודול פונקציה קיים, יש לשנות לא רק את קוד הקריאה של המודול הקשור, אלא שהמודול החדש גם ישפיע כמובן על מאפייני התגובה בזמן של המערכת המקורית, מה שהופך את השדרוג ו תחזוקה די בעייתית.

הופעת ה-DSP/BIOS מספקת מנגנון נוסף לארגון המודולים הפונקציונליים של תוכניות יישומים. זה מתייחס לכל מודול פונקציונלי כאל חוט משימות. באמצעות שירות הליבה הניתן להגדרה, כל פתיל משימות מרבה את משאבי ה-CPU לפי העדיפות של מתזמן המערכת. כל שרשור משימה עובר סנכרון, תקשורת וחילופי נתונים וכו' מתואמים. מנגנון זה משפר את יכולת התחזוקה של האפליקציה ומספק אמצעי נוח ומתקדם יותר לבדיקה חוזרת. על פי המאפיינים לעיל, מערכת זו מאמצת את 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 ומאחסן אותם באזור ספציפי של זיכרון ה-RAM שבשבב כדי להתכונן לפעולה של חוטים אחרים. מודול התקשורת משתמש ב-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 מספק 2 טיימרים עבור DSP/BIOS.

שנית, סדרו את חוט הפסקת התוכנה (SWI). כל הפסקות התוכנה מופעלות דרך קריאת ה-API של ליבת ה-DSP/BIOS. על מנת להקל על השליטה, המערכת מגדירה תיבת דואר של 16 סיביות (Mailbox) עבור כל אובייקט SWI, אשר ניתן להשתמש בה כדי להפעיל על תנאי את תיבת הדואר המתאימה. הפרעה בתוכנה. ניתן לארגן את מודולי התת-פונקציות החשובים יותר ממשימות רגילות ומתרחשות בתדירות גבוהה בשרשור הפרעות של התוכנה (SWI). מודולי המשנה שלו כוללים: מודול עיבוד מוקדם של נתונים באיכות חשמל, מודול תקשורת (שלח).

מודול העיבוד המקדים של נתוני איכות החשמל משלים בעיקר את העיבוד הבא של תוצאות המרת A/D. יש צורך לעבד מראש את תוצאת ההמרה של A/D. מכיוון ששבב ה-A/D בוחר תדר קבוע לרכישה, אך התדר fo של רשת החשמל משתנה, ביצוע ישירות של פעולות FFT על הנתונים הנרכשים יגרום לדליפת ספקטרום. לכן, יש לעבד את הנתונים שנרכשו מראש. לדוגמה, פעולת FFT של 1024 נקודות מבוצעת על סך של 1024 נתונים של 256 נקודות עבור כל אחד מ-4 מחזורים. בהנחה שהתדר הממוצע של 4 מחזורים הוא f, רזולוציית התדר היא f/4, ותוצאות הפעולה של FFT הן f/4, 2f/4, 3f/4, f, 5f/4... העוצמה על התדר. לכן, כאשר תדר רשת החשמל fo משתנה, תדירות נתוני רשת החשמל 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 דקות, וההבדל בין השניים הוא תנודת המתח. חוט המשימה של חישוב הבהוב כולל חישוב של הבהוב בזמן קצר ושל הבהוב לטווח ארוך. כעת שיטת עיצוב מד הבהוב של חברת החשמל מאומצת בדרך כלל.

אות הבדיקה העצמית ההסתגלנית של הקלט עובר דרך הדמודולטור הריבועי, סינון משוקלל בפס-פס, סינון מעבר נמוך מסדר ראשון, והערכה סטטיסטית מקוונת כדי להשיג סוף סוף את ערך ההבהוב; אבל שיטה זו מספיקה מורכבת וגוזלת זמן. על ידי פישוט האלגוריתם, מתקבלת שיטת חישוב פשוטה וישימה: חישוב FFT מתבצע על ערך המתח האפקטיבי של 256 מחזורים רצופים, ולאחר סדרת חישובים כגון שקלול, ניתן לקבל את ערך ההבהוב של 12.8 שניות, וה ערך הבהוב הוא תוך 10 דקות.

הערך יכול לקבל הבהוב לטווח קצר לאחר חישוב המתאם, ו-12 הבהובים רצופים בזמן קצר (בתוך שעתיים) יכולים לקבל הבהוב לטווח ארוך לאחר החישוב. לאחר אימות, באלגוריתם זה יש שגיאה בטווח של 2‰ בהשוואה לאלגוריתם מד הבהוב של חברת החשמל.

מודול אחסון הנתונים ממוקם גם בשרשור המשימה, והתהליך שלו הוא לאחסן את תוצאות ניתוח איכות החשמל, תנודות מתח וערכי הבהוב ב-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, ולתאם מודולי תוכנה שונים בצורה גמישה, מה שמאיץ מאוד את התקדמות פיתוח תוכנה ואיתור באגים. הניסוי הסופי הוכיח שלכל המערכת יש ביצועים טובים בזמן אמת ופעולה יציבה ואמינה.