121 lines
5.1 KiB
Markdown
121 lines
5.1 KiB
Markdown
# 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.
|
||
|
||

|
||
|
||
## 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)
|