İçindekiler:

VHDL'de SPI Master Tasarımı: 6 Adım
VHDL'de SPI Master Tasarımı: 6 Adım

Video: VHDL'de SPI Master Tasarımı: 6 Adım

Video: VHDL'de SPI Master Tasarımı: 6 Adım
Video: VHDL ile FPGA PROGRAMLAMA - Ders25: SPI Serial Peripheral Interface Master Tasarımı ve Simülasyonu 2024, Kasım
Anonim
VHDL'de SPI Master'ın Tasarımı
VHDL'de SPI Master'ın Tasarımı

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ü

SPI Master Core ve Simülasyon Dalga Formlarının RTL Görünümü
SPI Master Core ve Simülasyon Dalga Formlarının RTL Görünümü
SPI Master Core ve Simülasyon Dalga Formlarının RTL Görünümü
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: