Skip to content

JournalsofTuna/Basys3-UART-LED-Controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

FPGA UART Controller 🎛️

Basys 3 FPGA kartı ile UART protokolü üzerinden LED kontrolü ve switch okuma sistemi.

FPGA Language Baud Rate

📋 Özellikler

  • ✅ UART tabanlı seri haberleşme (9600 baud)
  • ✅ Metin komutları ile LED kontrolü
  • ✅ Switch durumlarını okuma
  • ✅ Echo modu (gönderilen karakterleri geri yansıtma)
  • ✅ Python test scripti

🛠️ Gereksinimler

Donanım

  • Digilent Basys 3 FPGA Geliştirme Kartı
  • USB Kablosu (programlama + UART iletişimi)

Yazılım

  • Xilinx Vivado (2018.2 veya üzeri)
  • Python 3.x
  • PySerial kütüphanesi

🚀 Kurulum

1. Python Ortamı

pip install pyserial

2. Vivado Projesi Oluşturma

  1. Vivado'yu açın ve yeni proje oluşturun
  2. Board: Basys 3 seçin
  3. hdl/ klasöründeki dosyaları ekleyin:
    • uart.v (UART modülü)
    • top.v (Ana kontrol modülü)
    • Basys3_Master.xdc (Pin tanımlamaları)
  4. Run SynthesisRun ImplementationGenerate Bitstream
  5. FPGA'ya yükleyin: Program Device

3. COM Port Bulma

Windows:

  • Aygıt Yöneticisi → Ports (COM & LPT)
  • "USB Serial Port (COMx)" notunu alın

Linux:

ls /dev/ttyUSB*

MacOS:

ls /dev/cu.usbserial*

4. Test Scripti Çalıştırma

cd software/
python uart_test.py

COM_PORT değişkenini kendi portunuza göre düzenleyin.

📖 Kullanım

Desteklenen Komutlar

Komut Açıklama Örnek
LED1 ON LED0'ı yakar Terminal'e yazıp Enter
LED1 OFF LED0'ı söndürür Terminal'e yazıp Enter
READ SW Tüm switch durumlarını LED'lere kopyalar SW0→LED0, SW1→LED1...

Python Script ile Test

python uart_test.py

Menüden istediğiniz komutu seçin:

1. LED1 ON
2. LED1 OFF
3. READ SW
0. Çıkış

Manuel Test (PuTTY/Tera Term)

  1. Serial bağlantı ayarları:

    • Baud Rate: 9600
    • Data Bits: 8
    • Parity: None
    • Stop Bits: 1
    • Flow Control: None
  2. Komut girin ve Enter'a basın

🔧 Teknik Detaylar

UART Parametreleri

  • Baud Rate: 9600 bps
  • Clock Frequency: 100 MHz
  • Clock Cycles per Bit: 10,416

📁 Dosya Açıklamaları

hardware/
  uart.v          - UART alıcı/verici modülü
  top.v           - Ana kontrol mantığı ve komut işleme
  basys3.xdc      - Basys 3 pin kısıtlamaları

## 🙏 Teşekkürler

🤝 Teşekkür & Notlar
Bu projenin geliştirilmesi sırasında UART Seri Haberleşme prensibini geliştirirken Claude ve Google Gemini ile pair-programming yapılmıştır.

---

Geliştirici: Muhammed Tunahan Aydemir

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors