Sự khác biệt giữa I2C và TWI là gì?


26

Sự khác biệt giữa giao diện I2C và TWI là gì? Wikipedia nói rằng TWI là biến thể của I2C. Một số nguồn khác nói rằng chỉ có tên là khác nhau ...

i2c 

13
AFAIK TWI là những gì các nhà sản xuất (đã từng) gọi giao diện I2C của họ để tránh rắc rối pháp lý với Philips.
Wouter van Ooijen

33
Một phiên bản đi kèm với luật sư!
Sói Connor

1
Wouter van Ooijen: Nếu vậy, chỉ cần thay đổi tên là đủ? IANAL.

Câu trả lời:


25

Tôi đồng ý với tất cả những gì @Wouter đã nói ... Cụ thể, TWI được các nhà sản xuất (như Atmel) sử dụng để chỉ giao diện I2C của họ để tránh rắc rối pháp lý với Philips vì I2C là nhãn hiệu đã đăng ký. Một số nhà sản xuất (như Atmel) đã triển khai các tính năng độc quyền trên I2C để TWI của họ là siêu bộ I2C.

Để trả lời câu hỏi tiếp theo của bạn, có. Chỉ cần thay đổi tên là đủ. Một nhãn hiệu chỉ bảo vệ tên. Nếu nó được cấp bằng sáng chế, tình hình sẽ khác.

Tuy nhiên, rất khó để bảo vệ một bằng sáng chế về sơ đồ điều chế / mã hóa vì nó chủ yếu chỉ là toán học. Thông thường, bản quyền được sử dụng cho việc này, nhưng nó thường khá dễ bị phá vỡ, vì bản quyền chỉ bảo vệ việc khởi tạo (triển khai) cụ thể chính xác của giao thức, chứ không phải chính giao thức trong hầu hết các trường hợp.


1
Tôi nghĩ rằng một số khía cạnh của việc bắt tay của I2C sẽ đủ mới lạ để bảo vệ bằng sáng chế, mặc dù những thứ như EEPROM không sử dụng bắt tay có thể không sử dụng bất kỳ tính năng nào xứng đáng với bằng sáng chế. Đối với các tiện ích mở rộng I2C, một điều tôi từng mong muốn là khả năng cho các thiết bị nô lệ tham gia vào trọng tài theo cách tương tự như cách mà các bậc thầy thực hiện (một nô lệ cố gắng tạo ra "1" trong khi một nô lệ khác xuất ra "0" nên báo hiệu một trọng tài bị mất và bỏ đi trong phần còn lại của byte đó) [giao thức cấp cao sẽ quyết định tại thời điểm nào nô lệ có thể tham gia lại].
supercat

1
Với một tính năng như vậy, sẽ dễ dàng cho một số thiết bị tùy ý với số ID 64 bit có thể nhận dạng được chúng (dễ dàng hơn với 1wire). Có địa chỉ thiết bị "bắt đầu đọc ID" và sau đó mỗi thiết bị sẽ xuất ra 8 byte ID (bỏ qua nếu mất trọng tài) và mỗi thiết bị không xuất thành công ID của nó sẽ nối lại sau mỗi 8 byte. Do đó, chủ sẽ đọc ID của mọi thiết bị, theo thứ tự số, kết thúc bằng tất cả FF sau khi tất cả các thiết bị đã được thực hiện.
supercat

1
@supercat Và nếu được cấp bằng sáng chế, nó sẽ ngăn các nhà sản xuất khác sử dụng nó cho sản phẩm giá rẻ. Nó sẽ là một cơn ác mộng khác cho người dùng.
JB.

@ JanB.
supercat

9

Từ i2c-bus.org :

TWI là viết tắt của Giao diện hai dây và xe buýt này giống hệt với I²C. Tên TWI được giới thiệu bởi Atmel và các công ty khác để tránh xung đột với các vấn đề thương hiệu liên quan đến I²C. Có thể tìm thấy mô tả về khả năng của giao diện TWI trong bảng dữ liệu của các thiết bị tương ứng. Yêu cầu các thiết bị TWI tương thích với các thiết bị I²C ngoại trừ một số đặc thù như phát sóng chung hoặc địa chỉ 10 bit.

Ngoài ra, hiện tại, cũng không có chế độ tốc độ cao TWI.

Nếu bạn có máy phân tích I²C, nó cũng sẽ hoạt động với thiết lập TWI mà không cần sửa đổi.


2

Các thiết bị TWI thường không hoàn toàn phù hợp với đặc điểm kỹ thuật I2C.

Đáng chú ý, kéo dài đồng hồ thường không được hỗ trợ.


Chẳng hạn như, nếu bộ nhớ của tôi phục vụ cho tôi một cách chính xác, giao diện I²C của Raspberry Pi được cung cấp bởi Broadcomm SoC ngay tại đó ...
SlySven
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.