95609a6b6a
The board now routes end to end. Every net carrying two or more pads is a single connected copper group (216 nets, 1175 pads); kicad-cli reports 0 DRC violations and 0 unconnected items with zones refilled. Freerouting was never the blocker. The 14 remaining opens were three separate defects: 1. Obstacles in route_local_power.py modelled every pad as its axis-aligned bounding box. A 0.8-mm BGA dogbone site sits diagonally between four lands: true clearance 0.1407 mm, but the box test measured 0.4 mm from the box edge and rejected it, so no via could be placed anywhere in the Ti375 escape field. Replaced with an exact rounded-rectangle model, validated against KiCad's own SHAPE::Collide to 0.00 um over 14850 samples. Same 0 DRC and one fewer unconnected at the route_local_power stage. 2. CLOCK's 0.15-mm clearance cannot physically escape the BGA: two adjacent 0.45-mm dogbone vias on 0.8-mm pitch leave a 0.35-mm channel and a 0.10-mm trace needs 0.40 mm. HARD_TCK and MAX_SCLK could never leave the package. New rule "Ti375 escape field copper clearance" relaxes clearance to the 0.10 mm this field already uses, only where both objects are inside U1's courtyard. The clock trunk keeps 0.15 mm outside it. 3. RF_NO_DIGITAL was a rectangle reaching 7 mm past the RF line, covering the MAX2771's whole digital pin field and forcing every U21 output onto F.Cu alone. Narrowed to the corridor generate_pcb.py already reserves as TEMP_RF_LINE (y <= 43.7), clearing RF copper by 1.1 mm. The RF return path is guaranteed by the unrouted L2/L7 ground planes, not by this area. scripts/close_remaining.py replaces the ad-hoc residual scripts: a multi-layer maze over (x, y, layer) at 0.1 mm on all five routable layers, seeded from all copper of both groups, exact clearances, 0.10-mm necking inside the escape field, and reversible rip-up that rolls back entirely if a displaced net cannot be put back. ~150 s for the whole board. Also removes the regenerable intermediate boards, one-off session logs and the superseded residual scripts, and tracks board_routed.* as the deliverable. The 402 schematic-parity warnings are pre-existing and unchanged: 199 auto-named unconnected pins, 199 footprint library-nickname mismatches, and 4 mounting holes with no symbol. None affects connectivity or fabrication. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012KaTmCCxCEW4awsmXRNT1d
184 lines
7.0 KiB
Markdown
184 lines
7.0 KiB
Markdown
# Arayüzler ve net bağlantıları
|
||
|
||
Bu dokümanda ok yönü veri akışını gösterir. Parantez içindeki değer seri
|
||
sonlandırma veya bias elemanıdır.
|
||
|
||
## MAX2771 RF zinciri
|
||
|
||
```text
|
||
J2 SMA merkez
|
||
-> RF_SMA
|
||
-> D1 ESD501 (şönt ESD)
|
||
-> C83 27 pF DC block
|
||
-> RF_PRE_SAW
|
||
-> FL1 SF14-1582M5UUS2 GPS L1/L1C SAW
|
||
-> RF_POST_SAW
|
||
-> R39 0 ohm tuning link
|
||
-> MAX_MIXIN_HI
|
||
-> U21 pin 25 MIXIN_HI
|
||
```
|
||
|
||
`C84` (`RF_POST_SAW`-GND) ve `C85` (`MAX_MIXIN_HI`-GND) tuning şönt
|
||
footprintleridir ve varsayılan olarak DNP'dir. Böylece VNA ölçümünden sonra
|
||
pi-match kurulabilir. MAX2771'in LNAIN_HI/LNAIN_LO ve LNA çıkışları bağlı
|
||
değildir; register 0 her iki LNA'yı kapatır ve yüksek-band mixer girişi seçilir.
|
||
|
||
Aktif anten bias yolu:
|
||
|
||
```text
|
||
J5 pin 1 = temiz 3.3 V
|
||
J5 pin 2 = ANT_BIAS_SEL
|
||
J5 pin 3 = SYS5
|
||
|
||
şönt 1-2 -> 3.3 V bias
|
||
şönt 2-3 -> 5 V bias
|
||
şönt yok -> OFF
|
||
|
||
ANT_BIAS_SEL -> U27 TPS22944, 100 mA limit
|
||
-> ANT_BIAS_SW -> L4 56 nH -> RF_SMA -> anten
|
||
```
|
||
|
||
`TP3 ANT OC`, U27'nin aktif-düşük over-current göstergesidir. Bias devresi
|
||
RF hattına L4 üzerinden girer; RF sinyali güç rayına taşınmamalıdır.
|
||
|
||
## MAX2771 saat, SPI ve ADC arayüzü
|
||
|
||
Saat ağacı:
|
||
|
||
```text
|
||
U23 16.368 MHz TCXO -> C90 10 nF -> U21 pin 3 XTAL
|
||
|
||
U24 40.000 MHz XO --+-> R44 33R -> U21 pin 5 ADC_CLKIN
|
||
+-> R56 33R -> U1 ball U17 CLK_40M_FPGA
|
||
|
||
U21 pin 4 CLKOUT -> R45 22R -> U1 ball B11 MAX_CLKOUT
|
||
```
|
||
|
||
`MAX_CLKOUT`, ADC örnekleme saatinin FPGA'ya source-synchronous kopyasıdır.
|
||
FPGA veri yakalama mantığı I/Q bitlerini bu saatle örneklemelidir.
|
||
|
||
Üç telli kontrol arayüzü:
|
||
|
||
| İşlev | FPGA | Seri eleman | MAX2771 |
|
||
|---|---|---|---|
|
||
| SCLK | U1 F16 `MAX_SCLK`, output, 3.0 V | R51 22R | U21 pin 8 `SCLK` |
|
||
| CS_N | U1 F17 `MAX_CSN`, output, 3.0 V | R52 22R | U21 pin 9 `CSN` |
|
||
| SDATA | U1 G16 `MAX_SDATA`, bidirectional, 3.0 V | R53 22R | U21 pin 7 `SDATA` |
|
||
| Shutdown | U1 G17 `MAX_SHDN`, output, 3.0 V | R54 22R | U21 pin 18 `SHDN` |
|
||
|
||
SDATA ayrı MOSI/MISO değildir; MAX2771'in tek bidirectional üç telli veri
|
||
hattıdır. `R55=100 kohm`, MAX2771 tarafındaki SHDN pinini FPGA konfigüre olana
|
||
kadar düşük tutar.
|
||
|
||
ADC/status çıkışları:
|
||
|
||
| MAX2771 pini | Seri eleman | FPGA ball/net | Yön |
|
||
|---|---|---|---|
|
||
| pin 10 Q1 | R49 22R | E11 `MAX_Q1` | MAX2771 -> FPGA |
|
||
| pin 11 Q0 | R48 22R | E10 `MAX_Q0` | MAX2771 -> FPGA |
|
||
| pin 12 I0 | R46 22R | D10 `MAX_I0` | MAX2771 -> FPGA |
|
||
| pin 13 I1 | R47 22R | D11 `MAX_I1` | MAX2771 -> FPGA |
|
||
| pin 17 LD | R50 22R | F11 `MAX_LD` | MAX2771 -> FPGA |
|
||
| pin 4 CLKOUT | R45 22R | B11 `MAX_CLKOUT` | MAX2771 -> FPGA |
|
||
|
||
Tüm bu pinler Ti375 BR0 bankındadır ve `VCC3V0_DIG=3.0 V` kullanır. SCLK,
|
||
CSN, SDATA ve SHDN ise aynı 3.0 V standardındaki TR0 bankındadır.
|
||
|
||
Başlangıç register görüntüsünün önemli seçimleri:
|
||
|
||
| Register | Değer | Karar |
|
||
|---|---|---|
|
||
| 0x0 | `0xBEA71619` | MIXIN_HI, iki LNA kapalı, 23.4 MHz 5. derece LPF |
|
||
| 0x3 | `0x698C0008` | Integer-N GPS L1 PLL |
|
||
| 0x4 | `0x00C08080` | NDIV=1540, RDIV=16; 1575.42 MHz |
|
||
| 0x7 | `0x110061B2` | Harici 40 MHz ADC sampling clock |
|
||
| 0xA | `0x010061B4` | ADC sampling clocku CLKOUT'a yönlendir |
|
||
|
||
Tam görüntü `max2771_registers.csv` dosyasındadır.
|
||
|
||
## SCH16T-K01 SafeSPI arayüzü
|
||
|
||
| İşlev | FPGA ball/net | Seri eleman | SCH16T pini | Yön |
|
||
|---|---|---|---|---|
|
||
| SCK | A8 `IMU_SCK` | R57 22R, FPGA yanında | pin 21 SCK | FPGA -> IMU |
|
||
| MOSI | A9 `IMU_MOSI` | R58 22R, FPGA yanında | pin 23 MOSI | FPGA -> IMU |
|
||
| CS_N | B10 `IMU_CS` | R59 22R, FPGA yanında | pin 22 CS | FPGA -> IMU |
|
||
| MISO | B9 `IMU_MISO` | R60 22R, IMU yanında | pin 19 MISO | IMU -> FPGA |
|
||
| Data-ready / sync | A11 `IMU_DRY_SYNC` | doğrudan | pin 20 DRY_SYNC | çift yönlü |
|
||
| Harici reset | C10 `IMU_EXTRESN` | R61 10k pulldown | pin 6 EXTRESN | FPGA -> IMU |
|
||
|
||
SafeSPI clock mode 0 kullanılır. SCH16T V3P3 girişleri `VCC3V3` üzerinden FB1
|
||
600 ohm@100 MHz ferritle `IMU_3V3` rayına ayrılır. VDDIO doğrudan 3.3 V'tur.
|
||
Murata'nın dahili regülatör pinlerinde C105 10 uF (`VREGA2`) ve C106 1 uF
|
||
(`VREGD`) bulunur. `IMU_EXTRESN` pulldown nedeniyle FPGA resetten çıkıp pini
|
||
aktif olarak yükseltmeden sensör çalışmaya başlamaz.
|
||
|
||
## FPGA konfigürasyon flashı
|
||
|
||
| IS25WP512M pini | Net | Ti375 ball / dedicated işlev |
|
||
|---|---|---|
|
||
| 1 CS_N | `QSPI_CS_N` | A7 / SSL_N |
|
||
| 2 IO1 | `QSPI_IO1` | H5 / CDI1 |
|
||
| 3 IO2 | `QSPI_IO2` | G5 / CDI2 |
|
||
| 5 IO0 | `QSPI_IO0` | H4 / CDI0 |
|
||
| 6 SCLK | `QSPI_SCLK` | G6 / CCK_PLLIN0 |
|
||
| 7 IO3 | `QSPI_IO3` | B7 / CDI3 |
|
||
| 8 VCC | `VCC1V8` | 1.8 V config domain |
|
||
|
||
CS_N, IO2/WP_N ve IO3/HOLD_N 10 kohm ile 1.8 V'a çekilir. Ti375 `TEST_N`,
|
||
`CSI` ve open-drain `CDONE` pinlerinde de Efinix'in istediği 10 kohm 1.8 V
|
||
pull-up'lar vardır.
|
||
|
||
## FT4232H arayüzleri
|
||
|
||
| USB interface | FTDI pinleri | FPGA işlevi | FPGA ball'ları |
|
||
|---|---|---|---|
|
||
| A / interface 0 | ADBUS0 TCK, 1 TDI, 2 TDO, 3 TMS | RISC-V JTAG | F12, V19, T18, P18 |
|
||
| B / interface 1 | BDBUS0 TCK, 1 TDI, 2 TDO, 3 TMS | FPGA hard JTAG | G10, G9, G13, G12 |
|
||
| B | BDBUS4 | Aktif-düşük FPGA reset isteği | CRESET_N open-drain fan-in |
|
||
| C / interface 2 | CDBUS0 TXD, CDBUS1 RXD | UART0 | P17 RX, R17 TX |
|
||
| D / interface 3 | DDBUS0 TXD, DDBUS1 RXD | UART1 | R18 RX, T19 TX |
|
||
| D | DDBUS2 | Debug GPIO | U19 |
|
||
|
||
FTDI'den FPGA'ya giden TCK/TDI/TMS, UART RX ve debug çıkışları U29/U30
|
||
bufferlarından ve ardından 33 ohm seri dirençlerden geçer. FPGA'dan FTDI'ye
|
||
giden TDO/UART TX yönleri 33 ohm seri dirençlidir. JTAG hatlarının FPGA
|
||
tarafında 10 kohm idle pull-up vardır.
|
||
|
||
## USB-C güç ve veri
|
||
|
||
Üç konnektör birbirinden bağımsızdır: `J7` yalnızca USB-C güç girişi, `J3`
|
||
yalnızca harici 5 V güç girişi, `J1` ise yalnızca JTAG/UART debug portudur.
|
||
J1 hiçbir zaman SYS5'i beslemez; bu yüzden J1'e bağlı bir host, kartın 5 V
|
||
gücüne back-feed edemez.
|
||
|
||
- J1 CC1/CC2 -> U5 TUSB320LAI; PORT=GND ile UFP/sink; OUT1/OUT2 kullanılmıyor.
|
||
- J1 D+/D− -> U6 TPD2EUSB30A -> R63/R64 27 ohm -> U2 FT4232H.
|
||
- J1 VBUS -> yalnızca yerel algılama: 900 kohm bölücüyle U5 `VBUS_DET`,
|
||
4.7 k/10 k bölücüyle self-powered FT4232H `RESET_N`.
|
||
- J7 CC1/CC2 -> U35 TUSB320LAI; PORT=GND ile UFP/sink.
|
||
- J7 VBUS -> U7 TPS259470A -> `USB5_PROT` -> U9 TPS2121 -> `SYS5`.
|
||
- Harici J3 5 V -> U8 TPS259470A -> `EXT5_PROT` -> U9 TPS2121 -> `SYS5`.
|
||
- U10/U11, J7 3 A ilanı veya seçilmiş harici kaynak yoksa ana FPGA güç
|
||
converterlarını kapalı tutar.
|
||
|
||
## Test noktaları
|
||
|
||
| TP | Net | Amaç |
|
||
|---|---|---|
|
||
| TP1 | `U7_FLT` | USB eFuse fault |
|
||
| TP2 | `U8_FLT` | Harici giriş eFuse fault |
|
||
| TP3 | `ANT_BIAS_OC` | Aktif anten over-current |
|
||
| TP4 | `VBUS_RAW` | J7 USB-C güç girişi VBUS'ı |
|
||
| TP5 | `EXT5_RAW` | Harici 5 V giriş |
|
||
| TP6 | `SYS5` | Seçilmiş sistem 5 V |
|
||
| TP7 | `VCC3V3_AUX` | Her zaman açık yardımcı 3.3 V |
|
||
| TP8 | `VCC0V95` | FPGA core 0.95 V |
|
||
| TP9 | `VCC1V8` | FPGA AUX/config 1.8 V |
|
||
| TP10 | `VCC3V3` | FPGA/IMU/PMOD 3.3 V |
|
||
| TP11 | `VCC3V0_RF` | MAX2771 analog 3.0 V |
|
||
| TP12 | `VCC3V0_DIG` | MAX2771/FPGA bank 3.0 V |
|
||
| TP13 | `FPGA_CRESET_N` | FPGA reset durumu |
|
||
| TP14 | `FPGA_CDONE` | Konfigürasyon tamamlandı |
|
||
| TP15 | `GND` | Ölçüm referansı |
|