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
7.0 KiB
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
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:
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ı:
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 FT4232HRESET_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ı |