Ruido (¿relacionado con la capacitancia?) en la señal en serie

11

Las imágenes del "resumen ejecutivo":

Quierodecodificarlaseñalserialquesaledelatomadeauricularesdemitableta.Esteesun"truco" un tanto extraño que existe en algunos teléfonos y tabletas: básicamente, si alimenta 3.3 V en la entrada de micrófono de su enchufe TRRS, los canales izquierdo y derecho se convierten en TX / RX en serie.

Usé un cable Raspberry PI TRRS a TV (como se puede ver en la segunda imagen) para obtener acceso a los 4 lugares que necesitaba: GND, MIC, L, R. El cable no debe hacer nada aparte de exponer las 3 señales (MIC, L, R - emparejadas con GND) en los tres cables correspondientes (rojo, blanco, amarillo).

Utilicé mis sondas de BitScope para sondear entre el TX (punta del cable blanco en la segunda imagen) y la 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.3 V de mi chip USB / TTL (un PL2303HX conectado a mi computadora portátil) a la punta del MIC (rojo).

Al reiniciar la tableta, de hecho vi una señal serial inconfundiblemente en 115200 (pico a pico de 8 a 9us), pero con mucha capacidad (video) .

Entonces, mi pregunta, antes de conectarme 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 explicar esta cantidad de capacitancia, y la razón por la que estoy viendo 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 realmente lo que sale de la toma).

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 por "diversión y ganancias" (piratear el gestor de arranque, compilar Cyanogenmod para ello, etc.).

Apreciaría una estimación estimada sobre si se trata de una causa perdida (es decir, los cables no pueden explicar esta capacidad) o no.

Gracias de antemano por cualquier ayuda / sugerencia.

    
pregunta ttsiodras

2 respuestas

10

Entonces, seguí los consejos dados por las dos personas amables que comentaron ... Aquí están los resultados.

  1. Ali Chen indicó que los bordes lentos pueden atribuirse a la capacitancia del cable RCA; y "Anónimo" recomendó que se conectara directamente a la placa con un conector sin cables. Seguí sus consejos, desarmé la tableta para exponer el PCB, enchufé un conector desnudo y lo probé, pero desafortunadamente los resultados fueron los mismos: bordes muy lentos, claramente impulsados por capacitancia. No eran los cables RCA : en cambio, parece que a quienquiera que diseñó la tableta no le importó mucho la señal serial que sale del conector para auriculares (probablemente usó alguna otra forma de interactuar con la placa ). Intenté sondear todo el PCB con la esperanza de encontrar una señal serial más limpia, pero fallé.

  2. Anónimo también recomendó disminuir la velocidad en baudios; desafortunadamente, no hay una manera 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 dentro de un shell ADB, ya que he logrado compile mi propio kernel y se convierte en root .

Así que pude hacer esto ...

$ su
# stty -F /dev/ttyHSL0 9600
# while true ; do echo UUUUUUU > /dev/ttyHSL0 ; sleep 0.1 ; done

Y, de hecho, el resultado es mucho mejor:

Estoybastantesegurodequeestaseñalsepuededescodificarbien,siusounapalancadecambios(estáa1.8V,porloquemi3.3VUSB-TTLaúnnopuededescodificarla).

Entonces,paraconcluir:el"puerto serie dentro de la toma de auriculares" de mi tableta solo se puede usar DESPUÉS de que se complete el arranque, y la UART se redujo a 9600 baudios; lo cual es desafortunado, ya que la salida en serie es más necesaria durante el proceso de inicio (si es que falla algo) y durante ese tiempo, la velocidad de UART está codificada en el código de inicio de mi tableta a 115200 baudios.

P.S. También intenté una sugerencia de un amigo, para usar un pull-up de 3.3K hacia el riel de 3.3V en la señal de serie enviada por el conector de los auriculares, 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 que se haya hecho, logré soldar los encabezados de pines en el BSS138, y luego procedí a conectarlo a la placa de pruebas y crear este lío enredado:

Loquenoesperaba,fuequedespuésdegenerarminicomyemitirun"reinicio rápido de arranque rápido", para mi asombro, vi esto:

Increíble:despuésdequeBSS138"levanta" la señal de 1.8 a 3.3V, ¡esa señal miserable y llena de capacitancia puede ser realmente decodificada! Finalmente puedo ver por qué mi tableta no se está iniciando.

Hola, pequeña tableta: te tengo ahora :-)

    
respondido por el ttsiodras
0

¿Tiene su DSO suficiente ancho de banda @ 524kps para mostrar una onda cuadrada a una velocidad de datos de 115.2 kbps? Yo sí lo creo. solo para tu información. Podría estar equivocado.

Tal vez usaste una resolución más lenta.

    
respondido por el Tony EE rocketscientist

Lea otras preguntas en las etiquetas