فهرست مطالب:

طراحی SPI Master در VHDL: 6 مرحله
طراحی SPI Master در VHDL: 6 مرحله

تصویری: طراحی SPI Master در VHDL: 6 مرحله

تصویری: طراحی SPI Master در VHDL: 6 مرحله
تصویری: SPI Master in FPGA, VHDL Code Example 2024, جولای
Anonim
طراحی SPI Master در VHDL
طراحی SPI Master در VHDL

در این قسمت آموزشی ، ما قصد داریم یک SPI Bus Master را از ابتدا در VHDL طراحی کنیم.

مرحله 1: مروری بر SPI

  • SPI یک گذرگاه سریال همزمان است
  • محبوبیت و سادگی آن را به یک استاندارد عملا در ارتباط سریال تبدیل کرد
  • اتوبوس فول دوبلکس
  • پروتکل ساده و در میان سریعترین گذرگاه سریال

مرحله 2: مشخصات طراحی

اینها مشخصات SPI Master است که ما قصد داریم طراحی کنیم:

  • پشتیبانی از هر چهار حالت عملکرد ؛ به صورت پویا قابل تنظیم است
  • فعال کردن ساعت برای صرفه جویی در مصرف برق
  • طول و سرعت کلمه قابل تنظیم استاتیک
  • وقفه تکی برای انتقال و دریافت

مرحله 3: شروع به کار

اول از همه ، IP ما باید دارای دو رابط باشد. یکی رابط سریال و دیگری رابط موازی است. رابط سریال متشکل از سیگنال های استاندارد de-facto استاندارد SPI است: MOSI ، MISO ، SS ، SCLK.

MOSI گاهی SDO و MISO گاهی SDI نامیده می شود.

رابط سریال برای ارتباط با لوازم جانبی خارجی ، یعنی برده های SPI استفاده می شود.

رابط موازی برای ارتباط با میزبان ما ، یعنی یک میکروکنترلر یا ریزپردازنده استفاده می شود که در واقع به استاد می گوید که چه داده هایی باید به صورت سری از طریق خطوط سریال منتقل و دریافت شوند. یعنی همه گذرگاه های داده متعلق به رابط موازی هستند.

ما یک ساعت جهانی داریم که منطق SPI داخلی را هدایت می کند ، و همچنین SCLK ، که ما آن را به صورت داخلی تولید می کنیم.

ما همچنین برخی از سیگنال های کنترل مانند نوشتن فعال ، فعال کردن ساعت را داریم. وقفه و سایر سیگنال های وضعیت.

از آنجا که ما باید با شرایط کنترل پیچیده برخورد کنیم ، طراحی IP های ارتباطی سریالی به عنوان FSM ساده تر است. ما SPI master را به عنوان FSM نیز طراحی خواهیم کرد. FSM توسط یک ساعت داخلی دیگر هدایت می شود که دو برابر SCLK است. این ساعت داخلی با استفاده از شمارنده های همزمان از ساعت جهانی تولید می شود.

همه سیگنال های کنترلی که دامنه های ساعت را متقاطع می کنند دارای هماهنگ کننده هایی هستند که در طرف امن تر قرار دارند.

مرحله 4: نمای RTL از SPI Master Core و شبیه سازی موج

نمای RTL از SPI Master Core و شبیه سازی موج
نمای RTL از SPI Master Core و شبیه سازی موج
نمای RTL از SPI Master Core و شبیه سازی موج
نمای RTL از SPI Master Core و شبیه سازی موج

این یک طراحی RTL برهنه است و از IP های FPGA اختصاصی استفاده نشده است. بنابراین یک کد کاملاً قابل حمل برای هر FPGA است.

توصیه شده: