facebook

Logic analyzer hay máy hiện sóng MSO? Giải mã I2C, SPI, UART không cần mua thêm máy

Logic analyzer hay máy hiện sóng MSO: PicoScope 3000D MSO giải mã I2C, SPI, UART

Khi board đầu tiên không chịu nói chuyện với cảm biến, câu hỏi đầu tiên của nhiều kỹ sư nhúng là: có nên mua một logic analyzer (máy phân tích logic) không? Câu trả lời phụ thuộc vào việc bạn cần nhìn bao nhiêu đường tín hiệu cùng lúc, tín hiệu nhanh đến đâu, và — điều hay bị bỏ qua — bạn có cần thấy điện áp analog của chính các đường đó hay không. Bài này so sánh logic analyzer rời với máy hiện sóng MSO (mixed-signal oscilloscope — máy hiện sóng tín hiệu hỗn hợp) theo từng tiêu chí mua hàng, đếm số kênh thật sự cần cho giao thức I2C, giao thức SPI và UART, rồi dùng dòng máy hiện sóng MSO PicoScope 3404D MSO và các model cùng dòng PicoScope 3000D làm ví dụ, với số liệu lấy từ bảng thông số của Pico Technology.

Trả lời nhanh

  • Chỉ cần giải mã I2C, SPI, UART và xem vài đường số: một máy hiện sóng MSO với 16 kênh số là đủ, và bạn được thêm 2–4 kênh analog để soi mức điện áp, nhiễu, sườn xung của cùng các đường đó.
  • Bus chỉ có 2 dây (I2C, UART hai chiều): ngay cả máy hiện sóng thường cũng giải mã được trên kênh analog — chưa cần kênh logic.
  • Cần nhiều hơn 16 đường số cùng lúc, hoặc lấy mẫu đồng bộ theo xung clock của mạch: đó là lúc logic analyzer rời đáng tiền.

Logic analyzer là gì, máy hiện sóng MSO là gì

Một logic analyzer chỉ quan tâm đến hai trạng thái: cao hay thấp so với một ngưỡng. Mỗi kênh là một bit; thiết bị ghi lại chuỗi bit của nhiều kênh song song rồi phần mềm dựng lại thành gói tin, lệnh, địa chỉ. Nó rẻ trên mỗi kênh và có thể có rất nhiều kênh, nhưng nó không cho bạn biết tín hiệu thật trông ra sao: một sườn xung méo, một mức thấp bị nâng lên 0,9 V vì điện trở kéo lên quá yếu, hay một gai nhiễu nằm sát ngưỡng đều bị quy về 0 hoặc 1.

Máy hiện sóng thì ngược lại: mỗi kênh analog ghi điện áp thật theo thời gian, nhưng số kênh ít (thường 2 hoặc 4). Máy hiện sóng MSO gộp cả hai vào một hộp: các kênh analog của máy hiện sóng cộng thêm một khối kênh số làm việc như logic analyzer, dùng chung một trục thời gian và một hệ trigger. Ở PicoScope 3000D MSO, khối số là 16 kênh chia thành hai cổng 8 kênh (D0–D7 và D8–D15), cắm qua đầu nối 20 chân bước 2,54 mm.

Điểm giá trị nhất của MSO không nằm ở chỗ “có thêm kênh”, mà ở chỗ tương quan thời gian: bạn thấy gói SPI giải mã được trên kênh số và, ngay bên dưới, gợn điện áp trên đường nguồn 3,3 V đo bằng kênh analog, cùng một lần chụp. Với logic analyzer rời và một máy hiện sóng riêng, bạn phải tự nối trigger giữa hai máy và tự căn trục thời gian.

So sánh logic analyzer rời và máy hiện sóng MSO theo tiêu chí mua hàng
So sánh logic analyzer rời và máy hiện sóng MSO theo tiêu chí mua hàng; cột MSO theo bảng thông số PicoScope 3000D.

So sánh theo tiêu chí mua hàng

Bảng dưới so sánh theo loại thiết bị, không theo hãng cụ thể. Cột MSO lấy số liệu của PicoScope 3000D MSO; cột logic analyzer rời mô tả đặc điểm chung của nhóm thiết bị này — thông số cụ thể khác nhau nhiều giữa các sản phẩm, nên hãy kiểm lại trên datasheet của thiết bị bạn định mua.

Tiêu chí Logic analyzer rời Máy hiện sóng MSO (PicoScope 3000D MSO)
Kênh số Thường nhiều kênh; là lý do chính để mua 16 kênh (2 cổng × 8)
Kênh analog Không có (một số model có kênh analog phụ tốc độ thấp) 2 hoặc 4 kênh, băng thông 50–200 MHz tùy model
Thấy được lỗi mức điện áp, sườn chậm, nhiễu Không — chỉ thấy 0/1 Có, trên kênh analog
Giải mã giao thức Có, tùy phần mềm Có, trên cả kênh analog lẫn kênh số, trộn nhiều giao thức cùng lúc
Trigger theo mẫu bit (pattern) Có Có: pattern, edge, kết hợp pattern + edge, độ rộng xung, dropout, khoảng thời gian, logic
Lấy mẫu đồng bộ theo clock của mạch (state mode) Nhiều model có Bảng thông số 3000D không liệt kê; kênh số lấy mẫu theo đồng hồ nội
Dùng làm máy hiện sóng hằng ngày Không Có — kèm FFT, máy phát hàm/AWG, phép toán, kiểm tra mask

Nếu công việc hằng ngày của bạn là debug firmware giao tiếp ngoại vi, đo nguồn, soi xung PWM và thỉnh thoảng giải mã bus, một thiết bị làm cả hai việc thường hợp lý hơn hai thiết bị mỗi cái làm một nửa. Nếu bạn làm FPGA hoặc bus song song rộng và hiếm khi cần nhìn điện áp, logic analyzer rời hợp lý hơn.

Giao thức I2C, SPI, UART thật sự cần bao nhiêu kênh

Trước khi so tiền, hãy đếm dây. Phần lớn các bus nối tiếp trên board vi điều khiển cần ít kênh hơn người ta nghĩ:

Giao thức Đường tín hiệu Số kênh tối thiểu để giải mã Ghi chú khi đo
UART TX, RX 1 (một chiều) hoặc 2 (hai chiều) Không có clock — phải khai báo đúng baud rate, số bit dữ liệu, parity
Giao thức I2C SCL, SDA 2 Đường open-drain, dùng điện trở kéo lên — sườn lên chậm là lỗi hay gặp, chỉ kênh analog thấy được
Giao thức SPI SCLK, MOSI, MISO, CS 3 nếu chỉ xem một chiều, 4 để xem đủ hai chiều Mỗi thiết bị tớ thêm một đường CS; phải khai báo đúng chế độ clock (CPOL/CPHA)
I2C + SPI + UART trên cùng board 2 + 4 + 2 8 Vừa đủ một cổng số 8 kênh

Từ bảng này rút ra hai điều. Thứ nhất, với I2C hoặc UART hai chiều, một máy hiện sóng 2 kênh thường (không MSO) đã giải mã được, vì PicoScope giải mã trên mọi kênh vào, cả analog lẫn số. Thứ hai, SPI đủ bốn dây đã vượt quá một máy 2 kênh — đây là chỗ bản MSO, hoặc một máy 4 kênh analog, bắt đầu cần thiết. Còn nếu bạn cần xem một bus dữ liệu song song 16 bit cộng các đường điều khiển, 16 kênh số sẽ không đủ, và logic analyzer rời trở thành lựa chọn đúng.

Cách cấu hình từng bước để bắt lỗi I2C, SPI, UART — đặt ngưỡng, trigger vào lần lỗi, đọc bảng gói tin — đã có trong bài bắt lỗi giao tiếp số bằng PicoScope 3000D MSO. Nếu bạn muốn hiểu cơ chế giải mã và các lỗi đặc trưng của từng bus, xem thêm giải mã bus nối tiếp trên máy hiện sóng: I2C, SPI, CAN-FD và LIN. Bài này chỉ tập trung vào câu hỏi mua gì.

Kênh số của PicoScope 3000D MSO làm được gì

Đây là các thông số của khối 16 kênh số, trích từ bảng thông số PicoScope 3000D (áp dụng cho mọi model MSO trong dòng):

Thông số kênh số (chỉ bản MSO) Giá trị
Số kênh 16 (2 cổng × 8 kênh)
Tần số vào tối đa 100 MHz (200 Mb/s)
Độ rộng xung nhỏ nhất phát hiện được 5 ns
Lệch thời gian giữa các kênh 2 ns, điển hình
Trở kháng vào 200 kΩ ±2% song song 8 pF ±2 pF
Dải ngưỡng ±5 V; hai bộ ngưỡng độc lập cho D0–D7 và D8–D15
Chọn ngưỡng TTL, CMOS, ECL, PECL, hoặc tự đặt
Biên độ vào tối thiểu 500 mV đỉnh–đỉnh
Dải động đầu vào / bảo vệ quá áp ±20 V / ±50 V

Hai bộ ngưỡng độc lập có ý nghĩa thực tế: trên board có vi điều khiển 3,3 V nói chuyện với cảm biến 1,8 V, bạn đặt cổng D0–D7 theo mức 3,3 V và cổng D8–D15 theo mức 1,8 V, không phải dùng chung một ngưỡng thỏa hiệp. Trở kháng 200 kΩ song song 8 pF cũng đủ nhẹ để cắm thẳng lên đường I2C có điện trở kéo lên vài kΩ mà không làm thay đổi đáng kể sườn tín hiệu ở tốc độ thông thường.

Máy hiện sóng MSO PicoScope 3000D nối kênh logic vào board nhúng để giải mã giao thức I2C
Ảnh minh hoạ dựng từ ảnh sản phẩm thật của Pico Technology.

Ngân sách lấy mẫu: kênh số không miễn phí

Chỗ dễ hiểu sai nhất khi chọn máy hiện sóng MSO là nghĩ rằng bật thêm kênh số không ảnh hưởng gì đến kênh analog. Ở PicoScope 3000D, tốc độ lấy mẫu thời gian thực được chia theo số “đơn vị” đang bật, trong đó mỗi cổng số 8 kênh tính như một kênh analog:

Tổ hợp đang bật Tốc độ lấy mẫu tối đa Khoảng cách giữa hai mẫu
1 kênh analog 1 GS/s 1 ns
Tối đa 2 (kênh analog hoặc cổng số) 500 MS/s 2 ns
Tối đa 4 (kênh analog hoặc cổng số) 250 MS/s 4 ns
Các tổ hợp còn lại (ví dụ 4 analog + 2 cổng số) 125 MS/s 8 ns

Áp vào ba tình huống thường gặp:

  • Giao thức I2C Fast-mode 400 kHz trên cổng D0–D7, cộng 1 kênh analog soi SDA: 2 đơn vị → 500 MS/s. Một chu kỳ clock 2,5 µs được lấy 1.250 mẫu — dư thừa.
  • SPI trên cổng D0–D7, I2C trên cổng D8–D15, cộng 2 kênh analog cho nguồn và SCLK: 4 đơn vị → 250 MS/s. SPI clock 20 MHz có chu kỳ 50 ns, được 12,5 mẫu mỗi chu kỳ — vẫn đủ để giải mã.
  • Bật hết 4 kênh analog và 2 cổng số trên model 34xxD MSO: 6 đơn vị → 125 MS/s, tức 8 ns giữa hai mẫu. SPI 20 MHz còn 6,25 mẫu mỗi chu kỳ, và nửa chu kỳ mức cao 25 ns chỉ còn khoảng 3 mẫu — lúc này nên tắt bớt kênh không cần.

Quy tắc thực hành: chỉ bật cổng số mà bus của bạn đang dùng, và giữ số đơn vị bật ở mức 4 trở xuống khi bus nhanh. Bộ nhớ đệm của máy (64 MS đến 512 MS tùy model) dùng chung cho mọi kênh đang bật, nên tắt kênh thừa còn giúp chụp được thời gian dài hơn ở cùng tốc độ lấy mẫu.

Ngân sách lấy mẫu PicoScope 3000D MSO khi giải mã giao thức SPI và I2C
Ngân sách lấy mẫu theo tổ hợp kênh, số liệu theo bảng thông số PicoScope 3000D.

Khi nào vẫn nên mua logic analyzer rời

Để công bằng, có những tình huống máy hiện sóng MSO không phải lựa chọn đúng:

  1. Cần hơn 16 đường số cùng lúc. Bus dữ liệu song song 16 bit cộng địa chỉ và đường điều khiển, giao tiếp bộ nhớ song song, hoặc nhiều bus cùng lúc trên một board FPGA.
  2. Cần lấy mẫu đồng bộ theo clock của chính mạch (state mode) để xem giá trị trên bus tại đúng mỗi sườn clock, thay vì lấy mẫu theo đồng hồ nội của thiết bị đo.
  3. Tín hiệu số vượt 100 MHz — vượt tần số vào tối đa của kênh số trên 3000D MSO.
  4. Bạn đã có một máy hiện sóng tốt và chỉ cần thêm kênh số cho một dự án cụ thể; khi đó bổ sung thiết bị riêng có thể hợp lý hơn thay máy.

Ngược lại, nếu bạn chưa có máy hiện sóng, hoặc máy hiện tại chỉ có 2 kênh và không giải mã được, thì mua một logic analyzer rời vẫn để lại khoảng trống: bạn vẫn cần một máy hiện sóng cho mọi phép đo analog. Đó là lý do tiêu đề bài này nói “không cần mua thêm máy” — cho đại đa số công việc nhúng, một máy hiện sóng MSO thay được cả hai.

Chọn model PicoScope 3000D: bản thường hay bản MSO

Dòng PicoScope 3000D có 8 cấu hình analog, mỗi cấu hình có bản thường và bản MSO. Phần analog của hai bản giống nhau; khác biệt nằm ở bảng dưới:

Điểm khác Bản thường (ví dụ 3404D) Bản MSO (ví dụ 3404D MSO)
Kênh số Không 16 kênh
Ngõ vào trigger ngoài EXT (BNC) Có, mặt trước Không
Ngõ ra máy phát hàm/AWG BNC mặt trước BNC mặt sau
Nguồn trigger Kênh analog, EXT Kênh analog, D0–D15
Phụ kiện kèm máy (theo trang hãng) Que đo 10:1/1:1, cáp USB 3.0 Như bản thường, thêm cáp số TA136 và kẹp logic TA139

Và các cấu hình analog:

Kênh analog Băng thông Thời gian lên Bộ nhớ Model thường / MSO
2 50 MHz 7,0 ns 64 MS 3203D / 3203D MSO
2 70 MHz 5,0 ns 128 MS 3204D / 3204D MSO
2 100 MHz 3,5 ns 256 MS 3205D / 3205D MSO
2 200 MHz 1,75 ns 512 MS 3206D / 3206D MSO
4 50 MHz 7,0 ns 64 MS 3403D / 3403D MSO
4 70 MHz 5,0 ns 128 MS 3404D / 3404D MSO
4 100 MHz 3,5 ns 256 MS 3405D / 3405D MSO
4 200 MHz 1,75 ns 512 MS 3406D / 3406D MSO

Cách chọn nhanh:

  • Chủ yếu I2C, UART, board vi điều khiển tốc độ vừa: bản 2 kênh MSO như PicoScope 3204D MSO — 2 kênh analog cho nguồn và một đường tín hiệu, 16 kênh số cho bus.
  • Cần đo nguồn nhiều rail hoặc động cơ, cùng lúc giải mã bus: bản 4 kênh MSO như 3404D MSO hoặc 3405D MSO.
  • SPI tốc độ cao, sườn xung nhanh, cần soi chất lượng tín hiệu số trên kênh analog: bản 200 MHz như PicoScope 3406D MSO, thời gian lên 1,75 ns.
  • Chỉ giải mã bus 2 dây và cần ngõ vào trigger ngoài: bản thường là đủ, vì giải mã chạy được trên kênh analog.

Các model trong dòng PicoScope 3000D

Danh sách đủ 16 model của dòng và nhóm phụ kiện kênh số, để bạn so thông số và yêu cầu báo giá theo đúng mã:

Cấu hình Bản thường Bản MSO (16 kênh số)
2 kênh, 50 MHz PicoScope 3203D PicoScope 3203D MSO
2 kênh, 70 MHz PicoScope 3204D PicoScope 3204D MSO
2 kênh, 100 MHz PicoScope 3205D PicoScope 3205D MSO
2 kênh, 200 MHz PicoScope 3206D PicoScope 3206D MSO
4 kênh, 50 MHz PicoScope 3403D PicoScope 3403D MSO
4 kênh, 70 MHz PicoScope 3404D PicoScope 3404D MSO
4 kênh, 100 MHz PicoScope 3405D PicoScope 3405D MSO
4 kênh, 200 MHz PicoScope 3406D PicoScope 3406D MSO

Cáp số 20 chân, kẹp logic và kẹp SMD siêu nhỏ để thay thế hoặc bổ sung nằm trong nhóm que đo logic và pod MSO PicoScope. Toàn bộ thiết bị Pico do Techmaster phân phối có tại trang Pico Technology.

Giải mã được những giao thức nào

Theo bảng thông số PicoScope 3000D, phần mềm PicoScope 7 giải mã hơn 30 giao thức, trong đó có I²C, I³C BASIC, SPI (SDIO và MISO/MOSI), UART/RS-232, 1-Wire, CAN, CAN FD, CAN XL, LIN, FlexRay, SENT, PSI5, I²S, SMBus, PMBus, Modbus (ASCII và RTU), DMX512, DALI, USB 1.0/1.1, Ethernet 10Base-T và 100Base-TX, cùng bus song song (Parallel bus) — chức năng mà người ta thường mua logic analyzer để có. Nguồn giải mã có thể là bất kỳ kênh nào, analog hoặc số, trộn nhiều giao thức trong một lần chụp; hãng lưu ý khả năng thực tế phụ thuộc số kênh và băng thông của máy.

Một lưu ý về độ tin cậy của phép đo: khi kết quả giải mã và đo thời gian đi vào báo cáo kiểm tra sản phẩm hay hồ sơ chất lượng, máy hiện sóng cần được hiệu chuẩn định kỳ. Techmaster cung cấp dịch vụ hiệu chuẩn thiết bị đo theo ISO/IEC 17025. Nếu bạn đang cân nhắc một máy hiện sóng MSO để bàn thay vì dạng USB, tham khảo bài so sánh máy hiện sóng Keysight MSOX2014A để thấy các tiêu chí tương tự áp vào dòng máy để bàn.

Câu hỏi thường gặp

Máy hiện sóng MSO có thay được logic analyzer không?

Với phần lớn công việc nhúng — giải mã I2C, SPI, UART, CAN, xem vài đường điều khiển — có. PicoScope 3000D MSO có 16 kênh số, tần số vào tối đa 100 MHz và trigger theo mẫu bit. Logic analyzer rời vẫn đáng mua khi cần hơn 16 đường số cùng lúc hoặc cần lấy mẫu đồng bộ theo clock của mạch.

Giải mã giao thức I2C có cần bản MSO không?

Không bắt buộc. I2C chỉ có hai dây SCL và SDA, và PicoScope giải mã được trên kênh analog, nên bản thường 2 kênh đã giải mã được. Bản MSO có lợi khi bạn muốn giữ kênh analog để soi nguồn hoặc sườn tín hiệu trong lúc giải mã bus.

Giao thức SPI cần bao nhiêu kênh?

Bốn kênh để xem đủ hai chiều: SCLK, MOSI, MISO và CS; ba kênh nếu chỉ xem một chiều. Mỗi thiết bị tớ thêm một đường CS. Vì vậy SPI đủ bốn dây vượt quá máy 2 kênh analog, và phù hợp với bản MSO hoặc máy 4 kênh.

Bật kênh số có làm giảm tốc độ lấy mẫu không?

Có. Ở PicoScope 3000D, mỗi cổng số 8 kênh tính như một kênh analog trong ngân sách lấy mẫu: tối đa 2 đơn vị được 500 MS/s, tối đa 4 đơn vị được 250 MS/s, các tổ hợp lớn hơn còn 125 MS/s. Chỉ riêng một kênh analog mới đạt 1 GS/s.

Kênh số của PicoScope 3000D MSO đo được mức logic 1,8 V không?

Được. Dải ngưỡng là ±5 V, có thể chọn TTL, CMOS, ECL, PECL hoặc tự đặt, với hai bộ ngưỡng độc lập cho D0–D7 và D8–D15. Biên độ vào tối thiểu là 500 mV đỉnh–đỉnh, nên mức 1,8 V nằm trong khả năng đo.

Biên soạn bởi Khanh Nguyen — Marketing Manager, Techmaster Electronics JSC.

Leave a Reply

Your email address will not be published. Required fields are marked *

Liên hệ Techmaster
Liên hệ chúng tôi
support techmaster