Analiza awarii: moduł Bluetooth / UART

/raporty/modul-bluetooth-uart/ wersja raportu: 1.0 ID sprawy: BT-UART-25-219

Zakres: moduły BLE 4.2/5.0 w AGD z interfejsem UART do MCU (3,3 V). Parametry: fbaud=115200–921600, BLE PHY 1M/2M, TX 0–+6 dBm, wąskopasmowe kanały reklamowe 37/38/39. Zasilanie 3,0–3,6 V, ripple < 50 mVpp. Funkcje: provisioning, telemetria, aktualizacja FW OTA.

Objawy i kody błędów

KodWarunek zapisuSkutek
E:BT-12>= 3 utraty anchor w 6 s lub RSSI < −92 dBm przez ≥ 2 srozłączenie, ponowny scan
E:UART-21≥ 5 błędów framing/1000 ramek @115200reset interfejsu, reinit DMA
W:RF-07PER > 5% przy SNR < 6 dBzmiana kanału, obniżenie PHY
W:PSU-04ripple Vdd > 80 mVpp @ 10–100 kHzderating TX do 0 dBm

Stanowisko i metodyka

Analizator widma 9 kHz–6 GHz, sniffer BLE (logi LL/ATT/GATT), generator zakłóceń impulsowych 2,4 GHz, oscyloskop 500 MHz, analizator logiczny 200 MHz (UART), komora 20/55 °C, źródło 3,3 V + injekcja ripple. Próbkowanie: 1 kHz (telemetria RSSI/TxPower), 8 kHz (ripple), 10 MHz (UART). Testy: OTA 512 kB, burst UART 1 MB/s, praca równoległa z Wi-Fi 2,4 GHz i mikrofalą 2,45 GHz (obciążenie środowiska).

ParametrWartość ref.Uwagi
fbaud UART1152008N1, DMA RX/TX
MTU BLE185 BData Length Extension włączone
RSSI roboczy−40…−75 dBmantena PIFA/ceramiczna
Ripple Vdd< 50 mVpppasmo 1–200 kHz

Wyniki i obserwacje

  1. Interferencje współkanałowe: w obecności Wi-Fi 20/40 MHz kanał 1/6/11 PER rósł do 7–12%, SNR spadał do 3–5 dB. Sniffer: retransmisje LL > 25%, → W:RF-07, a następnie E:BT-12 w OTA.
  2. Ripple z DC/DC: przetwornica buck @ 400 kHz wprowadzała 90–130 mVpp na 3,3 V (harmoniczne 100–400 kHz). Moduł obniżał moc TX do 0 dBm i rejestrował W:PSU-04; przy burstach UART następowały krótkie resety.
  3. Desynchronizacja UART: przy 115200 i DMA bez detekcji ciszy obserwowano overruns (ORE) i framing errors (FE) po paczkach > 2 kB — szczególnie gdy BLE generował przerwania LL. Korelacja z E:UART-21.
  4. Problemy antenowe: obudowa metalowa z niedostrojoną anteną ceramiczną (S11=−6…−8 dB @ 2,44 GHz) → RSSI pogarszał się o 7–11 dB. Przeniesienie anteny i dodanie clearance 8 mm poprawiło bilans łącza.
  5. EMI od napędu: komutacja mostka mocy (18 kHz) wytwarzała tło szerokopasmowe 30–200 MHz; na liniach UART pojawiały się impulsy 100–300 mV, co bez terminacji 47–100 Ω powodowało FE.
LOG START [BT-UART-25-219]
t[s]  RSSI[dBm] SNR[dB] PER[%]  PHY  MTU  UART-err/1k  Ripple[mVpp] Flags
0     -58       14      0.6     2M   185  0            22            OK
42    -77       5       8.9     1M   185  2            96            W:RF-07,W:PSU-04
57    -74       6       6.1     1M   185  7            104           E:UART-21
73    -68       9       2.2     2M   185  0            48            RECOVER
118   -91       3       11.7    1M   185  0            44            E:BT-12
LOG END

Hipotezy przyczynowe (ranking)

  1. WSPÓŁKANAŁOWE RF: kolizje z Wi-Fi/mikrofala, niski SNR → retransmisje i dropy (priorytet: wysoki).
  2. RIPPLE ZASILANIA: zbyt duże Vpp z buck → degradacja PA, resety modułu (wysoki).
  3. UART/DMA: brak kontroli przepływu i timeoutów → ORE/FE przy burstach (średni/wysoki).
  4. ANTENA: niedostrojenie i ekranowanie obudową → RSSI↓, PER↑ (średni).
  5. EMI NAPĘDU: impulsy na liniach UART bez terminacji/ESD → błędy ramek (średni).

Wycinek procedury serwisowej

  1. Sprawdzić ripple 3,3 V: pasmo 1–500 kHz; akceptowalne < 50 mVpp. Wartości > 80 mVpp → dodać LC 10 µH/47–100 µF i kondensatory niskiej impedancji przy module.
  2. Konfiguracja BLE: wymusić PHY 1M przy SNR<8 dB; włączyć adaptive channel map (wyciąć kolizyjne kanały z Wi-Fi).
  3. UART: włączyć RTS/CTS (sprzętowy flow), dodać timeout znaku (np. 2–4 znaki) i detekcję ciszy w DMA; opcjonalnie obniżyć do 57600 przy OTA.
  4. Antena: zapewnić clearance ≥ 6–8 mm od metalu, dostroić matching (π 1–2 pF/1–3 nH), docelowo S11 < −10 dB @ 2,44 GHz.
  5. EMI/ESD na UART: rezystory 33–68 Ω szeregowo blisko pinu, TVS ESD, masa referencyjna gwiazdą; przewody skręcone/ekranowane do frontu.
  6. Test końcowy: OTA 512 kB bez E:BT-12, PER < 1,5%, RSSI > −75 dBm, UART-err < 1/1000 ramek, ripple < 50 mVpp.

Wnioski

Awaryjność modułów BLE/UART w AGD wynika przede wszystkim z interferencji współkanałowych w paśmie 2,4 GHz, nadmiernego ripple zasilania z przetwornicy buck, braku kontroli przepływu na UART oraz niedostrojenia anteny w obudowie metalowej. Po poprawie zasilania (ripple < 50 mVpp), dostrojeniu anteny (S11< −10 dB), włączeniu RTS/CTS i adaptacji kanałów BLE uzyskano stabilne OTA oraz brak błędów E:BT-12/E:UART-21. Porównanie wyników pomiarów zrealizowano na sprzęcie kalibracyjnym aby wykluczyć błędy metodologiczne.

W przypadkach rekurencyjnych zalecany jest przegląd przez jednostkę lokalną wraz z logami RSSI/SNR/PER i błędami UART.