Files
pcb/docs/INTERFACES.md
T
onur 95609a6b6a Complete the routing: 0 DRC violations, 0 unconnected
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
2026-09-01 11:58:41 +03:00

7.0 KiB
Raw Blame History

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 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ı