Buradasın
VHDL-LPG Programlama Serisi: 44. Ders - UART Light ve GPIO Kullanımı
youtube.com/watch?v=wZGdh3nVYqIYapay zekadan makale özeti
- Kısa
- Ayrıntılı
- API Sana Atölye kanalından Murat Men tarafından sunulan bu eğitim videosu, VHDL-LPG programlama serisinin 44. dersidir. Önceki derste GPIO periferi üzerinden interapt kullanarak switch değerlerini LED'lere aktaran bir uygulama geliştirilmişti.
- Videoda, Microblaze sistemine bağlı AXIO GPIO periferi üzerinden bilgisayarla haberleşme yapan ve UART periferi kullanarak veri transferi yapan bir yazılım geliştirilmektedir. İçerik, ZYLIX SDK'nın kullanımı, yeni proje oluşturma, UART Light periferisinin driver'ları, register'ları ve interapt kullanımı ile başlayıp, C kodu yazımı, flag tabanlı sonsuz döngü kullanarak veri alımı ve switch değerlerini LED'lere aktarma adımlarını kapsamaktadır.
- Video, bir sonraki derste Ethernet ile ilgili uygulama yapılacağı ve sonrasında custom IP geliştirme serisinin devam edeceği bilgisiyle sonlanmaktadır.
- 00:01VHDL LPG Programlama Serisi 44. Ders Tanıtımı
- Murat Men, API Sana Atölye kanalında VHDL LPG programlama serisinin 44. dersini sunuyor.
- Geçen derste microblade sistemine bağlı AXI GPIO periferisi üzerinden interrupt kullanarak switch hareketlerini LED'lere aktaran bir uygulama geliştirilmişti.
- Bu derste ise AXI UARTLite ile bilgisayarla FPC arasında haberleşme yapan ve AXI GPIO'yu kullanan bir yazılım geliştirecekler.
- 01:01Zynq SDK ile Yeni Proje Oluşturma
- Zynq SDK, Eclit tabanlı bir yazılım geliştirme platformu olarak tanıtıldı.
- Yeni bir UARTLite yazılımı için "New Application Project" seçeneği kullanılarak "uartlite software" adında bir proje oluşturuldu.
- Standalone işletim sistemi, önceden geliştirilen microblaze rappleri ve C dili kullanılarak proje başlatıldı.
- 03:42UARTLite ile İletişim
- UARTLite 9600 baud rate olarak tanımlanmış ve Vivado'da önceden yapılandırılmış.
- Standalone işletim sistemi seçildiğinde, periferiklerle ilgili hazır driverlar (API) kullanılarak registerlere erişim sağlanıyor.
- UARTLite için register space, receive data FIFO buffer, transmit buffer, status register ve control register gibi bileşenler bulunuyor.
- 08:38Yazılım Tasarımı ve Çalışma Prensibi
- Bilgisayardan gelen iki byte veriyi LED'lere yazma ve 16 switch'in değerini iki byte olarak bilgisayara gönderme işlemi yapılacak.
- UARTLite'nin interrupt özelliği kullanılarak veri alımı ve gönderimi gerçekleştirilecek.
- GPIO portları, LED ve switch değerleri için ayarlanacak, UARTLite periferisi için initial değerler atanacak ve interrupt aktif edilecek.
- 11:01UART Lite ve GPIO ile İletişim
- Interupt fonksiyonları tanımlanarak UART Lite ile GPIO arasındaki iletişim sağlanıyor.
- GPIO'nun interupt ID'si 2, UART Lite'nin interupt ID'si 1 olarak tanımlanıyor.
- Experimenter kartında UART Lite'nin interupt edildiği yer belirleniyor.
- 12:02Veri İşleme ve Döngü
- Flag tabanlı bir sonsuz döngü içinde işlemler gerçekleştiriliyor.
- Gelen ilk byte için receive buffer'ın sıfırıncısına değer alınıyor ve byte count bir arttırılıyor.
- İkinci gelen byte receive buffer'ın birincisine yazılıyor ve byte count sıfırlanıyor.
- 13:31LED ve Switch İşlemleri
- LED değerleri için X-Gpio_Discrete_Write fonksiyonu kullanılıyor.
- Switch değerleri okunup sand buffer'ın sıfırıncısına sağa sekiz bit shift edilerek yazılıyor.
- Switch değerlerinin ikinci sekiz biti sand buffer'ın birinci elemanına mod 256 alarak yazılıyor.
- 14:24Kodlama Yaklaşımı
- Kodlama daha çok FPGA mantığıyla yapılmış, alt seviye fonksiyonlar kullanılmış.
- Yazılımcılar için bu kodlama tarzı kolay olmayabilir, ancak çalıştığını göstermek amacıyla bu şekilde kodlanmıştır.
- GPIO için send receive, receive buffer gibi fonksiyonlar kullanılmış.
- 16:33Debug ve Test
- Program debug edilerek bilgisayardan veri gönderiliyor.
- Baud rate yanlış ayarlanmasından dolayı sistem çalışmıyor, baud rate 9600 olarak ayarlanmalı.
- FF değerleri gönderildiğinde tüm LED'ler yanıyor, 81 değerleri gönderildiğinde sadece bir LED yanıyor.
- 21:37Sonuç ve Gelecek Dersler
- UART Lite'da bir yazılım projesi geliştirilmiş ve çalıştığı gösterilmiş.
- GPIO ve UART Lite'nin interupt'ı kullanılarak bir uygulama geliştirilmiş.
- Bir sonraki derste Ethernet ile ilgili uygulama yapılacağı ve custom IP geliştirileceği belirtiliyor.