İçindekiler:
- Adım 1: SPI'ye Genel Bakış
- Adım 2: Tasarım Özellikleri
- 3. Adım: Başlamak
- Adım 4: SPI Master Core ve Simülasyon Dalga Formlarının RTL Görünümü
Video: VHDL'de SPI Master Tasarımı: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Bu talimatta, VHDL'de sıfırdan bir SPI Bus Master tasarlayacağız.
Adım 1: SPI'ye Genel Bakış
- SPI senkron bir seri veriyoludur
- Popülaritesi ve sadeliği onu seri iletişimde fiili bir standart haline getirdi.
- Tam dubleks otobüs
- Basit protokol ve en hızlı seri veri yolu arasında
Adım 2: Tasarım Özellikleri
Bunlar, tasarlayacağımız SPI Master'ın özellikleri:
- Dört çalışma modunu da destekler; dinamik olarak yapılandırılabilir
- Güç tasarrufu için saat etkinleştirme kontrolü
- Statik olarak yapılandırılabilir kelime uzunluğu ve hızı
- Hem iletim hem de alım için tek kesme
3. Adım: Başlamak
Her şeyden önce, IP'mizin iki arayüzü olmalıdır. Biri seri arabirim, diğeri paralel arabirimdir. Seri arayüz, SPI'nin fiili standart sinyallerinden oluşur: MOSI, MISO, SS, SCLK.
MOSI'ye bazen SDO ve MISO'ya bazen SDI denir.
Seri arabirim, harici çevre birimleri, yani SPI bağımlı birimleri ile iletişim kurmak için kullanılır.
Paralel arabirim, ana bilgisayarımızla iletişim kurmak için kullanılır, yani bir mikro denetleyici veya mikroişlemci, Master'a seri hatlar aracılığıyla hangi verilerin seri olarak iletilmesi ve alınması gerektiğini söyler. yani, Tüm veri yolları paralel arayüze aittir.
Dahili olarak ürettiğimiz SCLK'nın yanı sıra dahili SPI mantığını çalıştıran küresel bir saatimiz var.
Ayrıca yazma etkinleştirme, saat etkinleştirme gibi bazı kontrol sinyallerimiz de var. Ve kesinti ve diğer durum sinyalleri.
Karmaşık kontrol koşullarıyla uğraşmak zorunda olduğumuz için, bu tür seri iletişim IP'lerini FSM olarak tasarlamak daha kolaydır. SPI master'ı da FSM olarak tasarlayacağız. FSM, SCLK'nın iki katı olan başka bir dahili saat tarafından çalıştırılacaktır. Bu dahili saat, global saatten senkronize sayaçlar kullanılarak üretilir.
Saat etki alanlarını çaprazlayan tüm kontrol sinyalleri, daha güvenli tarafta olmak için senkronizörlere sahiptir.
Adım 4: SPI Master Core ve Simülasyon Dalga Formlarının RTL Görünümü
Özel FPGA IP'lerinin kullanılmadığı çıplak bir RTL tasarımıdır. Bu nedenle, herhangi bir FPGA için tamamen taşınabilir bir koddur.
Ö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'de I2C Master Tasarımı: 5 Adım
VHDL'de I2C Master'ın Tasarımı: Bu talimatta, VHDL'de basit bir I2C master tasarlama tartışılmaktadır.NOT: tam görüntüyü görmek için her görüntünün üzerine tıklayın
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