นางสาวอัจฉรา กุลคำ เลขที่ 1 กลุ่ม 3
โปรโตคอลการสื่อสารระหว่างไมโครคอนโทรลเลอร์กับอุปกรณ์ต่อพ่วง
1. universal asynchronous receiver-transmitter (UART)
ตัวรับส่งสัญญาณแบบอะซิงโครนัสสากล เป็นอุปกรณ์ฮาร์ดแวร์คอมพิวเตอร์สำหรับการสื่อสารซีเรียลแบบอะซิงโครนัสซึ่งรูปแบบข้อมูลและความเร็วในการส่งสามารถกำหนดค่าได้ โดยจะส่งบิตข้อมูลทีละรายการ จากจุดที่มีนัยสำคัญน้อยที่สุดไปยังส่วนที่สำคัญที่สุด โดยมีกรอบโดยบิตเริ่มต้นและหยุดเพื่อให้ช่องทางการสื่อสารจัดการเวลาที่แม่นยำ ระดับสัญญาณไฟฟ้าจะถูกจัดการโดยวงจรขับภายนอก UART ระดับสัญญาณทั่วไปสองระดับคือ RS-232 ระบบ 12 โวลต์และ RS-485 ระบบ 5 โวลต์ เครื่องพิมพ์ดีดยุคแรกใช้ลูปปัจจุบัน
1.1 Transmitting and receiving serial data
การส่งและรับข้อมูลอนุกรม การสื่อสารซีเรียลแบบอะซิงโครนัส
ตัวรับส่งสัญญาณแบบอะซิงโครนัสสากล (UART) ใช้ไบต์ของข้อมูลและส่งแต่ละบิตตามลำดับ ที่ปลายทาง UART ตัวที่สองจะประกอบบิตอีกครั้งเป็นไบต์ที่สมบูรณ์ UART แต่ละตัวมี shift register ซึ่งเป็นวิธีการพื้นฐานของการแปลงระหว่างรูปแบบอนุกรมและขนาน การส่งข้อมูลดิจิทัล (บิต) แบบอนุกรมผ่านสายเดี่ยวหรือสื่ออื่น ๆ มีค่าใช้จ่ายน้อยกว่าการส่งข้อมูลแบบขนานผ่านสายหลายสาย
1.2 Data framing
ข้อมูลเป็นไฟฟ้าแรงสูงหรือใช้พลังงาน นี่เป็นมรดกทางประวัติศาสตร์จากโทรเลข ซึ่งสายถูกยกขึ้นสูงเพื่อแสดงว่าสายและเครื่องส่งไม่เสียหาย อักขระแต่ละตัวมีกรอบเป็นลอจิกบิตเริ่มต้นต่ำ บิตข้อมูล อาจเป็นบิตพาริตีและบิตหยุดอย่างน้อยหนึ่งบิต ในแอปพลิเคชันส่วนใหญ่ บิตข้อมูลที่มีนัยสำคัญน้อยที่สุด (รายการทางด้านซ้ายในแผนภาพนี้) จะถูกส่งก่อน แต่มีข้อยกเว้น (เช่น เทอร์มินัลการพิมพ์ IBM 2741)
1.3 Receiver
การทำงานทั้งหมดของฮาร์ดแวร์ UART ถูกควบคุมโดยสัญญาณนาฬิกาภายในซึ่งทำงานที่อัตราข้อมูลหลายเท่า ซึ่งปกติคือ 8 หรือ 16 เท่าของอัตราบิต เครื่องรับจะทดสอบสถานะของสัญญาณขาเข้าในแต่ละพัลส์นาฬิกา โดยมองหาจุดเริ่มต้นของบิตเริ่มต้น ถ้าบิตเริ่มต้นปรากฏอยู่อย่างน้อยครึ่งหนึ่งของเวลาบิต ถือว่าถูกต้องและส่งสัญญาณการเริ่มต้นของอักขระใหม่ ถ้าไม่เช่นนั้นถือว่าเป็นชีพจรปลอมและถูกละเลย หลังจากรออีกสักครู่ สถานะของเส้นจะถูกสุ่มตัวอย่างอีกครั้งและระดับผลลัพธ์จะถูกโอเวอร์คล็อกในการลงทะเบียนกะ หลังจากผ่านช่วงเวลาบิตที่ต้องการสำหรับความยาวของอักขระ (โดยทั่วไปแล้ว 5 ถึง 8 บิต) เนื้อหาของ shift register จะพร้อมใช้งาน (ในแบบคู่ขนาน) กับระบบรับ UART จะตั้งค่าสถานะเพื่อระบุว่ามีข้อมูลใหม่ และอาจสร้างการขัดจังหวะของตัวประมวลผลเพื่อขอให้ตัวประมวลผลโฮสต์โอนข้อมูลที่ได้รับ
1.4 Transmitter
การดำเนินการเรียกค่าไถ่นั้นง่ายกว่า เนื่องจากไม่จำเป็นต้องกำหนดเวลาจากสถานะบรรทัด และไม่ถูกผูกไว้กับช่วงเวลาที่กำหนดไว้แน่นอน ทันทีที่ระบบส่งฝากอักขระใน shift register (หลังจากเสร็จสิ้นอักขระก่อนหน้า) UART จะสร้างบิตเริ่มต้น เลื่อนจำนวนบิตข้อมูลที่ต้องการออกไปยังบรรทัด สร้างและส่งบิตพาริตี (หากใช้) ) และส่งบิตหยุด เนื่องจากการดำเนินการฟูลดูเพล็กซ์จำเป็นต้องมีการส่งและรับอักขระในเวลาเดียวกัน UART จึงใช้รีจิสเตอร์การเปลี่ยนแปลงที่แตกต่างกันสองแบบสำหรับอักขระที่ส่งและรับ UART ที่มีประสิทธิภาพสูงอาจมีบัฟเฟอร์ FIFO ในการส่งข้อมูล (เข้าก่อนออกก่อน) เพื่อให้ CPU หรือตัวควบคุม DMA สามารถฝากอักขระหลายตัวใน FIFO แบบต่อเนื่อง แทนที่จะต้องใส่อักขระทีละตัวในการลงทะเบียนกะ เนื่องจากการส่งอักขระตัวเดียวหรือหลายตัวอาจใช้เวลานานเมื่อเทียบกับความเร็วของ CPU UART จะรักษาแฟล็กที่แสดงสถานะไม่ว่าง เพื่อให้ระบบโฮสต์รู้ว่ามีอักขระอย่างน้อยหนึ่งตัวในบัฟเฟอร์การส่งหรือ shift register "พร้อมสำหรับอักขระตัวถัดไป" อาจถูกส่งสัญญาณด้วยการขัดจังหวะ
1.5 Application
ตั้งค่าการส่งและรับ UART สำหรับความเร็วบิต ความยาวอักขระ ความเท่าเทียมกัน และบิตหยุดเดียวกันเพื่อการทำงานที่เหมาะสม UART ที่ได้รับอาจตรวจพบการตั้งค่าที่ไม่ตรงกันและตั้งค่าบิตแฟล็ก "ข้อผิดพลาดของเฟรม" สำหรับระบบโฮสต์ ในกรณีพิเศษ UART ที่ได้รับจะสร้างกระแสของอักขระที่ถูกทำลายและโอนไปยังระบบโฮสต์
-----------------------------------------------------------------------------------------------------------------------------
2. Inter-Integrated Circuit (I2C)
I2C (Inter-Integrated Circuit, eye-squared-C) หรือที่รู้จักในชื่อ I2C หรือ IIC คือซิงโครนัส ตัวควบคุมหลายตัว/หลายเป้าหมาย แพ็กเก็ตสวิตช์ บัสการสื่อสารแบบอนุกรมปลายเดียวที่คิดค้นขึ้นใน พ.ศ. 2525 โดยฟิลิปส์ เซมิคอนดักเตอร์ มีการใช้กันอย่างแพร่หลายในการเชื่อมต่อ IC อุปกรณ์ต่อพ่วงความเร็วต่ำกับโปรเซสเซอร์และไมโครคอนโทรลเลอร์ในการสื่อสารภายในบอร์ดระยะสั้น
ปี | เวอร์ชั่น | หมายเหตุ | อ้างอิง |
---|---|---|---|
1981 | สิทธิบัตร | สิทธิบัตรสหรัฐอเมริกา 4,689,740 ยื่นเมื่อวันที่ 2 พฤศจิกายน พ.ศ. 2524 โดย US Philips Corporation | [4] [5] |
พ.ศ. 2525 | ต้นฉบับ | ระบบ 100 kbit/s I 2 C ถูกสร้างขึ้นเป็นระบบบัสภายในอย่างง่ายสำหรับอุปกรณ์อิเล็กทรอนิกส์ควบคุมอาคารด้วยชิป Philips หลายรุ่น | ไม่มี |
1992 | 1 | เพิ่มโหมด Fast-mode (Fm) 400 kbit/s และโหมดการกำหนดแอดเดรส 10 บิตเพื่อเพิ่มความจุเป็น 1008 โหนด นี่เป็นรุ่นมาตรฐานรุ่นแรก | ไม่มี |
1998 | 2 | เพิ่มโหมดความเร็วสูง 3.4 Mbit/s (Hs)พร้อมข้อกำหนดการประหยัดพลังงานสำหรับแรงดันไฟและกระแสไฟ | [6] |
2000 | 2.1 | ชี้แจงเวอร์ชัน 2 โดยไม่มีการเปลี่ยนแปลงการทำงานที่สำคัญ | [7] |
2550 | 3 | เพิ่ม 1 Mbit/s Fast-mode plus (Fm+) (โดยใช้ไดรเวอร์ 20 mA) และกลไก ID อุปกรณ์ | [8] |
2012 | 4 | ที่เพิ่มเข้ามา 5 Mbit / อัลตร้าด่วนโหมด (UFM)สำหรับ USDA ใหม่ (ข้อมูล) และ USCL (นาฬิกา) สายโดยใช้ผลักดึงตรรกะโดยไม่ต้องต้านทานดึงขึ้น , และเพิ่มตาราง ID ผู้ผลิตที่ได้รับมอบหมาย มันเป็นเพียงทิศทางเดียวรถบัส | [9] |
2012 | 5 | แก้ไขข้อผิดพลาด. | [10] |
2014 | 6 | แก้ไขสองกราฟ | (11) |
ปี 2564 | 7 | เปลี่ยนคำว่า "master/slave" เป็น "controller/target" เพื่อให้สอดคล้องกับข้อกำหนดบัส I3C อัปเดตตารางที่ 5 กำหนด ID ผู้ผลิต เพิ่มภาพรวมส่วนที่ 9 ของบัส I3C นี่คือมาตรฐานปัจจุบัน (จำเป็นต้องเข้าสู่ระบบ) | (12) |
-----------------------------------------------------------------------------------------------------------------------------
3.Serial Peripheral Interface หรือ SPI เป็นโปรโตคอลการสื่อสารซีเรียลแบบซิงโครนัสที่ให้การสื่อสารแบบฟูลดูเพล็กซ์ด้วยความเร็วสูงมาก Serial Peripheral Interface (SPI) เป็นโปรโตคอลประเภทมาสเตอร์-สเลฟ ที่ให้อินเทอร์เฟซที่เรียบง่ายและราคาประหยัดระหว่างไมโครคอนโทรลเลอร์และอุปกรณ์ต่อพ่วง
บัสอินเทอร์เฟซ SPI มักใช้สำหรับเชื่อมต่อไมโครโปรเซสเซอร์หรือไมโครคอนโทรลเลอร์กับหน่วยความจำ เช่น EEPROM, RTC (Real Time Clock), ADC (Analog – to – Digital Converters), DAC (Digital – to – Analog Converters) จอภาพ เช่น LCD, Audio ICs, เซ็นเซอร์ เช่น อุณหภูมิและความดัน การ์ดหน่วยความจำ เช่น MMC หรือ SD การ์ด หรือแม้แต่ไมโครคอนโทรลเลอร์อื่นๆ
เราได้เห็นเกี่ยวกับ UART ในบทความที่แล้ว ใน UART (หรือพอร์ตอนุกรมทั่วไปใดๆ) ซึ่งการสื่อสารเกิดขึ้นผ่านสาย RX และ TX ไม่มีสัญญาณนาฬิกา กล่าวคือ เป็นการสื่อสารแบบอะซิงโครนัส ในการสื่อสารประเภทนี้ ไม่มีการควบคุมข้อมูลที่ส่ง หรือว่าตัวส่งและตัวรับมีอัตราข้อมูลเท่ากันหรือไม่
เพื่อที่จะเอาชนะสิ่งนี้ UART ใช้บิตการซิงโครไนซ์เช่นบิตเริ่มต้นและบิตหยุดและความเร็วการถ่ายโอนข้อมูลที่ตกลงไว้ล่วงหน้า (โดยทั่วไปคือ 9600 bps) หากอัตราบอดของตัวส่งและตัวรับไม่ตรงกัน ข้อมูลที่ส่งจากตัวส่งจะไม่ไปถึงตัวรับอย่างถูกต้อง
1. universal asynchronous receiver-transmitter (UART)
https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter#:~:text=A%20universal%20asynchronous%20receiver-transmitter%20%28UART%20%2F%20%CB%88ju%CB%90%C9%91%CB%90rt%20%2F%29,the%20data%20format%20and%20transmission%20speeds%20are%20configurable.
2. Inter-Integrated Circuit (I2C)
https://en.wikipedia.org/wiki/I%C2%B2C
3. Serial Peripheral Interface (SPI)
https://www.electronicshub.org/basics-serial-peripheral-interface-spi/
4. 1-Wire
https://en.wikipedia.org/wiki/1-Wire
ความคิดเห็น
แสดงความคิดเห็น