Nhiều Giao Thức Truyền Thông Nối Tiếp có sẵn để truyền dữ liệu giữa các thiết bị điện tử, dù đó là việc microcontroller đọc dữ liệu từ cảm biến hay gửi dữ liệu đến thiết bị lưu trữ. Đây là một trong số các bài viết trong loạt bài sẽ đề cập đến một số giao thức phổ biến được sử dụng rộng rãi. Chúng tôi sẽ kết thúc loạt bài bằng cách so sánh ưu và nhược điểm của từng giao thức.
Mục tiêu của tôi là loạt bài này sẽ trở thành tài liệu tham khảo hữu ích cho bạn vào lần sau khi bạn tìm cách triển khai một bus truyền thông nối tiếp, để bạn có thể chọn lựa phương án tốt nhất cho ứng dụng cụ thể của mình.
Trong bài viết này, chúng ta sẽ xem xét giao thức 1-Wire phổ biến.
1-Wire là một bus truyền thông tốc độ thấp được phát triển bởi Dallas Semiconductor Corp. (nay là Maxim Integrated) sử dụng một dây tín hiệu dữ liệu không bao gồm dây nối đất. Đây là một hệ thống truyền thông chủ-nô, nơi một thiết bị chủ hoặc máy chủ được kết nối qua một dây dữ liệu duy nhất với một hoặc nhiều thiết bị nô. Mỗi thiết bị nô 1-Wire sẽ có một số nhận dạng duy nhất 64-bit được lập trình từ nhà máy (ID), đó là địa chỉ của thiết bị đó.
Các thiết bị 1-Wire thường chỉ được sản xuất bởi Maxim Integrated và có sẵn trong các loại gói khác nhau, như gói transistor tiêu biểu TO-92, cũng như các mạch tích hợp khác nhau. Một thiết bị giao tiếp 1-Wire rất phổ biến là iButton (còn được biết đến là Dallas Key). iButton là một thiết bị mô-đun nhỏ được sử dụng cho các ứng dụng như bộ ghi dữ liệu, cảm biến nhiệt độ và độ ẩm, LED, thiết bị lưu trữ, bộ chuyển đổi, v.v. Mặc dù iButton đã từng là một cách thực hiện rất phổ biến của 1-Wire, ngày nay có nhiều cảm biến khác nhau từ Maxim Integrated sử dụng giao thức 1-Wire.
Về nguyên tắc, một iButton là một vi mạch rất giống với những cái được sử dụng trong thẻ thông minh. Sự khác biệt là vi mạch được đặt trong một nút thép không gỉ hình tròn và được thiết kế để sử dụng trong môi trường khắc nghiệt và đòi hỏi cao. Chúng dựa vào các tiếp xúc vật lý để kết nối với bus 1-Wire.
Các dải điện áp 1-Wire tiêu biểu mà thiết bị hoạt động bao gồm:
Một trong những tính năng thú vị nhất của bus 1-Wire là nguồn điện có thể được cung cấp qua đường truyền thông tin, thay vì cần nguồn điện bên ngoài. Điều này cho phép kết nối các cảm biến bên ngoài, như cảm biến nhiệt độ chỉ với dây dữ liệu và dây tiếp đất, với cảm biến được cung cấp năng lượng thông qua nguồn điện ký sinh từ bus dữ liệu. Điều này có thể tiết kiệm đáng kể sự phức tạp và dây dẫn so với các giao thức truyền thông loạt khác mà chúng tôi đã điều tra trong loạt bài này.
Một kết nối thiết bị bus 1-Wire tiêu biểu có thể được thấy trong sơ đồ mạch sau:
Trong ví dụ trên, một thiết bị chủ đang điều khiển nhiều thiết bị nô lệ.
Hầu hết các thiết bị 1-Wire đều yêu cầu rất ít năng lượng và không cần chân cung cấp điện. Những thiết bị này lấy năng lượng họ cần để hoạt động từ dòng dữ liệu 1-Wire, được biết đến như một nguồn cung cấp điện ký sinh.
Một thiết bị 1-Wire điển hình cấu hình nguồn năng lượng ký sinh có thể được thấy trong sơ đồ mạch sau:
Có nhiều loại thiết bị 1-Wire, có thể được sử dụng cho các ứng dụng bao gồm cảm biến nhiệt độ, nhận dạng, ghi thời gian, EEPROM hoặc EPROM (chỉ có thể lập trình một lần), xác thực an toàn, v.v., cho phép tạo ra các thiết bị với các ứng dụng đa dạng từ nhận dạng, xác thực vật tư tiêu hao, phụ kiện PCB và máy tính, bảo vệ quyền sở hữu trí tuệ, kiểm soát quyền truy cập vào hệ thống tuần tra bảo vệ, tiền điện tử, thời gian và điểm danh, giám sát nhiệt độ thực phẩm, hoặc an toàn dược phẩm.
Giá trị cho điện trở kéo lên cần thiết cho kết nối 1-Wire nên thấp đủ để cung cấp đủ dòng điện để cấp nguồn cho thiết bị nhưng không quá thấp đến mức các thiết bị nô lệ không thể kéo dòng dữ liệu xuống mức logic 0 thành công.
Giá trị điện trở kéo lên điển hình cho kết nối 1-Wire nằm giữa 1 kΩ và 4.7 kΩ. Điều này đặt dòng điện từ nguồn cấp 5 V giữa 5 mA và 1.06 mA. Ví dụ, thiết bị DS2480B yêu cầu một giá trị dòng điện giữa 1.5 mA và 5 mA để hoạt động, thường là 3 mA.
Trên bus 1-Wire, luôn có một master đảm nhận vai trò tổng quản lý, có thể là một máy tính cá nhân hoặc một vi điều khiển. Master luôn khởi xướng hoạt động trên bus để tránh bất kỳ sự va chạm truyền dẫn nào. Thiết bị master chịu trách nhiệm phát hiện và quản lý bất kỳ va chạm nào từ việc truyền dẫn đồng thời bởi nhiều thiết bị slave.
Các thiết bị truyền dữ liệu bằng cách sử dụng các xung thấp ngắn và dài để biểu diễn dữ liệu. Một xung thấp 1–15 µs tương đương với mức logic 1, trong khi một xung thấp 60 µs tương đương với mức logic 0. Cạnh rơi (âm) của xung được các thiết bị slave sử dụng để lắng nghe độ rộng xung. Chúng đo độ dài của nó bằng cách sử dụng một multivibrator monostable rất cơ bản. Master khởi động giao tiếp bằng cách gửi một xung reset theo sau là một lệnh 8 bit, và sau đó dữ liệu được gửi hoặc nhận trong các nhóm 8 bit. Phát hiện lỗi được thực hiện bằng cách sử dụng một kiểm tra chu kỳ dư đơn giản 8 bit (CRC).
Bài viết này đã xem xét một số tính năng của giao thức 1-Wire phổ biến và thảo luận về một số ưu điểm và chi tiết triển khai của nó. Trong các bài viết khác trong loạt bài này, chúng tôi sẽ xem xét một số giao thức truyền thông nối tiếp thay thế có sẵn.
Bạn có muốn tìm hiểu thêm về cách Altium Designer® có thể giúp bạn với thiết kế PCB tiếp theo của mình không? Hãy trò chuyện với một chuyên gia tại Altium.