כיצד לבחור ולהשתמש ב- Codec אודיו ומיקרו-בקר עבור קובצי משוב אודיו משובצים
באדיבות ‎DigiKey's North American Editors
2020-12-02
קיים צורך הולך וגדל בקרב מערכות משובצות לספק אודיו באיכות גבוהה במקום זמזמים עבור משוב למשתמשים, כולל התרעות ואזהרות. אמנם צפצופים וציוצים היו יעילים בעבר, אך כיום המשתמשים מצפים לצלילים מתקדמים שניתן להפיק רק באמצעות השמעת אודיו מפורמטים של קבצים כגון MP3. הבעיה היא שהשמעת אודיו יכולה להתפרש כמאיימת ולהוסיף עלות ומורכבות נוספות למערכת. האינסטינקט הראשון הוא למצוא מיקרו-בקר שיכול לנגן MP3, אך לרוב זה מוסיף מספר דולרים למפרט החומרים (BOM) ומורכבות ניכרת לתוכנה המשובצת.
פיתרון אחד שהוא טוב במיוחד עבור איזון העלות הנוספת ומורכבות התוכנה הוא להשתמש ב- Codec אודיו. רכיבי Codec אודיו לא רק מקבלים הזרמות נתוני אודיו ממיקרו-בקר, לעיתים יש להם גם מספר מאפיינים המאפשרים למפתח לכוונן בקפידה את מערכת השמעת האודיו כדי לשפר את איכות הסאונד שהמערכת מפיקה.
מאמר זה ידון בתפקידם של רכיבי Codec אודיו, במאפיינים העיקריים שאותם המפתחים צריכים לשקול בעת הבחירה וכיצד ליישם אותם בצורה יעילה. פיתרונות מבית AKM Semiconductor, Texas Instruments ו- Maxim Integrated יוצגו וישמשו כדוגמאות כאן, אם כי קיימים גם פיתרונות אחרים. את המאמר יסיימו טיפים וטריקים כיצד להאיץ את פיתוח יישומי השמעת אודיו באמצעות Codec תוך הורדת עלויות המערכת.
מה הם רכיבי Codec אודיו?
ה- Codec אודיו הוא רכיב חומרה המסוגל לקודד ולפענח הזרמות נתונים דיגיטליים המכילים מידע אודיו1. ה- Codec אודיו הוא שימושי מכיוון שהוא מאפשר לעיבוד אודיו להתבצע מחוץ למיקרו-בקר. זה יכול להקטין משמעותית את מורכבות התוכנה, וגם לאפשר להשתמש במיקרו-בקר עם ביצועים פחותים יותר ועם עלות נמוכה יותר.
Codec אודיו טיפוסי יכול להכיל מספר בלוקים פונקציונליים:
- ממשק S2I לשידור או קליטה של נתוני אודיו דיגיטליים מקודדים
- ממשק C2I להגדרת התצורה ולקריאה של אוגרי הבקרה של ה- Codec
- כניסת מיקרופון המחוברת לממיר אנלוגי-לדיגיטלי (ADC)
- לפחות ערוץ יציאת אודיו אחד, כגון יציאת רמקולים, אך רובם כוללים קו יציאה ועשויים לכלול מספר יציאות רמקולים עבור השמעת סטריאו
- בלוק דיגיטלי המכיל מסנני מעביר-גבוהים, מעביר-נמוכים, Notch ו- Equalizer כדי לכוונן את השמעות האודיו וההקלטות
דוגמה ל- Codec אודיו פופולרי למדי הודות ליכולות האודיו והמחיר הנמוך שלו הוא ה- Codec אודיו 24-Bit AK4637EN מבית AKM Semiconductor (איור 1). ל- AK4637EN יש את כל המאפיינים האלו, בנוסף לכניסת מחולל צפצוף שניתן להשתמש בו כדי ליצור צפצוף באמצעות אות אפנון רוחב פולס (PWM) בתדר רצוי.
איור 1: ה- AK4637EN הוא Codec אודיו עם יציאת רמקול מונו ועם יכולות השמעת והקלטת אודיו. הוא גם מכיל בלוק אודיו פנימי שניתן להשתמש בו לסינון אודיו נכנס ויוצא כדי לשפר נאמנות אודיו (audio fidelity). (מקור התמונה: AKM Semiconductor)
המפתחים יגלו שהמבדל העיקרי עבור רכיבי Codec אודיו יהיה אם הוא יוציא אודיו מונו או סטריאו, כמו גם יכולות החסימה הדיגיטלית. לדוגמה, ה- AK4637EN מציע מסנן מעביר-גבוהים, מסנן מעביר-נמוכים, Equalizer עם ארבעה-פסים, מאפיין ערוץ איזון-אוטומטי ו- Equalizer פס-יחיד. האחרון יכול לשמש כמסנן Notch. האופן שבו המפתח מגדיר את המסננים הדיגיטליים הללו יכול להשפיע דרמטית על האופן שבו המערכת נשמעת.
ה- Codec אודיו יכול לעיתים להפחיד את המפתחים שהשמעת אודיו היא חדשה עבורם. לדוגמה, בעוד שה- AK4637EN נראה על פניו כ- Codec אודיו פשוט, בדיקה מהירה של גיליון הנתונים מראה כי יש לו 64 אוגרים ניתנים-להגדרה. זה אולי נראה הרבה בהתחלה, אך במרבית אותם אוגרים משתמשים להגדרת מקדמי הסינון עבור המסננים הדיגיטליים השונים הקיימים. יש רק מעט אוגרים שצריך להשתמש בהם כדי לגרום למערכת להוציא אודיו כראוי, ולכן פיתוח הדוחף עבור ה- Codec אודיו הוא פשוט בהרבה ממה שמפתח מתחיל עשוי לדמיין.
כיצד לבחור Codec אודיו
אחד המניעים המרכזיים לבחירת כל דבר בפיתוח מוצרים הוא העלות, ורכיבי Codec אודיו אינם שונים. ועדיין, חשוב לזכור שהמפתחים מקבלים את מה שהם משלמים עבורו, ולכן כשמדובר באודיו, הצוות צריך לשקול בקפידה את דרישות התכן מול פרמטרי המפתח העיקריים.
השיקול הראשון הוא היציאה הנדרשת מ- Codec אודיו. ישנן מספר בחירות שונות. לדוגמה, ל- AK4637EN יש יציאת קו ויציאת רמקול מונו. ישנם רכיבי Codec אחרים כמו ה- Codec אודיו סטריאו TLV320AIC3110IRHBR מבית Texas Instruments המסוגלים לדחוף שני רמקולים ב- 1.29 וואט (איור 2).
איור 2: ה- TLV320AIC3110IRHBR מבית TI הוא Codec אודיו עם יציאת סטריאו והגברה בנוסף לכניסת מיקרופון. ה- Codec מסוגל לדחוף 1.29 וואט ממגברים פנימיים ויש לו בלוקי אודיו דיגיטליים ניתנים-לתכנות. (מקור תמונה: Texas Instruments)
רכיבי Codec אודיו אחרים כמו ה- MAX9867 מבית Maxim Integrated תוכננו לדחוף רק זוג אוזניות (איור 3). ל- MAX9867 יש ממשקים דיגיטליים טיפוסיים S2I ו- C2I, אך הוא מכיל גם כניסות מיקרופון סטריאו ושתי כניסות קו הניתנות לבחירה באופן דיגיטלי.
איור 3: ה- Codec אודיו MAX9867 מבית Maxim Integrated מסוגל לדחוף אוזניות סטריאו וניתן לבחור בין כניסות דיגיטליות, מיקרופון וקו. (מקור התמונה: Maxim Integrated)
ההחלטה בין שלושת הפתרונות הללו לגבי מה יהיה סוג היציאה (או אפילו הכניסה) היא החלטה מוקדמת וקריטית.
המפתחים צריכים גם לשקול מה הם צריכים לדחוף. האם ה- Codec אודיו ידחוף ישירות אוזניות, רמקול אחד או זוג רמקולים, ומה יהיה דירוג היציאה? אם המערכת צריכה לדחוף רמקול של 5 וואט, אין הרבה רכיבי Codec עבור מערכות משובצות שיעשו זאת. במקום זאת, המפתח עשוי לרצות לבחור את יציאת הקו ולהשתמש במגבר Class-D נפרד כדי לדחוף את הרמקול ישירות. זה גם חוסך עלויות מסוימות תוך הענקת גמישות בתכנון.
שני שיקולים אחרונים הם יכולות הניתוב הפנימי והסינון הדיגיטלי. כאן טמונים המבדלים האמיתיים ומבדלי העלויות של Codec אודיו. לדוגמה, ל- TLV320AIC311IRHBR יש יכולות De-Pop ואתחול רך כדי להקטין למינימום את ה- Popping של הרמקולים ולאפשר מעבר חלק להשמעת אודיו. יש לו גם מיקסר פנימי לכל ערוץ יציאה ובקרת עוצמת קול דיגיטלית.
על המפתחים לאזן בקפידה את הצרכים שלהם מה- Codec אודיו עם ה- BOM ועם המקום על הלוח שידרש עבור המעגלים.
מערכת השמעת אודיו
כשעובדים עם Codec אודיו חשוב להבין שישנם כמה בלוקים שונים מחוץ ל- Codec האודיו הנחוצים כדי להשיג השמעת אודיו מוצלחת. הבלוקים המדויקים ישתנו מעט בהתאם ליישום ולשיטה שהוחלט עליה עבור ההשמעה, אך תרשים כללי מוצג באיור 4.
איור 4: דיאגרמת בלוקים כללית עבור מערכת השמעת אודיו ביישום משובץ טיפוסי המראה שיש צורך באחסון עבור קובצי האודיו, העשוי להיות על המיקרו-בקר או בזיכרון חיצוני. (מקור התמונה: Beningo Embedded Group)
ישנן כמה נקודות בתרשים זה שראוי לדון בהן. ראשית, צריכה להיות שיטה כלשהי המשמשת לאחסון קובצי השמעת אודיו. ישנן שתי אפשרויות לכך; לאחסן את הקבצים פנימית בזיכרון Flash של המיקרו-בקר או לאחסן אותם חיצונית בזיכרון Flash. הבחירה תהיה תלויה בכמה גדולים קובצי האודיו וכמה גדול זיכרון Flash הפנימי במיקרו-בקר.
המפתחים צריכים גם לשקול מה יהיה פורמט השמעת האודיו. האפשרות הנפוצה ביותר היא שימוש ב- MP3. במקרה זה המיקרו-בקר שנבחר צריך לכלול חבילת תוכנה התומכת בפענוח MP3. היא מאפשרת לפתוח את קובץ ה- MP3 ואז לדחוף אותו באמצעות בקר גישת זיכרון דינמית (DMA) דרך ממשק S2I. אפילו את נקודת-החיבור S2I ניתן להגדיר עבור Master/Slave ומספר צמתים אחרים, כך שזה מצריך בחינה קפדנית כיד להבטיח שהנתונים יועברו ל- Codec בקצב הנכון.
כפי שצוין קודם לכן, ייתכן שיהיה צורך במגבר אודיו חיצוני, בהתאם ליישום. יציאות Codec טיפוסיות הן סביב 1 עד 1.5 וואט, וזה שימושי לדחיפת רמקול קטן. כדי לדחוף רמקול של 3 וואט ומעלה יהיה צורך להשתמש במגבר חיצוני. שוב, הנפוצים ביותר הם Class-D. המגבר לא בהכרח חייב להיות עם הגבר משתנה. ה- Codec אודיו יכול לכוונן דיגיטלית את בקרת העוצמה כדי לספק תחום רחב של הספקי יציאה.
תחום אחד שלעתים מתעלמים ממנו הוא הקבל. כאשר משמיעים אודיו עלול להיות עומס כבד על פסי הספקת-הכוח. אם אין מספיק קיבוליות על הלוח, איכות היציאה עלולה להיות מושפעת דרמטית ועלול להתקבל צליל טוואנגי לצד עוד כמה רעשים לא-רצויים. ניתן לגלות זאת על ידי ניטור קפדני של פסי הספקת-הכוח במהלך הבדיקות. זה לא רעיון רע להשאיר במהלך פיתוח לוח המעגלים המודפסים חתימות-שטח נוספות כדי לאפשר לנסות ערכי קיבוליות שונים על מנת לכוונן את מעגלי היציאה.
טיפים וטריקים לבחירה ולשימוש ב- Codec אודיו
רכיבי Codec אודיו יכולים לפשט דרמטית את התוכנה המשובצת ולספק ליישום איכות אודיו וסאונד מעולים. רכיבי Codec אודיו יכולים להיות מסובכים אם המפתח לא עבד איתם בעבר. כדי למנף בהצלחה Codec אודיו יש להביא בחשבון כמה "טיפים וטריקים" כגון:
- השתמשו במאפיין בקר גישה ישירה לזיכרון (DMA) בתוך המיקרו-בקר כדי להזין את ה- Codec אודיו עם התערבות מעבד מינימלית. זה יעזור להבטיח שה- Codec לא "מורעב" לנתונים.
- כאשר אודיו אינו מושמע, השתמשו במאפיין ההשתקה של רכיבי ה- Codec כדי למנוע מרעש יציאה ברמה-נמוכה להגיע לרמקול.
- בעת הדממה או הפעלה של ההשמעה, השתמשו במאפיין ההשתקה הרכה של ה- Codec אודיו כדי למנוע Popping ורעש לא-רצוי אחר ברמקולים.
- השתמשו ביישום מסוף כדי להוציא תוכן אוגרי ה- Codec לאחר אתחול ה- Codec. זה יכול להיות שימושי במיוחד כשמנסים לנפות באגים או לכוונן את מעגלי יציאת הרמקול והתיבה.
- מנפו את מנגנוני המסננים הדיגיטליים הפנימיים הכלולים ב- Codec. המסננים הדיגיטליים מאפשרים למפתח לאזן את היציאה, לסנן תדרים גבוהים ונמוכים לא-רצויים ולמקסם את איכות מערכת הסאונד.
- אל תשכחו שכיוונון הסאונד יהיה מאמץ שימושי רק כאשר המעגל והרמקול מותקנים בתוך תיבה, מכיוון שלתיבה ולהרכבה יש השפעה עצומה.
כדי להתחיל המפתחים יכולים להתנסות בערכת ההערכה +MAX9867EVKIT עבור ה- MAX9867 מבית Maxim Integrated (איור 5).
איור 5: ערכת ההערכה +MAX9867EVKIT עבור ה- MAX9867 מתחברת למחשב אישי באמצעות כבל USB וכוללת כניסות RCA, יציאות אוזניות ומודולי שידור וקליטה על סיבים אופטיים. (מקור התמונה: Maxim Integrated)
הערכה כוללת את הלוח והתוכנה המשויכת אליו ומגיעה בתצורה עבור שידור וקליטה של נתוני אודיו באמצעות ממשק דיגיטלי Sony/Philips (S/PDIF), אם כי ניתן להגדיר אותה גם עבור שימוש ב- S2I. יש לו שני שקעי כניסה RCA, שני שקעי אוזניות עם יציאה אנלוגית של 3.5 מילימטר (מ"מ), ומודולי קליטה ושידור על סיבים אופטיים. התוכנה היא תואמת Windows, וכאשר היא מחוברת למחשב אישי באמצעות כבל USB היא נפתחת לממשק משתמש גרפי (GUI) דרכו יכול המפתח להתנסות בהגדרות ה- MAX9867 (איור 6).
איור 6: באמצעות ממשק GUI מבוסס-Windows, המשתמשים יכולים להתנסות במגוון רחב של הגדרות MAX9867, החל משעון ואודיו דיגיטלי (הלשונית שנבחרה), עד ל- Registers 1 ול- Registers 2 (בצד ימין). (מקור התמונה: Maxim Integrated)
סיכום
משתמשי מערכות משובצות התרגלו לאודיו איכותי עד כדי כך שכיום הם מצפים לו במקום לזמזמים ולצפצופים עבור אזעקות, התרעות ומשוב אודיו אחר למשתמשים. זה מחייב את צוותי הפיתוח ליישם יכולות השמעת MP3 במערכות שלהם. בתחילה זה יכול להיראות כמאמץ מורכב. עם זאת, על ידי שימוש ב- Codec אודיו הנכון לצד המיקרו-בקר, וביחד עם כמה פרקטיקות תכנון מומלצות, המפתחים יכולים לאזן את העלות והמורכבות הקשורות עם יישומי אודיו.
ייחוסים
מיאון אחריות: דעות, אמונות ונקודות מבט המובעות על ידי מחברים שונים ו/או משתתפי פורום באתר אינטרנט זה לא בהכרח משקפות את הדעות, האמונות ונקודות המבט של חברת DigiKey או את המדיניות הרשמית של חברת DigiKey.

