מערכות בקרה ואוטומציה
עיצוב ממשקים ידידותיים למשתמש עבור דירקטוריון רישום במועצות פיתוח
Table of Contents
הבנת סודיות רישום במועצות פיתוח
המרשם הוא אבני הבניין היסודיות השולטות בהתנהגות של מיקרו-בקרים, FPGAs, ומכשירים לוגיים אחרים שניתן לתכנן אותם כל רישום הוא מיקום זיכרון קבוע בגודל - באופן זמני 8, או 32 ביט רחב - השולט ישירות או משקף את מצב של חומרים חומרה כגון סיכות GP, צירי זמן, ממשקי תקשורת, ממירים, ודיבידנדים כאשר מפתח מסוים הוא מצלם דפוס פעולה, הוא למעשה, מאפשר החלפה, או מכווץ, כדי לתקן את התבנית מדויקת, או משיכה, כלומר, כדי לתקן את ה-או-או- סמן, או סמן, כלומר, כלומר, כדי לתקן את התבנית מדויקת, כדי לתקן את ה- סמן, או סמן, כדי לתקן את התבנית מדויקת, כדי לתקן את ה-או-או ליתר דיוק, כדי לתקן את ה-או ליתר דיוק, כדי לתקן את ה-או-או ליתר דיוק, כדי למנוע את ה-לקטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפט
המורכבות של תצורה רישום משתנה באופן נרחב.כמה רישומים הם פשוטים ומוסמכים על ידי ספק הסיליקון, בעוד אחרים דורשים מניפולציה זהירה של שדות ביט מרובים עם תלות הדדית.לדוגמה, תצורה של מקלט אוניברסלי-סנכרון (UART) כרוך הגדרת דיקופים, פיסות פייתות, הפסקות, ולשלוט - כל נשלט על ידי שדות שונים או יותר מפולטיביים, אפילו לא ניתן לפענוח אחד.
בזרימות עבודה מסורתיות לפיתוח, מהנדסים לעתים קרובות להסתמך על קובצי PDF של נתונים, הוראות התייחסות, וקוד C או עריכת קוד נמוך כדי להגדיר ערכים רישום. בעוד גישות אלה לעבוד, הם שגיאות-prone ו-Timeconsuming, במיוחד עבור מפתחים אשר חדשים לפלטפורמה מסוימת או עבודה תחת לוחות פיתוח אינטנסיביים.
עקרונות הליבה של עיצוב ממשק ידידותי למשתמש עבור הסמכת רישום
כדי ליצור ממשק שבאמת מפשט את הגדרת הרישום, עליך לקרקע את החלטות העיצוב שלך בעקרונות אינטראקציה של מחשב אנושי-מחשב.העקרונות הבאים הם קריטיים במיוחד עבור התחום הזה.
פשטות וקידוד קוגניטיבי
הממשק צריך להציג רק את המידע הרלוונטי למשימה הנוכחית. להימנע מלהיות מכריע את המשתמש עם מפה מלאה של מיקרובקר מורכב, אשר יכול להכיל מאות רישומים. במקום זאת, להירשם קבוצתי על ידי פריפריה פונקציונלית (למשל, רישום זמן, מרשם GPIO לרשום, DMAs), ולאפשר למשתמש לנווט דרך היררכיה הגיונית.
מזער את מספר הקליקים או הפעולות הנדרשות לביצוע משימות נפוצות.אם מפתח לעתים קרובות מאפשר UART ספציפי עם תצורה סטנדרטית של REST200 baud, 8N1), לאפשר להם לשמור את זה כמבוא.הממשק צריך לזכור תצורה עדכנית ולהציע אותם כמו ברירת מחדל.
אורקליות חזותית ו- bit-Field Representation
מרשם הם מוכווני מעט, כך שדמיינו אותם כרשת של ביטים הוא טבעי ויעיל.כל חלק או קבוצה של ביטים (שדה) צריכים להיות מוצגים עם widget מתאים: מתג לענג עבור קצת אחד (למשל, מאפשר / בלתי ניתן לרשום), תפריט ירידה של שדה מולטי-הרץ (למשל, בחירת מהירות GPIO מ 2, 10 ערכים צהובים, מ 'לא ניתן להעביר צבע') או', או 'קט', או', כלומר, צבע צהוב, או 'קט', או 'קט', או', לדוגמה, ל', צבע צהוב, או 'קטנט', או', או', או', ל', ל', ל', כלומר, ל', ל', ל', או', ל', ל', סוג של צבע צהוב, סוג של צבע כהה, ל', ל', ל', ל', ל', ל', ל', ל', ל', ל', ל', ל', ל', ל', ל', ל', ל', ל', ל', ל', ל', ל', ל', יש צורך להעביר מודל צהוב, ל',
עורך שדה מעוצב היטב צריך גם לציין שדות קריאה בלבד (למשל דגלי מעמד) על ידי אפור אותם החוצה ולמנוע לערוך. שמורת ביטים צריך להיות מסומן בבירור, וכתיבה להם צריך להיות חסום או להתעלם. לספק תצוגה סיכום המציג את הערך הקסדימי של הרישום כפי שהוא בנוי, כך המשתמש יכול לאמת את התצורה הסופית נגד גיליון נתונים.
משככי כאבים ואימות
כפי שהמשתמש משנה את מקור השעון של לוח הזמנים, הממשק צריך לספק משוב בזמן אמת על ההשלכות.לדוגמה, אם מפתח משנה את מקור השעון של לוח זמנים, העדכון צריך להרהר על גרף תלות המציג את הפריפריה המושפעת. אימות דינמי מונע תצורה לא חוקית לפני שהם מוחלים: אם המשתמש בוחר קצב שרביט שאינו ניתן להשגה עם המערכת הנוכחית, מופיע גם אזהרה להגדרה משפטית (למשל, אם זה יכול להפר את הערך של קודר).
Feedback כולל גם אישור של כתיבה מוצלחת.לאחר יישום תצורה חדשה לחומרה בפועל, הממשק יכול לקרוא בחזרה את ערכי הרישום ולהדגיש כל פערים, המציין כי החומרה קיבלה את ההגדרות כפי שצפוי.זה אימות עגול זה הוא בלתי חוקי עבור לתפוס שגיאות טרנספורמטיביות או בעיות עם הקשר הפיזי.
נגישות ובלעדיות
לא כל היזמים יש חזון מושלם או שליטה מוטורית.הממשק חייב להיות ניתן עם ניווט מקלדת בלבד, קוראי מסך, תוכניות צבע גבוהה-contrast.כל מידע חזותי (למשל, מדינות קטנות המסומנים על ידי צבע) צריך גם לעבור באמצעות טקסט או סמלים. Drop-down תפריטים ו שקופיות צריך להיות אופרות באמצעות מקשים.
אסטרטגיות עיצוב עבור טבלאות רישום
מפות מרשם גרפיות ועורך Bit-Field
הדרך האינטואיטיבית ביותר להגדיר רישום היא באמצעות ייצוג גרפי הדומה לדיאגרמות שנמצאו בגליונות נתונים. עורך שדה ביט מציג כל רישום כשורה של ביטים, עם שדות המודגשים וערוך.המשתמש יכול ללחוץ על קצת כדי לענג אותו, או לפתוח פיסת שדה לאחור כדי לבחור ערך.הגישה זו כבר בשימוש בכלים כמו STMCubemX, Microchips Like a Mobilesual Process, ו-S.coms (ב-S) ב-S.com יכול ליצור ממשק ישיר עם ® STMOLOS (S.com) ® STM) ®S.comx.
אסטרטגיה מתקדמת היא לקשר את התצוגה הגרפית של רישום עם דיאגרמת בלוק של הפריפריה.לדוגמה, כאשר המשתמש לוחץ על שדה "Prescaler" ברישום הזמן, דיאגרמת שרשרת הזמן מדגישה את בלוק prescaler ומראה את התדירות המתקבלת. מיפוי הקשר הזה עוזר להבין את ההשפעה של הבחירות שלהם ללא כל הזמן לעבור נתונים.
עזרה ושילוב של נתונים
במקום לדרוש את המשתמש לפתוח PDF נפרד, להטביע תיעוד רלוונטי ישירות לתוך הממשק.עבור כל שדה רישום, לספק כלי המציג את שם הרישום, כתובת התחלה, ערך איפוס ותיאור קצר. עבור רישומים מורכבים, לכלול קישור לדף המדויק במדריך ההתייחסות של המוכר. כמה כלים מציעים כעת חיפוש חי על התעודה, כך מפתח יכול להקליד "קצב" ולראות את כל הרשומות הקוגניטיביות של מעבר להקשר.
תכונה נוספת חזקה היא להראות דוגמאות "אנטיpical" או "מוגן" לכל אחד מהפריפריה.לדוגמה, ירידה יכולה לרשום "UART 115200 8N1 להפריע" ולהפיץ אוטומטית את הרשומות הרלוונטיות.זה משמש ככלי למידה וגם פרק זמן עבור מפתחים מנוסים.
אימות וקונסטריט בודק
לעתים קרובות יש קידודים קלים יחסית.לדוגמה, תדירות של פלט זמן להשוות ערוץ תלוי על prescaler, ערך עומס אוטומטי, ואת תדירות השעון המערכת. ממשק ידידותי למשתמש צריך למקם ערכים נגזר בזמן אמת להזהיר כאשר שילוב נופל מחוץ לגבולות מקובלים.
מנוע אימות שמעבד מודל של מגבלות החומרה יכול לתפוס אחוז גדול של שגיאות תצורה.מנוע זה יכול להיות בנוי באמצעות מערכת מבוססת כלל או מפתור מעצורים.התפוקה לא רק לציין שמשהו לא בסדר, אלא גם מציע פעולות נכונות. לדוגמה, "שיעור ה-Bud 1 000 אינו ניתן להשיג עם שעון המערכת הנוכחית 16 מהרץ ו- 16 דונם: להגדיר מראש ל- 8 000 אינץ '.
סודיות ותבניות
רוב הפרויקטים משתמשים במערך של תצורה סטנדרטית עבור היקפים.אפשר למשתמשים ליצור שם presets (למשל, "I2C 100kHz סטנדרטי מצב סטנדרטי", "SPI 10MHz מצב 0", "FC 12-bit המרה רציפה") ניתן לאחסן כקבצים (JSON, XML, או בינארי) ולשתף צוותים חדשים. כאשר חדש הוא התחיל את התבנית כדי להציע הגדרות ספציפיות, כדי להפחית את הגדרות ההפעלה.
טיפים ליישום ממשקי REAL-World
בחרו את הטכנולוגיה הנכונה
עבור יישומי שולחן עבודה מיקוד מהנדסים חומרה, לשקול שימוש Qt (C++ / QML) או אלקטרון (JavaScript) כי הם מציעים ערכות widget עשיר ויכולות גרפיות מצוינות. QML של QP של QML של Qt הוא טוב במיוחד עבור בניית עורכים bit-field מותאם אישית עם אנימציה חלקה פריסות רסן. עבור כלים מבוססי אינטרנט (בשימוש פופולרי עבור מרחוק או ענן מוטציות), באמצעות פרוטוקול DGD.
המונחים: Hardware summary Layers
אל להמציא את הגלגל כאשר מדובר ברישום קריאה / כתיבת רשומות. לוחות פיתוח רבים באים עם ספריות המוכרות (למשל, STM32 HAL, NXP SDK, Xilinx SDK) כי גישה מופשטת להירשם לממשק שלך צריך להתקשר לספריות אלה מתחת למכסה, כך שהמפתח יכול לבדוק תצורה ישירות על חומרה.
תמיכה, טעינה ובקרת גרסאות
קבצי קונפדרציה צריכים להיות ידידותיים לבני אדם וידידותיים למדי.JSON היא בחירה טובה כי היא משתלבת בקלות עם מערכות בקרה גרסאות כמו Git. כאשר חבר צוות משנה תצורה של רישום, השינויים צריכים להיות ביקורת על בקשה למשוך.ספק תצוגה "דיף" בתוך הממשק מדגיש כי רישומים השתנו בין שתי תצורה נשמרת.
מבחן עם משתמשים אמיתיים ו- Real Hardware
לא משנה כמה מעוצב היטב הממשק מופיע בלעג, יש לבחון אותו עם קהל היעד: מפתחי תוכנה מוטבעים, מהנדסי חומרה ותחביבים. עיין היכן הם מהססים, אילו כלים הם מתעלמים, ומה שגיאות הם עושים.היסטונים והמפגשים החושבים-אלבד הם דרכים בעלות נמוכה לזהות בעיות של חוסר יכולת.
מספק קונסולה או מיפוי
כמה משתמשים כוח מעדיפים לרשום תצורה באמצעות תסריטים. להציע ממשק קו פקודה או API (למשל, Python מחייב) שמשקף את הפעולות הגרפיות.אותה תצורה שבו משתמש בונה באופן אינטראקטיבי ניתן לייצא כתסריט Python שניתן להפעיל ברתום מבחן. גישה היברידית זו משביעה גם לומדים חזותיים וחובבי אוטומציה.
שקול ביצועים ותגובה
כאשר הממשק מתקשר עם לוח פיתוח על קישור איטי של debug (למשל, 10 kHz JTAG), קריאה לאחור מאות רישומים יכול לקחת שניות. לספק אינדיקטורים התקדמות ולאפשר למשתמש להפריע לפעולה. השתמש ב- caching: פעם דף רישום הוא קורא, זה לא צריך להחזיר שוב אלא אם המשתמש מתרענן במפורש.
מסקנה
תכנון ממשק ידידותי למשתמש עבור תצורה של תצורה של לוח הפיתוח הוא לא משימה טריוויאלית, אבל התגמול הוא משמעותי.מפתחים שיכולים ביעילות ולהגדיר במדויק את חומרי היקפי החומרה לבלות פחות זמן פענוח יותר זמן בבניית היישומים שלהם. על ידי דבקות לעקרונות של פשטות, בהירות חזותית, משוב מיידי, נגישות, ועל ידי הפעלת אסטרטגיות כמו עורכי bitfield גרפי, תיעוד משולב, אימות, ומנועי באמת יכול ליצור כלי זה באמת יכול להיות מעצימה.
הממשקים הטובים ביותר הם אלה שמתפוגגים ברקע – הם נותנים למפתח להתמקד בהיבטים היצירתיים של עיצוב חומרה ולא היאבקות עם קידוד מטושטש מעט מפונק. בין אם אתה בונה כלי תצורה עבור לוח קנייני של חברה או שירות קוד פתוח עבור פלטפורמה פופולרית, השקעה ב UX משלמת דיבידנדים בעלויות תמיכה מופחתות, מהירות יותר זמן לשוק, שביעות רצון כללית להתחיל, לעתים קרובות, להמשיך את תהליך אמיתי, ותמיד למכור את תהליך של עיצוב.
(ב) לקריאה נוספת על עיצוב UX בכלים משובצים, ראה את התובנות של ה-FLT:0) Nielsen Norman Group של Usability HeuristicsFLT:1 ואת FLT:2practical דוגמאות של תצורה של STM32CubeMXFLT 3: The FLT:4Mbed OS לרשום תיעוד גישה של API:5 מספק גם בסיס טוב עבור ממשק מובנה.