Nhiễu (liên quan đến điện dung?) Trong tín hiệu nối tiếp


11

Các hình ảnh "tóm tắt điều hành":

Tín hiệu nối tiếp có vẻ bị rối

Cho ăn 3,3V vào mic, thăm dò TX

Tôi muốn giải mã tín hiệu nối tiếp phát ra từ giắc cắm tai nghe của máy tính bảng. Đây là một "hack" hơi kỳ lạ tồn tại trong một vài điện thoại và máy tính bảng: về cơ bản, nếu bạn nạp 3,3V vào đầu vào micrô của phích cắm TRRS, các kênh trái và phải sẽ trở thành TX / RX nối tiếp.

Tôi đã sử dụng cáp Raspberry PI TRRS-to-TV (như bạn có thể thấy trong hình thứ 2) để có quyền truy cập vào 4 địa điểm tôi cần: GND, MIC, L, R. Cáp không được phép làm gì khác ngoài phơi bày 3 tín hiệu (MIC, L, R - được ghép với GND) trong ba cáp tương ứng (đỏ, trắng, vàng).

Tôi đã sử dụng các đầu dò BitScope của mình để thăm dò giữa TX (đầu cáp trắng trong hình thứ 2) và GND chung (đầu dò màu nâu ở dưới cùng của hình ảnh thứ 2). Tôi cũng đã sử dụng hai đầu dò (màu đỏ và màu xanh) để "nạp" 3.3V từ chip USB / TTL (PL2303HX cắm vào máy tính xách tay của tôi) vào đầu MIC (màu đỏ).

Khi khởi động lại máy tính bảng, tôi thực sự đã thấy tín hiệu nối tiếp ở mức 115200 (cực đại đến cực đại từ 8 đến 9us), nhưng có nhiều điện dung (video) .

Vì vậy, câu hỏi của tôi - trước khi tôi lên mạng và đặt mua phích cắm TRRS, dây cáp và bàn ủi hàn - là điện dung tôi đang thấy do ...

  • cáp TRRS-TV dài 1 mét hoặc sử dụng đầu dò thay cho cáp hàn

HOẶC LÀ

  • Các đầu dò và cáp trên thực tế không thể giải thích được nhiều điện dung này và lý do tôi thấy điều này là giắc cắm tai nghe của máy tính bảng không được thiết kế để phát ra tín hiệu này (tức là những gì tôi đang thấy thực sự là những gì phát ra từ giắc cắm) .

Như bạn có thể đoán, tôi rất mới với loại điều này; Tôi là một người làm phần mềm, đã mua BitScope của tôi một tuần trước và rất thích truy cập vào sê-ri máy tính bảng của tôi để "vui vẻ và kiếm lợi nhuận" (hack công cụ bootloader, biên dịch Cyanogenmod cho nó, v.v.).

Tôi đánh giá cao dự đoán về việc liệu đây có phải là nguyên nhân bị mất (tức là dây cáp không thể giải thích được nhiều điện dung này) hay không.

Cảm ơn trước cho bất kỳ trợ giúp / đề nghị.


1
Các tín hiệu trông khá bình thường với tôi. Bạn không thích điều gì ở nó? Cáp RCA của bạn có thể có điện dung số lượng lớn 1000pF hoặc hơn, do đó, không có gì ngạc nhiên khi có các cạnh chậm.
Ale..chenski

"Bạn không thích điều gì về nó" - các cạnh quá chậm, tôi nghĩ (PL2303HX của tôi - tức là USB / TTL của tôi - không giải mã được gì).
ttsiodras

(1) đảm bảo cáp của bạn dưới 3 mét (10 feet); (2) nếu bạn chỉ có thể lấy giắc cắm như một bộ phận mà không cần cáp, hãy cắm nó vào máy tính bảng và đo trên nó mà không cần cáp để xem "chất lượng" tín hiệu; (3) chỉ tốc độ truyền thấp hơn.
Ẩn danh

@ Đồng nghĩa - Tôi đã thử; đăng kết quả của tôi dưới đây.
ttsiodras

1
@AliChen: Bạn đã đúng, bạn đời - Tôi đã sử dụng BSS138 và giải mã tín hiệu (xem phần phụ lục cho câu trả lời của tôi dưới đây). Tuyệt vời - không mong đợi điều này.
ttsiodras

Câu trả lời:


10

Vì vậy, tôi đã làm theo lời khuyên của hai người tốt bụng đã bình luận ... Đây là kết quả.

  1. Ali Chen chỉ ra các cạnh chậm có thể được quy cho điện dung của cáp RCA; và "Ẩn danh" khuyến nghị gắn trực tiếp lên bảng bằng giắc cắm không có dây. Tôi đã làm theo lời khuyên của họ, lột chiếc máy tính bảng xuống để lộ PCB, cắm giắc cắm trần và thăm dò nó - nhưng thật không may là kết quả giống nhau: các cạnh rất chậm, có điện dung rõ ràng. Đó không phải là dây RCA - thay vào đó, có vẻ như bất cứ ai thiết kế máy tính bảng đều không quan tâm nhiều đến tín hiệu nối tiếp phát ra từ giắc cắm tai nghe (có thể sử dụng một số cách khác để giao tiếp với bo mạch). Tôi đã thử thăm dò khắp PCB với hy vọng tìm thấy tín hiệu nối tiếp sạch hơn, nhưng tôi đã thất bại.

  2. Ẩn danh cũng đề nghị giảm tốc độ baud; thật không may, không có cách nào được ghi lại trong quá trình khởi động máy tính bảng của tôi để định cấu hình tốc độ truyền được sử dụng trong quá trình khởi động (đó là điều tôi quan tâm) ...

Nhưng nó có thể làm như vậy sau khi khởi động xong, từ bên trong một vỏ ADB - kể từ khi tôi đã quản lý để biên dịch hạt nhân của riêng tôi và rễ trở thành .

Vì vậy, tôi đã có thể làm điều này ...

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

Và thực sự, kết quả đẹp hơn nhiều:

Tốt hơn nhiều ở 9600

Tôi khá chắc chắn rằng tín hiệu này có thể được giải mã tốt, nếu tôi sử dụng bộ dịch chuyển (ở mức 1.8V, vì vậy USB-TTL 3.3V của tôi vẫn không thể giải mã được).

Vì vậy, để kết luận: "cổng nối tiếp bên trong giắc cắm tai nghe" của máy tính bảng của tôi chỉ có thể thực sự được sử dụng SAU KHI khởi động được hoàn thành và UART giảm tốc độ xuống 9600 baud; thật không may, vì đầu ra nối tiếp là cần thiết nhất trong quá trình khởi động (nếu có lỗi, đó là) - và trong thời gian đó, tốc độ UART được mã hóa cứng trong mã khởi động máy tính bảng của tôi ở mức 115200 baud.

PS Tôi cũng đã thử một lời đề nghị từ một người bạn, để sử dụng kéo lên 3,3K về phía đường ray 3,3V trong tín hiệu nối tiếp được gửi bởi giắc cắm tai nghe - không có kết quả.

CẬP NHẬT, 3 ngày sau

Tôi kiên trì :-)

Theo lời khuyên từ Chris Stratton - rằng một shifter tốt có thể đối phó ngay cả với loại tín hiệu này - tôi đã mua một cây sắt hàn, BSS138, một cái bánh mì và một bó dây cáp. Sau công việc hàn tồi tệ nhất EVER, tôi đã cố gắng hàn các tiêu đề pin trên BSS138, và sau đó tiến hành gắn nó vào bảng điều khiển và tạo ra mớ hỗn độn này:

Bánh mì và BSS138 của tôi

Những gì tôi không mong đợi, là sau khi sinh ra minicom và đưa ra một "khởi động lại fastboot", với sự kinh ngạc hoàn toàn của tôi, tôi đã thấy điều này:

Giải mã tín hiệu nối tiếp!

Không thể tin được - sau khi BSS138 "nhấc" tín hiệu từ 1,8 lên 3,3V, tín hiệu bị điện dung, bị điện dung khốn khổ đó thực sự có thể được giải mã! Cuối cùng tôi cũng có thể thấy lý do tại sao máy tính bảng của tôi không khởi động.

Xin chào, máy tính bảng nhỏ - Tôi sở hữu bạn ngay bây giờ :-)


1
Mặc dù có khả năng tín hiệu gốc có thể được giải mã với bộ dịch mức được thiết kế tốt, nhưng cũng có thể băng thông của mạch đầu ra âm thanh được vận chuyển ít hơn một chút so với lý tưởng cho tín hiệu số này. Một sản phẩm tiêu dùng cần phải vượt qua các bài kiểm tra nhiễu phát ra và bộ khuếch đại tai nghe có lẽ là một thiết kế chuyển mạch, do đó có thể sẽ có các bộ lọc LC ở cạnh bo mạch để triệt tiêu khí thải, được thiết kế chủ yếu để truyền âm thanh, không phải điều này.
Chris Stratton

Nhưng cũng xem xét nếu phạm vi hiệu suất tương đối thấp của bạn hoặc các cài đặt bạn đang sử dụng với nó có thể làm sai lệch tín hiệu - sẽ tốt hơn khi so sánh để xem đầu ra của pi hoặc bộ chuyển đổi nối tiếp USB ở cùng tốc độ truyền và xem Làm thế nào vuông phạm vi làm cho cái nhìn đó.
Chris Stratton

@ChrisStratton Giới thiệu về các bộ lọc nhiễu: không có ý tưởng, nhưng nghe có vẻ hợp lý, nếu tính năng tôi phát hiện ra (nối tiếp qua giắc cắm tai nghe) không được sử dụng. Ban đầu tôi phát hiện ra điều này trong khi đọc về các thiết bị Nexus - và tò mò về cách máy tính bảng của tôi sẽ phản hồi, đã quyết định dùng thử. Về việc kiểm tra phạm vi của tôi: tất nhiên, đó là điều đầu tiên tôi làm khi mua nó - cho thấy các xung vuông rõ ràng ở mức 115200 được gửi từ pin TX GPIO của Raspberry PI2 của tôi. Tôi khá chắc chắn vào thời điểm này rằng đó không phải là tôi, cũng không phải phạm vi của tôi - đó là CTNH của máy tính bảng.
ttsiodras

@ChrisStratton: "... có thể được giải mã với bộ dịch mức được thiết kế tốt" - bạn có bất kỳ con chip cụ thể nào không?
ttsiodras

@ChrisStratton: Chiến thắng! BSS138 đã giải mã tín hiệu - Tôi đã tăng cường câu trả lời của mình và bao gồm bằng chứng :-) Cảm ơn đã chỉ cho tôi đi đúng hướng.
ttsiodras

0

DSO của bạn có đủ băng thông @ 524ksps để thậm chí hiển thị sóng vuông ở tốc độ dữ liệu 115,2kbps không? Tôi nghĩ vậy chỉ cần FYI. Tôi có thể sai.

Có thể bạn đã sử dụng độ phân giải chậm hơn.


Wow, không có tình yêu cho chàng trai nhỏ! Mặc dù vậy, BitScope kém :-) Nghiêm túc - BitScope đã phát hiện ra 115200 baud phát ra từ Raspberry PI của tôi, hiển thị các xung vuông đẹp và rõ ràng ... không có gì giống với tín hiệu phát ra từ giắc cắm tai nghe của máy tính bảng của tôi ( i.stack .imgur.com / WAw6J.png ). Tôi đang trong quá trình nhận được một shifter (để đi từ 1.8 đến 3.3) và một bộ phân tích logic, vì vậy có thể các shifter sẽ làm sạch điều này. Sẽ thấy!
ttsiodras

Làm được rồi! BSS138 đã giải mã tín hiệu.
ttsiodras

BSS138 có ngưỡng VSS thấp hơn là 1,3V {0,8 phút, 1,5max} thay vì Vcc / 2 +/-? hoặc 2,5V +/-? vì vậy ngưỡng thấp hơn đã làm điều đó. Đây là cách 74HCTxx hoạt động cũng như chấp nhận tín hiệu 3,3V trên logic 5V
Tony Stewart Sunnyskyguy EE75

Bây giờ cái quái gì là một Jiffies tràn? một hộp Linux bị lỗi? hoặc chỉ là độ trễ khởi động bình thường
Tony Stewart Sunnyskyguy EE75
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.