תוכן עניינים:

עיצוב SPI Master ב- VHDL: 6 שלבים
עיצוב SPI Master ב- VHDL: 6 שלבים

וִידֵאוֹ: עיצוב SPI Master ב- VHDL: 6 שלבים

וִידֵאוֹ: עיצוב SPI Master ב- VHDL: 6 שלבים
וִידֵאוֹ: Делаем бриллианты из мусора. Вам точно понравится шить таким способом DIY мастер-класс 2024, יולי
Anonim
עיצוב SPI Master ב- VHDL
עיצוב SPI Master ב- VHDL

במדריך זה אנו הולכים לעצב מאסטר SPI Bus מאפס ב- VHDL.

שלב 1: סקירה כללית של SPI

  • SPI הוא אוטובוס סדרתי סינכרוני
  • הפופולריות והפשטות שלו הפכו אותו לסטנדרט בפועל בתקשורת הסדרתית
  • אוטובוס בדופלקס מלא
  • פרוטוקול פשוט ובין האוטובוס הטורי המהיר ביותר

שלב 2: מפרט עיצוב

אלה המפרט של ה- SPI Master שאנו מתכננים לעצב:

  • תומך בכל ארבעת דרכי הפעולה; ניתנת להגדרה דינאמית
  • שעון מאפשר שליטה לחיסכון בחשמל
  • אורך ומהירות מילה הניתנת להגדרה סטטית
  • הפרעה יחידה הן לשידור והן בקבלה

שלב 3: התחלה

קודם כל, ה- IP שלנו צריך להיות בעל שני ממשקים. האחד הוא ממשק סידורי והשני הוא ממשק מקביל. הממשק הטורי מורכב מהאותות הסטנדרטיים דה-פקטו של SPI: MOSI, MISO, SS, SCLK.

MOSI נקרא לפעמים SDO ו- MISO נקרא לפעמים SDI.

ממשק סידורי משמש לתקשורת עם ציוד היקפי חיצוני, כלומר עבדי SPI.

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

יש לנו שעון גלובלי שמניע את ההיגיון SPI הפנימי, כמו גם את SCLK, אותו אנו מייצרים באופן פנימי.

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

מכיוון שעלינו להתמודד עם תנאי בקרה מורכבים, פשוט יותר לתכנן כתובות IP תקשורתיות טוריות כ- FSM. אנו נעצב את SPI master גם כ- FSM. ה- FSM יונע על ידי שעון פנימי אחר שהוא פי SCLK. שעון פנימי זה נוצר באמצעות מונים סינכרוניים מהשעון הגלובלי.

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

שלב 4: תצוגת RTL של ליבות הליבה הראשיות של SPI וצורות גל סימולציה

תצוגת RTL של ליבות הליבה הראשיות של SPI וצורות גל סימולציה
תצוגת RTL של ליבות הליבה הראשיות של SPI וצורות גל סימולציה
תצוגת RTL של ליבות הליבה הראשיות של SPI וצורות גל סימולציה
תצוגת RTL של ליבות הליבה הראשיות של SPI וצורות גל סימולציה

זהו עיצוב RTL חשוף ללא שימוש ב- IPS FPGA ייעודי. מכאן שהוא קוד נייד לחלוטין לכל FPGA.

מוּמלָץ: