יצירת יישומי Bluetooth אודיו בעלות נמוכה עם מיקרו-בקרים 32-bit
באדיבות ‎Electronic Products
2014-08-06
יישומי Bluetooth ואודיו ממש נוצרו זה לזה. העשור הראשון להצלחתה של טכנולוגיית Bluetooth בשוק מיוחס כמעט לחלוטין לשילובה באוזניות אודיו. כאשר נכנסו הטלפונים החכמים לתמונה, טכנולוגיית Bluetooth עדיין הייתה הבחירה הטבעית, כשהיא מוצאת את דרכה כבר בשלב מוקדם לערכת השבבים של כמעט כל הטלפונים החכמים. אנשים אוהבים להזרים מוזיקה מהטלפונים החכמים שלהם.
טכנולוגיית Bluetooth והטלפונים החכמים ממשיכים להתפתח – אף כי בדרך שיש בה משום היפוך של רצף האירועים הרגיל – והיישומים אינם ממהרים להדביק את הפער. עם זאת, הדבר הולך ומשתנה ככל שהעידן אשר בו התקן Bluetooth Master אחד מדבר עם התקן Bluetooth Slave אחד מתקרב במהירות אל קצו.
עבור מהנדסי התכנון משמעות הדבר היא פרוטוקולים מרובים, חיבורים מרובים, התקנים מרובים ושחר של עולם חדש ומופלא המלא יישומי אודיו. משתמשי הטלפון החכם רוצים אפשרויות בחירה רבות יותר, וטכנולוגיית Bluetooth מוכנה לכך.
נקודת המוצא: A2DP
פרופיל הפצת האודיו המתקדם (A2DP) עבור Bluetooth מאפשר אודיו סטריאופוני אלחוטי נוח למגוון רחב של התקנים מזה יותר מעשור. עם זאת, היום הלקוחות רוצים להשתמש בטלפונים החכמים שלהם כדי לשלוט בתוכן אודיו בידורי בדרכים שלא דמיינו בעבר.
כשהם משולבים בפרופילים נוספים, כגון פרופיל הבקרה מרחוק באודיו/וידיאו (AVRCP), הטלפונים החכמים יכולים לשמש לבקרה אלחוטית מרחוק עבור התקני אודיו Bluetooth אחרים בבית, והיישומים יכולים להפוך למתוחכמים למדי.
בעוד שיישומים אלה נועדו להיות כמעט שקופים מבחינת משתמש הקצה, הם מהווים אתגר משמעותי עבור מהנדסי התכנון בכל הנוגע לפיתוח ואישור תוכנה, במיוחד כשהם מיושמים באבזרים הדורשים יכולת פעולה הדדית בתוך סביבת המערכות.
למתכננים יש שתי אפשרויות בחירת ארכיטקטורה. בעשור האחרון, הארכיטקטורה הרווחת דרשה מהמודול לבצע את מרבית הפונקציות – זיווג, חיבור והזרמת אודיו – בחומרה. במילים אחרות, מודול ה- Bluetooth היה רכיב Codec אודיו מובנה לביצוע פונקציות אלה. האפשרות הארכיטקטונית השנייה היא לבצע למעשה את כל הפונקציות בתוכנה, וכאן נכנס לתמונה המיקרו-בקר (MCU) 32-bit. יישום חבילת ה- Bluetooth בתוכנה הופך בפועל את הרדיו לשכבה דקה מאוד בארכיטקטורה. בכך מתאפשרת למתכננים גישה לזרם הנתונים בכל מקום ובכל זמן, ועבור מספר גדול של תצורות.
השימוש בפרופיל יציאה טורית (SPP) ובפרופיל הפצת אודיו מתקדם (A2DP) עבור Bluetooth בו-זמנית אינו אפשרי עבור מודולי Bluetooth קונבנציונליים. על ידי אפשור גישה לחבילת התוכנה של פרוטוקול Bluetooth, המתכננים יכולים לייצר יישומים השומרים על חיבורי התקנים מרובים להזרמת האודיו המיועד להאזנה, כמו גם לבקרת ההזרמה ולפונקציות אחרות שבדרך כלל אינן קשורות לאודיו. במילים אחרות, הזרמת האודיו והזרמת נתוני הבקרה פועלים במקביל ללא הפרעה זה לזה.
שילוב של אודיו עם בקרת נתונים
דוגמה פשוטה היא מערכת המשלבת נורה שולחנית עם רמקולים, שתאפשר למשתמשים לשלוט בעוצמת האור מהטלפון החכם שלהם כשהם מקשיבים למוזיקה. תוספת מתוחכמת ליישום זה תאפשר בקרה על מערכת התאורה – על הצבע, העוצמה, ההיענות למוזיקה ועוד, כמו גם בקרת הזרמת האודיו – הכול מתוך הטלפון החכם. הוספת רעיון "הבית החכם" ליישום מרחיבה את היבט הבקרה לבקרת תרמוסטטים, מכונות קפה, פותחי דלתות חניה ומכשירים אחרים מופעלי Bluetooth ממה שפעם היה codec אודיו קונבנציונלי.
בקרת Bluetooth היא בעלת יתרון אבטחה ביישומים אלו, כיוון שתצורת הזרמת הנתונים ניתנת להגדרת תצורה כבלתי תלויה ב'אינטרנט של הדברים' (IoT). מעטים האנשים המעוניינים לחשוף את התהליך הפשוט של שליטה על פתיחת דלת החניה שלהם למצבי אי הוודאות הכרוכים בהפעלה בענן, וזה קרוב לוודאי המצב בפתרון של Wi-Fi לדוגמה.
שילוב של אודיו עם בקרת נתונים ביישום שכבר יש לו פרופילים רבים הפועלים במקביל מרחיב את היישום החדש עוד יותר. בתחום האודיו הבידורי, עיקרון מופעל תוכנה הנקרא 'Break-In' מאפשר לטלפונים רבים לשלוט באותה הזרמת אודיו. לדוגמה, אנשים במסיבה יוכלו לבחור לפי תור את המוזיקה האהובה עליהם מאותה ספרייה מופעלת Bluetooth של תוכן אודיו. הפעלת אופן 'Juke-Box' (מכונת תקליטים) יאפשר למשתמשי הקצה להוסיף את המנגינות האהובות עליהם לרשימת ההשמעה. פתרון המיקרו-בקר מעניק אופן "Break-In" המאפשר לעד שבעה טלפונים חכמים לשלוט באותה מערכת אודיו עם הזרמת אודיו ובקרות שונות ובלתי תלויות.
שידוך אודיו לבקרה
אף שקבוצת Bluetooth SIG יצרה ואשררה יותר מ- 30 פרופילים, הארבעה הבאים יהיו כנראה החשובים ביותר בהתפתחות הראשונית של עולם היישומים החדש של אודיו + בקרה ב- Bluetooth.
- פרופיל יציאה טורי (SPP) – תחליף סטנדרטי לשידור נתונים אלחוטי RS-232.
- פרופיל הפצת אודיו מתקדם (A2DP) – הפרופיל הנפוץ ביותר להזרמת אודיו ממולטימדיה. מזרים אודיו באמצעות Codec SBC ויכול לתמוך ב- MPEG וברכיבי Codec בדחיסת AAC.
- פרופיל בקרה מרחוק באודיו/וידיאו (AVRCP) – פרופיל בקרה מרחוק סטנדרטי עבור מערכות טלוויזיה, קולנוע ביתי וכד'. נמצא בשימוש נפוץ בשילוב עם A2DP. מאפיין שאושרר לאחרונה הוא סנכרון אודיו, אשר משמעותו היא, לדוגמה, שכאשר עוצמת האודיו משתנה בטלפון, היא גם מתכווננת בהתאמה במערכת המבוקרת על ידי המכשיר.
- פרופיל דיבורית (HFP) – שיחות טלפון מרחוק.
שלב התכנון חייב לכלול אמצעים לצורך בדיקת אמולציה, וגם (ואין לשכוח זאת עם Bluetooth) לאשרור. לכן, מערכת פיתוח מלאה תוביל הרחק מעבר לאודיו ותשלב פונקציונליות של בקרת צגים, לחצנים, רכיבי LED, מיקרופונים ומוזיקה. היא תכלול גם יכולת עיבוד אותות דיגיטלי (DSP) עבור פונקציות עיבוד אודיו. היבט הבקרה של המערכת – ולא רק המוזיקה עצמה – מהווה סיבה משכנעת להשתמש במיקרו-בקר 32-bit.
כנקודת התחלה להסבר הנקודות הבסיסיות של התכנון ליצירת סוג זה של פונקציונליות, איור 1 מציג את נתיב הנתונים ואת האלמנטים העיקריים של מערכת אודיו Bluetooth בסיסית.
כשבוחנים איור זה מהפרספקטיבה של קבוצת יישומי האודיו + הבקרה החדשה, צד המקור הוא הטלפון הנייד, המזרים נתונים מקודדים (אודיו ובקרה) העשויים להיות מוצפנים. הנתונים מוצאים את דרכם בסופו של דבר לשכבת פס הבסיס (רדיו Bluetooth). הזרמת הנתונים מתקדמת במעלה חבילת תוכנת הפרוטוקול בצד הקולט, ויכולה להיות בכל אחד מההתקנים או המכשירים החכמים שנידונו לעיל.
הפתרון כולל הן את חבילת התוכנה מרובת הפרופילים והן את שכבת היישום הניתנת לשינוי בקוד מקור. חבילת התוכנה מטפלת בתקשורת הפרופיל ויכולה לקיים אינטראקציה עם מגוון של אלמנטים נוספים של יישומים, כולל מפענחי אודיו, סינון דיגיטלי, המרת קצב המקור ומאפייני בקרה. עבור אודיו קיימים מפענחים שונים התומכים בהזרמת אודיו Bluetooth A2DP, כולל SBC, AAC, ו- MP3. פתרון מודולרי זה מאפשר ליצרן ההתקן לבדל פתרונות אפשריים על סמך מאפיינים, בקרות ועלויות זיכרון.

ערכות פיתוח של יצרנים
יצירת ערכות פיתוח ואתחול עבור מערכות בצד הקולט של קו התקשורת היא משימה עיקרית. הערכות הופכות את פיתוח היישומים לקל יותר מבחינת המתכננים, אולם מבחינת ספקי המיקרו-בקרים המציעים ערכות אלו, בדיקות התאימות ויכולת הפעולה ההדדית הן נושא חשוב וקריטי.
קיימות מספר אפשרויות למערכות הפעלה (OS) להתקנים ניידים, כולל Android, Apple IOS, Microsoft Embedded Windows ו- Blackberry, כאשר לכל אחת מהן כמה גרסות של מערכת ההפעלה. כדי להבטיח למשתמש הקצה מוצר בר-מימוש, יצרן הערכה חייב לבצע מאות בדיקות של תאימות ויכולת פעולה הדדית. התחייבות לכך שהתכן יעבור בדיקות אלה עם עיבוד מחדש מינימלי או ללא עיבוד כלל צריכה לעמוד במקום גבוה ברשימת השאלות למתכננים כאשר בוחרים ערכה.
Microchip Technology היא אחד השחקנים במרחב תכנון זה. היא משתמשת כעת בהתקנים PIC32MX3 ו- PIC32MX4 בערכות שלה לפיתוח אודיו Bluetooth. ההמחשה באיור 2 מציגה את תצורת החומרה הבסיסית.

דוגמה ספציפית לכך היא הערכה לפיתוח אודיו Bluetooth DV320032 של החברה. היא מופעלת על ידי התקן PIC 32-bit 100MHz בתחום הבינוני עם עד 100 כניסות/יציאות וכן זיכרון Flash של 512 kB וזיכרון RAM של 128K. הערכה הבסיסית משלבת לוח בת Bluetooth HCI התומכת במקמ"ש Bluetooth CSR8811 מבית Cambridge Silicon Radio (קיימים גם מודולים שעלותם נמוכה יותר). כלולים גם לוח בת של ממיר דיגיטלי-לאנלוגי (DAC) עם DAC 24-bit 192 kHz ויציאת אוזניות, מארח USB וממשקי התקנים, צג LCD צבעוני 2 אינץ' ופונקציות בקרת לחצנים. כדי להפוך את משימת המפתח לקלה יותר, הערכה גם דוחפת כמה פונקציות, כגון אפשרות למתאם אימות (Authentication Adapter) מבית Apple, ממשק ניפוי שגיאות וזיכרון SPI Flash.
מודול ממשק ניתן לתכנות (PIM) הממוקם על גב המיקרו-בקר מאפשר למפתח להחליף את המעבד עצמו מבלי לאבד זמן תכנון יקר. הוא גם מעניק למפתח גמישות להחלפה עתידית של המיקרו-בקר הסטנדרטי בהתקנים שעלותם נמוכה יותר או שביצועיהם טובים יותר.
זמינות הקושחה היא תמיד הבעיה המרכזית בערכות פיתוח. חברת Microchip מספקת את הקושחה המוצגת באיור 3.

חברת Microchip גם משיקה ערכת אתחול מהרמה העליונה המבוססת על מוצר הדגל שלה, המיקרו-בקר 32-bit 200 MHz PIC32MZ2048ECH144. ניתן לחבר את ערכת האתחול לחיבוריות משובצת DM320006 PIC32MZ עם מערכת אחרת כדי להפעיל את יכולת ה- Bluetooth. לוח הרחבת המולטימדיה 2 (DM320005-2) כולל מנהל התקן גרפי ללא-בקר, צג WQVGA 4.3 אינץ', בקרת לחצן מגע קיבולי מוקרן רב-מגעי (PCAP), מצלמת VGA, Wi-Fi, מודול Bluetooth HCI Codec אודיו סטריאו 24-bit המבוסס על AK4953 מבית AKM Semiconductor, מד תאוצה תלת-צירי וחיישן טמפרטורה. יכולת ההדגמה לעבודה במסגרת תוכנת MPLAB Harmony מבית Microchip משולבת כדי לתמוך ביישומי נתונים ואודיו ב- Bluetooth.
איזה פתרון הוא הנכון?
יש להודות כי התחכום והמורכבות של יישומי אודיו ובקרת Bluetooth יכולים לגרום למפתחים למצוא את עצמם מבולבלים למדי באשר לדרך שבה יש להתחיל בפיתוח. ההתקן הקריטי, כמובן, הוא המיקרו-בקר עצמו. כפי שהוזכר לעיל, מיקרו-בקרי 32-bit וסט הפקודות 32-bit שלהם הם אידיאליים לשילוב בו-זמני של אודיו ובקרה. כדי לבצע את הסינון הראשוני של איזו ערכה להשתמש, המפתחים יכולים להתייחס לטבלה 1, המתארת את היישומים ואת דרישות הזיכרון וה- MIPS המתאימות להם.
תיאור | דרישות משאבים | MIPS ברמת שיא | |
Flash (KB) | RAM (KB) | ||
חבילת תוכנת Bluetooth (A2DP+AVRSPP+SBC) + תמיכה בחיבור USB אודיו אבזר פתוח (Open Accessory) של Android מסוג A ואודיו מבית Samsung עם תמיכה בחיבור USB mini-B. | 271.734 | 38.8 | ~30 |
חבילת תוכנת Bluetooth (A2DP+AVRCP+SPP+מפענח AAC) + גרפיקה. הדגמה זו משתמשת במפענח אודיו AAC באיכות גבוהה יותר במקום מפענח SBC. | 251.5 | 34.9 | ~65 |
חבילת נתוני Bluetooth (SPP בלבד). הדגמת נתונים-בלבד וללא-אודיו זו אינה מספקת תמיכת אודיו USB. | 139.6 | 7.12 | ~8 |
חבילת תוכנת Bluetooth (A2DP+AVRCP+SPP+מפענח SBC) + גרפיקה. | 190.58 | 34.6 | ~30 |
חבילת תוכנת Bluetooth (A2DP+AVRCP+SPP+AAC) + תמיכה בחיבור USB אודיו אבזר פתוח (Open Accessory) של Android מסוג A ואודיו מבית Samsung עם תמיכה בחיבור USB mini-B. הדגמה זו משתמשת במפענח אודיו AAC באיכות גבוהה יותר במקום מפענח SBC. | 332.7 | 39.7 | ~65 |
טבלה 1: דוגמאות לדרישות עבור משאבי יישומים הכוללים יישום, חבילת תוכנת Bluetooth ורכיבי תצוגה גרפית (באדיבות Microchip Technology).
העמודה הראשונה (תיאור) מציין אילו פרופילי Bluetooth ויישומים אחרים פועלים. אלה הן רק דוגמאות למטרות הדגמה, אך כקבוצה הן מבהירות כי זיכרון ו- MIPS ברמת שיא יכולים להשתנות באופן משמעותי מן היישום הפשוט ביותר (חבילת נתוני Bluetooth בלבד) ועד היישום התובעני ביותר (פרופילים מרובים ומפענח ACC באיכות גבוהה).
סיכום
עידן חדש של פיתוח Bluetooth, המשלב בקרת נתונים עם אודיו, יטפח צמיחה של יישומים חדשים רבים הכוללים פרופילי Bluetooth מרובים המופעלים במקביל, נקודות בקרה מרובות וחיבורים מרובים. יישומים אלה יכולים להיות קשים לפיתוח, במיוחד מאחר והם חייבים לעבור בדיקות יכולת פעולה הדדית ותאימות Bluetooth. רבים מיישומים אלה גם הופכים את השימוש במיקרו-בקר 32-bit לחיוני, לא בהכרח עבור עומק הנתונים אלא עבור משאבי סט הפקודות.
ערכות פיתוח ופתרונות קושחה המוצעים על ידי ספקי השבבים מקטינות משמעותית את המאמץ ההנדסי, אך לא קיים פתרון אחיד המתאים לכולם. המפתחים חייבים להקפיד בבחירת הפתרון המתאים עבור היישום שלהם תוך תשומת לב הן לזמינות הקושחה והן לביצועי החומרה.
לפרטים נוספים על החלקים שהוזכרו במאמר זה, השתמש בקישורים לדפי המוצרים שבאתר האינטרנט של DigiKey.
(הערת העורך: מאמר זה מבוסס על מצגת מאת מייקל סקאו, מוביל קבוצת הנדסת היישומים של חטיבת ה- MCU32 בחברת Microchip Technology. המצגת של מר סקאו תוצג בוועידת MASTER 2014 של Microchip, שתיערך באוגוסט בפניקס, אריזונה).
מיאון אחריות: דעות, אמונות ונקודות מבט המובעות על ידי מחברים שונים ו/או משתתפי פורום באתר אינטרנט זה לא בהכרח משקפות את הדעות, האמונות ונקודות המבט של חברת DigiKey או את המדיניות הרשמית של חברת DigiKey.