למשק בין Blackfin DSP לממירים מהירים ביישומי אלחוט

מאת
Jeff Sondermeyer, Jeritt Kent, Martin Kessler & Rick Gentile, Analog devices

בשנות ה-1970 וה- ’80 תכנונים מהירים של אות מעורב סבלו לרוב ממגבלות המעגלים הדיגיטליים, ולא האנלוגיים. לדוגמה, ממירים מקביליים מהירים (>10 MSPS) היו זמינים מיצרנים מובילים, כמו Analog Devices,Inc. (ADI) מאז שנות ה-1970. כיום, נתונים בעלי רזולוציה גבוהה מטופלים בקצבי דגימה גבוהים יותר (לדוגמה 14 ביטים ב->50 MSPS) על-ידי ממירים אנלוגי-לדיגיטלי ודיגיטלי-לאנלוגי (ADCs  ו-DACs) גם יחד. בנוסף, יותר ויותר יישומים דורשים אלגוריתמים אינטנסיביים בזמן-אמת. גורמים אלה מחייבים מעבדי אותות דיגיטליים (DSPs) יותר מהירים, מתכנתים, לשימוש כללי (GP) כדי לעמוד בפני האתגרים המועלים על-ידי קצבי הנתונים המהירים.
עד לא מזמן,על רוב המתכננים היה למשק (interface) ממירים מקבילים מהירים אל מעגלים משולבים ליישומים מיוחדים (application-specific ICs -ASICs) או מערכי שערים מהירים מתוכננים בשדה (field programmable gate arrays -FPGAs). התקנים כאלה מסוגלים לטפל בפעולות המקבילות הסימולטניות הרבות הדרושות, אך הם לעתים בלתי-גמישים ועשויים להיות יקרים ביותר. עתה, עם ההשקה האחרונה של DSPs Blackfin ™, דוגמת ה-ADSP-21535, זומן למשתמשים DSP וקטורי, מתכנת, לשימוש כללי 16-ביט לנקודה קבועה –בעל ליבה המגיעה עד 300 מגה-הרץ – שיכול לטפל בתפוקות מבוא/מוצא (I/O) וליבה המתמשכות הדרושות כדי לעבד נתונים מהממירים המהירים הרבים הקיימים. בהתאם לתדר שעון הליבה, ניתן להשיג שעון מערכת מרבי (SCLK) של 133 מגה-הרץ. [אין לבלבל בין SCLK זה לבין השעון הטורי עבור הממשק ההיקפי הטורי (serial peripheral interface – SPI)].

מדוע לבחור ב-DSP לשימוש כללי (GP)?

GP DSP עולה לרוב הרבה פחות מאשר הרכיבים המקבילים לעיבוד דיגיטלי הקרובים ביותר –FPGAs ו-ASICs, והם ניתנים לתכנות בנקל. בנוסף, מאחר שמחזורי התכנון של GP DSP הם הרבה יותר קצרים, הזמן על לשיווק עשוי להיות קצר יותר. עם FPGAs/ASICs, המשתמשים חייבים לעתים קרובות לשכור או להתייעץ עם אנשי מקצוע בעלי יכולות תכנון מומחיות. הם עשויים אף להידרש לשגר את הקניין הרוחני (IP-intellectual property) שלהם מחוץ לחברה, תוך סיכון סודיות החומרה, הקושחה והתוכנה. מהצד השני, קוד של GP DSP  ניתן לאכסון בזיכרון read-only memory (ROM) או מוסווה ל-DSP (כגון מוצרי משפחת ה-ADSP-2153x) המגנה יותר על ה-IP. לבסוף, ה-GP DSPs הם מיתכנתים מלא, בניגוד ליישומי ASIC, שם כל שינוי גורר תכנון מחדש יקר (זמן וכסף). גורמים אלה מניעים מהנדסים רבים לראות ב-GP DSP פתרון נבחר, במיוחד כאשר קצבי ליבה יכולים להתקרב לאלה של שבבי “Pentium®-class”.
ה-ADSP-21535, הראשון במשפחת Blackfin של ADI, תוכנן כדי לפעול בצורה מיטבית בסביבת אפיק-מחשב, בשעה שלתכנונים חדשים יותר שיופיעו בקוב (תוך שנה) יהיה ממשק היקפי מקבילי (PPI), המתוכנן במיוחד לעבוד עם נתוני O/I. אולם בינתיים, הכוח של ה-ADSP-21535 עשוי לשמש בתכנונים דחופים, דוגמת יישומי אלחוט, על-ידי השימוש בו יחד עם כמות קטנה של מעגלים חיצוניים הזמינים בקלות.
מהן הסוגיות? ככלל, כדי להבטיח מספיק רוחב-פס עבור עיבוד הנתונים, ה-DSP זקוק למהירות שעון מזערית בסדר גודל (10X) מהיר יותר מאשר קצב הדגימה של הממיר. לעומת זאת, כמות רוחב-הפס הדרושה לעיבוד תלויה ביכולות ממשק ה-DSP, המושפעות בעצמן על-ידי גורמים נוספים אחדים. שיקולים אלה כוללים עיבוד גושים לעומת עיבוד דגימות, הנוכחות של בקר בעל גישת-זיכרון ישירה (direct memory-access – DMA), זיכרון רב-פיתחות (multi-ported) והאם משתמשים ב-FIFOs חיצוניים. למרבה המזל, לADSP-21535- יש בקר DMA מלא הפועל האופן נפרד מהליבה, עם זיכרונות רבי-פיתחות ברמה 1 (L1) וברמה 2 (L2). הצירוף של מהירות ליבה, בקר DMA עצמאי וזיכרון רב-פיתחות גדול על כרטיס (308 Kbytes), מאפשר ל-ADSP-21535 לבצע עיבוד גושים יעיל בקצבי נתונים גבוהים. לדוגמה, אם משתמשים בממשק חיבורי רכיבים היקפי (PCI-peripheral component interconnect) של 33 מגה-הרץ, 32-ביט (4 בייט) התואם Revision 2.2, (לא מוצג ביישום זה), ניתן להשיג רוחב-פס להעברה המתקרב ל-132 MB/s.

איור 1. חיבורים לוגיים חיצוניים בין ה-ADSP-21535 וה-AD9860/AD9862.

יחידת ממשק האפיק החיצוני (EBIU –external bus interface unit) מספקת ממשקים לזיכרונות חיצוניים אסינכרוניים (ASYNC). אם אפיק ה-PCI צריך לשמש לתקשורת מערכת אחרת, ה-EBIU הוא הממשק המקבילי הזמין היחידי לחיבור בין ה-ADSP-21535 לממיר מהיר. השילוב בין הבקרה האסינכרונית מנוהלת-DSP של פיתחה זו עם זרם הנתונים הסינכרוניים של הממירים עלול להוות אתגר מסוים עבור מתכנן המערכת.
מאמר זה מתאר יישום חומרה מיוחד, המשתמש במספר נמוך של פינים, התקני לוגיקת-הדבקה זולה המושגים בקלות, כגון שבב programmable array logic (PAL) , complex programmable logic device (CPLD) או FPGA. לוגיקה זו מבצעת את תפקיד הבקרה בין ה-Mixed Signal Front End (MxFE™) AD9860/AD9862 ואפיק הזיכרון החיצוני של ה-ADSP-21535. היישום המתואר באיור 1 הוא עבור מסוף אלחוטי נייד OFDM (orthogonal frequency-division multiplexed). ה-ADC וה-DAC הם מחולקי-זמנים (time division multiplexed – TDM) דרך ממשק ה-ASYNS של ה-DSP (המידע המוגש כאן תקף גם ל-ADCs ו-DACs מקביליים מהירים).
ניתן להשיג רשומה הנדסית* המתארת את הפרטים של סכימת החיבורים ההדדיים. ההנחה היא שהקורא שולט במידע על ADSP-21535 וה-AD9860/AD9862, כולל  ה-“ADSP-2153x/ADSP21535 Blackfin™ DSP Hardware Reference” ודף הנתונים של AD9860/AD9862. ניתן למצוא אותם ב- http://www.analog.com.

מטרות התכנון

אחת ממטרות התכנון המוקדמות הייתה למזער את כמות לוגיקת הבקרה החיצונית הדרושה כדי למשק את ה-DSP ואת הממירים. מודרכים על-ידי גורם העלות, המהנדסים רצו לבטל כל FIFOs או זיכרון בתוך התקן לוגי חיצוני. אילוץ נוסף היה למנוע את ניתוב אפיקי הנתונים דרך הלוגיקה, ולהקטין בכך את מספר הפינים, גודל המארז ועלות ההתקן הלוגי. התכנון הראשוני המוצג באיור 1 משלב את כל הפונקציות (כולל נעילת הנתונים) בתוך התקן לוגי יחיד. אולם, דגמי ייצור של תכנון זה ישתמשו בנעילות זולות, תלת-מצביות, המונחות על-ידי התקן לוגי. נעילות (או חוצצים) אלה ירבבו (יארזו) את הדגימות מממשק זיכרון ה-DSP אל ה-DAC של 12-/14 ביט כמו גם יפענחו את דגימות ה-ADC 10-/12 ביט אל ממשק זיכרון ה-DSP.

אתגרי התכנון

אחד הגורמים החשובים בתכנון אות מעורב/DSP הוא הבנה מעמיקה של האילוצים והפשרות הנובעים מכך בין ההתקנים. הדיון הבא יציג את הפשרות שיש לשקול כאשר ממשקים ADCs/DACs ל-ADSP-21535.
אחדים מאילוצי התכנון הרציניים הם:
• סכימת אפנון ה-OFDM עבור תכנון זה חייבה קצב דגימה של ממיר של 15.36 MSPS.
• ל-AD9860/AD9862 יש ADC כפול 10-/12 ביט, 64-MSPS ו-DAC כפול 12-/14  ביט128-MSPS .
• שלא כמו במעבדי SHARC®, אשר להם דרישת DMA ואישור DMA (כלומר ניתן לשלוט ב-DMA מהתקנים חיצוניים), ל-ADSP-21535 רק סט אחד של ערוצי זיכרון פנימי DMA (memDMA), עליו יש לשלוט מה-DSP.
בנוסף, כאשר ממשק ה-ASYNC של ADSP-21535 מחובר להתקנים שאינם כוללים FIFOs או זיכרון, יש להבין היטב את כל הכמיסויות (latencies). לדוגמה, כל פעם שה-memDMA נוטש את האפיק אחרי גל של שמונה העברות, הוא דורש עשרה מחזורי SCLK כדי להתחיל את ההעברה הבאה.

מוצרים עתידיים ממשפחת Blackfin ייהנו מרמות קדימות מיתכנתות מבקר ה-DMA, כמו גם בממשק מקבילי מהיר – עם איתות של דרישת DMA ואישור DMA. עם PPI מיוחד, מוצרי Blackfin עתידיים אלה לא ידרשו את ממשק של זיכרון ASYNC כדי להתחבר לממירים מקביליים.
הגישה ששימשה כאן מעריכה שממשק הזיכרון מיועד לממירים בלבד. ריבוב (multiplexing) זיכרון חיצוני SRAM/SDRAM עם הממיר(ים) יהיה קשה ואיננו מומלץ , בעיקר משום שיש רק  memDMA אחד, אותו צריכים לחלק. קיום זיכרון גדול על הכרטיס L2 (256 Kbytes) מצמצם את הצורך בזיכרון חיצוני כלשהו. אולם מותר לרבב את הממיר(ים) המקבילי(ים) עם הבזק או EPROM בשביל תהליך התיחול ההתחלתי.
תכנון זה משתמש בגישה של TDM פלח-זמן (time slice) כדי לחלק את האפיק החיצוני בין ה-ADCs  וה-DACs, מאחר שגישה בו-זמנית איננה אפשרית כאן, משום הזיכרון היחיד ממשק או עם כתיבה או עם קריאה – ויש רק סט אחד של ערוצי memDMA (מקור ויעד).
ה-ADSP-21535 יתמוך ב-SCLK מרבי של 133 מגה-הרץ (רוחב-פס שיא של ה-DMA). בקצב זה , וללא FIFO חיצוני, ה-memDMA יוכל לתמוך בקצב העברה (מילה של 32 ביט) של133 MSPS/10   (תשעה מחזורים דרושים עבור רכישת האפיק ואחד עבור ההעברה הבאה), או 13.3 מגה-מילים בשנייה. אולם, ה-SCLK של ה-ADSP-21535 נגזר משעון הליבה (CCLK). CCLK מיוצר בתורו דרך מחלק ה-PLL, כאשר היחסים הזמינים שלו הם 1 עד 31 – ויש רק ארבעה יחסי חלוקה זמינים: ,2.0, 2.5 , 3.0  ו-4.0. כך ששילוב אפשרי של CCLK ומחלק (divisor) אשר יאפשר SCLK של 133 מגה-הרץ הוא CCLK=266 MHz ו-CCLK/SCLK=2. אבל אם הליבה חייבת לרוץ ב-300 מגה-הרץ, כמו ביישום זה, ה-SCLK הגבוה ביותר שניתן להשיג הוא 120 מגה-הרץ (המחלק=2.5) כדי להישאר מתחת ל-133 מגה-הרץ המרבי.
עתה, מאחר שממשק הזיכרון של ASYNC הוא ברוחב 32 ביט, ניתן לזווד בכל מילה עד שתי דגימות של 16-ביט (במקרה זה I ו-(Q. זה למעשה מחלק לחצי את קצב המילה שה-DSP צריך לעבד (עם קצב דגימת הממיר של 15.36 MSPS, ה-DSP “יראה” (7.68 MSPS. קצב הדגימה הגבוה ביותר של הממיר שה-memDMA יכול לשאת בתנאים אלה הוא 2X120/10=24 MSPS. יתר על כן, ה-SCLK צריך להיות מכפלה שלמה של קצב דגימת הממיר, כדי להבטיח כיוונון מופע נכון בין תזמון הממיר ותזמון ה-DSP וכדי לבטל את הצורך ב-FIFOs חיצוניים כלשהם. לכן, קצב הדגימה הגבוה ביותר של הממיר שה-ADSP-21535 יכול לעמוד בו בקצב ליבה של 300 מגה-הרץ הוא 2X2120/10M=24MSPS או כפליים קצב ה-memDMA, כפי שנדון בדיבר #10 (בסיום המאמר). מאחר שה-DSP יעבד רק נתוני מנות במחצית קצב זה, 12 MSPS הוא הקצב המרבי שה-memDMA יכול לשאת, כלומר 12 M מילים בשנייה. ניתן לעבד על-ידי ה-ADSP-21535 קצבי דגימה גבוהים יותר אם כוללים FIFOs חיצוניים קטנים בין הממיר(ים) וה-EBIU.
_______________
* “למשק את ה-ADSP-2135 עם ממירים מהירים (כגון אלה ב-AD9860/AD9862) דרך אפיק זיכרון חיצוני”. PDF של קובץ זה וקובץ ZIP של קוד התוכנה עבור EE-162 ניתן למצוא בדף היישום DSP תחת EE-162.
<http://www.analog.com/library/applicationNotes/dsp/applicationNotes.html>

 יש לזכור עתה שדרישות ה-OFDM מכתיבות קצב דגימה של הממיר של 15.36-MSPS. כדי לקבל SCLK שהוא מספר שלם מכפיל של קצב הדגימה של ממיר זה, יש לבחור מכפיל phase-locked-loop (PL) שהוא מספר שלם מכפיל של אחד מארבעת יחסי המחלק הזמינים (2.0, 2.5, 3.0 או 4.0). עם מכפיל PLL של 18, ה-CCLK המרבי המותר הוא 276.48 מגה-הרץ. זה בתורו מגביל את ה-SCLK למספר שלם מכפיל של 3, מאחר ש-276.48/3=92.16 MHz (יחס חלוקה של 2 היה נותן SCLK מעבר ל-133 מגה-הרץ המרבי). באילוצים אלה, הקצב המתמשך שה-memDMA יכול לשאת הוא 92.16/10=9.21 M words/s.

שיקולי DMA

יש להפעיל שיקולים זהירים לביצועי ה-DMA המשולבים, הדרושים וה”ממושכים”. מאחר שה-memDMA הוא משאב מחולק על-פני אפיק ה-DMA (DAB), פעילות DMA אחרת מתווכת (arbitrated) על אפיק זה. יישום זה דורש ערוץ טורי של 10 Mbit/s על פיתחה טורית (serial port – SPORT) שצריכה גם לתווך עבור ה-DAB. דבר זה יצרוך 625 K words/s נוספים ב-16 ביט למילה של רוחב הפס של ה-DMA. ה-ADSP-21535 יכול לשאת עד 133 M words/s (בשיא) רוחב-פס DMA, ול-SPORT קדימות גבוהה יותר מאשר ל-memDMA (ראה טבלה 1). כך שעל ה-SPORT DMA לנצל את ההשהיה של 10 מחזורים שצוינה לעיל ולאפשר שימוש של רוב (או כל) ה-9.21 Mwords/s ב-memDMA. קיימים 9.21 M-15.36 M/2(=1.53 M) words/sec של רוחב-פס נוסף, המספקים טווח מספיק כדי לתמוך בקצב  של 7.68 MSPS.

ניתוח של מנוע ה-DMA בתוך ה-ADSP-21535 חושף עוד מספר שיקולים. בעוד מנוע ה-DMA תומך בשני סוגי העברת DMA – מבוסס-מתאר(descriptor)  ומבוסס חוצץ-עצמי (autobuffer) – בקר ה-memDMA אינו תומך ב-DMA מבוסס חוצץ-עצמי. לכן יש להשתמש בהעברות מבוססות-מתאר. מנת המתאר מזיכרון ה-L1/L2 כוללת שתי תנועות גוש בנות 5 מילים, אחת בשביל מתאר המקור והשנייה עבור מתאר היעד. בנוסף, ל-memDMA יש FIFO 16 כניסות 32 ביט המתמלא מהמקור ומתרוקן מהיעד. אם שני המתארים מועמסים בו-זמנית, דרושים 39 מחזורי SCLK (במקרה הגרוע) מה-L2. לעומס מתאר היעד קדימות מעל עומס המקור כדי למנוע ריצה גולשת של ה-FIFO. כך, בדוגמה זו, כמות הזמן הדרושה כדי להעמיס את שני המתארים בו-זמנית היא                  (1/92.16 M)X39=423 ns. עומס המתאר של מנוע ה-DMA מבצע טוב ביותר כאשר המתארים מועמסים מזיכרון L2. אם המתארים ממוקמים  בזיכרון L1, נוצרות השהיות נוספות. זמן ההעמסת המתאר הגרוע ביותר של מקור+יעד  מ-L1 הוא 65 מחזורי SCLK. כדי לעבד נתונים ביעילות בקצבי דגימה אלה, משתמשים לרוב בחוצצי פינג-פונג (בתכנון זה, משתמשים בשני חוצצים בעלי 1024 מילים). טכניקה זו מאפשרת למלא נתונים בחוצץ אחד בשעה שהליבה מעבדת את החוצץ השני. להתייחסות, ניתן להשיג מ-ADI את תכנית הפרויקט המלאה VisualDSP++™2.0.
ישנם כעת שני שלבי פעולה שצריך לנתח: יש לקלוט דגמים על-ידי ה-DSP מה-ADC (שלב מקלט ה-TDM); ויש לשדר דגמים מה-DSP אל ה-DAC (שלב משדר ה-TDM).

שלב מקלט ה-TDM

במהלך שלב המקלט, הנתונים עוברים כך:
 ADC->EBIU-> (source) ->memDMA->FIFO->L1/l2 (destination).
 בקצב דגימת הממיר של 15.36 מגה-הרץ דגימה חדשה של 32 ביט מגיעה ל-DSP  כל 1/7.68M=130.2ns. כפי שרואים מכמיסות זמן ההעמסה של המתאר, שהוא 423 ננו-שניות, יש לעשות משהו כדי למנוע גלישה של ה-DSP ואיבוד דגימות. למרבית המזל, הממירים מחוברים לאפיק חיצוני, ואפיק הכתובות איננו מנוצל כעת. לכן, כאשר מעבירים דגימות לתוך ה-DSP, ניתן לכוון את מתאר המקור בקצב ההעברה המרבי, 65536 מילים, ואת מתאר היעד בגודל העברת חוצץ הפינג-פונג, 1024 מילים. בדרך זו, בשעה שמקבלים פסק מהליבה כל 1024 מילים, רק המתאר של היעד מועמס מחדש, וזמן הטעינה קטן ל-20 SCLKsX1/92.16 M=217 ms. כפי שצוין, תכנון זה משתמש בסכימת TDM בה ה-ADC וה-DAC תופסים פלחי-זמן נפרדים. קצב הריבוב נע בין 5 ל-8 מילי-שניות. מאחר שנתוני ה-ADC וה-DAC הם משולבים, במקרה הגרוע ביותר,הממשק נע מהמקלט למשדר ובחזרה כל 8 מילי-שניות. לכן, 65536 wordsX130.2 ns או 8.5 מילי-שניות הם זמן מספיק, ומתאר המקור צריך רק להיות מכוון פעם אחת בהתחלת כל שלב מקלט TDM. לבסוף, ה-FIFO בעל 16 כניסות של memDMA “מחביא” את זמן הטעינה של מתאר היעד, מאחר שהמקור עדיין ממלא את ה-FIFO בשעה שמתאר היעד נטען מהזיכרון. בתרחיש של המקרה הגרוע ביותר, FIFO ה-memDMA יצבור רק דגימות אחדות של הנתונים לפני שהמתאר נטען מחדש. אזי, דגימות אלו נזרקות אל הזיכרון. כך שהצורך ב-FIFO חיצוני בצד המקלט מבוטל, והדגימות אינן הולכות לאיבוד.

שלב משדר ה-TDM

במשך שלב השידור (נתונים אל ה-DAC), תנועת הנתונים היא בכיוונים נגדיים:
/L1 (source)->memDMA->FIFO->EBIU (destination)->DAC L2.שלא כמו בשלב המקלט, יש לעדכן את מתאר המקור כל 1024 מילים. הדבר ידרוש 20 מחזורי SCLK, או 217 ננו-שניות. אולם, מאחר שה-memDMA 9.21 M words/s)) רץ מעט מהר יותר מאשר קצב הדגימות (7.68 M words/s), הדבר יחזיק 16 דגימות ב-FIFO של memDMA, אשר יזינו את ה-DAC בשעה שהמתאר נטען. ניתן לקבוע את מספר המניות של העברות מתאר היעד ל-65536 מילים. שוב, לא דרוש כל FIFO חיצוני ואין איבוד של דגימות.

סקירת הלוגיקה ותזמון

במניעת הצורך ב-FIFO בלוגיקה החיצונית, עדיין חשוב לסנכרן את שעוני הממירים לשעון מערכת ה-DSP, SCLK. דבר זה מגביל את אופציות השעון של ה-ADSP-21535 בהתאם לקצב הדגימה. לכל הפחות, ה-SCLK חייב להתחלק בקצב הדגימות של הממיר, ועל ה-CCLK להתחלק גם בקצב הדגימה של הממיר (יש רק מחלק לא-שלם אחד, 2.5 והוא עלול לא להיות שימושי במקרים מסוימים). צריך להשתמש בנעילות או בחוצצים חיצוניים כדי לכוונן את הנתונים מהממירים עם תזמון ה-DSP (ראה איורים 2 ו-3 עבור הסטייה וההשהיה של הדגימה). פיתחת SPI של הDSP בעלת 4 תילים מחוברת ישירות לפיתחת SPI של ה-AD9860/AD9862. כדי להבטיח עקיבה ותיחול נכונים, ה-DSP צריך לאפס את הממיר(ים). כדי להקטין עוד יותר את מספר הפינים של הלוגיקה החיצונית, אופציה אחרת הזמינה ב-AD9860/AD9862 (לא מוצגת כאן) מאפשרת לשני ערכי 10-12 ביט של ה-ADCלהיות מרובבים בזמן לתוך אפיק RX/DATA 10-/12 ביט יחיד. בשעה שזה היה מבטל אחד משני האפיקים 10-/12 ביט, הוא היה דורש מהלוגיקה החיצונית לפענח את הנתונים לפני שליחתם ל-DSP.
כל תנועת הנתונים מבוקרת או נשלטת על-ידי ה-memDMA בתוך ה-DSP. כאשר קוראים נתונים מה-ADC (ראה איור 2), הלוגיקה החיצונית צריכה להפעיל את הנתונים ואת אות ה-ARDY. הלוגיקה החיצונית צריכה לדגום את פין ה-/AOE כדי לבדוק מתי אפשר להעביר נתונים אל ה-ADSP-21535. אות ה-/AOE  מסמן ללוגיקה החיצונית שבקר ה-DMA מוכן לקבל נתונים. המכונה בעלת שלושה מצבים של המקלט מוצגת בתחתית האיור.
כאשר שולחים נתונים אל ה-DAC (ראה איור 3), הלוגיקה החיצונית צריכה לדגום את אות ה-/AWE ואז להפעיל את ה-ARDY. /AWE מראה ללוגיקה החיצונית מתי בקר ה-DMA מוכן לקבל נתונים חדשים. המכונה בעלת ארבעה המצבים של המשדר מוצגת בתחתית האיור.

איור 2. תזמון הקליטה ומכונת המצבים

איור 3. תזמון השידור ומכונת המצבים
סיכום

אף שה-ADSP-21535 לא תוכנן במיוחד למשק עם ממירים מקביליים מהירים, הוא זמין כעת, ביחד עם כל יתר היתרונות שלו, עבור תכנון הדורש זמן קצר לשיווק. התקני הדור החדש, כגון ה-ADSP-21532 בעלי ממשק היקפי מקבילי מיוחד (PPI), יגיעו בקרוב ויספקו פתרונות יותר סופיים ביישומים בעלות מופחתת. כדי למלא אחר צורך דחוף, אנחנו מציעים פיתרון זול “חופשי מ-FIFO” שניתן להשתמש בו עד שהרכיבים של הדור הבא יהיו זמינים בכמויות ייצור. זה יאפשר ל-ADSP-21535 בעל 300 מגה-הרץ של היום למשק עם ADCs ו-DACs עם קצבי דגימה של עד 24 MSPS. אם ליבת ה-ADSP-21535 ניתנת לסנכרון ב-266 מגה-הרץ, קצב הדגימה הגבוה ביותר של הממיר מוגבל רק על-ידי ה-SCLK המרבי שה-ADSP-21535  יכול לשאת (133 מגה-הרץ) והכמיסות 10 מחזורים בין –הפרצים של ה-memDMA: 2X 133 M/10=26.6 MHz.

סדרת חוקי הממשק הבאים, או “עשרת הדברות”, יסייעו למיטוב ביצועי ה-ADSP-21535 בשימוש עם ממירים מהירים:

עשרת הדברות של ה-ADSP-21535

1. תדר הליבה המרבי המותר ל-ADSP-21535 הוא 300 מגה-הרץ.
2. שעון המערכת המרבי המותר (SCLK) הוא 133 מגה-הרץ.
3. ל-memDMA של ה-ADSP-21535 כמיסות רכישה מחדש במקרה הגרוע ביותר של 10  מחזורים כל פעם שאפיק ה-DMA נעזב.
4. השג את ה-SCLK של ADSP-21535 מה-CCLK: יש ארבעה יחסי חלוקה בין ה-CCLK וה-SCLK (2.0, 2.5, 3.0 ו-4.0).
5. אם ליבת ה-ADSP-21535 רצה במהירות המרבית (300 מגה-הרץ), ה-SCLK המרבי הוא 120 מגה-הרץ. ראה דיבר 1, 2 ו-4.
6. קצב ה-memDMA של ה-ADSP-21535 הוא 133M/10=13.3 words. ראה דיבר 2 ו-3.
7. כדי להשיג את ה-SCLK המהיר ביותר (133 מגה-הרץ)  וקצב ההעברה של ה-memDMA ((13.3 words/s של ה-ADSP-21535, על הליבה לא לרוץ בתדר מרבי, אלא ב-266 מגה-הרץ, עם יחס חלוקה של 2 ב-CCLK/SCLK. הדבר צורך רק 34 MIPS.
8. כאשר לא משתמשים ב-FIFOs חיצוניים, ליבת ה-ADSP-21535 צריכה לפעול בקצב מזערי של סדר גודל (10X) יותר גדול מקצב הדגימה של הממיר למישוק חיצוני כדי לספק רוחב-פס מספיק לעיבוד.
9. כדי לבטל את הצורך ב- FIFOs חיצוניים,  ה- SCLKשל ה-ADSP-21535 צריך להיות כפולה שלמה של קצב דגימת המישוק החיצוני של הממיר כדי להבטיח כיוונון מופע תקין בין תזמון הממיר ותזמון ה-DSP.
10. כדי לחלק לשניים את קצב הדגימה שעל ה-DSP לעבד, הלוגיקה החיצונית צריכה לצרף עד שני דגימות 16-ביט בכל מילה של 32 ביט. למעשה, קצב הדגימה המרבי של הממיר הוא כפליים קצב ה-memDMA אם שתי מילים בנות 16 ביט כלולות במילה אחת של 32 ביט.

תגובות סגורות