QUAY LẠI TÀI LIỆU KỸ THUẬT
Hardware•8 phút•25/09/2026

Thiết kế mạch bảo vệ ESD và quá áp cho cổng USB-C trong sản phẩm Maker

Biên soạn bởi: Hardware Design Lead
TỔNG QUAN TÀI LIỆU

Tại sao nhiều bo mạch DIY dễ bị chết cổng USB khi cắm vào máy tính? Hướng dẫn tính toán mảng Diode TVS USBLC6-2SC6, cầu chì tự phục hồi PPTC và phân tách mass chống nhiễu.

1. Cơ sở lý thuyết và Nguyên lý hoạt động

Trong các hệ thống nhúng thời gian thực, tính ổn định và khả năng tái lập tín hiệu phụ thuộc trực tiếp vào cách cấu hình ngoại vi phần cứng. Thay vì sử dụng phương pháp bit-banging hoặc ngắt phần mềm (vốn dễ bị trễ do các task ưu tiên cao hơn của hệ điều hành), chúng ta sử dụng ngoại vi chuyên dụng như RMT (Remote Control) hoặc TWAI (CAN-Bus) tích hợp sẵn trong silicon của ESP32.

esp_idf_rmt_config.cESP-IDF v5.5 Native
#include "driver/rmt_rx.h"
#include "esp_log.h"

#define IR_RX_GPIO_NUM      5
#define IR_RESOLUTION_HZ    1000000 // 1MHz resolution (1 tick = 1us)

rmt_channel_handle_t rx_channel = NULL;
rmt_rx_channel_config_t rx_config = {
    .clk_src = RMT_CLK_SRC_DEFAULT,
    .resolution_hz = IR_RESOLUTION_HZ,
    .mem_block_symbols = 64, // 64 words hardware ringbuffer
    .gpio_num = IR_RX_GPIO_NUM,
};

ESP_ERROR_CHECK(rmt_new_rx_channel(&rx_config, &rx_channel));
ESP_LOGI("CHOTDIY_IR", "RMT Rx Channel initialized with 1us resolution.");

2. Kiểm tra tính toàn vẹn và Phục hồi lỗi

Trước khi lưu trữ bất kỳ dữ liệu cấu hình hoặc lệnh IR nào vào bộ nhớ không bay hơi (NVS), hệ thống luôn tính toán mã kiểm tra CRC-32. Nếu phát hiện sai lệch dữ liệu do mất điện đột ngột trong chu kỳ ghi Flash, hệ thống sẽ tự động chuyển về cấu hình an toàn mặc định (Fail-safe State).

THỬ NGHIỆM TRỰC TIẾP TRÊN PHẦN CỨNG?
Cắm thiết bị NexusIR S3 vào máy tính và nạp ngay firmware mẫu.
MỞ WEB FLASHER