Files
pcb/docs/INTERFACES.md
onur 1218c33aa4 Add the fabrication spec and document the RF constraints a reviewer flagged
Four RF points came back from review. Two were real gaps, two were already
sound but undocumented, and one premise was stale.

Real gap 1 - nothing told the fab this is a controlled-impedance board.
docs/FABRICATION.md now carries the stackup (JLC08161H-3313, layer by layer
with dielectric heights and Er), the two impedance targets (RF50_CPWG 50 ohm at
0.164/0.200 on F.Cu over L2, USB90_DIFF 90 ohm at 0.135/0.150), the process
minima, and an explicit request that the vendor confirm the widths with their
own field solver. It records that JLC models this as
CoatedCoplanarWaveguideWithLowerGnd1B assuming 1.6 mil finished outer copper,
0.6 mil soldermask at Er 3.8 and top width = base - 0.7 mil, and that copper
thickness alone moves this geometry by more than 10 ohm - which is why the
number has to be fixed by the vendor's model rather than ours. It also states
the decision rule: 44 ohm is still 24 dB return loss and not the worst term in
the chain, so the geometry should not be changed unless the vendor reports
below that.

Real gap 2 - the active-antenna requirement was implied everywhere but never
quantified. hardware/README.md and docs/INTERFACES.md now state it plainly:
with both internal LNAs off the mixer input is the first active stage at
10.3 dB NF, so a ~25 dB active antenna gives ~1.65 dB system NF while a passive
antenna puts it above 12 dB and the receiver is unusable. The same section now
explains why the SAW is not optional either.

Documented, not changed - the launch relief. Its ~37 ohm / 30 dB figure is a 2D
quasi-static estimate of a genuinely 3D transition (connector, board edge, pad
overhang) and is now labelled as such, with 3D EM or VNA named as what would
settle it. The unrelieved case was 10.7 ohm / 12 dB, so the improvement holds
regardless of the exact figure.

Documented, not changed - the bias choke. Its 2.1 GHz SRF sits above 1575 MHz,
so the choke is still inductive and the proximity raises |Z| from 554 to about
1270 ohm, which helps a bias tee rather than hurting it. Swept +/-10% on both L
and SRF: |Z| stays above 900 ohm, return loss above 30 dB, insertion loss below
0.003 dB.

Stale premise - the review tied the impedance to "the inconsistent stackup".
That inconsistency was fixed in 791ca5c, and the F.Cu-to-L2 construction that
sets the RF impedance (3313 prepreg, 0.0994 mm, Er 4.1) was in fact identical
in both the old ten-layer and the current eight-layer stacks, so the CPWG
geometry never actually moved.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012KaTmCCxCEW4awsmXRNT1d
2026-09-01 18:19:22 +03:00

7.6 KiB
Raw Permalink 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.

MAX2771'in dahili LNA'ları kapalı olduğu için mixer girişi ilk aktif kattır ve NF'i 10.3 dB'dir. Bu yüzden kart aktif anten gerektirir: ~25 dB kazanç ve ~1.5 dB NF'li bir antenle sistem NF'i ~1.65 dB olur, pasif antenle 12 dB'in üzerine çıkar. FL1 SAW'ı da bu yüzden gereklidir; mixer out-of-band IIP3'ü -9 dBm olduğundan, filtresiz bir aktif anten yakındaki bir telefonun sinyalini mixer'i tıkayacak seviyeye yükseltir. SAW hücresel ve WiFi bantlarında 35-45 dB bastırma verir ve sistem NF'ine yalnızca ~0.15 dB ekler.

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ı