1-Wire
Giao thức kết nối

Trong MicroLan bất kì, luôn có một thiết bị chủ (master), có thể là một máy tính hoặc một vi điều khiển. Thiết bị chủ khởi tạo hoạt động trên bus, đơn giản hóa việc tránh va chạm trên bus. Các giao thức được xây dựng vào phần mềm để phát hiện các va chạm. Sau một vụ va chạm, thiết bị chủ thực hiện lại các giao tiếp cần thiết.
Nhiều thiết bị có thể chia sẻ cùng một bus. Mỗi thiết bị trên bus có một mã serial 64-bit duy nhất. Byte thấp nhất của mã serial là một mã 8-bit cho biết loại thiết bị. Byte cao nhất là một tiêu chuẩn CRC 8-bit (cho bus 1-wire).
Có một số lệnh broadcast tiêu chuẩn, cũng như lệnh để đến địa chỉ của một thiết bị cụ thể. Thiết bị chủ có thể gửi một lệnh lựa chọn, sau đó là địa chỉ của thiết bị cụ thể. Lệnh tiếp theo được thực hiện chỉ bởi thiết bị có địa chỉ này.
Giao thức liệt kê bus 1-wire (mô tả sau), giống như các giao thức đơn khác, là một thuật toán thiết bị chủ dùng để đọc địa chỉ của mọi thiết bị trên bus. Kể từ khi địa chỉ bao gồm loại thiết bị và một CRC, khôi phục bảng địa chỉ cũng sản sinh một bảng địa chỉ tin cậy của các thiết bị trên bus. Không gian địa chỉ 64-bit được tìm kiếm như một cây nhị phân, cho phép lên đến 75 thiết bị được tìm thấy trong một giây.
Mạng 1-Wire Dallas được thực hiện tự nhiên giống như một thiết bị chủ open drain được kết nối với một hoặc nhiều thiết bị open drain phụ thuộc (slave). Một điện trở kéo lên đơn dùng chung cho tất cả các thiết bị và hoạt động để kéo bus lên đến 3 - 5V, và có thể cung cấp năng lượng cho các thiết bị phụ thuộc. Giao tiếp diễn ra khi một thiết bị chủ hoặc phụ thuộc xác nhận bus thấp, nghĩa là kết nối điện trở kéo lên vào cực nối đất thông qua MOSFET đầu ra của nó. Các chip driver và cầu 1-Wire chính xác cũng sẵn sàng. Tốc độ truyền dữ liệu có thể đạt đến 16.3 kbit/s. Ngoài ra còn có một chế độ ép tốc độ giao tiếp tăng gấp 10 lần.
Thiết bị chủ bắt đầu truyền với một xung reset, xung mà kéo dây tín hiệu xuống 0 volt trong ít nhất 480 µs. Việc này reset toàn bộ thiết bị phụ thuộc trên bus. Sau đó, bất kì thiết bị phụ thuộc, nếu có, cho biết rằng nó tồn tại với một xung "hiện diện (presence)": nó giữ bus thấp trong ít nhất 60 µs sau khi thiết bị chủ giải phóng bus.
Để gửi "1", thiết bị chủ bus gửi một xung thấp rất ngắn (1–15 µs). Để gửi "0", thiết bị chủ gửi một xung thấp 60 µs. Cạnh đi xuống (tiêu cực) của xung được sử dụng để bắt đầu một monostable multivibrator trên thiết bị phụ thuộc. Multivibrator trong đồng hồ của thiết bị phụ thuộc để đọc dòng dữ liệu trong khoảng 30 µs sau khi cạnh xung đi xuống. Multivibrator của thiết bị phụ thuộc không thể tránh khỏi có dung sai tương tự ảnh hưởng đến thời gian chính xác của nó, đó là lý do tại sao xung "0" phải dài 60 µs, và xung "1" không thể dài hơn 15 µs.
Khi một giao tiếp 1-Wire chuyên dụng không có sẵn, một UART có thể được sử dụng để thực hiện một thiết bị chủ bus 1-wire. Chip "cầu nối (bridge)" USB hoặc nối tiếp cũng sẵn sàng để xử lý các yêu cầu thời gian và dạng sóng của bus 1-Wire bus, và đặc biệt hữu ích trong việc sử dụng cáp dài (trên 100m) hiệu quả. Lên đến 300m bus dài bao gồm cáp điện thoại xoắn đôi đơn giản đã được thử nghiệm bởi nhà sản xuất. Tuy nhiên nó sẽ yêu cầu điều chỉnh điện trở kéo từ 5 thành 1 kΩ.
Khi nhận dữ liệu, thiết bị chủ gửi một xung 0 volt 1–15-µs để bắt đầu mỗi bit. Nếu đơn vị truyền phụ thuộc muốn gửi "1", nó không làm gì, và bus quay lại điện áp cao. Nếu thiết bị truyền phụ thuộc muốn gửi "0", nó kéo đường data xuống điện áp thấp trong 60 µs.
Trình tự cơ bản là một xung reset theo sau bởi 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.
Khi một chuỗi dữ liệu đang được truyền, các lỗi có thể được phát hiện với một CRC (bảo vệ dữ liệu yếu) 8-bit.
Để tìm các thiết bị, thiết bị chủ quảng bá (broadcasts) một lệnh enumeration, và sau đó là một địa chỉ, "lắng nghe" sau mỗi bit của một địa chỉ. Nếu thiết bị phụ thuộc có tất cả các bit đó, nó trả về "0". Thiết bị chủ sử dụng hành vi đơn giản này để tìm kiếm một cách hệ thống cho các chuỗi hợp lệ của các bit địa chỉ. Quá trình này là nhanh hơn nhiều so với một tìm kiếm brute force cho toàn bộ 64-bit địa chỉ cần thiết bởi vì ngay sau khi một bit không hợp lệ được phát hiện, toàn bộ các bit địa chỉ đằng sau là không hợp lệ. Một lượt điều tra của 10 đến 15 thiết bị kết thúc rất nhanh chóng.
Vị trí của các thiết bị trên bus đôi khi là quan trọng. Với những trường hợp này, nhà sản xuất có một thiết bị đặc biệt mà cho phép đi qua hoặc tắt nó đi. Phần mềm do đó có thể khám phá các miền bus nối tiếp.