Timing Modbus RTU: 3.5 Char – Silent Interval – Collision Detection

Trong Modbus RTU, dữ liệu không được đóng gói bằng ký tự bắt đầu hoặc kết thúc cố định như Modbus ASCII. Thay vào đó, khoảng thời gian im lặng (silent interval) giữa các Frame đóng vai trò then chốt trong việc phân định ranh giới dữ liệu.

Chính vì vậy, cơ chế Timing là yếu tố sống còn để Modbus RTU hoạt động ổn định trên nền truyền thông nối tiếp như RS-485.

1. Vì sao Timing quan trọng trong Modbus RTU?

Modbus RTU truyền dữ liệu dạng nhị phân liên tục, không có ký tự Start/End Frame rõ ràng. Thiết bị nhận chỉ có thể dựa vào khoảng thời gian im lặng giữa các byte để xác định:

  • Kết thúc một Frame
  • Bắt đầu Frame mới
  • Phát hiện lỗi truyền hoặc nhiễu

2. Quy tắc 3.5 Character Time là gì?

3.5 Character Time (3.5T) là khoảng thời gian im lặng tối thiểu để xác định kết thúc một Frame.

Cách tính thời gian của 1 ký tự (Character Time):

Character Time = (Start bit + Data bits + Parity + Stop bits) / Baud rate

Ví dụ với cấu hình phổ biến:

  • Baud rate: 9600 bps
  • Khung truyền: 8 data bit, even parity, 1 stop bit (11 bit)

⇒ Thời gian 1 ký tự ≈ 11 / 9600 ≈ 1.146 ms

⇒ 3.5 Char Time ≈ 4.01 ms

Nếu bus im lặng ít nhất 3.5T, thiết bị sẽ hiểu là Frame đã kết thúc.

3. Quy tắc 1.5 Character Time trong nội bộ Frame

Ngoài 3.5T, Modbus RTU còn quy định:

  • Khoảng im lặng giữa các byte trong cùng một Frame không được vượt quá 1.5 Character Time

Nếu vượt quá 1.5T giữa 2 byte:

  • Frame đang nhận sẽ bị coi là lỗi
  • Thiết bị Reset bộ đệm (Buffer)

4. Silent Interval – Khoảng cách giữa hai Frame

Silent Interval là khoảng thời gian bus phải ở trạng thái rảnh trước khi Master gửi Frame mới.

Loại khoảng thời gianGiá trị tiêu chuẩn
Giữa các byte ≤ 1.5 Character Time
Giữa các Frame ≥ 3.5 Character Time

5. Collision – Va chạm dữ liệu trên RS485

RS-485 hoạt động theo mô hình half-duplex, nghĩa là tại một thời điểm chỉ có một thiết bị được phép phát dữ liệu.

Collision (va chạm) xảy ra khi:

  • Master chưa kết thúc Frame nhưng Slave đã bắt đầu trả lời
  • Hai Slave cùng phản hồi (do lỗi cấu hình địa chỉ)
  • Thiết bị chuyển hướng TX/RX quá chậm

6. Cách hạn chế Collision trong thực tế

  • Thiết lập đúng Timing 3.5T và 1.5T trong phần mềm PLC/HMI
  • Chỉ cho phép Master điều khiển truyền thông
  • Đảm bảo mỗi Slave có Address duy nhất
  • Sử dụng điện trở kết thúc (Termination Resistor) 120Ω đúng chuẩn RS-485

7. Ví dụ thực tế trong hệ thống công nghiệp

Trong hệ thống SCADA giám sát trạm bơm, nếu cấu hình Silent Interval quá ngắn, PLC Master có thể gửi lệnh mới khi biến tần chưa kịp phản hồi, dẫn đến:

  • Mất Frame dữ liệu
  • Lỗi CRC liên tục
  • Hệ thống hiểu sai trạng thái thiết bị

8. Kết luận

Timing trong Modbus RTU là yếu tố “vô hình” nhưng quyết định toàn bộ độ tin cậy hệ thống. Việc hiểu rõ 3.5 Character Time, Silent Interval và cơ chế tránh Collision giúp bạn thiết kế mạng RS-485 ổn định, chống nhiễu tốt và tăng tuổi thọ thiết bị.

 


 
 

Số lượng người đang truy cập...

Không thể hiển thị dữ liệu người dùng trực tuyến vào lúc này.