Khi một bo mạch “không nhận lệnh”, câu hỏi thật không phải là bus có tín hiệu hay không, mà là bên nào gửi sai và sai ở byte nào. Giải mã SPI I2C UART ngay trên máy hiện sóng trả lời được câu đó trong vài phút — nhưng chỉ khi ngưỡng logic, tốc độ lấy mẫu và điều kiện trigger được đặt đúng. Bài này đi qua đúng ba thứ đó trên PicoScope 3000D MSO, theo thứ tự thao tác thực tế.

Ba kiểu lỗi mà việc giải mã chỉ ra ngay
Phần lớn sự cố bắt lỗi giao tiếp số rơi vào một trong ba nhóm, và mỗi nhóm có một dấu hiệu riêng khi bật bộ giải mã:
- Không có gì để giải mã. Một bên im lặng hoàn toàn — thiếu nguồn, sai chân, hoặc thiết bị chưa được đánh thức.
- Giải mã ra nhưng sai khung. Có bit, nhưng tốc độ baud lệch, sai chẵn lẻ, sai bit dừng, hoặc sai chế độ SPI.
- Giải mã đúng phần lớn thời gian, hỏng thỉnh thoảng. Đây là ca khó nhất và là lý do chính cần trigger theo mẫu bit.
Ba nhóm này cần ba cách đặt máy khác nhau. Nhóm đầu chỉ cần nhìn dạng sóng thô; nhóm hai cần bảng gói tin; nhóm ba cần máy tự canh.

Bước 1 — Kênh logic MSO: đặt ngưỡng theo đúng họ mức
Đây là bước quyết định và cũng là bước hay bị bỏ qua. Cụm kênh logic MSO của 3000D có hai bộ ngưỡng độc lập: một cho nhóm D0–D7 và một cho nhóm D8–D15. Ngưỡng chọn sẵn theo TTL, CMOS, ECL, PECL hoặc tự đặt, dải chỉnh ±5 V.
Ý nghĩa thực dụng: một bo có phần vi điều khiển chạy 3,3 V và phần cảm biến chạy 1,8 V thì cắm nhóm thứ nhất vào cổng D0–D7 với ngưỡng CMOS 3,3 V, nhóm thứ hai vào cổng D8–D15 với ngưỡng tự đặt khoảng 0,9 V. Dùng chung một ngưỡng cho cả hai nhóm là cách chắc chắn nhất để nhóm 1,8 V đọc ra rác.
Hai con số cần nhớ khi đặt ngưỡng: sai số ngưỡng dưới ±350 mV đã tính cả trễ, và biên độ vào tối thiểu là 500 mV đỉnh-đỉnh. Tín hiệu nào biên độ nhỏ hơn mức đó thì kênh số không đọc được — phải chuyển sang kênh analog.
Bước 2 — Kiểm xem phần số có đủ nhanh cho bus đang đo
Kênh số của 3000D nhận tần số vào tối đa 100 MHz, tương đương 200 Mb/s, và bắt được xung hẹp nhất 5 ns. Lệch thời gian giữa các kênh là 2 ns điển hình — con số này đáng quan tâm khi đo bus song song hoặc khi so pha giữa clock và data ở tốc độ cao.
Với các bus thường gặp thì dư sức: UART vài trăm kilobit tới vài megabit, I²C ở 100 kHz, 400 kHz hay 1 MHz, SPI vài chục megahertz. Chỗ cần cẩn thận là SPI chạy nhanh trên bo hiện đại — khi tần số clock tiến gần vài chục megahertz, nên kiểm cả sườn tín hiệu trên một kênh analog thay vì chỉ tin trạng thái logic.
Trở kháng vào của kênh số là 200 kΩ song song 8 pF, dải động ±20 V, bảo vệ quá áp ±50 V. Tốc độ biến thiên tối thiểu 10 V/µs — tín hiệu lên xuống quá chậm sẽ đọc không ổn định.

Bước 3 — Cắm kênh với ngân sách lấy mẫu trong đầu
Tốc độ lấy mẫu tối đa 1 GS/s chỉ đạt khi bật đúng một kênh analog. Bảng thông số tính mỗi cổng tám kênh số như một kênh: 500 MS/s khi dùng tới hai kênh analog hoặc cổng số, 250 MS/s khi tới bốn, và 125 MS/s cho các trường hợp còn lại.
Hệ quả: một bài đo bật hai kênh analog cộng cả hai cổng số đang tiêu bốn suất. Nếu chỉ cần tám đường số, tắt cổng thứ hai là lấy lại được một bậc tốc độ. Nguyên tắc thực dụng khi giải mã bus: giữ tốc độ lấy mẫu cao hơn tốc độ bit của bus ít nhất một bậc độ lớn, để mỗi bit có đủ mẫu mà bộ giải mã bám được.
Về cấu hình máy cho công việc này: PicoScope 3205D MSO là mức phổ thông đủ cho hầu hết bo nhúng — hai kênh analog cho nguồn và clock, mười sáu đường số cho các bus. Khi phải xem bốn tín hiệu tương tự song song với bus, ví dụ bốn pha điều khiển cộng một bus phản hồi, thì cần bản bốn kênh như PicoScope 3405D MSO. Còn nếu bus chạy nhanh và cần soi cả sườn tín hiệu, bậc 200 MHz của PicoScope 3406D MSO cho thời gian lên 1,75 ns cùng bộ nhớ 512 MS.
Bộ nhớ đi theo bậc băng thông của máy — 64 MS ở 50 MHz cho tới 512 MS ở 200 MHz — và đây là thứ quyết định bạn giữ được bao nhiêu giây bus trong một lần bắt. Một phiên khởi động dài vài trăm mili giây ở tốc độ lấy mẫu vừa phải hoàn toàn nằm trong tầm.
Bước 4 — Trigger đúng vào lần lỗi
Với lỗi chập chờn, ngồi nhìn là cách kém nhất. Kênh số của 3000D hỗ trợ trigger theo mẫu bit, theo cạnh, kết hợp mẫu và cạnh, theo độ rộng xung, mất mức và khoảng thời gian.
Kiểu “kết hợp mẫu và cạnh” là thứ hay dùng nhất khi gỡ lỗi bus: đặt mẫu bit mô tả trạng thái chọn chip cộng địa chỉ, rồi lấy cạnh clock làm điều kiện chốt. Máy chỉ dừng đúng giao dịch cần xem thay vì hàng nghìn giao dịch bình thường.
Thời gian tái vũ trang trigger dưới 0,7 µs ở 1 GS/s, và ở chế độ trigger nhanh máy bắt tới 10.000 dạng sóng trong một cụm 6 ms. Bộ đệm giữ tới 40.000 phân đoạn trong phần mềm, nên có thể để máy chạy rồi lật lại từng lần trigger sau.

Bước 5 — Giải mã bus: đọc kết quả ở bảng gói tin, không đếm bit bằng mắt
Bộ giải mã hiển thị kết quả thành bảng gói tin ngay dưới dạng sóng, trên cùng trục thời gian, và bấm vào một dòng trong bảng là nhảy tới đúng đoạn sóng sinh ra nó. Danh sách giao thức phủ rộng: I²C, SPI, UART/RS-232, CAN, CAN FD, CAN XL, LIN, FlexRay, I²S, I³C, 1-Wire, Manchester, DMX512, ARINC 429, Ethernet 10Base-T và Fast Ethernet, cùng nhiều giao thức khác.
Hai điểm đáng khai thác. Thứ nhất, bộ giải mã nhận mọi kênh vào — cả analog lẫn số — và cho phép trộn nhiều giao thức khác nhau trong cùng một lần chụp. Một lần bắt có thể vừa giải mã SPI của flash, vừa giải mã I²C của cảm biến, vừa giải mã UART của cổng debug. Thứ hai, nhóm hành động tự động có mục xuất dữ liệu giải mã ra tệp, nên kết quả đưa được sang công cụ khác để đối chiếu với log phần mềm.
Bước 6 — Khi bảng giải mã ra rác thì kiểm gì
Thứ tự kiểm nên đi từ rẻ tới đắt:
- Ngưỡng logic — sai họ mức là nguyên nhân phổ biến nhất; kiểm luôn xem hai nhóm cổng có đang dùng chung một ngưỡng không.
- Đất chung — cáp số phải có đường đất nối vào bo, nếu không mọi mức đọc đều trôi.
- Biên độ tín hiệu — dưới 500 mV đỉnh-đỉnh thì kênh số không đọc được.
- Tham số giao thức — tốc độ baud, chẵn lẻ, số bit dừng với UART; chế độ pha và cực clock với SPI; địa chỉ 7 hay 10 bit với I²C.
- Tốc độ lấy mẫu — nếu đang ở bậc 125 MS/s vì bật quá nhiều kênh, tắt bớt rồi thử lại.
Nếu cả năm đều đúng mà vẫn ra rác, chuyển một đường của bus sang kênh analog và nhìn dạng sóng thô: phần lớn trường hợp còn lại là vấn đề toàn vẹn tín hiệu — sườn quá chậm, dội, hoặc mức logic không đạt ngưỡng — chứ không phải vấn đề giao thức.
Các model trong dòng PicoScope 3000D
Bản MSO — có 16 kênh logic
- PicoScope 3203D MSO — 2 kênh, 50 MHz
- PicoScope 3204D MSO — 2 kênh, 70 MHz
- PicoScope 3205D MSO — 2 kênh, 100 MHz
- PicoScope 3206D MSO — 2 kênh, 200 MHz
- PicoScope 3403D MSO — 4 kênh, 50 MHz
- PicoScope 3404D MSO — 4 kênh, 70 MHz
- PicoScope 3405D MSO — 4 kênh, 100 MHz
- PicoScope 3406D MSO — 4 kênh, 200 MHz
Bản thường — giải mã trên kênh analog
- PicoScope 3203D — 2 kênh, 50 MHz
- PicoScope 3204D — 2 kênh, 70 MHz
- PicoScope 3205D — 2 kênh, 100 MHz
- PicoScope 3206D — 2 kênh, 200 MHz
- PicoScope 3403D — 4 kênh, 50 MHz
- PicoScope 3404D — 4 kênh, 70 MHz
- PicoScope 3405D — 4 kênh, 100 MHz
- PicoScope 3406D — 4 kênh, 200 MHz
Bản thường vẫn giải mã được, nhưng chỉ trên các kênh analog — hai hoặc bốn đường một lúc. Cần nhìn cả một bus song song hay nhiều bus cùng lúc thì phải là bản MSO. Tiêu chí chọn giữa hai bản nằm ở bài PicoScope 3000D: chọn bản MSO hay bản thường, và toàn dòng nằm trong danh mục Pico Technology.
Khi kết quả giải mã đi vào báo cáo lỗi
Trong quy trình phát triển sản phẩm, ảnh chụp bảng giải mã thường là bằng chứng đính kèm phiếu lỗi gửi cho nhà cung cấp linh kiện hoặc cho bộ phận firmware. Khi con số thời gian trong đó được dùng để quy trách nhiệm, thiết bị đo cần còn hiệu lực hiệu chuẩn. Techmaster có phòng hiệu chuẩn theo ISO/IEC 17025 cho nhóm thiết bị đo điện. Nếu nhóm của bạn quen thao tác trên máy để bàn, xem thêm so sánh với Keysight MSOX2014A.
Câu hỏi thường gặp
Giải mã bus có cần mua thêm gói không?
Không. Bộ giải mã giao thức là tính năng chuẩn của phần mềm PicoScope, phủ I²C, SPI, UART/RS-232, CAN, CAN FD, CAN XL, LIN, FlexRay, I²S và nhiều giao thức khác. Bộ giải mã nhận mọi kênh vào, cả analog lẫn số, và trộn được nhiều giao thức trong cùng một lần chụp.
Vì sao bảng giải mã ra ký tự vô nghĩa?
Nguyên nhân phổ biến nhất là ngưỡng logic sai họ mức. Kênh số có hai bộ ngưỡng độc lập cho nhóm D0–D7 và D8–D15; dùng chung một ngưỡng cho hai nhóm mức khác nhau sẽ làm nhóm điện áp thấp đọc sai. Kế đó là thiếu đất chung, biên độ dưới 500 mV đỉnh-đỉnh, sai tham số giao thức, và tốc độ lấy mẫu quá thấp vì bật nhiều kênh.
Kênh số của PicoScope 3000D nhanh tới đâu?
Tần số vào tối đa 100 MHz, tương đương 200 Mb/s, xung hẹp nhất bắt được 5 ns, lệch giữa các kênh 2 ns điển hình. Trở kháng vào 200 kΩ song song 8 pF, dải động ±20 V, bảo vệ quá áp ±50 V, biên độ vào tối thiểu 500 mV đỉnh-đỉnh.
Làm sao bắt đúng một giao dịch lỗi hiếm gặp?
Dùng trigger kết hợp mẫu bit và cạnh: đặt mẫu mô tả trạng thái chọn chip cộng địa chỉ, lấy cạnh clock làm điều kiện chốt. Thời gian tái vũ trang dưới 0,7 µs ở 1 GS/s và bộ đệm giữ tới 40.000 phân đoạn, nên có thể để máy tự canh rồi lật lại từng lần trigger.
Bản thường có giải mã được không?
Có, nhưng chỉ trên các kênh analog — tối đa hai hoặc bốn đường tuỳ mã. Cần theo dõi một bus song song hoặc nhiều bus cùng lúc thì cần bản MSO với 16 kênh logic chia hai cổng tám kênh.






