Isi kandungan:

Reka bentuk Master I2C dalam VHDL: 5 Langkah
Reka bentuk Master I2C dalam VHDL: 5 Langkah

Video: Reka bentuk Master I2C dalam VHDL: 5 Langkah

Video: Reka bentuk Master I2C dalam VHDL: 5 Langkah
Video: Cara menggunakan layar LCD LCD2004 dengan modul I2C untuk Arduino 2024, November
Anonim
Reka bentuk Master I2C dalam VHDL
Reka bentuk Master I2C dalam VHDL

Dalam arahan ini, dibincangkan Merancang master I2C sederhana dalam VHDL.

CATATAN: klik pada setiap gambar untuk melihat gambar penuh

Langkah 1: Gambaran Keseluruhan Bas I2C

• bermaksud Litar Bersepadu Antara.

• Dwi-dupleks segerak.

• Antara Muka Dua Kawat - SDA dan SCL.

• SDA - Talian Data bersiri dikendalikan oleh Master dan Slave

• SCL - Jam Bersiri dihasilkan oleh Master

• Protokol multi-master, Multi-slave.

• Dua mod - 100 kbits / saat dan 400 kbits / saat: perlahan dan pantas.

Langkah 2: Reka Bentuk RTL dalam VHDL

Spesifikasi Reka Bentuk Master I2C kami

  • Rangka data 8-bit.
  • Kawalan tanpa arah SCL sahaja.
  • Alamat hamba 7-bit.
  • Menyokong mod perlahan dan pantas.
  • Tuan Tunggal, Pelbagai hamba.
  • Mematuhi spesifikasi I2C asli oleh Philips.

Kod RTL tulen digunakan. Oleh itu IP mudah dibawa ke semua FPGA. Reka bentuk berasaskan FSM padat menggunakan jam yang dihasilkan secara dalaman memastikan kawasan dan prestasi yang optimum.

Langkah 3: Simulasi dan Ujian

Persekitaran Ujian

  • Simulasi dan pengujian berfungsi menggunakan IP Slave I2C pihak ketiga.
  • Disintesis menggunakan set alat Xilinx Vivado.
  • Dilaksanakan dan diuji pada papan Artix-7 FPGA.
  • Reka bentuk masa disahkan untuk 100 MHz.
  • Bentuk gelombang yang diuji pada DSO / CRO.
  • Berjaya menguji komunikasi dengan Arduino UNO sebagai I2C Slave.

Langkah 4: Catatan Penting

  • Semasa menguji Master menggunakan I2C Slave IP, konfigurasikan kod hamba sesuai dengan keperluan anda. Anda mungkin mahu menukar frekuensi jam lalai dan alamat hamba. Frekuensi jam juga harus dikonfigurasikan dalam kod Induk.
  • Semasa ujian di atas kapal, jangan lupa pull-up resistors kerana garis SDA adalah output longkang biasa !!! Periksa google untuk perintang pull-up yang disyorkan untuk kelajuan i2c yang berbeza. Saya menggunakan 2.2K untuk 100 kHz.
  • Sekiranya tidak menggunakan bangku ujian dan mensimulasikan Master secara bebas, simulasi isyarat SDA dengan teliti, kerana ia adalah isyarat isyarat dua arah (masuk). Ia mempunyai dua pemandu, sisi tuan dan sisi hamba. Anda harus tahu kapan harus 'memaksa' dan kapan 'memaksa'.
  • SCL adalah garis sehala. Tidak perlu pull-up.
  • Sila pergi melalui Dokumentasi IP secara menyeluruh.

Langkah 5: Fail Dilampirkan

  • Semua kod RTL Master I2C.
  • Bangku ujian, kod Slave I2C juga, untuk ujian.
  • Dokumentasi IP.

Untuk sebarang pertanyaan, sila hubungi saya:

Mitu Raj

ikuti saya:

Untuk pertanyaan, hubungi: [email protected]

Disyorkan: