Basys 3 FPGA kartı ile UART protokolü üzerinden LED kontrolü ve switch okuma sistemi.
- ✅ 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
- Digilent Basys 3 FPGA Geliştirme Kartı
- USB Kablosu (programlama + UART iletişimi)
- Xilinx Vivado (2018.2 veya üzeri)
- Python 3.x
- PySerial kütüphanesi
pip install pyserial- Vivado'yu açın ve yeni proje oluşturun
- Board: Basys 3 seçin
hdl/klasöründeki dosyaları ekleyin:uart.v(UART modülü)top.v(Ana kontrol modülü)Basys3_Master.xdc(Pin tanımlamaları)
- Run Synthesis → Run Implementation → Generate Bitstream
- FPGA'ya yükleyin: Program Device
Windows:
- Aygıt Yöneticisi → Ports (COM & LPT)
- "USB Serial Port (COMx)" notunu alın
Linux:
ls /dev/ttyUSB*MacOS:
ls /dev/cu.usbserial*cd software/
python uart_test.pyCOM_PORT değişkenini kendi portunuza göre düzenleyin.
| 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 uart_test.pyMenüden istediğiniz komutu seçin:
1. LED1 ON
2. LED1 OFF
3. READ SW
0. Çıkış
-
Serial bağlantı ayarları:
- Baud Rate: 9600
- Data Bits: 8
- Parity: None
- Stop Bits: 1
- Flow Control: None
-
Komut girin ve Enter'a basın
- Baud Rate: 9600 bps
- Clock Frequency: 100 MHz
- Clock Cycles per Bit: 10,416
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