Las fotos del "resumen ejecutivo":
Quiero decodificar la señal serial que sale del conector de auriculares de mi tableta. Este es un "truco" algo extraño que existe en algunos teléfonos y tabletas: básicamente, si alimenta 3.3V en la entrada de micrófono de su enchufe TRRS, los canales izquierdo y derecho se convierten en TX / RX en serie.
Utilicé un cable Raspberry PI TRRS a TV (como puede ver en la segunda imagen) para obtener acceso a los 4 lugares que necesitaba: GND, MIC, L, R. El cable no debe hacer otra cosa que exponer las 3 señales (MIC, L, R - emparejadas con GND) en los tres cables correspondientes (rojo, blanco, amarillo).
Utilicé las sondas de mi BitScope para sondear entre el TX (punta del cable blanco en la segunda imagen) y el GND común (sonda marrón en la parte inferior de la segunda imagen). También utilicé dos sondas (roja y azul) para "alimentar" 3.3V desde mi chip USB / TTL (un PL2303HX enchufado en mi computadora portátil) a la punta MIC (roja).
Al reiniciar la tableta, vi lo que sin lugar a dudas es una señal en serie a 115200 (pico a pico de 8 a 9us), pero con mucha capacidad (video) .
Entonces, mi pregunta, antes de conectarme en línea y pedir un enchufe TRRS, cables y un soldador, es la capacidad que estoy viendo debido a ...
- el cable TRRS a TV de 1 metro de largo, o el uso de sondas en lugar de cables soldados
O
- las sondas y el cable, de hecho, no pueden dar cuenta de esta gran capacidad, y la razón por la que veo esto es que el conector para auriculares de la tableta simplemente no fue diseñado para emitir esta señal (es decir, lo que estoy viendo es lo que sale del conector) .
Como probablemente puedas adivinar, soy muy nuevo en este tipo de cosas; Soy un tipo de software, compré mi BitScope hace una semana y me encantaría acceder a la serie de mi tableta para "divertirme y obtener ganancias" (piratear cosas del gestor de arranque, compilar Cyanogenmod para ello, etc.).
Apreciaría una suposición estimada sobre si esta es una causa perdida (es decir, los cables no pueden explicar tanta capacidad) o no.
Gracias de antemano por cualquier ayuda / sugerencia.
fuente
Respuestas:
Entonces, seguí el consejo dado por las dos personas amables que comentaron ... Aquí están los resultados.
Ali Chen indicó que los bordes lentos pueden atribuirse a la capacitancia del cable RCA; y "Anónimo" recomendó conectarlo directamente a la placa con un conector sin cables. Seguí sus consejos, quité la tableta para exponer la PCB, enchufé un conector desnudo y la probé, pero desafortunadamente los resultados fueron los mismos: bordes muy lentos, claramente impulsados por la capacitancia. No fueron los cables RCA ; en cambio, parece que a quien diseñó la tableta no le importó mucho la señal serial que salía de la toma de auriculares (probablemente utilizó alguna otra forma de interactuar con la placa). Intenté sondear todo el PCB con la esperanza de encontrar una señal en serie más limpia, pero fallé.
Anónimo también recomendó disminuir la velocidad de transmisión; desafortunadamente, no hay una forma documentada de influir en el proceso de arranque de mi tableta para configurar la velocidad en baudios utilizada durante u-boot (que es lo que me interesaba) ...
Pero es posible hacerlo DESPUÉS de que se complete el arranque, desde un shell ADB, ya que he logrado compilar mi propio núcleo y convertirme en root .
Así que pude hacer esto ...
Y de hecho, el resultado es mucho más agradable:
Estoy bastante seguro de que esta señal se puede decodificar bien, si uso una palanca de cambios (es de 1.8V, por lo que mi USB-TTL de 3.3V todavía no puede decodificarla).
Entonces, para concluir: el "puerto serie dentro de la toma de auriculares" de mi tableta solo se puede usar DESPUÉS de completar el arranque, y el UART se desaceleró a 9600 baudios; lo cual es lamentable, ya que la salida en serie se necesita más durante el proceso de arranque (si algo falla, eso es), y durante ese tiempo, la velocidad UART está codificada en el código de arranque de mi tableta a 115200 baudios.
PD: También probé una sugerencia de un amigo, para usar un pull-up de 3.3K hacia el riel de 3.3V en la señal serial enviada por el conector para auriculares, pero fue en vano.
ACTUALIZACIÓN, 3 días después
Perseveré :-)
Siguiendo los consejos de Chris Stratton, que una buena palanca de cambios puede hacer frente incluso a este tipo de señal, compré un soldador, un BSS138, una placa de pruebas y un montón de cables. Después de lo que probablemente sea el peor trabajo de soldadura NUNCA, logré soldar los encabezados de clavija en el BSS138, y luego procedí a conectarlo a la placa de pruebas y crear este lío enredado:
Lo que no esperaba era que después de generar minicom y emitir un "reinicio de arranque rápido", para mi completo asombro, vi esto:
Increíble: después de que BSS138 "eleva" la señal de 1.8 a 3.3V, ¡esa señal miserable y llena de capacitancia realmente puede decodificarse! Finalmente puedo ver por qué mi tableta no se inicia.
Hola, pequeña tableta - TE PROPIO ahora :-)
fuente
¿Tiene su DSO suficiente ancho de banda @ 524ksps para incluso mostrar una onda cuadrada a una velocidad de datos de 115.2 kbps? Yo creo que si. solo para tu información. Podría estar equivocado.
Tal vez usaste una resolución más lenta.
fuente