Initial Ti375 GNSS IMU board design and documentation
This commit is contained in:
@@ -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.
|
||||
|
||||

|
||||
|
||||
## 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)
|
||||
Reference in New Issue
Block a user