i2c

 

I2C

บทนำ: Inter-Integrated Circuit (I2C) บัสเป็นอินเทอร์เฟซแบบอนุกรมสองสายที่พัฒนาโดย Phillips Corporation เพื่อใช้ในผลิตภัณฑ์สำหรับผู้บริโภค เป็นบัสสองทิศทางที่ใช้งานได้ง่ายในกระบวนการ IC ใด ๆ (NMOS, CMOS, สองขั้ว) และช่วยให้สามารถสื่อสารระหว่าง IC ได้อย่างง่ายดาย การเชื่อมต่อถูกย่อให้เล็กที่สุดโดยใช้สายข้อมูลอนุกรม (SDA), สายนาฬิกาแบบอนุกรม (SCL) และสายกราวด์ทั่วไปเพื่อดำเนินการสื่อสารทั้งหมด I2C ได้รับการยอมรับอย่างมากและยังทำหน้าที่เป็นต้นแบบของ System Management Bus (SMBus) ซึ่งเป็นส่วนย่อยของ I2C ออกแบบ โปรโตคอลการสื่อสาร I2C เป็นไปตามลำดับชั้นของมาสเตอร์ / ทาสโดยที่มาสเตอร์ถูกกำหนดให้เป็นอุปกรณ์ที่นาฬิกาบัสจัดการกับทาสและเขียนหรืออ่านข้อมูลไปยังและจากรีจิสเตอร์ในทาส ทาสเป็นอุปกรณ์ที่ตอบสนองต่อเมื่อนายซักถามผ่านที่อยู่เฉพาะของพวกมัน ดังนั้นจึงมีความจำเป็นที่จะต้องหลีกเลี่ยงการซ้ำซ้อนของที่อยู่ระหว่างทาส ทาสไม่เคยเริ่มการถ่ายโอนข้อมูล บัส I2C ใช้เพียงสองเส้นสองทิศทางคือ Serial Data Line (SDA) และ Serial Clock Line (SCL) อุปกรณ์ที่เข้ากันได้กับ I2C เชื่อมต่อกับบัสด้วย open collector หรือพินท่อระบายน้ำแบบเปิดซึ่งดึงสาย LOW เมื่อไม่มีการส่งข้อมูล I2C บัสไลน์ว่างในสถานะสูง เส้นถูกดึงสูงอย่างอดทน การส่งเกิดขึ้นโดยการสลับเส้นโดยดึง LOW และปล่อย HIGH บิตจะตอกบัตรที่ขอบนาฬิกาที่ตกลงมา อัตราการถ่ายโอนข้อมูลมาตรฐานคือ 100kbits / s ในขณะที่อัตราการถ่ายโอน Fast Mode คือ 400kbits / s
                                    รูปที่ 1: แผนภาพการเชื่อมต่อ I2C ทั่วไป บัส I2C 
สามารถรองรับอุปกรณ์ได้หลายตัวทั้ง SLAVE และ MASTER และข้อ จำกัด เพียงอย่างเดียวคือความจุบนบัส (400pF) และพื้นที่แอดเดรส (128 แอดเดรสที่ไม่ซ้ำกัน) เนื่องจากมีการเพิ่มอุปกรณ์มากขึ้น โปรโตคอลการส่งข้อมูล แพ็กเก็ตข้อมูล I2C ถูกจัดเรียงเป็น 8 บิตไบต์ซึ่งประกอบด้วยที่อยู่สเลฟหมายเลขลงทะเบียนและข้อมูลที่จะถ่ายโอน การส่งผ่านบัสเป็นได้ทั้งการอ่านหรือเขียน โปรโตคอลการอ่านและการเขียนสร้างขึ้นจากชุดของโปรโตคอลย่อยเช่นเงื่อนไขการเริ่มต้นและการหยุดบิตเริ่มต้นที่ซ้ำกันไบต์ที่อยู่บิตการถ่ายโอนข้อมูลและรับทราบ / ไม่รับทราบบิต เริ่มและหยุดเงื่อนไข ตามชื่อที่แนะนำเงื่อนไขการเริ่มต้นมักจะเกิดขึ้นเมื่อเริ่มต้นการส่งข้อมูลและเริ่มต้นโดยอุปกรณ์ MASTER สิ่งนี้ทำเพื่อปลุกอุปกรณ์ SLAVE ที่ไม่ทำงานบนรถบัส นี่เป็นหนึ่งในสองครั้งที่สาย SDA ได้รับอนุญาตให้เปลี่ยนสถานะเมื่อ SCL สูง เพื่อแสดงถึงเงื่อนไขเริ่มต้นสาย SDA จะเปลี่ยนจากสถานะสูงเป็นสถานะต่ำในขณะที่ SCL เป็น HIGH
                        รูปที่ 2: เงื่อนไขเริ่มต้นและหยุดการเปลี่ยนเงื่อนไข 
 คล้ายกับเงื่อนไขเริ่มต้นเงื่อนไขการหยุดจะเกิดขึ้นเมื่อสิ้นสุดการถ่ายโอนข้อมูลและยังสร้างโดย MASTER สิ่งนี้หมายถึงการสิ้นสุดการถ่ายโอนและเป็นคำสั่งเพื่อบอกอุปกรณ์ทาสว่าควรกลับไปที่สถานะว่างปล่อยสาย SDA และไม่ส่งข้อมูลบนบัสอีกต่อไป นี่เป็นอินสแตนซ์ที่สองที่สาย SDA ได้รับอนุญาตให้เปลี่ยนสถานะเมื่อ SCL สูง บรรทัด SDA จะเปลี่ยนจากสถานะ LOW เป็น HIGH ในขณะที่ SCL เป็น HIGH เพื่อแสดงถึงเงื่อนไขการหยุด ในเงื่อนไขอื่น ๆ ทั้งหมดสาย SDA จะเปลี่ยนสถานะเมื่อสาย SCL ต่ำเท่านั้น เริ่มต้นซ้ำ เงื่อนไขเริ่มต้นสามารถทำซ้ำได้ในระหว่างการส่งโดยไม่จำเป็นต้องยุติก่อนด้วยเงื่อนไข Stop นี่เป็นกรณีพิเศษที่เรียกว่าการเริ่มต้นซ้ำและใช้สำหรับการเปลี่ยนทิศทางการส่งข้อมูลการพยายามส่งซ้ำการซิงโครไนซ์ IC หลายตัวหรือแม้แต่การควบคุมหน่วยความจำแบบอนุกรม

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

SPI

6. ระบบเครือข่ายคอมพิวเตอร์