ข้อเเตกต่าง 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 ร่วมกันได้)
- สัญญาณในสายแต่ละเส้นเดินในทิศทางเดียว ทำให้แยกสัญญาณทางไฟฟ้าได้ง่าย
- ส่งด้วย 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 ร่วมกันได้)
- สัญญาณในสายแต่ละเส้นเดินในทิศทางเดียว ทำให้แยกสัญญาณทางไฟฟ้าได้ง่าย
ความคิดเห็น
แสดงความคิดเห็น