USB thay vì RS232


13

RS232 không phổ biến như trước đây và chủ yếu được thay thế bằng USB [ wikipedia ]. Các vấn đề như được đề cập trong câu hỏi này cũng không giúp ích cho danh tiếng của nó.

Do đó, trong một thiết kế hệ thống mới, người ta có thể nghĩ đến việc sử dụng USB thay vì Cổng nối tiếp để liên lạc. Tuy nhiên, có vẻ như RS232 là giao thức / cổng giao tiếp nối tiếp được lựa chọn.

Tại sao vậy? Tôi hiểu việc thay đổi máy móc cũ hoạt động với RS232 rất tốn kém, nhưng điều gì ngăn cản các nhà thiết kế hệ thống mới sử dụng USB thay vì RS232?

Câu trả lời:


12

Ít nhất là ở cấp vi điều khiển:

  1. Các cổng nối tiếp (thường là TTL hoặc LVTTL) vẫn là cách giao tiếp phổ biến nhất, vì hầu hết các bộ vi điều khiển đơn giản không có bộ điều khiển USB.

    Ví dụ: hầu hết các bộ vi điều khiển AVR hoặc PIC 8 bit không có USB, một số bộ vi điều khiển ARM 32 bit làm, nhưng tất cả chúng thường có cổng nối tiếp.

  2. Chuyển đổi từ giao tiếp nối tiếp TTL / LVTTL sang RS-232 yêu cầu chuyển đổi mức logic "đơn giản", có thể được thực hiện với các IC rất rẻ (MAX 232 / MAX3232)

  3. Chuyển đổi từ giao tiếp nối tiếp TTL / LVTTL sang USB khi vi điều khiển của bạn không có bộ điều khiển USB thường yêu cầu sử dụng IC đắt hơn một chút (FTDI) không có bất kỳ tùy chọn đóng gói thông qua lỗ nào, chỉ có giá treo bề mặt.

  4. Có một vài chi tiết liên quan đến giao thức người ta phải chú ý khi sử dụng các thiết bị USB nói chung, chẳng hạn như mức hiện tại mà nó có thể yêu cầu từ máy chủ USB. Với các cổng nối tiếp, bạn chỉ phải lo lắng về 3 đến 5 tham số cố định phải nhất quán trong hệ thống của bạn (baudrate, # of stop stop, parity, v.v.).


9

Đơn giản, tôi đoán. Việc triển khai USB (chip và phần mềm trình điều khiển) thường phức tạp hơn so với RS232 tốt, thậm chí có thể được tìm thấy trong nhiều bộ vi điều khiển 8 bit. Mặc dù USB có nhiều cơ chế giao thức và được thiết kế để đối phó với nhiều người tham gia trên xe buýt, nhưng kết nối RS232 không có bất kỳ cơ chế nào. Thay vào đó, đây là hình thức "raxi" có thể gửi byte qua một dây.

Mặc dù Arduino và sự lan rộng ngày càng tăng của các bộ chuyển đổi nối tiếp USB cho thấy hứa hẹn rằng USB cuối cùng sẽ trở nên chiếm ưu thế như RS232 từng có.


5

Tôi nghĩ lý do lớn nhất mà RS232 vẫn tồn tại là sự đơn giản trong việc triển khai các trường hợp sử dụng phổ biến trong phần cứng nhúng - như gửi một chuỗi ASCII chuỗi giữa hai thiết bị để kiểm soát. Các trường hợp sử dụng để gửi thông tin ở tốc độ cao hơn nhiều có sẵn với USB không đáng để đánh đổi sự phức tạp gây ra bởi việc thực hiện báo hiệu giao thức USB .

Khi các yêu cầu về tốc độ cao hơn xuất hiện, tôi sẽ không ngạc nhiên nếu RS-485 trở nên phổ biến hơn với giao diện vật lý rất đơn giản và tốc độ dữ liệu cao (lên tới 10Mb / giây).


4
  • Đơn giản cho các nhà thiết kế phần cứng và sử dụng dễ dàng cho các lập trình viên
  • độ tin cậy
  • Nổi tiếng và được hỗ trợ trong nhiều hệ thống

Đặc biệt trong chế tạo robot khi chúng tôi buộc phải sử dụng USB thay vì RS232 (PC mới của chúng tôi không có cổng RS232). Chúng tôi gặp nhiều vấn đề:

  1. Bất kỳ ngắt kết nối ổ cắm USB nào cũng cần rất nhiều nỗ lực để khôi phục hệ thống. Đôi khi, nó dẫn đến lỗi hệ thống và chúng tôi phải khởi động lại PC.

  2. Bất kỳ cú sốc hoặc nguy hiểm làm cho nó không được cắm

  3. Quá nhiều thời gian lập trình


2

Độ trễ truyền thông là một lý do khác khiến USB1.1 hoặc USB2.0 không phải lúc nào cũng là sự thay thế tốt cho RS232. Dữ liệu trên bus USB1.1 hoặc USB2.0 được định dạng tương ứng thành các khung 1ms hoặc 125us, điều này buộc nhận được tối thiểu để truyền độ trễ bằng hai chu kỳ khung (thường là nhiều hơn trong thực tế). Đây là một cân nhắc quan trọng đối với phần cứng PC hiện đại, thường không có cổng RS232 tích hợp và bộ chuyển đổi USB / RS232 được sử dụng thay thế.

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.