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

מה הם מעבדי DSP?

מעבד DSP מעבד SDK הוא אוסף מקיף של כלים, ספריות, רכיבים בזמן ריצה ותיעוד שנאספו כדי לעזור למהנדסים ליצור, debug, ופרוס יישומים עבור משפחת DSP ספציפית.ה- SDK מפשט את פרטי החומרה ברמה נמוכה - כגון שלבים צינורות, היררכיות זיכרון, ו- peripheral Registers - כך מפתחים יכולים להתמקד ביישום אלגוריתמים.DSP טיפוסי כוללים ++ / C / C / C.

מעבר ל-Matder and Library, SDK לעתים קרובות מספק מערכת הפעלה בזמן אמת (RTOS) kernel, נהגי התקן עבור chip peripherals (I2S, SPI, UART, DMA), וכלים לתצורה להקצאת זיכרון והפרעה. חלק מה- SDKs גם משלבים מודלים של סימולציה חוזרת-in-the-loop כך מפתחים יכולים לבדוק אלגוריתמים על מטרה וירטואלית לפני חומרה היא זמינה.

עקבו אחרי DSP SDK

הבנת אבני הבניין של SDK טיפוסי מסייעת למהנדסים להעריך אילו כלים מתאימים לדרישות הפרויקט שלהם, בעוד יישום ספציפי משתנה, רוב ה-DSP SDKs מכילים את המרכיבים הבאים:

אופטימיזציה של Compilers ו Assemblers

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

המונחים: domain

ספריות הפונקציה קדם-אופטימיות הן סימן ההיכר של DSP SDKs.הספריות האלה מספקות בדרך כלל עיבוד אותות פרימיטיביים - כגון Fast Fourier Transforms (FFT/DFT), תגובה אימפולס סופי (FIR) ותגובה אימפולס אינסופית (IIR) מסננים, convolution, מתאם ומתמטיקה ממטריקס - אשר הוקדשו יד לאדריכלות היעד.

Debuggers ו- Real-Time Analysis Tools

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

המונחים: mit ebuulation Environment

פיתוח אלגוריתם מוקדם לעתים רחוקות דורש את ההתנהגות של סיליקון. SDKs בדרך כלל כוללים סימולטורים תחילת הוראה וסימולטורים מחזוריים-accurate כי מודל ההתנהגות של הליבה של DSP. סימולטורים מאפשרים למפתחים להפעיל קוד, לבדוק רישומים, לאמת את ההתאמה ללא חומרה. Emulators - לעתים קרובות ארוז עם JTAG או בדיקות debug דומות - לספק גשר בפועל עבור שבב בפועל על-tartratretretretretreter המאפשר החלפת חומרים.

אינטגרציה RTOS

יישומי DSP מורכבים לעתים קרובות זקוקים לתזמון משימות, תקשורת בין-מעבד, וניהול זיכרון. SDK רבים כוללים מערכת הפעלה בזמן אמת קל משקל (למשל, TI SYS/BIOS, Analog מכשירים uC/OS עבור SHARC) שמנהלת שירותים אלה עם מינימום overhead. SDK גם מספקת שכבות מופשטות חומרה (HALs) כי בידוד קוד יישום משינויים היקפיים, מה שהופכים את התוכנה ליותר ויותר בתוך המעבדים משפחתיים ניידים.

בסביבה הקרובה של DSP Development Environments

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

Texas Instruments Code Composer Studio (CCS)

Code Composer Studio הוא הדגל IDE עבור C6000, C5000, ו- C2000 DSP משפחות, כמו גם את האדריכלות הרב-core KeyStone שלהם. CCS בנוי על פלטפורמת Eclipse ומשתלב את ה- C / C++ מארגן, debugger מתקדם עם עקבות חומרה (כולל ske's Embedded Trace Buffer), וטווח של תוספי ניתוח כוללים תכונות מפתח:

  • (FLT:0) ,Optimized DSP Libraries:BuildFLT:1 , DSPLIB ו- IMGLIB מספקים אותות ותפקודי עיבוד תמונה מותאמים ביותר.
  • (FLT:0 System Analyzerrea: 1FLT) כלי גרפי לצפייה בעומס CPU, לוח זמנים וזיכרון בזמן אמת.
  • (ב) ⁇ :0) וקטור מייטל: 1 (Leverages TI's C66x צף נקודת VLIW ליבות עבור פעולות וקטור.
  • (ב) ⁇ :0) ,[דרוש מקור]: תמיכה ב-XDS debug מאפשרת ניטור וצלילים לא פולשניים.

CCS כולל גם כלי ניתוח קוד סטטי של קוד LT:1 , אשר בודק תאימות עם MISRA-C ותקני בטיחות אחרים, מה שהופך אותו לבחירה חזקה עבור יישומים קריטיים המשימה של כלי רכב ובקרה תעשייתית.

ציוד Analog מכשירים CrossCore Embedded Studio (CCES)

CrossCore Embedd Studio הוא גם מבוסס על איכות הסביבה המאוחדת של פיתוח משותף עבור מעבדי SHARC, Blackfin ו- SigmaDSP. CCES הוא גם מבוסס Eclipse ותומך בפיתוח חשוף-מטאל ו RTOS מבוסס באמצעות VDK של ADI (VisualDSP++ Kernel) או ליבות צד שלישי. Noteels: היבטים כוללים:

  • (FLT:0) מתקדמות של קברניטים:FLT:1 CCES מציעה ריבוי של פענוח, מעקב אחר הוראות וחילופי נתונים בזמן אמת (RTDX) באמצעות חיקוי USB.
  • ספריית SHARC+ Library: FLT:1 אוסף של שגרות מגובשות עבור ארכיטקטורת נקודת הצף SHARC, אשר משמשת באופן נרחב אודיו מקצועי ומניעים תעשייתיים.
  • (FLT:0Support for the I$2$S ו- AXI אוטובוסים:03:03:03:1 Simplifies אינטגרציה עם רכיבי אודיו חיצוניים ו- FPGAs.
  • (FLT:0) תסריטי קישור שניתן לקישור: אנדרל 1 (FLT:1) מאפשרים מיקום קוד ונתונים מוטבע היטב לתוך SRAM פנימי, L2 cache, או SDRAM חיצוני.

התפלגות הכלים של ADI כוללת את AIRLT:0 (חומרה) במצב הדמיה של סימולציה 1 (אנ') המשתמש לוחות מעבד בפועל עבור הסתברות מהירה.

Xilinx Vivado Design Suite (עבור FPGA-based DSP)

כאשר אלגוריתמי DSP מיושמים בלוגיקה בתכנות (FPGAs), ה- Xilinx Vivado Design Suite (כיום חלק מ- AMD) מספק תערובת ייחודית של חומרה ופיתוח תוכנה. בעוד שלא מעבד מסורתי, Vivado כולל סינתזה ברמה גבוהה (HLS) כלים אשר מציפים אלגוריתמי C/C++ לתוך RTL, יחד עם פלטפורמת Vitis מאוחדת עבור מעבד מוטבע (עבור eg, מיקרוגרם, C.com , או בהיבטים משובצים).

  • (FLT:0 Systems Generator for DSP:FLT:1 A Model-based design Tool המשלב עם MATLAB/Simulink ובאופן אוטומטי יוצר ליבות IP מותאמות.
  • (ב) ⁇ :0) ,(1): ⁇ 1 (ה) ,(ה) ,(ה) ,(ה) ,(ה) ,(ה) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (FLT:0)IP Integrator: FLT:1ir מאפשר למעצבים להתחבר בלוקים DSP שנבנו מראש (FFT, FIR, CORDIC) עם מעבדים רכים ובקרי זיכרון.
  • (FLT:0) Hardware Debginging:FLT:1 , אנליזה לוגי של Vivado ו-Sycial I / O מנתחr יאפשר למהנדסים לפקח על אותות FPGA פנימיים בזמן אמת.

עבור פרויקטים הזקוקים להאצה המקבילה של FPGAs בשילוב עם הגמישות של מעבד DSP, Xilinx מציעה גישה היברידית.FLT:0Visit The Vivado Design Suite עבור פרטים נוספים של ההרחבה 1.

סביבה בלתי אפשרית

מעבר לשלושת המשקלים הכבדים, כמה מטוסי DSP אחרים ראויים לציון:

  • (FLT:0 NXP MCUXpresso (עבור משפחות DSC כמו 56F800): שילוב של Eclipse עם כלי מומחה תהליכים של NXP ושילוב FreeRTOS.It כולל מבקר דיגיטלי (DSC) מותאם לשליטה מוטורית וההמרות כוח.
  • (FLT:0CEVA Toolbox: FLT:1 מיועד ליבות DSP של CEVA (שמשתמשים ב-Wi-Fi, Bluetooth ו- Cell Baseband) כולל מהפך מקבילים מאוד ופלטפורמת מבוססת מערכת C לחקר האדריכלות.
  • (FLT:0)STMicroelectronics STM32Cube (עם ספריית DSP): בעוד מיקוד Cortex-M ליבות, מערכת האקולוגית של ST כוללת ספריית CMSIS-DSP שיכולה להפוך מיקרובקר למעבד אותות מסוגל עבור יישומי אודיו וחיישנים רגישים עלות.

תכונות מפתח ו Capabilities ב Depth

DSP SDKs מודרני מעבר לרכיב בסיסי-and-debug.היכולות היקרות ביותר עבור מפתחים מקצועיים כוללים:

קוסמטיקה אוטומטית ואינסטינקטים

DSP מפיץ לעתים קרובות לתמוך הנדסת רכב כדי לנצל יחידות ביצוע SIMD או VLIM. לדוגמה, הדלפק של TI יכול באופן אוטומטי וקטורל לבצע פעולות אלמנט-wise על גבי מערךים.כאשר יש צורך בשליטה ידנית, מפתחים יכולים להשתמש בפונקציות אינטרינזימיות כמו FLT: 0 או FLT:1 כדי לגשת ישירות לפעילות הילידים של DSP בזמן שהייה ב C.

כוח ואנליזה

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

גודל קוד לעומת Speed Trade-offs

יישומים DSP לעתים קרובות יש תקציבי זיכרון הדוקים. SDKs לספק דגלים ותסריטאי קישור כדי להתאים את גודל הקוד או מהירות ביצוע.לדוגמה, הדגל FLT:2 בגלימה של TI ללא רולס באופן אגרסיבי וקוויים למהירויות מקסימליות, בעוד FLT 3 מייצר קוד קטן יותר עלות של כמה סביבות מתקדמות גם אופטימיזציה של זמן קישור (LTO) כדי להפחית את הקוד הכולל.

RTOS אינטגרציה ו- Scheduling Visualization

מערכות הפעלה בזמן אמת כמו TI SYS/BIOS ו- ADI VDK מספקות תזמון עדיפויות משימה, סמטפורזות ודגלים אירועים. IDEs מודרניים מציעים צופה אובייקט בזמן אמת (ROV) המציג באופן גרפי מצבי משימה, שימוש בערימה ותקשורת בין-task. זה עוזר למהנדסים להימנע ממלכודות מתות ועדיפות בתוכנות DSP מורכבות.

בחר את ה- SDK הנכון לפרויקט שלך

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

  • (FLT:0) The SDK חייב לתמוך במודל DSP המדויק וכל שבבים של שותפים (FPGA, MCU) על הלוח.
  • (FLT:0) כריכה ליברטרית: 1.10LT:1 האם ה- SDK כולל שגרות אופטימיזציה עבור האלגוריתמים שאתה מתכנן ליישם (קודים בינוניים, beamforming, בקרת מנועים וכו ') פיתוח ספריות מכס הוא יקר וטעייה.
  • (FLT:0)Ecosystem וקהילה: AFLT:1 בסיס משתמשים גדול פירושו פתרון בעיות טוב יותר, יותר ספריות צד שלישי, ועוד פרויקטים לדוגמה. פורומים E2E של TI ו- ADI's מהנדסZone הם משאבים מצוינים.
  • (FLT:0)Toolchain Maturity and Support:cioFLT:1 , להעריך את תאימות הסטנדרטים של המדרדר (C11, C++14, MISRA-C), תדירות העדכונים, ואת המחויבות ארוכת הטווח של הספק.פטנט עשוי להשפיע גם על זמינותן של ספריות מסוימות.
  • (FLT:0) Cost ו- Licensing:FIRLT:1) כמה SDKs חינם עם פונקציונליות מוגבלת, בעוד אחרים דורשים רישיון לכל מושב.חשב ללא תשלום לעומת רישיונות צפים ואם אימון או תמיכה נכללים.
  • (FLT:0) אינטגרציה עם כלים אחרים:FreaLT:1; אם זרימת העבודה שלך משתמשת MATLAB, Simulink או Labview, לבדוק אם ה- SDK מספק דור קוד אוטומטי (למשל, קודר Embedded עבור TI).

אתגרים בפיתוח DSP וכיצד SDKs מטפל

תכנות DSP מציג מכשולים ייחודיים ש- SDKs מסייע להפחית:

זמן אמת-זמן Constraints

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

ניהול זיכרון Hierarchy Management

DSPs לעתים קרובות תכונה רמות מרובות של זיכרון עם מהירויות גישה שונות (L1 cache, L2 SRAM, SDRAM חיצוני) המאגד ומחבר חייב להציב נתונים כדי למזער פספסי caches. SDKs כוללים כלים תצורה cache ופונקציות עותק זיכרון (FLT:4 יכול להיות מתמחה עבור DSP של עששת) כדי להעביר נתונים ביעילות בין רמות מסוימות מציעות:0FRE: ניתוח נתונים אופטימליים כדי לאפשר מיקום אופטימלי כדי לקבל נתונים כדי לקבל נתונים אופטימליים כדי לקבל נתונים.

קוניכרונל ו- Multi-Core SynSyncization

Multicore DSPs (למשל, TMS320C6678 עם 8 ליבות) דורשים סינכרוניזציה זהירה וניהול משאבים משותף. SDKs לספק סימאפורות חומרה, תיבת דואר מפריע, IPC (תקשורת בין-מעבד) נהגים.לחים מצב גזע על פני ליבות הוא מאתגר; מעקב אחר עיוותים של תוכנות אבטחה ב CCS ו- CCES יכול להקליט מכל אירועי ליבה בו זמנית.

נקודת מפנה לעומת נקודת מסחר קבועה

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

מגמות עתידיות בסביבת פיתוח DSP

הנוף של פיתוח DSP מתפתח במהירות.מגמות מספריות מעצבות את הדור הבא של SDKs:

AI ו- Machine Learning on DSPs

ליבות DSP משמשים יותר ויותר להיקף מכשירים קצה בשל פעילות רבת-תכליתית יעילה שלהם. Vendors מוסיפים ספריות רשת עצבית (למשל, ה-EP של Deep Learning SDK עבור C66x, ARM CMSIS-N עבור Cortex-M) שממפה convolution ו-הפעלה שכבות על יחידות ה- SIMD של DSP.

מחשוב heterogeneous ו-Hardware / Software Co-Design

רבים מודרניים SoCs משלבים DSPs עם הליבה ARM, FPGAs, ו GPUs. סביבת פיתוח הם מיזוג כדי לספק זרימת עבודה אחת עבור מערכות heterogeneous. Xilinx Vitis, לדוגמה, תומך תכנות הן הבד FPGA ואת המעבדים המוטבעים מ IDE אחד. מצפה שילוב חזק יותר בין DSP SDKs וכלי HLS.

פיתוח מבוסס ענן ושילוב CI /CD

שיטות אינטגרציה רציפה / פריסה עקבית (CI /CD) נכנסות לפיתוח מוטבע.גירסאות מבוססות ענן IDE (כגון TI Cloud Tools) מאפשרות לצוותים להקים בנייה אוטומטית, להפעיל בדיקות סימולציה ואפילו הבזק באמצעות מעבדות מרוחקות.מגמה זו מפחיתה את הצורך ביצירות מפתח עם תצורה חומרה מסוימת.

עיצוב מבוסס מודל וקוד אוטומטי

במקום אלגוריתמי DSP מבוססי יד, מהנדסים משתמשים יותר ויותר MATLAB, Simulink, או Scilab כדי מודל המערכת ולאחר מכן ליצור קוד פורריסה. SDKs מוביל עכשיו לשלב עם גנרטורים קודים (הקוד המוטבע עבור TI, Simulink Coder עבור Xilinx) המייצרים C או VHDL ייצור-איכות ייצור גישה זו מאיצה את חקר האלגוריתמים ולהפחית שגיאות תרגום.

מסקנה

מעבדי DSP SDK וסביבות הפיתוח של בניה חיוניים לבניית מערכות עיבוד אותות יעילות ואמינות.הם מטביעים שנים של אופטימיזציה ספציפית חומרה לכלים נגישים, המאפשרים למפתחים להתמקד במגוון פרטים ולא פרטים ברמה נמוכה.מ- Code Composer Studio ל-Digitalsive פיתוח חומרה, תוך הבטחת יעילות פיתוח חומרה משולבת של DFP ו-SECFIDSECI תמשיך לפתח תכונות יעילות אבטחה ייחודיות, כמו פיתוח יכולות למערכות אקולוגיות למערכות ההפעלה הטובות ביותר, כמו למערכות ההפעלה של פונקציות פיתוח יכולות סודיות של מערכות ההפעלה של מערכות ההפעלה של מערכות ההפעלה של מערכות ההפעלה של מערכות ההפעלה ה-AI-CSDFCCF.