Seri sinyalde gürültü (kapasitans ile ilgili?)


11

"Yönetici özeti" resimleri:

Seri sinyal berbat görünüyor

3.3V'u mic'a besleme, tabletin TX'sini araştırma

Tabletimin kulaklık jakından çıkan seri sinyalin kodunu çözmek istiyorum. Bu, birkaç telefon ve tablette bulunan biraz garip bir "hack" dir: temel olarak, TRRS fişinizin mikrofon girişinde 3.3V beslerseniz, sol ve sağ kanallar seri TX / RX olur.

Ahududu PI TRRS-TV kablosu kullandım (2. resimde görebileceğiniz gibi) ihtiyacım olan 4 yere erişmek için: GND, MIC, L, R.Kabloyu açığa çıkarmaktan başka bir şey yapması gerekmiyor karşılık gelen üç kabloda (kırmızı, beyaz, sarı) 3 sinyal (MIC, L, R - GND ile eşleştirilmiş).

BitScope'umun problarını TX (2. resimde beyaz kablonun ucu) ile ortak GND (2. resmin altındaki kahverengi prob) arasında araştırma yapmak için kullandım. Ayrıca USB / TTL yongamdan (dizüstü bilgisayarıma takılı bir PL2303HX) MIC (kırmızı) ucuna 3.3V'yi "beslemek" için iki prob (kırmızı ve mavi bir) kullandım.

Tableti yeniden başlattıktan sonra, 115200'de (8 ila 9us arasında zirveden zirveye), ancak çok fazla kapasiteye (video) sahip bir seri sinyal olduğunu gördüm .

Yani, sorum - çevrimiçi olmadan ve bir TRRS fişi, kablolar ve bir havya sipariş etmeden önce - nedeniyle gördüğüm kapasite ...

  • 1 metre uzunluğunda TRRS-TV kablosu veya lehimli kablolar yerine prob kullanımı

VEYA

  • problar ve kablo aslında bu kadar kapasitansı açıklayamıyor ve bunu görmemin sebebi, tabletin kulaklık jakının bu sinyali yaymak için tasarlanmamış olmasıdır (yani gördüğüm şey gerçekten jaktan çıkan şeydir) .

Tahmin edebileceğiniz gibi, bu tür şeyler için çok yeniyim; Ben bir yazılım adamıyım, bir hafta önce BitScope'umu satın aldım ve "eğlence ve kâr" için tabletimin serisine erişmek isterdim (bootloader şeyler kesmek, bunun için Cyanogenmod derleme, vb.).

Bunun kaybolan bir nedenin (yani kabloların bu kadar kapasitansı açıklayamayacağı) olup olmadığına dair tahmini bir tahminde bulunmak isterim.

Herhangi bir yardım / öneri için şimdiden teşekkür ederiz.


1
Sinyal bana normal geliyor. İçinde neyi sevmiyorsunuz? RCA kablonuz muhtemelen 1000pF veya daha fazla kapasiteye sahiptir, bu nedenle yavaş kenarlara sahip olmak sürpriz olmamalıdır.
Ale..chenski

"Bu konuda neyi sevmiyorsunuz" - kenarlar çok yavaş, sanırım (PL2303HX'im - yani USB / TTL'im - hiçbir şeyi çözmedi).
ttsiodras

(1) kablonuzun 3 metreden (10 feet) az olduğundan emin olun; (2) kablo olmadan bir parça olarak sadece kriko alabiliyorsanız, tablete takın ve sinyalin "kalitesini" görmek için kablo olmadan ölçün; (3) sadece daha düşük baud hızı.
İsimsiz

@Anonymous - Denedim; sonuçlarımı aşağıya gönderdi.
ttsiodras

1
@AliChen: Haklısın dostum - BSS138 kullandım ve sinyali deşifre ettim (aşağıdaki cevabımın ekine bakınız). Şaşırtıcı - bunu beklemiyorduk.
ttsiodras

Yanıtlar:


10

Bu yüzden, yorum yapan iki tür insanın tavsiyelerine uydum ... İşte sonuçlar.

  1. Ali Chen , yavaş kenarların RCA kablosunun kapasitansına bağlanabileceğini belirtti; ve "Anonim" kablo olmadan bir jak ile doğrudan tahtaya takılması önerilir. Tavsiyelerini takip ettim, PCB'yi ortaya çıkarmak için tableti çıkardım, çıplak bir jak taktım ve probladım - ancak sonuçlar maalesef aynıydı: çok yavaş, açıkça kapasitans odaklı kenarlar. RCA kabloları değildi - bunun yerine, tableti tasarlayan kişi kulaklık jakından gelen seri sinyali çok fazla umursamadı (muhtemelen kartla arayüz kurmak için başka bir yol kullandı). Daha temiz bir seri sinyal bulma umuduyla tüm PCB'yi araştırmayı denedim, ama başarısız oldum.

  2. Anonim ayrıca baud hızının düşürülmesini önerdi; ne yazık ki, u-önyükleme sırasında kullanılan baud hızını yapılandırmak için tabletimin önyükleme işlemini etkilemenin belgelenmiş bir yolu yok (ilgilendiğim şey budur) ...

Ama bir önyükleme tamamlandıktan SONRA bir ADB kabuğu içinden Bunu yapmak mümkün - Ben başardınız beri kendi çekirdek ve root derlemek .

Böylece bunu yapabildim ...

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

Ve sonuç gerçekten çok daha hoş:

9600'de çok daha iyi

Bir kaydırıcı kullanırsam bu sinyalin iyi çözülebileceğinden eminim (1.8V'de, bu yüzden 3.3V USB-TTL'm hala kodunu çözemiyor).

Sonuç olarak: tabletimin "kulaklık jakı içindeki seri bağlantı noktası" yalnızca önyükleme tamamlandıktan sonra kullanılabilir ve UART 9600 baud'a yavaşladı; Bu, talihsiz bir durumdur, çünkü önyükleme işlemi sırasında (bir şey başarısız olursa) seri çıkışa ihtiyaç duyulduğu için - ve bu süre zarfında, UART hızı 115200 baud'da tabletimin önyükleme kodunda sabit olarak kodlanır.

PS Ayrıca kulaklık jakı tarafından gönderilen seri sinyal 3.3V rayı doğru 3.3K pull-up kullanmak için bir arkadaşımdan bir öneri denedim - boşuna.

GÜNCELLEME, 3 gün sonra

Azim :-)

Chris Stratton'un tavsiyesini takiben - iyi bir vites değiştiricinin bu tür sinyallerle bile başa çıkabileceği - bir havya, bir BSS138, bir breadboard ve bir grup kablo aldım. Muhtemelen şimdiye kadarki en kötü lehim işinden sonra, BSS138'deki pim başlıklarını lehimlemeyi başardım ve sonra bunu breadboard'a tutturmaya ve bu karışık karışıklığı yaratmaya devam ettim:

Breadboard ve BSS138'im

Ne beklemiyordum, minicom yumurtlama ve bir "fastboot yeniden başlatma", sonra tamamen hayretle, sonra gördüm oldu:

Seri sinyal çözüldü!

İnanılmaz - BSS138, sinyali 1.8'den 3.3V'a "kaldırdıktan" sonra, bu sefil, kapasitans bilmeceli sinyalin kodu çözülebilir! Sonunda tabletimin neden önyükleme yapmadığını görebiliyorum.

Merhaba, küçük tablet - şimdi sana sahibim :-)


1
Orijinal sinyalin iyi tasarlanmış bir seviye değiştirici ile deşifre edilmesi muhtemel olsa da, gönderildiği gibi ses çıkış devresinin bant genişliğinin bu dijital sinyal için ideal olandan biraz daha az olması da mümkündür . Bir tüketici ürününün yayılan parazit testlerini geçmesi gerekir ve kulaklık amplifikatörünün kendisi muhtemelen bir anahtarlama tasarımıdır, bu nedenle kartın kenarında emisyonları bastırmak için LC filtreleri olacaktır, bu da öncelikle sesi geçmek için tasarlanacaktır.
Chris Stratton

Ancak, nispeten düşük performans kapsamınızın veya onunla kullandığınız ayarların sinyali yanlış temsil edip etmediğini de düşünün - pi'nizin veya bir USB seri dönüştürücünüzün çıkışına aynı baud hızında bakmak ve karşılaştırmak iyi olur. kapsamın ne kadar kare görünmesi.
Chris Stratton

@ChrisStratton Parazit filtreleri hakkında: bir fikir yok, ancak ortaya çıkardığım özellik (kulaklık jakı üzerinden seri) kullanılmayacaksa makul görünüyor. Başlangıçta Nexus cihazları hakkında okurken bunu öğrendim - ve tabletimin nasıl tepki vereceğini merak ederek denemeye karar verdim. Kapsamımı kontrol etme hakkında: tabii ki, satın aldığımda yaptığım ilk şey buydu - Ahududu PI2'nin TX GPIO pinimden gönderilen 115200'de kristal berraklığında kare darbeler gösteriyor. Bu noktada, ben olmadığımdan veya kapsamımdan emin değilim - tabletin HW'si.
ttsiodras

@ChrisStratton: "... iyi tasarlanmış bir seviye değiştirici ile çözülebilir" - aklınızda özel bir çip var mı?
ttsiodras

@ChrisStratton: Zafer! BSS138 sinyali çözdü - Cevabımı artırdım ve kanıt ekledim :-) Beni doğru yöne yönlendirdiğiniz için teşekkürler.
ttsiodras

0

DSO'nuzda 115.2kbps veri hızında bir kare dalga gösterecek kadar bant genişliği @ 524ksps var mı? Bende öyle düşünüyorum. sadece FYI. Yanlış olabilirim.

Belki daha yavaş bir çözünürlük kullandınız.


Vay canına, küçük adama aşk yok! Zayıf BitScope :-) Cidden, BitScope probları, Ahududu PI'mdan çıkan 115200 baud'u güzel ve net kare darbeleri göstererek iyi yapıyor ... tabletimin kulaklık jakından çıkan sinyal için gösterdiği gibi bir şey yok ( i.stack .imgur.com / WAw6J.png ). Bir kaydırıcı (1.8'den 3.3'e gitmek için) ve bir mantık analizörü alma sürecindeyim, belki de kaydırıcı bunu temizleyecektir. Görecek!
ttsiodras

Yaptı! BSS138 sinyali çözdü.
ttsiodras

BSS138'in Vcc / 2 +/- yerine 1.3V {0.8dak, 1.5max} daha düşük bir Vgs eşiği vardır? veya 2.5V +/-? böylece alt eşik bunu yaptı. 74HCTxx, 5V mantığında 3.3V sinyallerini kabul etmenin yolu budur
Tony Stewart Sunnyskyguy EE75

Şimdi bir Jiffies taşması nedir? adamcağız Linux kutusu? ya da sadece normal önyükleme gecikmesi
Tony Stewart Sunnyskyguy EE75
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.