Mündəricat:

VHDL -də I2C Master dizaynı: 5 addım
VHDL -də I2C Master dizaynı: 5 addım

Video: VHDL -də I2C Master dizaynı: 5 addım

Video: VHDL -də I2C Master dizaynı: 5 addım
Video: M12 - 9 - I2C Master Controller Design - HDL 2024, Iyul
Anonim
VHDL -də I2C Master dizaynı
VHDL -də I2C Master dizaynı

Bu təlimatda VHDL -də sadə bir I2C ustasının dizaynı müzakirə olunur.

QEYD: Tam görüntünü görmək üçün hər bir görüntüyə vurun

Addım 1: I2C Avtobusuna Baxış

• Inter Integrated Circuit üçün dayanır.

• Sinxron, Yarım dupleks.

• İki telli interfeys - SDA və SCL.

• SDA - Master və Slave tərəfindən idarə olunan Serial Data xətti

• SCL - Master tərəfindən yaradılan Serial Clock

• Multi-master, Multi-slave protokolu.

• İki rejim - 100 kbit/san və 400 kbit/san: yavaş və sürətli.

Addım 2: VHDL -də RTL Dizaynı

I2C ustamızın dizayn xüsusiyyətləri

  • 8 bitlik məlumat çərçivəsi.
  • SCL yalnız bir istiqamətli nəzarət.
  • 7-bit kölə ünvanı.
  • Həm yavaş, həm də sürətli rejimləri dəstəkləyir.
  • Tək Usta, Çox qul.
  • Philips -in orijinal I2C xüsusiyyətlərinə uyğundur.

Təmiz RTL kodu istifadə olunur. Beləliklə, IP bütün FPGA -lar arasında asanlıqla daşınır. Daxili olaraq yaradılan saatdan istifadə edərək kompakt FSM əsaslı dizayn optimal sahə və performans təmin edir.

Addım 3: Simulyasiya və Test

Test mühiti

  • Üçüncü tərəf I2C Slave IP istifadə edərək funksional simulyasiya və sınaq.
  • Xilinx Vivado alət dəsti ilə sintez edilmişdir.
  • Artix-7 FPGA lövhəsində tətbiq və sınaqdan keçirildi.
  • 100 MHz üçün təsdiqlənmiş dizayn vaxtı.
  • DSO/CRO -da sınaqdan keçirilmiş dalğa formaları.
  • I2C Slave olaraq Arduino UNO ilə ünsiyyət uğurla sınaqdan keçirildi.

Addım 4: Əhəmiyyətli Qeydlər

  • Masterı I2C Slave IP istifadə edərək sınayarkən, qul kodunu tələblərinizə uyğun olaraq konfiqurasiya edin. Varsayılan saat tezliyini və kölə ünvanını dəyişdirmək istəyə bilərsiniz. Saat tezliyi də Master kodunda konfiqurasiya edilməlidir.
  • Bortda sınaqdan keçirərkən, çəkmə rezistorlarını unutmayın, çünki SDA xətti ümumi bir drenaj çıxışıdır !!! Fərqli i2c sürətləri üçün Google-a tövsiyə olunan çəkmə müqavimətini yoxlayın. 100 kHz üçün 2.2K istifadə etdim.
  • Test skamyasından istifadə etmədən və Master-i müstəqil olaraq simulyasiya etməsəniz, iki yönlü bir siqnal (giriş) siqnalı olduğu üçün SDA siqnalını diqqətlə simulyasiya edin. Usta tərəfi və qul tərəfi olmaqla iki sürücüsü var. Nə vaxt "məcbur etməli" və nə vaxt "məcbur etməli" olduğunu bilməlisən.
  • SCL bir istiqamətli xətdir. Çəkməyə ehtiyac yoxdur.
  • Zəhmət olmasa IP Sənədlərini diqqətlə araşdırın.

Addım 5: Fayllar əlavə olunur

  • I2C Master -in bütün RTL kodları.
  • Test tezgahı, test üçün I2C Slave kodları.
  • IP Sənədləri.

Hər hansı bir sualınız üçün mənimlə əlaqə saxlaya bilərsiniz:

Mitu Raj

məni izləyin:

Sorğular üçün əlaqə saxlayın: [email protected]

Tövsiyə: