Daftar Isi:
- Langkah 1: Tinjauan Bus I2C
- Langkah 2: Desain RTL di VHDL
- Langkah 3: Simulasi dan Pengujian
- Langkah 4: Catatan Penting
- Langkah 5: File Terlampir
Video: Desain Master I2C di VHDL: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Dalam instruksi ini, Merancang master I2C sederhana dalam VHDL dibahas.
CATATAN: klik pada setiap gambar untuk melihat gambar penuh
Langkah 1: Tinjauan Bus I2C
• Singkatan dari Inter Integrated Circuit.
• Sinkron, Setengah dupleks.
• Antarmuka Dua Kawat - SDA dan SCL.
•SDA – Jalur Data Serial dikendalikan oleh Master dan Slave
•SCL – Jam Serial yang dihasilkan oleh Master
• Multi-master, Multi-slave protokol.
• Dua mode - 100 kbit/detik dan 400 kbit/detik: lambat dan cepat.
Langkah 2: Desain RTL di VHDL
Spesifikasi Desain Master I2C kami
- bingkai data 8-bit.
- Kontrol uni-directional SCL saja.
- alamat budak 7-bit.
- Mendukung mode lambat dan cepat.
- Master Tunggal, Multi-budak.
- Sesuai dengan spesifikasi I2C asli dari Philips.
Kode RTL murni digunakan. Jadi IP mudah dibawa-bawa di semua FPGA. Desain berbasis FSM yang ringkas menggunakan jam yang dihasilkan secara internal memastikan area dan kinerja yang optimal.
Langkah 3: Simulasi dan Pengujian
Lingkungan Uji
- Simulasi dan pengujian fungsional menggunakan IP Slave I2C pihak ketiga.
- Disintesis menggunakan set alat Xilinx Vivado.
- Diimplementasikan dan diuji pada papan FPGA Artix-7.
- Desain waktu diverifikasi untuk 100 MHz.
- Bentuk gelombang yang diuji pada DSO/CRO.
- Berhasil menguji komunikasi dengan Arduino UNO sebagai I2C Slave.
Langkah 4: Catatan Penting
- Saat menguji Master menggunakan IP Slave I2C, konfigurasikan kode slave sesuai kebutuhan Anda. Anda mungkin ingin mengubah frekuensi clock default dan alamat slave. Frekuensi jam harus dikonfigurasi dalam kode Master juga.
- Saat pengujian on-board, jangan lupa resistor pull-up karena jalur SDA adalah keluaran saluran umum !!! Periksa google untuk resistor pull-up yang direkomendasikan untuk kecepatan i2c yang berbeda. Saya menggunakan 2.2K untuk 100 kHz.
- Jika tidak menggunakan bangku tes dan mensimulasikan Master secara independen, simulasikan sinyal SDA dengan hati-hati, karena ini adalah sinyal dua arah (masuk). Ini memiliki dua driver, sisi master dan sisi budak. Anda harus tahu kapan harus 'memaksa' dan kapan harus 'memaksa'.
- SCL adalah garis searah. Tidak perlu pull up.
- Silakan pergi melalui Dokumentasi IP secara menyeluruh.
Langkah 5: File Terlampir
- Semua kode RTL dari I2C Master.
- Bangku tes, kode Slave I2C juga, untuk pengujian.
- Dokumentasi IP.
Untuk setiap pertanyaan, jangan ragu untuk menghubungi saya:
Mitu Raj
ikuti saya:
Untuk pertanyaan, hubungi: [email protected]
Direkomendasikan:
Desain Kontroler Cache Asosiatif Set Empat Arah Sederhana di VHDL: 4 Langkah
Desain Pengontrol Cache Asosiatif Set Empat Arah Sederhana di VHDL: Dalam instruksi saya sebelumnya, kita melihat bagaimana merancang pengontrol cache sederhana yang dipetakan langsung. Kali ini, kita selangkah lebih maju. Kami akan merancang pengontrol cache asosiatif set empat arah sederhana. Keuntungan ? Lebih sedikit miss rate, tetapi dengan biaya kinerja
Desain Pengontrol Interupsi yang Dapat Diprogram di VHDL: 4 Langkah
Desain Pengontrol Interupsi yang Dapat Diprogram di VHDL: Saya kewalahan dengan jenis tanggapan yang saya dapatkan di blog ini. Terima kasih teman-teman telah mengunjungi blog saya dan memotivasi saya untuk berbagi pengetahuan dengan Anda. Kali ini saya akan menyajikan desain modul menarik lainnya yang kita lihat di semua SOC -- Interrupt C
Desain Pengontrol Cache Sederhana di VHDL: 4 Langkah
Desain Pengontrol Cache Sederhana di VHDL: Saya menulis instruksi ini, karena saya merasa agak sulit untuk mendapatkan beberapa kode referensi VHDL untuk belajar dan mulai merancang pengontrol cache. Jadi saya merancang pengontrol cache sendiri dari awal, dan mengujinya dengan sukses di FPGA. saya punya p
Desain Pengendali VGA Sederhana di VHDL dan Verilog: 5 Langkah
Desain Pengendali VGA Sederhana di VHDL dan Verilog: Dalam instruksi ini, kita akan merancang Pengendali VGA sederhana di RTL. VGA Controller adalah sirkuit digital yang dirancang untuk menggerakkan tampilan VGA. Ini membaca dari Frame Buffer (Memori VGA) yang mewakili frame yang akan ditampilkan, dan menghasilkan kebutuhan
Desain Master SPI di VHDL: 6 Langkah
Desain Master SPI di VHDL: Dalam instruksi ini, kita akan mendesain Master Bus SPI dari awal di VHDL