ข้อเเตกต่าง 1 wire ,I2C ,SPI

 นายจักรี  ขอร่ม เลขที่ 2 กลุ่ม 1

24 กุมภาพันธ์ 2564

  1 wire

ระบวนการติดต่อระหว่างไมโครคอนโทรลเลอร์เรียกว่า มาสเตอร์กับอุปกรณ์บนระบบบัส 1 สาย หรือเรียก เสลฟ’’ (1 wire bus)เป็นระบบที่ใช้งานเพียงหนึ่งสายเท่านั้น โดยอาศัยหลักการที่เรียกว่า ไทม์สล็อต ( Time slot) คือการท างานที่สายสัญญาณเป็นทั้งสายสัญญาณและสายข้อมูลอยู่ในตัวการเริ่มติดต่อกับบัส 1 สาย หรือที่เรียกว่ากระบวนการ Reset and Presence Pulses ไมโครคอนโทรลเลอร์จะเริ่มต้นสร้างสัญญาณลอจิกต่ า ออกไปยังบัส 1 สาย เป็นเวลาอย่างน้อย 480 ไมโครวินาที จากนั้นส่งสัญญาณลอจิกสูง เป็นเวลา 15 60 ไมโครวินาที หากอุปกรณ์ที่เชื่อมต่อพร้อมท างานแล้วนั้นจะท าให้สัญญาณเป็นลอจิกต่ า โดยสัญญาณคงที่อยู่เป็นระยะเวลา 60 240 ไมโครวินาที โดยโค้ดโปรแกรมที่สร้างสัญญาณติดต่อ

การสื่อสารอนุกรมแบบ I2C

ข้อดีของ I2C
               - ใช้ขาสัญญาณน้อย เพียงแค่ 2 เส้นเท่านั้น

               - แม้ Slave จะมีความต้องการแตกต่างกัน บางตัวเป็น Fm บางตัวเป็น Standard ก็สามารถต่อใช้งานร่วมกันได้
               - รองรับการใช้งาน Master หลายตัว
               - มีการใช้ ACK/NACK เพื่อจัดการ Error ต่าง ๆ
 ข้อเสียของ I2C
               - การเขียนโปรแกรมจะมีความซับซ้อน (ยกเว้นมี Library :P - ผู้เขียน)

               - ทำงานที่ความเร็วต่ำ
               - ทำงานด้วยระบบ Half-Duplex (ก็มี SDA เส้นเดียวนี่)

 

 การสื่อสารแบบ SPI 


ข้อดีของการใช้ SPI

               - เป็นการสื่อสารแบบ Full-Duplex ทำให้สามารถส่งสัญญาณสวนทางกันได้ทันที
               - ส่งด้วย Push-Pull drivers ทำให้สัญญาณชัดเจนและมีความเร็วสูง
               - อัตราการส่งข้อมูลสูง(สูงกว่าแบบ I2C หรือ SMBus) ไม่จำกัดความเร็วของสัญญาณนาฬิกา(ตราบที่ Slave จะรองรับได้)
               - มีความยืดหยุ่นในการรับส่งข้อมูล ไม่จำกัดข้อมูลเพียงแค่ 8-bit สามารถปรับแต่ง เพิ่มลดขนาด รูปแบบของข้อมูลที่จะสื่อสารได้
               - การเชื่อมต่ออุปกรณ์ทำได้ง่าย ใช้พลังงานน้อยกว่าแบบ I2C และ SMBus ตัว Slave ไม่ต้องมีอุปกรณ์ Oscillator เนื่องจากใช้สัญญาณนาฬิกาจาก Master ร่วมกันหมดทุกตัว 
               - Slave ไม่ต้องมี Address ประจำตัว
               - ไม่ต้องใช้วงจรรับส่งเหมือน CAN BUS
               - ใช้สัญญาณ SS แยกกันใน Slave แต่ละตัวเท่านั้น ส่วนสายสัญญาณอีก 3 เส้นที่เหลือใช้ร่วมกันหมด (ยกเว้นอุปกรณ์บางตัวที่สามารถใช้ SPI Daisy Ch  ข้อดีของการใช้ SPI
               - เป็นการสื่อสารแบบ Full-Duplex ทำให้สามารถส่งสัญญาณสวนทางกันได้ทันที
               - ส่งด้วย Push-Pull drivers ทำให้สัญญาณชัดเจนและมีความเร็วสูง
               - อัตราการส่งข้อมูลสูง(สูงกว่าแบบ I2C หรือ SMBus) ไม่จำกัดความเร็วของสัญญาณนาฬิกา(ตราบที่ Slave จะรองรับได้)
               - มีความยืดหยุ่นในการรับส่งข้อมูล ไม่จำกัดข้อมูลเพียงแค่ 8-bit สามารถปรับแต่ง เพิ่มลดขนาด รูปแบบของข้อมูลที่จะสื่อสารได้
               - การเชื่อมต่ออุปกรณ์ทำได้ง่าย ใช้พลังงานน้อยกว่าแบบ I2C และ SMBus ตัว Slave ไม่ต้องมีอุปกรณ์ Oscillator เนื่องจากใช้สัญญาณนาฬิกาจาก Master ร่วมกันหมดทุกตัว 
               - Slave ไม่ต้องมี Address ประจำตัว
               - ไม่ต้องใช้วงจรรับส่งเหมือน CAN BUS
               - ใช้สัญญาณ SS แยกกันใน Slave แต่ละตัวเท่านั้น ส่วนสายสัญญาณอีก 3 เส้นที่เหลือใช้ร่วมกันหมด (ยกเว้นอุปกรณ์บางตัวที่สามารถใช้ SPI Daisy Chain Config. สามารถใช้ SS ร่วมกันได้)
               - สัญญาณในสายแต่ละเส้นเดินในทิศทางเดียว ทำให้แยกสัญญาณทางไฟฟ้าได้ง่าย
               - การเขียนโปรแกรมทำได้ง่าย

          ข้อเสียของ SPI
               - ใช้สายสัญญาณมากกว่า I2C
               - จำเป็นต้องใช้ SS ในการเลือกอุปกรณ์ขึ้นมาทำงาน
               - Slave ไม่สามารถกำหนดการไหลของการทำงานได้ ทั้งหมดจะขึ้นอยู่กับ Master
               - ไม่มีการตอบรับจาก Slave Hardware
               - รองรับให้มี Master เพียงแค่ตัวเดียว
               - ไม่มีการตรวจสอบความผิดพลาดของสัญญาณ
               - ไม่สามารถตรวจสอบความสอดคล้องของข้อมูลได้เนื่องจากรูปแบบข้อมูลไม่มีมาตรฐานที่ชัดเจน
               - สามารถรับส่งข้อมูลได้ในระยะสั้นเท่านั้น
               - ไม่สามารถทำ  hot swapping ได้ (การถอดเปลี่ยนอุปกรณ์ตัวใหม่แล้วทำงานต่อทันทีโดยไม่ต้องรีเซ็ตระบบ)

          การนำไปใช้งาน
               - เซ็นเซอร์ต่าง ๆ เช่น อุณหภูมิ, ความชื้น, จอสัมผัส
               - อุปกรณ์ควบคุม เช่น Digital Potentiometer, DAC
               - เลนส์กล้องถ่ายรูป เช่น Canon EF Mount
               - หน่วยความจำ flash, EEPROM
               - Real Time Clock Module
               - จอแสดงผล LCD
               - SD Card, MMC Cardain Config. สามารถใช้ SS ร่วมกันได้)

               - สัญญาณในสายแต่ละเส้นเดินในทิศทางเดียว ทำให้แยกสัญญาณทางไฟฟ้าได้ง่าย 

ความคิดเห็น

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

PZEM-004T V3.3

ระบบ​ปฏิบัติการ​