Drogheda/03-Architecture-Hardware/Auditoria-Final-V56-V57/sec4-electrica.tex

150 lines
15 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

% ================================================================ ELÉCTRICA
\section{B $\cdot$ Revisión eléctrica por bloque}\label{sec:electrica}
Los dos netlists se exportaron hoy de los esquemáticos auditados. \textbf{Los 64 pines del STM32F411 son
idénticos en V5.6 y V5.7} (apéndice \ref{sec:pinmap}): un solo firmware sirve para las dos. Lo que cambia entre
ellas no toca al MCU: la V5.7 trae la fuente \refdes{U25} y pierde \refdes{P2} (entrada de 5 V) y \refdes{U2}
(buck del ventilador, que pasa a colgar de \net{VEH5V} por \refdes{JP1}).
\begin{figure}[H]\centering
\resizebox{\linewidth}{!}{\begin{tikzpicture}[node distance=5mm and 7mm, font=\small]
\node[cajaoscura, text width=24mm] (gx) {GX16 P1\\24 V $\cdot$ GND $\cdot$ IGN};
\node[caja, right=of gx, text width=30mm] (in) {V5.6: Q10 + D10 $\to$ 24 V\\(solo ventilador U2)\\[2pt] V5.7: F2 3 A $\to$ D10 + Q10 $\to$\\\net{/24V} $\to$ \textbf{U25} TPS54360B\\9–32 V $\to$ 5.32 V};
\node[caja, right=of in, text width=24mm] (veh) {\net{VEH5V}\\V5.6: P2 (SD-15B 5 V)\\V5.7: U25};
\node[caja, right=of veh, text width=27mm] (ltc) {\textbf{U6 LTC4040}\\RS1 10 m$\Omega$ Kelvin $\to$ 2.5 A\\Q7 ideal diode\\PFI 4.40 V};
\node[caja, right=of ltc, text width=22mm] (vsys) {\net{MAIN5V} (VSYS)\\C129 $\cdot$ C32/C33\\respaldo 4.79 V};
\node[caja, below=of ltc, text width=27mm] (bat) {Paquete LFP 1S4P $\cdot$ P4\\L6 2.2 $\mu$H/8 A\\carga 1.40 A $\cdot$ flot. 3.50 V\\NTC R55 5.6k B3380};
\node[caja, below=of vsys, text width=22mm] (sys) {P11 cutoff / JP6\\\net{SYS5V}};
\node[caja, below=of sys, text width=22mm, xshift=-32mm] (ldo) {D12 $\to$ U17 TLV1117LV\\\net{3V3} MCU y lógica};
\node[caja, below=of sys, text width=24mm] (u7) {\textbf{U7 AP64350} 3.33 V\\EN = PC3 (\net{MODEM\_EN})\\\net{3V3\_MODEM} $\cdot$ C43 220 $\mu$F};
\node[caja, below=of sys, text width=22mm, xshift=32mm] (q1) {F1 PPTC $\to$ Q1 (PA1)\\\net{SW\_5V} $\to$ ArduSimple\\C3 220 $\mu$F};
\node[caja, below=of ldo, text width=22mm] (eth) {U12 MP1584 $\to$ \net{3V3\_ETH}\\W5500 (sin enable)};
\node[caja, below=of u7, text width=24mm] (xbee) {J7/J8 zócalo XBee\\4G NTRIP Master\\RST PC1 $\cdot$ LED PC2};
\node[caja, below=of q1, text width=22mm] (k1) {K1 (PB5) Modo B\\NC: F9P TX2 $\to$ DIN};
\draw[flecha] (gx) -- (in); \draw[flecha] (in) -- (veh); \draw[flecha] (veh) -- (ltc); \draw[flecha] (ltc) -- (vsys);
\draw[flecha] (ltc) -- (bat); \draw[flecha] (vsys) -- (sys);
\draw[flecha] (sys) -- (ldo); \draw[flecha] (sys) -- (u7); \draw[flecha] (sys) -- (q1);
\draw[flecha] (ldo) -- (eth); \draw[flecha] (u7) -- (xbee); \draw[flecha] (q1) -- (k1);
\end{tikzpicture}}
\caption{Árbol de potencia de V5.6 y V5.7 tal como sale del netlist. Lo nuevo contra V5.5: U25 (V5.7), AP64350 con
enable desde el MCU, C129/C130, RS1 de 10 m$\Omega$ con sensado Kelvin, paquete LFP.}\label{fig:arbol}
\end{figure}
\subsection{Cargador y respaldo — U6 LTC4040}\label{sec:ltc}
Todos los valores se recalcularon contra la hoja de datos (ADI, 4040fb) y coinciden con lo que el ECO V5.6 quiso:
\hwtab{\begin{tabular}{@{}L{3.44cm}L{4.01cm}L{2.87cm}L{5.16cm}@{}}
\toprule
\cab{\cw{Función} & \cw{Piezas / red} & \cw{Valor que resulta} & \cw{Comentario}}\\
\midrule
Umbral de respaldo (PFI) & R51 270 k / R52 100 k, $V_{PFI}=1.19$ V & \textbf{4.40 V} cae $\cdot$ 4.51 V sube & 30 mV de histéresis. 0.6 V bajo los 5.0 V de la SD-15B; 0.9 V bajo los 5.32 V de U25.\\
\rowcolor{HelgenMist} Salida en respaldo (BSTFB) & R53 499 k / R54 100 k, ref. 0.8 V & \textbf{4.79 V} & Dentro del rango 3.5–5 V. El AP64350 arranca desde 3.8 V: ya no existe el caso V5.5 (MP1584 pedía 4.5 V).\\
Límite de corriente de entrada & RS1 10 m$\Omega$, umbral 25 mV & \textbf{2.5 A} & Sensado Kelvin VIN (U6.6) y CLN (U6.7) verificado en el cobre (§\ref{sec:cobre}). Recorta solo la carga; el sistema nunca se limita.\\
\rowcolor{HelgenMist} Corriente de carga & R50 1.43 k, $I=2000/R$ & \textbf{1.40 A} & C/10 del paquete 4 × 3.6 Ah LFP-HT.\\
Flotación & JP2 2-3 (F2 = 0 LiFePO4) $\cdot$ JP3 F1 = 0 $\cdot$ JP4 F0 = 1 & \textbf{3.50 V} & Tabla de la hoja de datos (p.~11). Firmware: \texttt{BOARD\_VFLOAT\_V 3.50}.\\
\rowcolor{HelgenMist} Ventana térmica de carga & R55 5.6 k desde \net{VEH5V}, NTC 10 k B3380 en P4.3 & $\approx$ \textbf{+10 … +60 °C} & Los umbrales son 34.9 \% y 76.5 \% de VIN (ratiométricos: el sesgo desde VIN es el correcto). El divisor R113/R114 a PC5 carga el nodo 4 \% (9.57 k en vez de 10 k): despreciable.\\
Capacitor de VSYS & C129 10 $\mu$F 0603 junto a U6.1/24 + C32/C33 47 $\mu$F + C34 & 104 $\mu$F & El hallazgo crítico del 19-oct, cerrado (T31) y colocado (pasada 4).\\
\rowcolor{HelgenMist} CHGOFF / BSTOFF & R56 100 k a GND en PA8 $\cdot$ BSTOFF a GND & carga ON por defecto $\cdot$ boost ON & Ninguno flota (la hoja de datos lo prohíbe). Con el MCU en reset, la carga queda en manos de la ventana NTC y del límite de 2.5 A: no se repite el bucle del 10-ago.\\
OVSNS & unido a VIN & OVP no usada & Permitido por la hoja de datos (p.~12); el umbral de 6.4 V no se alcanza (VEH5V $\le$ 5.46 V).\\
\rowcolor{HelgenMist} PFO & solo TP2 & no llega al MCU & El firmware detecta el respaldo por \net{5V\_SENSE} (PA4). Suficiente; una interrupción sería más elegante (v6).\\
Corriente de respaldo & boost desde 3.2 V & hasta 2.5 A en VSYS & 12 W disponibles contra 8.7 W de pico (§\ref{sec:bateria}). NMOS 6.5 A; L6 8 A de saturación.\\
\bottomrule
\end{tabular}}
\subsection{Riel del módem — U7 AP64350}\label{sec:modem}
\begin{itemize}
\item \textbf{Entrada} \net{SYS5V} con C101/C119/C120 (22 $\mu$F), C121 (10 $\mu$F/25 V) y \textbf{C130 100 nF}
pegado a U7.2 (T32, pasada 5). \textbf{Salida} 0.8 V × (1 + 100 k/31.6 k) = \textbf{3.33 V}; L7 4.7 $\mu$H/4 A
(rizo $\approx$ 0.44 A a 500 kHz); C43 220 $\mu$F polímero + C41 + C122. Frecuencia: RT 200 k $\to$
\textbf{500 kHz} (450–550). Compensación Rcomp2 9.1 k / Ccomp2 10 nF / C123 68 pF.
\item \textbf{EN = PC3} a través de R105 10 k, con R106 100 k a GND: \textbf{apagado por defecto} (reset del MCU,
firmware viejo). Con PC3 en alto EN = 3.0 V ($>$ 1.25 V). Corriente de apagado 1 $\mu$A. Es lo que hace posible el
ciclo de 10 min: el módem se corta con un pin, sin tocar la etapa.
\item \textbf{RESET = PC1} a través de R107 1 k hacia J7.5, con \refdes{SW4G1} en paralelo a GND. Manejar como
colector abierto (salida en bajo o alta impedancia; nunca en alto). \textbf{LED = PC2} a través de R108 1 k desde
J8.8 (la misma señal que enciende \refdes{D4G1}). \textbf{Toma de RTCM = PC7} (USART6\_RX) a través de R111 1 k
desde \net{DOUT\_4G}: el MCU puede oír las correcciones que el módem manda al F9P.
\item \textbf{Zócalo}: VCC (J7.1) y VREF (J8.7) a \net{3V3\_MODEM}; ON/OFF (J8.1) a GND; USB del módem
(J7.7/J7.8) a \refdes{J9} con \refdes{D19} USBLC6; \net{MODEM\_ON\_SLEEP} (J8.3 $\to$ PC4) con R109 DNP: PC4 queda al
aire — configurar con pull-down.
\end{itemize}
\subsection{V5.7 — la fuente a bordo y la entrada de 9 a 32 V}\label{sec:v57-fuente}
Cadena: \refdes{P1.1} $\to$ \refdes{F2} (0452003.MRL, 3 A lento, 125 V) $\to$ \net{/VIN\_FUSED} $\to$
\refdes{D10} SMBJ33A a GND y \refdes{Q10} IRFR5305 (P-FET: drenador a la entrada, fuente a \net{/24V}, compuerta a
GND por Rrp1 10 k y Zener DzG1 15 V entre fuente y compuerta) $\to$ \net{/24V} (C10 47 $\mu$F/50 V electrolítico, C22
10 $\mu$F/50 V cerámico, C149/C150 2.2 $\mu$F/100 V, C11 100 nF) $\to$ \refdes{U25} TPS54360B.
\hwtab{\begin{tabular}{@{}L{3.14cm}L{4.52cm}L{8.25cm}@{}}
\toprule
\cab{\cw{Parámetro} & \cw{Piezas} & \cw{Valor y comentario}}\\
\midrule
Salida & R121 57.6 k / R122 10.2 k, ref. 0.8 V & \textbf{5.32 V} (5.21–5.43 con ±1 \% en R y ref.). Deja 0.9 V sobre el PFI y 0.2 V bajo el máximo de 5.5 V del LTC4040.\\
\rowcolor{HelgenMist} Frecuencia & R120 162 k & \textbf{$\approx$ 600 kHz} (RT = 92417$\cdot$f$^{-0.991}$). Lejos del AP64350 (500 kHz) y del LTC4040 (2.25 / 1.125 MHz).\\
Compensación & R123 13 k $\cdot$ C155 6.8 nF $\cdot$ C156 39 pF & Red tipo II; coincide con el diseño de referencia TI para 5 V / 3.5 A con L = 10 $\mu$H y 2 × 47 $\mu$F.\\
\rowcolor{HelgenMist} Inductor y diodo & L22 SRP1265A 10 $\mu$H (15.5 A sat.) $\cdot$ D34 B560C (5 A, 60 V) & Rizo $\approx$ 0.7 A a 24 V. D34 disipa $\approx$ 1.2 W a 24 V y 2.8 A (conduce el 78 \% del periodo): se mide su temperatura en banco.\\
Salida & C153/C154 47 $\mu$F/16 V 1210 + C78 220 $\mu$F polímero & C78 cuelga de una sola vía 0.8/0.3 (aceptado el 21-oct; opcional 2.\textsuperscript{a} vía).\\
\rowcolor{HelgenMist} Enable / UVLO & R124 523 k y R125 84.5 k \textbf{DNP} & EN flotante = habilitado por la corriente interna; UVLO interno 4.3 V. Si algún día se quiere apagar a $<$ 9 V, se montan.\\
Rango continuo & D10 (33 V de trabajo, conduce desde 36.7 V) $\cdot$ U25 (4.5–60 V) & \textbf{9–32 V DC}: 12 V y 24 V. Piso: a 2.8 A la regulación necesita $\approx$ 6.5 V.\\
\rowcolor{HelgenMist} Polaridad invertida & Q10 bloquea; D10 unidireccional conduce & \alerta{F2 abre} (SMD, no se cambia en campo). Con SMBJ33CA no pasa nada: easy win P-4.\\
Corriente de entrada & 15 W a plena carga & 0.7 A a 24 V $\cdot$ 1.9 A a 9 V. F2 de 3 A lento aguanta el arranque (C10 + C22 + C149/150).\\
\rowcolor{HelgenMist} Térmico & U25 HSOP-8 con 6 vías en el EP $\cdot$ D34 SMC & $\approx$ 2.5 W en el bloque a 32 V y 2.8 A (U25 $\approx$ 1.0 W, D34 $\approx$ 1.2 W, L22 $\approx$ 0.1 W). A 45 °C en la caja el U25 ronda 100 °C de unión: lejos de los 176 °C de apagado, pero se mide.\\
Lazo de entrada & C149/C150 a 1 mm de U25.2 & $\approx$ 56 mm$^2$ por centros de pad; In1 es GND sólido debajo (207 de 208 mm$^2$). Decisión D-21-2: se queda y se mide el timbre en SW/VIN (hallazgo E-9).\\
\bottomrule
\end{tabular}}
\begin{figure}[H]\centering
\includegraphics[width=0.78\linewidth]{fig/fig-v57-fuente.png}
\caption{V5.7: bloque de la fuente en F.Cu. Toda la corriente de entrada de U25 cruza una vía 0.8/0.3 en
(182.4, 68.1) (hallazgo E-10): a 24 V son 0.7 A y no pasa nada; a 9 V son 1.9 A y se mide con cámara térmica.}
\end{figure}
\subsection{MCU, relojes, arranque y depuración}
\refdes{U16} STM32F411RET6 con VBAT unido a \net{3V3} (no hay batería de RTC: no hace falta, el MCU sigue
alimentado en respaldo); HSE \refdes{Y3} 25 MHz HC49-SD con 15 pF (igual que V5.5, probado); \textbf{LSE
\refdes{Y4} Epson FC-135 (CL 12.5 pF, ESR 70 k$\Omega$) con C115/C116 de 12 pF}: la carga efectiva queda en
$\approx$ 8–9 pF, el oscilador corre unas decenas de ppm rápido (irrelevante para un temporizador de 10 min) y
arranca con margen; el firmware pone \texttt{LSEDRV} alto y, si no arranca en 2 s, usa LSI (hallazgo E-12).
BOOT0 con R98 10 k a GND y \refdes{SW2}; BOOT1 (PB2) con R99 10 k a GND; DFU por \refdes{J11} con
\refdes{D14/D15/D16} (ESD) y \refdes{Rdfu1} 22 k en PA10 para que el bootloader no se enganche con ruido en
USART1; NRST con C104, \refdes{SW1}, \refdes{P10} y TP5; SWD en TP3/TP4; VCAP1 4.7 $\mu$F; VDDA por R104 10 $\Omega$
+ C109/C112. Pines al aire (PA7, PB1, PB10, PC6, PC8–PC12, PD2): el firmware los pone en pull-down para dormir.
\refdes{PA15} (\net{ETH\_RST}) tiene pull-down de 4.7 k: tras el reset el pin es JTDI con pull-up interno
($\approx$ 40 k) y el nodo queda en $\approx$ 0.35 V — el W5500 arranca en reset, como quiere el ECO.
\refdes{PA5} (\net{IGN\_SENSE}): divisor 22 k arriba / 22 k $\parallel$ 3.3 k abajo (×0.1154) + BAT54 a 3V3:
24 V $\to$ 2.77 V, 13.8 V $\to$ 1.59 V, 12 V $\to$ 1.38 V — \textbf{en máquinas de 12 V \texttt{digitalRead} no es
confiable} (zona indefinida 0.99–2.31 V): ADC con umbrales 0.80 / 0.55 V (hallazgo E-7).
\subsection{Etapa RTK, Modo B y telemetría}
\net{PWR\_CTRL} (PA1) $\to$ R1 1 k $\to$ Q5 (MMBT3904) $\to$ \net{GATE\_LS} con R2 10 k a \net{SYS5V} $\to$ Q1
AO3401A; fuente por F1 (PPTC) desde \net{SYS5V}, drenador a \net{SW\_5V} (C3 220 $\mu$F, C40) $\to$ MOD1.5. Con el MCU
en reset la etapa está apagada (invariante 1). USART2 (PA2/PA3) al UART1 del simpleRTK2B; USART1 RX (PA10) toma
TX2 (NMEA); USART1 TX (PA9) al contacto NO de \refdes{K1}; K1 (bobina en \net{SYS5V}, Q6 por PB5 con R41 pull-down,
D6 1N4148 de rueda libre) en reposo deja TX2 $\to$ \net{DIN\_4G} directo (invariante 2). Sin cambios contra V5.5
salvo la toma de RTCM en PC7.
\subsection{Puertos: Ethernet, RS-485, RS-232, USB y sensores}\label{sec:puertos}
\hwtab{\begin{tabular}{@{}L{2.29cm}L{6.31cm}L{2.10cm}L{4.78cm}@{}}
\toprule
\cab{\cw{Puerto} & \cw{Qué hay (netlist)} & \cw{¿Usable?} & \cw{Reglas y hallazgos}}\\
\midrule
Ethernet \refdes{J10} & W5500 en SPI2 (PB12–15), INT PC0, RST PA15 con pull-down; RSET 12.4 k; TOCAP 4.7 $\mu$F; 1V2O 10 nF; PMODE con pull-up (auto-negociación); TCT a \net{3V3\_ETH}; pares con 49.9 $\Omega$ a RCT; LED de enlace J10.9/10 & \estado{Sí} & J10.8 al aire (terminación Bob-Smith sin tierra: solo EMC); LED de actividad invertido (J10.11/12): cosmético. \net{3V3\_ETH} siempre encendido (U12 sin enable): en batería el firmware pone el PHY en power-down (13 mA) — hallazgo E-3.\\
\rowcolor{HelgenMist} RS-485 \refdes{P15} & U14 SP3485EN a 3.3 V; RO $\to$ RXA, DI $\leftarrow$ TXA de U10; \textbf{DE y \nbar{RE} unidos a \nbar{RTSA}}; R82 120 $\Omega$ por JP5 (abierto) & \estado{Sí}, punto a punto & Tras el reset \nbar{RTSA} = 1 $\to$ transmisor encendido: \textbf{ocupa el bus hasta que el firmware escribe EFCR/MCR} ($\sim$1 s en el arranque; también durante DFU). Sin TVS ni polarización de reposo (el SP3485 no es a prueba de bus abierto): bytes basura con el cable suelto. Hallazgo E-4; THVD1410 para las 108 / 322.\\
RS-232 \refdes{P16} & U15 MAX3232 a 3.3 V con C85–C88 100 nF; T1IN $\leftarrow$ TXB; R1OUT $\to$ RXB; canal 2 a tierra & \estado{Sí} & R1OUT y H4.3 comparten \net{SER\_RXB}: \textbf{H4 (TTL) y P16 nunca al mismo tiempo} (hallazgo E-5; v6 pone R147).\\
\rowcolor{HelgenMist} TTL \refdes{H4} & 3V3 $\cdot$ TXB $\cdot$ RXB $\cdot$ GND & \estado{Sí} & Mismo canal B del SC16IS752 que el RS-232.\\
USB-C \refdes{J11} & DFU del MCU (PA11/PA12), ESD, VBUS $\to$ D13 $\to$ LDO (alimenta el MCU sin 24 V) & \estado{Sí} & Igual que V5.5.\\
\rowcolor{HelgenMist} USB-C \refdes{J9} & Paso directo al USB del módem (J7.7/J7.8) con D19 USBLC6 & \estado{Sí} & Para configurar el 4G NTRIP Master sin sacarlo.\\
I$^2$C & SHT40 0x44 $\cdot$ TMP102 0x48 (U4, zona del cargador) $\cdot$ TMP102 0x49 (U18, zona del módem) $\cdot$ SC16IS752 0x4D $\cdot$ PCF8574 0x20 $\cdot$ SC7A20 0x18; pull-ups 4.7 k & \estado{Sí} & U4 se movió 54 mm (ahora mide el cargador, no el MCU); U18 es nuevo. El acelerómetro responde WHO\_AM\_I = 0x11; INT1 en PB9 (EXTI9, despertar desde STOP).\\
\rowcolor{HelgenMist} Gauge y RGB & PCF8574 P0–P3 $\to$ DB1–4 (120 $\Omega$); P4–P6 $\to$ P14 RGB; P7 libre & \estado{Sí} & P7 ya no es el puente de MODEM\_RST de la V5.5.\\
Ventilador \refdes{P6} & Q2 AO3400A por PA6 (Rgs1 100 k); V5.6 desde U2 (24 V), V5.7 desde \net{VEH5V} por JP1 & \estado{Sí} & \textbf{En respaldo no hay ventilador en ninguna de las dos} (ni U2 ni U25 tienen 24 V): el termostato de batería del firmware es inocuo.\\
\rowcolor{HelgenMist} Pines de U10 al aire & \nbar{CTSA}, \nbar{CTSB}, GPIO0–7 & — & Entradas CMOS flotando: sin efecto con el control de flujo apagado; v6 las aterriza.\\
\bottomrule
\end{tabular}}