İçindekiler:
- 1. Adım: I2C Veri Yoluna Genel Bakış
- Adım 2: VHDL'de RTL Tasarımı
- 3. Adım: Simülasyon ve Test Etme
- 4. Adım: Önemli Notlar
- Adım 5: Eklenen Dosyalar
Video: VHDL'de I2C Master Tasarımı: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Bu talimatta, VHDL'de basit bir I2C master tasarlama tartışılmaktadır.
NOT: Tam resmi görmek için her resmin üzerine tıklayın
1. Adım: I2C Veri Yoluna Genel Bakış
• İnter Integrated Circuit anlamına gelir.
•Senkron, Yarım dubleks.
•İki Telli Arayüz - SDA ve SCL.
•SDA – Master ve Slave tarafından kontrol edilen Seri Veri hattı
•SCL – Master tarafından oluşturulan Seri Saat
•Multi-master, Multi-slave protokolü.
•İki mod - 100 kbit/sn ve 400 kbits/sn: yavaş ve hızlı.
Adım 2: VHDL'de RTL Tasarımı
I2C Master'ımızın Tasarım Özellikleri
- 8 bit veri çerçevesi.
- Yalnızca SCL tek yönlü kontrol.
- 7 bit bağımlı adres.
- Hem yavaş hem de hızlı modları destekler.
- Tek Efendi, Çok Köle.
- Philips'in orijinal I2C özelliklerine uygundur.
Saf RTL kodu kullanılır. Böylece IP, tüm FPGA'lar arasında kolayca taşınabilir. Dahili olarak oluşturulan saati kullanan kompakt FSM tabanlı tasarım, optimum alan ve performans sağlar.
3. Adım: Simülasyon ve Test Etme
Test ortamı
- Üçüncü taraf I2C Slave IP kullanarak fonksiyonel simülasyon ve test.
- Xilinx Vivado araç seti kullanılarak sentezlendi.
- Artix-7 FPGA kartında uygulandı ve test edildi.
- 100 MHz için zamanlama doğrulanmış tasarım.
- DSO/CRO'da test edilmiş dalga formları.
- Arduino UNO ile I2C Slave olarak iletişim başarıyla test edildi.
4. Adım: Önemli Notlar
- Master'ı I2C Slave IP kullanarak test ederken, bağımlı kodunu gereksinimlerinize göre yapılandırın. Varsayılan saat frekansını ve bağımlı adresi değiştirmek isteyebilirsiniz. Saat frekansı da Ana kodda yapılandırılmalıdır.
- Yerleşik testler sırasında, SDA hattı ortak tahliye çıkışı olduğundan pull-up dirençlerini unutmayın !!! Farklı i2c hızları için önerilen çekme direnci için google'a bakın. 100 kHz için 2.2K kullandım.
- Test tezgahı kullanmıyorsanız ve Master'ı bağımsız olarak simüle ediyorsanız, çift yönlü bir sinyal (giriş) sinyali olduğu için SDA sinyalini dikkatlice simüle edin. Master tarafı ve slave tarafı olmak üzere iki sürücüsü vardır. Ne zaman 'zorlama' ve ne zaman 'zorlamadan çıkarma' gerektiğini bilmelisiniz.
- SCL tek yönlü bir çizgidir. Pull-up'a gerek yok.
- Lütfen IP Belgelerini baştan sona gözden geçirin.
Adım 5: Eklenen Dosyalar
- I2C Master'ın tüm RTL kodları.
- Test tezgahı, I2C Slave kodları da test için.
- IP Belgeleri.
Herhangi bir sorunuz için benimle iletişime geçmekten çekinmeyin:
Mitu Raj
beni takip et:
Sorularınız için iletişime geçin: [email protected]
Önerilen:
VHDL'de Basit Dört Yönlü Küme İlişkili Önbellek Denetleyicisi Tasarımı: 4 Adım
VHDL'de Basit Dört Yollu Set İlişkili Önbellek Denetleyicisinin Tasarımı: Önceki talimatımda, basit bir doğrudan eşlenmiş önbellek denetleyicisinin nasıl tasarlanacağını gördük. Bu sefer bir adım ileri gidiyoruz. Basit bir dört yollu küme ilişkisel önbellek denetleyicisi tasarlayacağız. Avantaj? Daha az kayıp oranı, ancak performans pahasına
VHDL'de Programlanabilir Kesinti Denetleyicisi Tasarımı: 4 Adım
VHDL'de Programlanabilir Kesinti Denetleyicisi Tasarımı: Bu blogda aldığım yanıtlardan çok etkilendim. Arkadaşlar, blogumu ziyaret ettiğiniz ve bilgilerimi sizinle paylaşmam için beni motive ettiğiniz için teşekkür ederim. Bu sefer, tüm SOC'lerde gördüğümüz başka bir ilginç modülün tasarımını sunacağım -- Interrupt C
VHDL'de Basit Bir Önbellek Denetleyicisi Tasarımı: 4 Adım
VHDL'de Basit Bir Önbellek Denetleyicisinin Tasarımı: Bu talimatı yazıyorum, çünkü bir önbellek denetleyicisi tasarlamaya başlamak ve öğrenmek için bazı referans VHDL kodunu almayı biraz zor buldum. Bu yüzden kendim sıfırdan bir önbellek denetleyicisi tasarladım ve FPGA üzerinde başarıyla test ettim. bende p
VHDL ve Verilog'da Basit Bir VGA Denetleyici Tasarımı: 5 Adım
VHDL ve Verilog'da Basit Bir VGA Denetleyici Tasarımı: Bu talimatta, RTL'de basit bir VGA Denetleyici tasarlayacağız. VGA Denetleyici, VGA ekranlarını çalıştırmak için tasarlanmış dijital devredir. Görüntülenecek çerçeveyi temsil eden Çerçeve Arabelleğinden (VGA Bellek) okur ve gerekli
VHDL'de SPI Master Tasarımı: 6 Adım
VHDL'de SPI Master'ın Tasarımı: Bu talimatta, VHDL'de sıfırdan bir SPI Bus Master tasarlayacağız