Talaan ng mga Nilalaman:

Disenyo ng I2C Master sa VHDL: 5 Mga Hakbang
Disenyo ng I2C Master sa VHDL: 5 Mga Hakbang

Video: Disenyo ng I2C Master sa VHDL: 5 Mga Hakbang

Video: Disenyo ng I2C Master sa VHDL: 5 Mga Hakbang
Video: PMIC Inputs and Outputs on Motherboard: Mastering Current 2024, Hulyo
Anonim
Disenyo ng I2C Master sa VHDL
Disenyo ng I2C Master sa VHDL

Sa itinuturo na ito, tinalakay ang pagdidisenyo ng isang simpleng master ng I2C sa VHDL.

TANDAAN: mag-click sa bawat imahe upang makita ang buong imahe

Hakbang 1: Pangkalahatang-ideya ng I2C Bus

• Nananatili para sa Inter Integrated Circuit.

• Kasabay, Half duplex.

• Dalawang Wire Interface - SDA at SCL.

• SDA - Serial Data line na kinokontrol ng Master at Slave

• SCL - Serial Clock na binuo ng Master

• Multi-master, Multi-slave protocol.

• Dalawang mode - 100 kbits / sec at 400 kbits / sec: mabagal at mabilis.

Hakbang 2: Disenyo ng RTL sa VHDL

Mga Detalye ng Disenyo ng aming I2C Master

  • 8-bit na frame ng data.
  • Ang kontrol ng uni-direksyong SCL lamang.
  • 7-bit na address ng alipin.
  • Sinusuportahan ang parehong mabagal at mabilis na mga mode.
  • Single Master, Multi-alipin.
  • Sumunod sa orihinal na mga spec ng I2C ng Philips.

Purong RTL code ang ginamit. Kaya't ang IP ay madaling dalhin sa lahat ng mga FPGA. Ang compact FSM batay sa disenyo gamit ang panloob na nabuong orasan ay nagsisiguro ng pinakamainam na lugar at pagganap.

Hakbang 3: Simulation at Pagsubok

Kapaligirang pang eksperiment

  • Functional na simulation at pagsubok gamit ang third-party I2C Slave IP.
  • Na-synthesize gamit ang Xilinx Vivado tool set.
  • Naipatupad at nasubok sa Artix-7 FPGA board.
  • Ang oras na na-verify na disenyo para sa 100 MHz.
  • Sinubukan ang mga form ng alon sa DSO / CRO.
  • Matagumpay na nasubukan ang komunikasyon sa Arduino UNO bilang I2C Slave.

Hakbang 4: Mahalagang Tala

  • Habang sinusubukan ang Master gamit ang I2C Slave IP, i-configure ang code ng alipin ayon sa iyong mga kinakailangan. Maaaring gusto mong baguhin ang default na dalas ng orasan at address ng alipin. Ang dalas ng orasan ay dapat ding mai-configure sa Master code.
  • Habang on-board na pagsubok, huwag kalimutan ang mga pull-up resistor dahil ang linya ng SDA ay karaniwang output ng alisan ng tubig !!! Suriin ang google para sa inirekumendang resistor na pull-up para sa iba't ibang mga bilis ng i2c. Gumamit ako ng 2.2K para sa 100 kHz.
  • Kung hindi gumagamit ng bench ng pagsubok at gayahin ang Master nang nakapag-iisa, maingat na gayahin ang signal ng SDA, dahil ito ay isang signal na bi-directional signal (inout). Mayroon itong dalawang driver, panig ng master at panig ng alipin. Dapat mong malaman kung kailan dapat 'pilitin' at kung kailan dapat 'mag-isip'.
  • Ang linya ng SCL ay unidirectional. Hindi na kailangan ng pull-up.
  • Mangyaring pumunta sa pamamagitan ng IP Documentation nang lubusan.

Hakbang 5: Nakalakip ang Mga File

  • Lahat ng mga RTL code ng I2C Master.
  • Test bench, I2C Slave code din, para sa pagsubok.
  • Dokumentasyon ng IP.

Para sa anumang mga query, huwag mag-atubiling makipag-ugnay sa akin:

Mitu Raj

sundan ako:

Para sa mga query, makipag-ugnay sa: [email protected]

Inirerekumendang: