As imagens do "resumo executivo":
Quero decodificar o sinal serial que sai do fone de ouvido do meu tablet. Este é um "hack" um tanto estranho que existe em alguns telefones e tablets: basicamente, se você alimentar 3,3V na entrada de microfone do seu plug TRRS, os canais esquerdo e direito se tornarão TX / RX serial.
Usei um cabo Raspberry PI TRRS para TV (como você pode ver na segunda foto) para ter acesso aos 4 locais que eu precisava: GND, MIC, L, R. O cabo não deve fazer nada além de expor os 3 sinais (MIC, L, R - emparelhados com GND) nos três cabos correspondentes (vermelho, branco, amarelo).
Usei as sondas do meu BitScope para sondar entre o TX (ponta do cabo branco na segunda foto) e o GND comum (sonda marrom na parte inferior da segunda foto). Também usei duas sondas (vermelha e azul) para "alimentar" 3,3V do meu chip USB / TTL (um PL2303HX conectado ao meu laptop) até a ponta do MIC (vermelho).
Ao reiniciar o tablet, vi de fato o que é inconfundivelmente um sinal serial em 115200 (pico a pico de 8 a 9us), mas com muita capacitância (vídeo) .
Então, minha pergunta - antes de entrar on-line e pedir um plugue TRRS, cabos e um ferro de solda - é a capacitância que estou vendo devido a ...
- o cabo TRRS para TV de 1 metro de comprimento ou o uso de sondas em vez de cabos soldados
OU
- as sondas e o cabo, na verdade, não são responsáveis por tanta capacitância, e a razão pela qual estou vendo isso é que o fone de ouvido do tablet simplesmente não foi projetado para emitir esse sinal (ou seja, o que estou vendo é realmente o que sai do conector) .
Como você provavelmente pode adivinhar, sou muito novo nesse tipo de coisa; Eu sou um cara de software, comprei meu BitScope há uma semana e adoraria acessar a série do meu tablet por "diversão e lucro" (hackear coisas do bootloader, compilar o Cyanogenmod para isso etc.).
Eu apreciaria um palpite estimado sobre se essa é uma causa perdida (ou seja, os cabos não podem explicar tanta capacitância) ou não.
Agradecemos antecipadamente por qualquer ajuda / sugestões.
fonte
Respostas:
Então, eu segui o conselho dado pelas duas pessoas gentis que comentaram ... Aqui estão os resultados.
Ali Chen indicou que as bordas lentas podem ser atribuídas à capacitância do cabo RCA; e "Anônimo" recomenda a conexão direta à placa com uma tomada sem fios. Eu segui o conselho deles, tirei o tablet para expor o PCB, liguei uma tomada e a sondou - mas infelizmente os resultados foram os mesmos: bordas muito lentas e claramente orientadas por capacitância. Não eram os fios RCA - parece que quem projetou o tablet não se importou muito com o sinal serial saindo do fone de ouvido (provavelmente usado de outra maneira para fazer interface com a placa). Tentei investigar todo o PCB na esperança de encontrar um sinal serial mais limpo, mas falhei.
O Anonymous também recomendou diminuir a taxa de transmissão; infelizmente, não há nenhuma maneira documentada de influenciar o processo de inicialização do meu tablet, de modo a configurar a taxa de transmissão usada durante o u-boot (que é o que eu estava interessado) ...
Mas é possível fazer isso APÓS a inicialização ser concluída, de dentro de um shell do ADB - desde que eu consegui compilar meu próprio kernel e me tornar root .
Então eu pude fazer isso ...
E, de fato, o resultado é muito melhor:
Tenho certeza de que esse sinal pode ser decodificado corretamente, se eu usar um shifter (é de 1,8V, então meu USB-TTL de 3.3V ainda não pode decodificá-lo).
Então, para concluir: a "porta serial dentro do fone de ouvido" do meu tablet só pode realmente ser usada APÓS a inicialização ser concluída, e o UART diminuiu para 9600 baud; o que é lamentável, já que a saída serial é mais necessária durante o processo de inicialização (se houver alguma falha) - e durante esse tempo, a velocidade do UART é codificada no código de inicialização do meu tablet a 115200 baud.
PS: Tentei também uma sugestão de um amigo, para usar um pull-up de 3,3K em direção ao trilho de 3,3V no sinal serial enviado pelo fone de ouvido - sem sucesso.
ATUALIZAÇÃO, 3 dias depois
Eu perseverei :-)
Seguindo o conselho de Chris Stratton - que um bom shifter pode lidar com esse tipo de sinal - comprei um ferro de solda, um BSS138, uma tábua de pão e um monte de cabos. Após o que provavelmente é o pior trabalho de soldagem de TODOS OS SEMPRE, consegui soldar os cabeçalhos dos pinos no BSS138 e, em seguida, prendi-o à tábua de pão e crie essa bagunça emaranhada:
O que eu não esperava era que, depois de gerar o minicom e emitir uma "reinicialização do fastboot", para minha total surpresa, vi o seguinte:
Inacreditável - depois que o BSS138 "eleva" o sinal de 1,8 a 3,3V, esse sinal miserável e cheio de capacitância pode realmente ser decodificado! Finalmente, posso ver por que meu tablet não está inicializando.
Olá, pequeno tablet - EU POSSO você agora :-)
fonte
Seu DSO tem largura de banda suficiente a 524ksps para mostrar uma onda quadrada na taxa de dados de 115,2kbps? Eu acho que sim. apenas para sua informação. Eu poderia estar errado.
Talvez você tenha usado uma resolução mais lenta.
fonte