Initial Ti375 GNSS IMU board design and documentation

This commit is contained in:
2026-08-15 18:09:17 +03:00
commit b706197667
69 changed files with 132859 additions and 0 deletions
+120
View File
@@ -0,0 +1,120 @@
# Ti375 GNSS / IMU FPGA Kartı
Efinix Ti375C529 FPGA, MAX2771 GNSS alıcısı, Murata SCH16T-K01 IMU ve FT4232H
USB debug arayüzünü tek kartta birleştiren 8 katmanlı KiCad 10 tasarımıdır.
> Durum: Şema ve placement günceldir; kart henüz route edilmemiştir. Üretime
> gönderilmeden önce routing, zone fill, final DRC ve üretim dosyası kontrolü
> tamamlanmalıdır.
![Güncel kart görünümü](outputs/board_final_reset_top.png)
## Kartın özeti
| Blok | İçerik |
|---|---|
| FPGA | Efinix Ti375C529, 0.8 mm pitch C529 BGA |
| GNSS | MAX2771, GPS L1/L1C aktif anten girişi, 50 ohm CPWG RF hattı |
| IMU | Murata SCH16T-K01, SafeSPI bağlantısı |
| Debug | FT4232H üzerinden hard JTAG, RISC-V JTAG ve iki UART |
| Genişleme | 4 adet Digilent 2x6 PMOD: 2 x 3.3 V, 2 x 1.8 V |
| Konfigürasyon | 1.8 V QSPI flash, CDONE ve CRESET test noktaları |
| Besleme | USB-C veya korumalı harici 5 V; sıralı 0.95/1.8/3.3/3.0 V rayları |
| Mekanik | 155.1 x 90.0 mm, 8 katman, dört montaj deliği |
## Yapılan temel tasarım kararları
- Ti375 üzerindeki bütün kullanılabilir pinler konnektöre çıkarılmadı. Yalnızca
özel fonksiyonlardan arta kalan 32 GPIO dört PMOD üzerinde kullanıldı.
- Büyük genel amaçlı header, jumper grubu ve ARM 10-pin hard-JTAG konnektörü
kaldırıldı. Gerekli bring-up sinyalleri 15 yerel test noktasına dağıtıldı.
- FT4232H interface 0/A RISC-V JTAG'a, interface 1/B FPGA hard JTAG'a ayrıldı.
FPGA'ya giden debug çıkışları güç-domain izolasyonundan geçer.
- Hard JTAG TCK, TMS, TDI ve TDO hatlarında FPGA tarafında 10 kohm pull-up
bulunur.
- Harici reset için JST-SH konnektör, kart üstü buton, RC filtre ve ESD koruması
eklendi.
- FTDI reset, harici reset ve power-fault istekleri CRESET_N üzerinde ayrı
açık-drenç sürücülerle birleşir. Aktif-düşük mantıkta bu yapı reset
isteklerinin OR'lanmasıdır; çıkış çatışması oluşturmaz.
- Core, 1.8 V, 3.3 V, 3.0 V ve LM3880 sequence sonucu bağımsız olarak izlenir.
`ALL_FPGA_POWER_OK` geçerli olmadan CRESET_N bırakılmaz ve FPGA'ya giden FTDI
sürücüleri etkinleşmez.
- RF ve USB hatları autorouter sonucuna bırakılmaz; son aşamada deterministik,
denetlenebilir geometriyle oluşturulur.
## Güç ve reset akışı
```text
USB-C / EXT 5 V
|
SYS5
|
0.95 V core ---- CORE_PG
|
LM3880
+---- 1.8 V ---- PG_1V8
+---- 3.3 V ---- PG_3V3
+---- FLAG3
|
3.0 V DIG ---- TPS3808 (20 ms) -------+---- ALL_FPGA_POWER_OK
|
+--------------------+---- CRESET_N release
+------------------------- FTDI buffer enable
EXT_RESET_N ---- filtre/ESD ---- open drain --+
FTDI BDBUS4 -------------------- open drain --+---- FPGA_CRESET_N
power-valid -------------------- open drain --+
```
Kullanıcı veya FTDI reseti yalnızca CRESET_N'i etkiler; power-good durumunu
bozmaz. Bu nedenle raylar sağlıklıyken FPGA reset altında tutulsa bile JTAG
erişimi korunur.
## Hızlı başlangıç
KiCad 10 ve KiCad'in `pcbnew` modülünü içeren sistem Python'u gereklidir.
```bash
python3 -m pip install -r requirements.txt
python3 scripts/generate_footprints.py
python3 scripts/generate_kicad.py
python3 scripts/generate_design_tables.py
/usr/bin/python3 scripts/generate_pcb.py
```
Kontrol:
```bash
kicad-cli sch erc --severity-all \
-o outputs/erc_final_reset.rpt hardware/board.kicad_sch
kicad-cli pcb drc --severity-all \
-o outputs/drc_final_placement.rpt hardware/board.kicad_pcb
```
Güncel placement kontrolünde ERC 0 ihlaldir. DRC'deki 12 `isolated_copper`
uyarısı ve 499 açık bağlantı, kartın henüz route edilmemiş olmasından
kaynaklanır; üretim öncesi kabul edilebilir final sonuç değildir.
## Kaynakların önceliği
1. `scripts/design_data.py`: komponentler, pinler ve bağlantılar için tek kaynak.
2. `scripts/generate_pcb.py`: placement, stackup, zone ve fiziksel PCB kuralları.
3. `scripts/generate_design_tables.py`: Ti375 pin politikası ve constraint tabloları.
4. `hardware/board.kicad_sch` ve `hardware/board.kicad_pcb`: üretilmiş güncel KiCad dosyaları.
5. `outputs/`: BOM, kontrol raporları ve inceleme görselleri.
Elle yapılan değişiklikler tekrar üretimde kaybolabileceği için temel bağlantı
ve placement kararları önce ilgili Python kaynağına işlenmelidir.
## Ayrıntılı dokümanlar
- [Donanım mimarisi ve pin kullanımı](hardware/README.md)
- [Ana komponent seçimi ve güç/akım kapasiteleri](docs/COMPONENT_SELECTION.md)
- [MAX2771, SCH16T, QSPI, FTDI ve test noktası bağlantıları](docs/INTERFACES.md)
- [Ti375 ball, bank, gerilim ve PMOD pin seçimi](docs/FPGA_PINOUT.md)
- [Ayrıntılı güç ağacı, sıralama ve reset davranışı](docs/POWER_TREE.md)
- [Üretim, kontrol ve routing akışı](scripts/README.md)
- [Pin tabloları ve türetilmiş veriler](docs/README.md)
- [Güncel çıktılar ve raporların anlamı](outputs/README.md)
- [Referans doküman politikası](references/README.md)