ความแตกต่างระหว่าง I2C และ TWI คืออะไร?


26

อะไรคือความแตกต่างระหว่างอินเตอร์เฟส I2C และ TWI? Wikipedia กล่าวว่า TWI นั้นแตกต่างจาก I2C แหล่งข้อมูลอื่นบอกว่าชื่อแตกต่างกันเท่านั้น ...

i2c 

13
AFAIK TWI เป็นสิ่งที่ผู้ผลิต (เคย) เรียกใช้อินเทอร์เฟซ I2C เพื่อหลีกเลี่ยงปัญหาทางกฎหมายกับ Philips
— Wouter van Ooijen

33
รุ่นหนึ่งมาพร้อมกับทนายความ!
— Connor Wolf

1
Wouter van Ooijen: ถ้าเป็นเช่นนั้นมันก็เพียงพอแล้วที่จะเปลี่ยนชื่อ? IANAL

คำตอบ:


25

ฉันเห็นด้วยกับทุกอย่างที่ @Wouter กล่าวว่า ... โดยปกติ TWI จะถูกใช้โดยผู้ผลิต (เช่น Atmel) เพื่ออ้างถึงอินเทอร์เฟซ I2C ของพวกเขาเพื่อหลีกเลี่ยงปัญหาทางกฎหมายกับ Philips เนื่องจาก I2C เป็นเครื่องหมายการค้าจดทะเบียน ผู้ผลิตบางราย (เช่น Atmel) ได้นำคุณสมบัติที่เป็นกรรมสิทธิ์ไปใช้ด้านบนของ I2C เพื่อให้ TWI ของพวกเขาเป็นซูเปอร์เซ็ตของ I2C

เพื่อตอบคำถามติดตามของคุณใช่ เพียงแค่เปลี่ยนชื่อ เครื่องหมายการค้าคุ้มครองเฉพาะชื่อ หากมีการจดสิทธิบัตรแล้วสถานการณ์จะแตกต่างกัน

อย่างไรก็ตามมันเป็นเรื่องยากที่จะปกป้องสิทธิบัตรในรูปแบบการปรับ / เข้ารหัสเนื่องจากส่วนใหญ่เป็นเพียงคณิตศาสตร์ บ่อยครั้งที่ลิขสิทธิ์ถูกใช้สำหรับสิ่งนี้ แต่โดยทั่วไปแล้วมันค่อนข้างง่ายที่จะหลีกเลี่ยงเนื่องจากลิขสิทธิ์ปกป้องเฉพาะอินสแตนซ์ที่เฉพาะเจาะจงที่แน่นอน (การนำไปใช้) ของโปรโตคอลไม่ใช่โปรโตคอลในกรณีส่วนใหญ่


1
ฉันคิดว่าการจับมือกันของ I2C บางแง่มุมนั้นแปลกใหม่พอที่จะได้รับการคุ้มครองสิทธิบัตรแม้ว่าสิ่งต่าง ๆ เช่น EEPROM ที่ไม่ใช้การจับมือกันอาจไม่ใช้คุณสมบัติที่คุ้มค่ากับสิทธิบัตรใด ๆ สำหรับส่วนขยายของ I2C นั้นสิ่งหนึ่งที่ฉันต้องการคือความสามารถในการใช้อุปกรณ์ทาสในการอนุญาโตตุลาการในแบบเดียวกับที่เจ้านายใช้ (ทาสที่พยายามจะเอาท์พุท "1" ในขณะที่ทาสอีกตัวหนึ่งกำลังส่งออก "0" ควรส่งสัญญาณอนุญาโตตุลาการที่หายไปและลดลงในช่วงเวลาที่เหลือของไบต์นั้น) [โปรโตคอลระดับสูงจะตัดสินใจว่าจุดใดที่ทาสสามารถเข้าร่วมได้อีกครั้ง]
— supercat

1
ด้วยคุณสมบัติเช่นนี้มันจะเป็นเรื่องง่ายสำหรับอุปกรณ์ที่มีหมายเลขตามอำเภอใจเช่นหมายเลข ID 64- บิตที่จะอ่านข้อมูลประจำตัวของพวกเขา (ง่ายกว่าด้วย 1wire) มีที่อยู่อุปกรณ์ "เริ่มอ่านรหัส" จากนั้นให้แต่ละอุปกรณ์ส่งออก 8 ไบต์ของ ID (เลื่อนออกหากสูญเสียการอนุญาโตตุลาการ) และมีอุปกรณ์แต่ละตัวที่ไม่สามารถส่งออก ID กลับเข้าร่วมได้ทุก 8 ไบต์ ต้นแบบจะอ่าน ID ของอุปกรณ์ทุกเครื่องตามลำดับตัวเลขลงท้ายด้วย FF ทั้งหมดเมื่ออุปกรณ์ทั้งหมดเสร็จสิ้น
— supercat

1
@supercat และหากมีการจดสิทธิบัตรแล้วมันจะป้องกันผู้ผลิตรายอื่นจากการใช้มันสำหรับผลิตภัณฑ์ต้นทุนต่ำ มันจะเป็นฝันร้ายของผู้ใช้อีกคน
— JB

@ เจบี: ฉันสงสัยว่า I2C ไม่อนุญาตให้อนุญาโตตุลาการเป็นทาสเพราะมันอาจทำให้เป็นไปไม่ได้ที่รถแทรมตันจะรู้ว่าเกิดอะไรขึ้น แต่สำหรับรถเมล์ที่ไม่ได้ใช้เครื่องตรวจจับการทรยศเช่นนั้นจะทำให้สิ่งที่ดี
— supercat

9

จากi2c-bus.org :

TWI ย่อมาจาก Two Wire Interface และบัสนี้เหมือนกับI²C Atmel ได้รับการแนะนำให้รู้จักกับชื่อ TWI และ บริษัท อื่น ๆ เพื่อหลีกเลี่ยงความขัดแย้งกับปัญหาเครื่องหมายการค้าที่เกี่ยวข้องกับI²C คำอธิบายของความสามารถของอินเตอร์เฟส TWI สามารถพบได้ในแผ่นข้อมูลของอุปกรณ์ที่เกี่ยวข้อง คาดว่าอุปกรณ์ TWI จะเข้ากันได้กับอุปกรณ์I²Cยกเว้นลักษณะเฉพาะบางอย่างเช่นการออกอากาศทั่วไปหรือการกำหนดแอดเดรส 10 บิต

สำหรับตอนนี้ยังไม่มีโหมดความเร็วสูง TWI

หากคุณมีตัววิเคราะห์I²Cมันจะทำงานกับการตั้งค่า TWI ด้วยโดยไม่มีการดัดแปลง


2

อุปกรณ์ TWI มักจะไม่สอดคล้องกับข้อกำหนด I2C อย่างสมบูรณ์

โดยเฉพาะอย่างยิ่งการยืดนาฬิกามักจะไม่รองรับ


เช่นถ้าหน่วยความจำของฉันให้บริการฉันอย่างถูกต้องส่วนต่อประสานI²Cของ Raspberry Pi ที่จัดทำโดย Broadcomm SoC ที่เป็นหัวใจ ...
— SlySven
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.