Gambar "ringkasan eksekutif":
Saya ingin memecahkan kode sinyal serial yang keluar dari jack headphone tablet saya. Ini adalah "retasan" agak aneh yang ada di beberapa ponsel dan tablet: pada dasarnya, jika Anda memberi makan 3.3V pada input mikrofon dari colokan TRRS Anda, saluran kiri dan kanan menjadi serial TX / RX.
Saya menggunakan kabel Raspberry PI TRRS-to-TV (seperti yang Anda lihat pada gambar 2) untuk mendapatkan akses ke 4 tempat yang saya butuhkan: GND, MIC, L, R. Kabel tidak seharusnya melakukan apa pun selain mengekspos 3 sinyal (MIC, L, R - dipasangkan dengan GND) dalam tiga kabel yang sesuai (merah, putih, kuning).
Saya menggunakan probe BitScope untuk menyelidiki antara TX (ujung kabel putih pada gambar ke-2) dan GND (probe coklat di bagian bawah gambar ke-2). Saya juga menggunakan dua probe (merah dan biru) untuk "memberi makan" 3.3V dari chip USB / TTL saya (sebuah PL2303HX dicolokkan ke laptop saya) ke ujung MIC (merah).
Setelah me-reboot tablet, saya benar-benar melihat apa yang merupakan sinyal serial di 115200 (puncak-ke-puncak 8 ke 9us), tetapi dengan banyak kapasitansi (video) .
Jadi, pertanyaan saya - sebelum saya online dan memesan colokan TRRS, kabel dan setrika - adalah kapasitansi yang saya lihat karena ...
- kabel TRRS-ke-TV sepanjang 1 meter, atau penggunaan probe alih-alih kabel yang disolder
ATAU
- probe dan kabel sebenarnya tidak dapat menjelaskan kapasitansi sebesar ini, dan alasan saya melihat ini adalah bahwa jack headphone tablet tidak dirancang untuk memancarkan sinyal ini (yaitu apa yang saya lihat memang apa yang keluar dari jack) .
Seperti yang bisa Anda tebak, saya sangat baru dalam hal ini; Saya seorang pria perangkat lunak, membeli BitScope saya seminggu yang lalu, dan akan senang mengakses serial tablet saya untuk "kesenangan dan keuntungan" (meretas barang-barang bootloader, mengkompilasi Cyanogenmod untuk itu, dll).
Saya menghargai perkiraan dugaan apakah ini penyebab yang hilang (yaitu kabel tidak dapat menjelaskan kapasitansi sebanyak ini) atau tidak.
Terima kasih sebelumnya atas bantuan / saran.
sumber
Jawaban:
Jadi, saya mengikuti saran yang diberikan oleh dua orang baik yang berkomentar ... Inilah hasilnya.
Ali Chen menunjukkan ujung yang lambat dapat dikaitkan dengan kapasitansi kabel RCA; dan "Anonim" disarankan melampirkan langsung ke papan dengan jack tanpa kabel. Saya mengikuti saran mereka, menanggalkan tablet untuk mengekspos PCB, mencolokkan jack telanjang dan menyelidikinya - tetapi hasilnya sayangnya sama: tepi yang sangat lambat, yang didorong oleh kapasitansi. Bukan kabel RCA - sebaliknya, tampaknya siapa pun yang merancang tablet tidak terlalu peduli dengan sinyal serial yang keluar dari jack headphone (mungkin menggunakan cara lain untuk berinteraksi dengan papan). Saya memang mencoba menyelidik seluruh PCB dengan harapan menemukan sinyal serial yang lebih bersih, tetapi saya gagal.
Anonim juga merekomendasikan untuk mengurangi baud rate; sayangnya, tidak ada cara yang terdokumentasi untuk memengaruhi proses boot tablet saya sehingga dapat mengkonfigurasi laju baud yang digunakan selama u-boot (yang merupakan hal yang saya minati) ...
Tapi itu adalah mungkin untuk melakukannya SETELAH boot selesai, dari dalam shell ADB - karena saya sudah berhasil mengkompilasi kernel saya sendiri dan menjadi akar .
Jadi saya bisa melakukan ini ...
Dan memang, hasilnya jauh lebih baik:
Saya cukup yakin sinyal ini dapat didekodekan dengan baik, jika saya menggunakan shifter (ini pada 1.8V, jadi 3.3V USB-TTL saya masih tidak dapat mendekodekannya).
Jadi, untuk menyimpulkan: "port serial di dalam jack headphone" tablet saya hanya benar-benar dapat digunakan SETELAH boot selesai, dan UART melambat menjadi 9600 baud; yang sangat disayangkan, karena keluaran serial paling dibutuhkan selama proses boot (jika ada yang gagal, itu adalah) - dan selama waktu itu, kecepatan UART di-hardcode dalam kode boot tablet saya di 115200 baud.
PS Saya juga mencoba saran dari seorang teman, untuk menggunakan 3.3K pull-up menuju rel 3.3V dalam sinyal serial yang dikirim oleh jack headphone - tidak berhasil.
UPDATE, 3 hari kemudian
Saya bertahan :-)
Mengikuti saran dari Chris Stratton - bahwa shifter yang bagus dapat mengatasi bahkan dengan sinyal semacam ini - saya membeli besi solder, BSS138, papan tempat memotong roti dan banyak kabel. Setelah apa yang mungkin merupakan pekerjaan penyolderan terburuk yang pernah ada, saya berhasil menyolder pin header di BSS138, dan kemudian melanjutkan untuk memasangnya ke papan tempat memotong roti, dan membuat kekacauan kusut ini:
Apa yang tidak saya duga adalah setelah menelurkan minicom dan mengeluarkan "fastboot reboot", yang membuat saya takjub, saya melihat ini:
Luar biasa - setelah BSS138 "mengangkat" sinyal dari 1,8 hingga 3,3V, sinyal kapasitansi yang penuh teka-teki itu benar-benar dapat didekodekan! Saya akhirnya bisa melihat mengapa tablet saya tidak bisa boot.
Halo, tablet kecil - SAYA SENDIRI sekarang :-)
sumber
Apakah DSO Anda memiliki bandwidth yang cukup @ 524ksps untuk menunjukkan gelombang persegi pada kecepatan data 115.2kbps? Saya kira begitu. hanya FYI. Saya bisa saja salah.
Mungkin Anda menggunakan resolusi lebih lambat.
sumber