فهرست مطالب:

طراحی I2C Master در VHDL: 5 مرحله
طراحی I2C Master در VHDL: 5 مرحله

تصویری: طراحی I2C Master در VHDL: 5 مرحله

تصویری: طراحی I2C Master در VHDL: 5 مرحله
تصویری: آموزش برنامه نویسی وی اچ دی ال VHDL یا زبان توصیف سخت افزار در ISE 2024, نوامبر
Anonim
طراحی I2C Master در VHDL
طراحی I2C Master در VHDL

در این مقاله آموزشی ، طراحی یک استاد ساده I2C در VHDL مورد بحث قرار گرفته است.

توجه: برای مشاهده تصویر کامل روی هر تصویر کلیک کنید

مرحله 1: مرور گذرگاه I2C

• مخفف Circuit Integrated Circuit.

• همزمان ، نیمه دوبلکس.

• رابط دو سیم - SDA و SCL.

• SDA - خط داده سریال که توسط Master and Slave کنترل می شود

• SCL - ساعت سریال تولید شده توسط Master

• پروتکل Multi-master ، Multi-slave.

• دو حالت - 100 kbits/sec و 400 kbits/sec: آهسته و سریع.

مرحله 2: طراحی RTL در VHDL

مشخصات طراحی استاد I2C ما

  • قاب داده 8 بیتی
  • کنترل SCL فقط جهت دار
  • آدرس برده 7 بیتی.
  • هر دو حالت آهسته و سریع را پشتیبانی می کند.
  • استاد مجرد ، چند برده.
  • مطابق با مشخصات اصلی I2C توسط فیلیپس.

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

مرحله 3: شبیه سازی و آزمایش

محیط آزمایش

  • شبیه سازی و آزمایش عملکرد با استفاده از IP شخص ثالث I2C.
  • با استفاده از مجموعه ابزار Xilinx Vivado سنتز شده است.
  • پیاده سازی و آزمایش بر روی برد Artix-7 FPGA.
  • زمانبندی طراحی تأیید شده برای 100 مگاهرتز.
  • آزمایش موج های شکل بر روی DSO/CRO
  • ارتباط با Arduino UNO به عنوان I2C Slave با موفقیت آزمایش شد.

مرحله 4: نکات مهم

  • هنگام آزمایش Master با استفاده از IP Slave I2C ، کد برده را مطابق نیاز خود پیکربندی کنید. ممکن است بخواهید فرکانس ساعت پیش فرض و آدرس برده را تغییر دهید. فرکانس ساعت نیز باید در کد اصلی تنظیم شود.
  • هنگام آزمایش روی صفحه ، مقاومتهای کششی را فراموش نکنید زیرا خط SDA خروجی معمولی تخلیه است !!! Google را برای مقاومت کشش توصیه شده برای سرعتهای مختلف i2c بررسی کنید. من از 2.2K برای 100 کیلوهرتز استفاده کردم.
  • اگر از نیمکت آزمایش و شبیه سازی مستر به طور مستقل استفاده نمی کنید ، سیگنال SDA را با دقت شبیه سازی کنید ، زیرا یک سیگنال دو جهته (ورودی) است. دارای دو درایور ، جانبی اصلی و جانبی است. شما باید بدانید چه موقع "مجبور" کنید و چه موقع "مجبور" کنید.
  • SCL یک خط یک طرفه است. نیازی به کشیدن نیست
  • لطفاً از طریق اسناد IP به طور کامل بروید.

مرحله 5: فایل های پیوست شده

  • تمام کدهای RTL I2C Master.
  • نیمکت تست ، کدهای Slave I2C نیز برای آزمایش.
  • مستندات IP

برای هرگونه سوال ، با من تماس بگیرید:

میتو راج

مرا دنبال کنید:

برای سوالات ، با: [email protected] تماس بگیرید

توصیه شده: