วิธีการทำงานของ UART, SPI และ I2C Serial Communications และเหตุผลที่เรายังใช้อยู่

วิธีการทำงานของ UART, SPI และ I2C Serial Communications และเหตุผลที่เรายังใช้อยู่

ไม่ว่าจะเป็นอุปกรณ์ต่อพ่วงคอมพิวเตอร์ เครื่องใช้อัจฉริยะ อุปกรณ์ Internet of Things (IoT) หรือเครื่องมือวัดทางอิเล็กทรอนิกส์ ทั้งหมดนี้ใช้โปรโตคอลการสื่อสารแบบอนุกรมเพื่อเชื่อมต่อส่วนประกอบอิเล็กทรอนิกส์ต่างๆ เข้าด้วยกัน

ส่วนประกอบเหล่านี้มักจะประกอบด้วยไมโครคอนโทรลเลอร์และโมดูลรอง เช่น เซ็นเซอร์ลายนิ้วมือ, ESP8266 (โมดูล Wi-Fi), เซอร์โว และจอแสดงผลแบบอนุกรม

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

การสื่อสารแบบอนุกรมคืออะไร?

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

วิธีการทำงานของ UART, SPI และ I2C Serial Communications และเหตุผลที่เรายังใช้อยู่

เครดิตรูปภาพ: shankar.s/ Wikimedia Commons

ด้วยการประดิษฐ์ทรานซิสเตอร์และนวัตกรรมที่ตามมา วิศวกรและคนจรจัดทำให้หน่วยประมวลผลและหน่วยความจำมีขนาดเล็กลง เร็วขึ้น และประหยัดพลังงานมากขึ้น การเปลี่ยนแปลงเหล่านี้ต้องการให้โปรโตคอลการสื่อสารของบัสมีความล้ำหน้าทางเทคโนโลยีพอๆ กับส่วนประกอบที่เชื่อมต่อ ดังนั้น การประดิษฐ์โปรโตคอลแบบอนุกรม เช่น UART, I2C และ SPI แม้ว่าโปรโตคอลอนุกรมเหล่านี้จะมีอายุหลายสิบปี แต่ก็ยังเป็นที่ต้องการสำหรับไมโครคอนโทรลเลอร์และการเขียนโปรแกรมแบบเปลือย

UART (ตัวรับส่งสัญญาณแบบอะซิงโครนัสสากล)

โปรโตคอล UART เป็นหนึ่งในโปรโตคอลการสื่อสารแบบอนุกรมที่เก่าแก่และน่าเชื่อถือที่สุดที่เรายังคงใช้อยู่ในปัจจุบัน โปรโตคอลนี้ใช้สายสองสายที่เรียกว่า Tx (ส่ง) และ Rx (รับ) สำหรับส่วนประกอบทั้งสองเพื่อสื่อสาร

วิธีการทำงานของ UART, SPI และ I2C Serial Communications และเหตุผลที่เรายังใช้อยู่

ในการส่งข้อมูล ทั้งตัวส่งและตัวรับต้องเห็นด้วยกับการกำหนดค่าทั่วไปห้าแบบ ได้แก่:

  • Baud Speed: ความเร็วในการส่งข้อมูลของความเร็วในการส่งข้อมูล
  • ความยาวข้อมูล:จำนวนบิตที่ตกลงกันไว้ซึ่งผู้รับจะบันทึกลงในรีจิสเตอร์
  • Start Bit:สัญญาณต่ำที่ช่วยให้ผู้รับรู้ว่าข้อมูลกำลังจะถ่ายโอน
  • Stop Bit:สัญญาณสูงที่ช่วยให้ผู้รับรู้ว่าเมื่อบิตสุดท้าย (บิตที่สำคัญที่สุด) ถูกส่งไปแล้ว
  • Parity Bit:สัญญาณสูงหรือต่ำที่ใช้สำหรับตรวจสอบว่าข้อมูลที่ส่งถูกต้องหรือเสียหาย

เนื่องจาก UART เป็นโปรโตคอลแบบอะซิงโครนัส จึงไม่มีนาฬิกาของตัวเองที่ควบคุมความเร็วในการรับส่งข้อมูล อีกทางเลือกหนึ่งคือมันใช้อัตราบอดสำหรับกำหนดเวลาเมื่อมีการส่งบิต อัตราบอดปกติที่ใช้สำหรับ UART คือ 9600 บอด หมายถึงอัตราการส่งข้อมูล 9600 บิตต่อวินาที

ถ้าเราคำนวณและหารหนึ่งบิตด้วย 9600 บอด เราสามารถคำนวณว่าข้อมูลหนึ่งบิตถูกส่งไปยังเครื่องรับได้เร็วเพียงใด

1/9600 = 104 ไมโครวินาที

ซึ่งหมายความว่าอุปกรณ์ UART ของเราจะเริ่มนับ 104 ไมโครวินาทีเพื่อให้ทราบว่าบิตถัดไปจะส่งเมื่อใด

วิธีการทำงานของ UART, SPI และ I2C Serial Communications และเหตุผลที่เรายังใช้อยู่

เมื่อเชื่อมต่ออุปกรณ์ UART แล้ว สัญญาณเริ่มต้นจะเพิ่มขึ้นเป็นสูงเสมอ เมื่อตรวจพบสัญญาณความถี่ต่ำ เครื่องรับจะเริ่มนับ 104 ไมโครวินาที บวกกับอีก 52 ไมโครวินาที ก่อนที่จะเริ่มบันทึกบิตลงในรีจิสเตอร์ (หน่วยความจำ)

เนื่องจากตกลงกันแล้วว่าแปดบิตเป็นความยาวของข้อมูล เมื่อบันทึกข้อมูลแปดบิตแล้ว ระบบจะเริ่มตรวจสอบพาริตีเพื่อตรวจสอบว่าข้อมูลเป็นเลขคี่หรือคู่ หลังจากตรวจสอบพาริตีแล้ว บิตหยุดจะเพิ่มสัญญาณสูงเพื่อแจ้งอุปกรณ์ว่าข้อมูลทั้งแปดบิตถูกส่งไปยังเครื่องรับเรียบร้อยแล้ว

เนื่องจากเป็นโปรโตคอลอนุกรมที่เรียบง่ายที่สุดที่ใช้เพียงสองสาย UART จึงมักใช้ในสมาร์ทการ์ด ซิมการ์ด และรถยนต์ในปัจจุบัน

ที่เกี่ยวข้อง: ซิมการ์ดคืออะไร? สิ่งที่คุณต้องรู้

SPI (อินเทอร์เฟซอุปกรณ์ต่อพ่วงแบบอนุกรม)

SPI เป็นโปรโตคอลอนุกรมยอดนิยมอีกตัวหนึ่งที่ใช้สำหรับอัตราข้อมูลที่เร็วขึ้นประมาณ 20Mbps ใช้สายไฟทั้งหมด 4 เส้น ได้แก่ SCK (Serial Clock Line), MISO (Master Out Slave In), MOSI (Master In Slave Out) และ SS/CS (Chip Select) SPI ต่างจาก UART ตรงที่ SPI ใช้รูปแบบ master-to-slave เพื่อควบคุมอุปกรณ์สเลฟหลายตัวด้วยมาสเตอร์เพียงตัวเดียว

วิธีการทำงานของ UART, SPI และ I2C Serial Communications และเหตุผลที่เรายังใช้อยู่

MISO และ MOSI ทำหน้าที่เหมือน Tx และ Rx ของ UART ที่ใช้ในการส่งและรับข้อมูล Chip Select ใช้สำหรับเลือกสเลฟที่มาสเตอร์ต้องการจะสื่อสารด้วย

เนื่องจาก SPI เป็นโปรโตคอลแบบซิงโครนัส จึงใช้นาฬิกาในตัวจากมาสเตอร์เพื่อให้แน่ใจว่าทั้งอุปกรณ์หลักและอุปกรณ์รองทำงานบนความถี่เดียวกัน ซึ่งหมายความว่าอุปกรณ์ทั้งสองไม่จำเป็นต้องต่อรองอัตราบอดอีกต่อไป

วิธีการทำงานของ UART, SPI และ I2C Serial Communications และเหตุผลที่เรายังใช้อยู่

โปรโตคอลเริ่มต้นโดยมาสเตอร์เลือกอุปกรณ์สเลฟโดยลดสัญญาณไปที่ SS/CK เฉพาะที่เชื่อมต่อกับอุปกรณ์สเลฟ เมื่อสเลฟรับสัญญาณต่ำ มันจะเริ่มฟังทั้ง SCK และ MOSI ต้นแบบจะส่งบิตเริ่มต้นก่อนที่จะส่งบิตที่มีข้อมูล

ทั้ง MOSI และ MISO เป็นฟูลดูเพล็กซ์ ซึ่งหมายความว่าสามารถส่งและรับข้อมูลได้ในเวลาเดียวกัน

ด้วยความสามารถในการเชื่อมต่อกับทาสหลายตัว การสื่อสารฟูลดูเพล็กซ์ และการใช้พลังงานที่ต่ำกว่าโปรโตคอลซิงโครนัสอื่นๆ เช่น I2C ทำให้ SPI ใช้ในอุปกรณ์หน่วยความจำ การ์ดหน่วยความจำดิจิทัล ตัวแปลง ADC เป็น DAC และจอแสดงผลหน่วยความจำคริสตัล

I2C (วงจรรวมระหว่างกัน)

I2C เป็นอีกหนึ่งโปรโตคอลอนุกรมแบบซิงโครนัสเช่น SPI แต่มีข้อดีหลายประการ ซึ่งรวมถึงความสามารถในการมีมาสเตอร์และสเลฟหลายตัว การกำหนดแอดเดรสอย่างง่าย (ไม่จำเป็นต้องใช้ Chip Select) การทำงานด้วยแรงดันไฟฟ้าที่หลากหลาย และใช้สายไฟเพียงสองเส้นที่เชื่อมต่อกับตัวต้านทานแบบดึงขึ้นสองตัว

วิธีการทำงานของ UART, SPI และ I2C Serial Communications และเหตุผลที่เรายังใช้อยู่

I2C มักใช้ในอุปกรณ์ IoT อุปกรณ์อุตสาหกรรม และอุปกรณ์อิเล็กทรอนิกส์สำหรับผู้บริโภค

พินสองตัวในโปรโตคอล I2C คือ SDA (Serial Data Line) ซึ่งส่งและรับข้อมูล และพิน SCL (Serial Clock Line) ซึ่งทำหน้าที่เป็นนาฬิกา

วิธีการทำงานของ UART, SPI และ I2C Serial Communications และเหตุผลที่เรายังใช้อยู่

  1. โปรโตคอลเริ่มต้นด้วยมาสเตอร์ส่งบิตเริ่มต้น (ต่ำ) จากพิน SDA ตามด้วยแอดเดรสเจ็ดบิตที่เลือกสเลฟ และหนึ่งบิตสำหรับการเลือกอ่านหรือเขียน
  2. หลังจากได้รับบิตเริ่มต้นและที่อยู่ สเลฟจะส่งบิตตอบรับไปยังมาสเตอร์และเริ่มฟัง SCL และ SDA สำหรับการส่งสัญญาณขาเข้า
  3. เมื่อมาสเตอร์ได้รับสิ่งนี้ มันจะรู้ว่ามีการเชื่อมต่อกับสเลฟที่ถูกต้อง ตอนนี้ต้นแบบจะเลือกการลงทะเบียนเฉพาะ (หน่วยความจำ) จากทาสที่ต้องการเข้าถึง โดยส่งอีกแปดบิตเพื่อระบุว่าจะใช้รีจิสเตอร์ตัวใด
  4. เมื่อได้รับที่อยู่แล้ว ทาสก็พร้อมที่จะลงทะเบียนการเลือกก่อนที่จะส่งการตอบรับไปยังต้นแบบอีกครั้ง
  5. เมื่อเลือกสเลฟเฉพาะและรีจิสเตอร์ที่จะใช้ ในที่สุดมาสเตอร์ก็ส่งข้อมูลบิตไปยังสเลฟ
  6. หลังจากส่งข้อมูลแล้ว บิต Acknowledge สุดท้ายจะถูกส่งไปยังมาสเตอร์ ก่อนที่มาสเตอร์จะสิ้นสุดด้วยบิตหยุด (สูง)

ที่เกี่ยวข้อง: โครงการ Arduino IoT ที่ดีที่สุด

เหตุใดการสื่อสารแบบอนุกรมจึงยังคงอยู่

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

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

แม้ว่าหลายคนอาจคิดว่าการสื่อสารแบบอนุกรม เช่น UART, SPI และ I2C มีข้อเสียคือความเก่าและล้าสมัย แต่ความจริงก็คือพวกเขาได้พิสูจน์ความน่าเชื่อถือมาเป็นเวลาหลายทศวรรษแล้ว โปรโตคอลที่เก่าขนาดนี้โดยไม่มีการแทนที่จริง ๆ บ่งบอกว่าอันที่จริงแล้วเป็นสิ่งที่ขาดไม่ได้และจะยังคงใช้ในอุปกรณ์อิเล็กทรอนิกส์ในอนาคตอันใกล้


การเข้ารหัสแบบ Homomorphic คืออะไร?

การเข้ารหัสแบบ Homomorphic คืออะไร?

คำที่ผุดขึ้นมาบ่อยครั้งคือการเข้ารหัสแบบโฮโมมอร์ฟิค บริษัทและบริการออนไลน์หลายแห่งกำลังเปลี่ยนรูปแบบการเข้ารหัสเป็นประเภทการเข้ารหัสแบบโฮโมมอร์ฟิค โดยโฆษณาว่าเพื่อความเป็นส่วนตัวและความปลอดภัยของผู้ใช้ที่ดีขึ้น

ภาพบิตแมปคืออะไร?

ภาพบิตแมปคืออะไร?

สำหรับคนส่วนใหญ่ สื่อดิจิทัลเป็นส่วนหนึ่งของชีวิตประจำวันของคุณ แต่เราไม่ได้คิดเสมอว่ามันถูกสร้างขึ้นมาอย่างไร

Light Field Display คืออะไรและทำงานอย่างไร?

Light Field Display คืออะไรและทำงานอย่างไร?

การแสดงสนามแสงค่อยๆ เปลี่ยนแปลงวิธีที่เราเห็นโลกรอบตัวเรา หรือว่าเรามองโลกที่ไม่อยู่รอบตัวเราอย่างไร ตั้งแต่การถ่ายภาพแบบคลาสสิกไปจนถึงการศึกษาขั้นสูงและการวินิจฉัย ไปจนถึงการแสดงตนและความบันเทิงทางไกล บทความนี้จะพิจารณาว่าการแสดงผลภาคสนามแสงคืออะไร ประเภทของจอแสดงผลที่แตกต่างกันทำงานอย่างไร และใช้งานอย่างไร

Matrix Protocol คืออะไรและทำงานอย่างไร

Matrix Protocol คืออะไรและทำงานอย่างไร

แพลตฟอร์มส่วนใหญ่ที่เราใช้สื่อสารกันทางออนไลน์เชื่อมโยงกับผู้ให้บริการรายเดียว แต่ไม่มีเหตุผลทางเทคนิคสำหรับสิ่งต่าง ๆ ที่จะเป็นเช่นนี้ มีวิธีแชทออนไลน์ที่ให้ความเป็นส่วนตัวและเสรีภาพในระดับที่สูงขึ้น เมทริกซ์เป็นหนึ่งในวิธีเหล่านั้น

วิธีการทำงานของ UART, SPI และ I2C Serial Communications และเหตุผลที่เรายังใช้อยู่

วิธีการทำงานของ UART, SPI และ I2C Serial Communications และเหตุผลที่เรายังใช้อยู่

ไม่ว่าจะเป็นอุปกรณ์ต่อพ่วงคอมพิวเตอร์ เครื่องใช้อัจฉริยะ อุปกรณ์ Internet of Things (IoT) หรือเครื่องมือวัดทางอิเล็กทรอนิกส์ ทั้งหมดนี้ใช้โปรโตคอลการสื่อสารแบบอนุกรมเพื่อเชื่อมต่อส่วนประกอบอิเล็กทรอนิกส์ต่างๆ เข้าด้วยกัน

Cyberbullying คืออะไรและคุณจะจัดการกับมันได้อย่างไร?

Cyberbullying คืออะไรและคุณจะจัดการกับมันได้อย่างไร?

อินเทอร์เน็ตทำให้ผู้คนเชื่อมต่อกันมากขึ้นกว่าเดิม ไม่ว่าจะดีขึ้นหรือแย่ลง เท่าที่ผู้คนใช้อินเทอร์เน็ตเพื่อจุดประสงค์ที่สร้างสรรค์และสนุกสนาน คนอื่น ๆ ก็ใช้มันเพื่อทำการกลั่นแกล้งรูปแบบใหม่: การกลั่นแกล้งทางอินเทอร์เน็ต

อธิบายข้อกำหนดของ Cryptocurrency 99 รายการ: ทุกคำจำกัดความของ Crypto ที่คุณต้องการ

อธิบายข้อกำหนดของ Cryptocurrency 99 รายการ: ทุกคำจำกัดความของ Crypto ที่คุณต้องการ

Cryptocurrencies เป็นสกุลเงินดิจิทัลที่ทำงานบนเครือข่ายคอมพิวเตอร์แบบกร���จายอำนาจที่เรียกว่าบล็อคเชน สกุลเงินดิจิตอลที่สำคัญและเป็นที่ยอมรับกันอย่างแพร่หลาย ได้แก่ Bitcoin, Ethereum, Tether, Cardano, Binance Coin และ USD Coin

ไฮเปอร์ไวเซอร์คืออะไร? มันแตกต่างจากเครื่องเสมือนหรือไม่?

ไฮเปอร์ไวเซอร์คืออะไร? มันแตกต่างจากเครื่องเสมือนหรือไม่?

ไฮเปอร์ไวเซอร์เป็นซอฟต์แวร์ที่ใช้สร้างเครื่องเสมือน เครื่องเสมือนเป็นเครื่องจำลองคอมพิวเตอร์ เครื่องเสมือนถูกใช้เพื่อสร้างสภาพแวดล้อมการประมวลผลที่หลากหลายบนฮาร์ดแวร์ชิ้นเดียว

Access Point กับ Router—อะไรคือความแตกต่าง?

Access Point กับ Router—อะไรคือความแตกต่าง?

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

8 สุดยอดซอฟต์แวร์ Crypto Wallets เพื่อจัดเก็บทรัพย์สินของคุณ

8 สุดยอดซอฟต์แวร์ Crypto Wallets เพื่อจัดเก็บทรัพย์สินของคุณ

หากคุณเป็นเจ้าของสกุลเงินดิจิทัลจำนวนเท่าใดก็ได้ คุณอาจสงสัยว่าจะจัดเก็บอย่างไรให้ปลอดภัยที่สุด เนื่องจากเงินดิจิตอลเป็นสกุลเงินดิจิทัล คุณจึงไม่สามารถใส่มันลงในลิ้นชักข้างเตียงหรือตู้เซฟได้ แต่จะต้องเก็บไว้ในชิ้นส่วนของฮาร์ดแวร์หรือซอฟต์แวร์แทน