สำรวจ UART และ SPI โปรโตคอลการสื่อสารแบบอนุกรมที่จำเป็น ทำความเข้าใจหลักการ ความแตกต่าง การใช้งาน ข้อดีและข้อเสีย
การสื่อสารแบบอนุกรมที่ถูกเปิดเผย: เจาะลึก UART และ SPI
ในโลกของอิเล็กทรอนิกส์และระบบฝังตัว ความสามารถในการสื่อสารระหว่างอุปกรณ์ถือเป็นสิ่งสำคัญ การสื่อสารแบบอนุกรมมีวิธีการที่น่าเชื่อถือและมีประสิทธิภาพสำหรับการถ่ายโอนข้อมูลระหว่างไมโครคอนโทรลเลอร์ เซ็นเซอร์ อุปกรณ์ต่อพ่วง และแม้แต่คอมพิวเตอร์ โปรโตคอลการสื่อสารแบบอนุกรมที่พบได้บ่อยที่สุดสองแบบคือ UART (Universal Asynchronous Receiver/Transmitter) และ SPI (Serial Peripheral Interface) คู่มือที่ครอบคลุมนี้จะเจาะลึกถึงความซับซ้อนของทั้ง UART และ SPI โดยสำรวจหลักการ ความแตกต่าง การใช้งาน ข้อดี และข้อเสียของทั้งสอง
ทำความเข้าใจเกี่ยวกับการสื่อสารแบบอนุกรม
การสื่อสารแบบอนุกรมเป็นวิธีการส่งข้อมูลทีละบิตผ่านสายเดียว (หรือสายไม่กี่เส้นสำหรับสัญญาณควบคุม) ซึ่งแตกต่างจากการสื่อสารแบบขนานซึ่งส่งบิตหลายบิตพร้อมกันผ่านหลายสาย แม้ว่าการสื่อสารแบบขนานจะเร็วกว่าสำหรับระยะทางสั้นๆ แต่โดยทั่วไปแล้วการสื่อสารแบบอนุกรมเป็นที่ต้องการมากกว่าสำหรับระยะทางที่ไกลกว่าและสถานการณ์ที่การลดจำนวนสายไฟเป็นสิ่งสำคัญ ทำให้เหมาะสำหรับระบบฝังตัว ซึ่งพื้นที่และต้นทุนมักเป็นข้อจำกัดที่สำคัญ
การสื่อสารแบบอะซิงโครนัสเทียบกับการสื่อสารแบบซิงโครนัส
การสื่อสารแบบอนุกรมสามารถจัดกลุ่มได้เป็นสองประเภทกว้างๆ ได้แก่ อะซิงโครนัสและซิงโครนัส การสื่อสารแบบอะซิงโครนัส เช่น UART ไม่ต้องการสัญญาณนาฬิการ่วมกันระหว่างผู้ส่งและผู้รับ แต่ใช้อักขระเริ่มต้นและหยุดเพื่อกำหนดเฟรมข้อมูลแต่ละไบต์ การสื่อสารแบบซิงโครนัส เช่น SPI และ I2C ใช้สัญญาณนาฬิการ่วมกันเพื่อซิงโครไนซ์การส่งข้อมูลระหว่างอุปกรณ์
UART: Universal Asynchronous Receiver/Transmitter
UART เป็นโปรโตคอลการสื่อสารแบบอนุกรมที่ใช้กันอย่างแพร่หลายส่วนใหญ่เป็นเพราะความเรียบง่ายและความยืดหยุ่น เป็นโปรโตคอลแบบอะซิงโครนัส ซึ่งหมายความว่าผู้ส่งและผู้รับไม่ได้ใช้สัญญาณนาฬิการ่วมกัน ซึ่งช่วยลดความต้องการฮาร์ดแวร์ให้ง่ายขึ้น แต่จำเป็นต้องใช้การจับเวลาที่แม่นยำและอัตราข้อมูล (อัตราการส่งข้อมูล) ที่ตกลงกันไว้ล่วงหน้า
หลักการของ UART
การสื่อสาร UART เกี่ยวข้องกับการส่งข้อมูลในเฟรม โดยแต่ละเฟรมประกอบด้วยสิ่งต่อไปนี้:
- บิตเริ่มต้น: ระบุจุดเริ่มต้นของเฟรมข้อมูลใหม่ โดยทั่วไปจะเป็นสัญญาณต่ำ (0)
- บิตข้อมูล: ข้อมูลจริงที่กำลังถูกส่ง โดยปกติ 8 บิต (หนึ่งไบต์) แต่ยังสามารถเป็น 5, 6 หรือ 7 บิตได้
- บิตพาริตี (ไม่บังคับ): ใช้สำหรับการตรวจจับข้อผิดพลาด สามารถเป็นคู่ คี่ หรือไม่มีก็ได้
- บิตหยุด: ระบุจุดสิ้นสุดของเฟรมข้อมูล โดยทั่วไปจะเป็นสัญญาณสูง (1) โดยทั่วไปมีบิตหยุดหนึ่งหรือสองบิต
ผู้ส่งและผู้รับต้องตกลงเกี่ยวกับอัตราการส่งข้อมูล บิตข้อมูล พาริตี และบิตหยุดสำหรับการสื่อสารที่ประสบความสำเร็จ อัตราการส่งข้อมูลทั่วไป ได้แก่ 9600, 115200 และอื่นๆ อัตราการส่งข้อมูลที่สูงขึ้นช่วยให้สามารถส่งข้อมูลได้เร็วขึ้น แต่ยังเพิ่มความไวต่อข้อผิดพลาดในการจับเวลาด้วย
การใช้งาน UART
- การเชื่อมต่อไมโครคอนโทรลเลอร์กับคอมพิวเตอร์: UART ถูกนำมาใช้กันอย่างแพร่หลายในการสร้างการเชื่อมต่อแบบอนุกรมระหว่างไมโครคอนโทรลเลอร์ (เช่น Arduino หรือ Raspberry Pi) และคอมพิวเตอร์สำหรับการเขียนโปรแกรม การแก้ไขข้อบกพร่อง และการบันทึกข้อมูล
- โมดูล GPS: โมดูล GPS จำนวนมากใช้ UART เพื่อส่งข้อมูลตำแหน่งไปยังไมโครคอนโทรลเลอร์หรือคอมพิวเตอร์โฮสต์
- โมดูลบลูทูธ: โมดูลบลูทูธมักใช้ UART เป็นอินเทอร์เฟซการสื่อสารกับไมโครคอนโทรลเลอร์
- เครื่องพิมพ์อนุกรม: เครื่องพิมพ์อนุกรมรุ่นเก่าใช้ UART เพื่อรับคำสั่งการพิมพ์และข้อมูล
- เอาต์พุตคอนโซล: ระบบฝังตัวมักใช้ UART เพื่อส่งออกข้อมูลการแก้ไขข้อบกพร่องและข้อความสถานะไปยังคอนโซลแบบอนุกรม
ข้อดีของ UART
- ความเรียบง่าย: UART นั้นง่ายต่อการนำไปใช้ทั้งในฮาร์ดแวร์และซอฟต์แวร์
- ความยืดหยุ่น: UART รองรับอัตราข้อมูลต่างๆ ความยาวบิตข้อมูล และตัวเลือกพาริตี
- รองรับอย่างกว้างขวาง: UART เป็นมาตรฐานที่รองรับอย่างกว้างขวางพร้อมฮาร์ดแวร์และซอฟต์แวร์ที่พร้อมใช้งาน
- ไม่จำเป็นต้องใช้สัญญาณนาฬิกา: ซึ่งช่วยลดจำนวนสายไฟที่จำเป็น
ข้อเสียของ UART
- ความเร็วต่ำกว่า: เมื่อเทียบกับโปรโตคอลแบบซิงโครนัส เช่น SPI โดยทั่วไปแล้ว UART จะมีอัตราการถ่ายโอนข้อมูลที่ต่ำกว่า
- ความไวต่อข้อผิดพลาด: หากไม่มีสัญญาณนาฬิกาที่เชื่อถือได้ UART จะไวต่อข้อผิดพลาดในการจับเวลาและความเสียหายของข้อมูลมากขึ้น แม้ว่าบิตพาริตีสามารถช่วยได้ แต่มันไม่ได้รับประกันการสื่อสารที่ปราศจากข้อผิดพลาด
- จำกัดไว้ที่สองอุปกรณ์: UART ได้รับการออกแบบมาเป็นหลักสำหรับการสื่อสารแบบจุดต่อจุดระหว่างสองอุปกรณ์ การมัลติเพล็กซ์สามารถอนุญาตให้อุปกรณ์หลายเครื่องบนบัส UART เดียวกันได้ แต่มันจะเพิ่มความซับซ้อน
ตัวอย่าง UART: Arduino และ Serial Monitor
ตัวอย่างทั่วไปของการทำงานของ UART คือการใช้ Serial Monitor ใน Arduino IDE บอร์ด Arduino มีอินเทอร์เฟซ UART ในตัวที่ช่วยให้สามารถสื่อสารกับคอมพิวเตอร์ผ่าน USB ได้ ส่วนย่อยโค้ด Arduino ต่อไปนี้แสดงให้เห็นการส่งข้อมูลไปยัง Serial Monitor:
void setup() { Serial.begin(9600); // เริ่มต้นการสื่อสารแบบอนุกรมที่ 9600 baud } void loop() { Serial.println("Hello, world!"); // ส่งข้อความ "Hello, world!" ไปยัง Serial Monitor delay(1000); // รอ 1 วินาที }
โค้ดง่ายๆ นี้จะส่งข้อความ "Hello, world!" ไปยัง Serial Monitor ทุกวินาที ฟังก์ชัน Serial.begin(9600)
จะเริ่มต้นอินเทอร์เฟซ UART ที่อัตราการส่งข้อมูล 9600 ซึ่งต้องตรงกับการตั้งค่าใน Serial Monitor
SPI: Serial Peripheral Interface
SPI (Serial Peripheral Interface) เป็นโปรโตคอลการสื่อสารแบบอนุกรมแบบซิงโครนัสที่ใช้กันทั่วไปสำหรับการสื่อสารระยะสั้นระหว่างไมโครคอนโทรลเลอร์และอุปกรณ์ต่อพ่วง เป็นที่รู้จักกันในเรื่องความเร็วสูงและความต้องการฮาร์ดแวร์ที่ค่อนข้างง่าย
หลักการของ SPI
SPI ใช้สถาปัตยกรรมแบบ master-slave โดยที่อุปกรณ์หนึ่ง (master) ควบคุมการสื่อสารและอุปกรณ์หนึ่งเครื่องขึ้นไป (slaves) ตอบสนองต่อคำสั่งของ master บัส SPI ประกอบด้วยสัญญาณหลักสี่สัญญาณ:
- MOSI (Master Out Slave In): ข้อมูลที่ส่งจาก master ไปยัง slave
- MISO (Master In Slave Out): ข้อมูลที่ส่งจาก slave ไปยัง master
- SCK (Serial Clock): สัญญาณนาฬิกาที่สร้างขึ้นโดย master ซึ่งใช้เพื่อซิงโครไนซ์การส่งข้อมูล
- SS/CS (Slave Select/Chip Select): สัญญาณที่ master ใช้เพื่อเลือกอุปกรณ์ slave เฉพาะเพื่อสื่อสารด้วย อุปกรณ์ slave แต่ละเครื่องมักจะมีสาย SS/CS เฉพาะของตัวเอง
ข้อมูลจะถูกส่งในลักษณะซิงโครนัสด้วยสัญญาณนาฬิกา master จะเริ่มต้นการสื่อสารโดยดึงสาย SS/CS ของ slave ที่ต้องการให้ต่ำ ข้อมูลจะถูกเลื่อนออกจาก master บนสาย MOSI และเข้าไปใน slave ที่ขอบขึ้นหรือลงของสัญญาณ SCK พร้อมกัน ข้อมูลจะถูกเลื่อนออกจาก slave บนสาย MISO และเข้าไปใน master ซึ่งช่วยให้สามารถสื่อสารแบบดูเพล็กซ์เต็มรูปแบบได้ หมายความว่าสามารถส่งข้อมูลได้ทั้งสองทิศทางพร้อมกัน
โหมด SPI
SPI มีโหมดการทำงานสี่โหมด ซึ่งกำหนดโดยพารามิเตอร์สองตัว ได้แก่ Clock Polarity (CPOL) และ Clock Phase (CPHA) พารามิเตอร์เหล่านี้กำหนดสถานะของสัญญาณ SCK เมื่อไม่ได้ใช้งานและขอบของสัญญาณ SCK ที่ข้อมูลถูกสุ่มตัวอย่างและเลื่อน
- โหมด 0 (CPOL=0, CPHA=0): SCK ต่ำเมื่อไม่ได้ใช้งาน ข้อมูลถูกสุ่มตัวอย่างที่ขอบขึ้นและเลื่อนที่ขอบลง
- โหมด 1 (CPOL=0, CPHA=1): SCK ต่ำเมื่อไม่ได้ใช้งาน ข้อมูลถูกสุ่มตัวอย่างที่ขอบลงและเลื่อนที่ขอบขึ้น
- โหมด 2 (CPOL=1, CPHA=0): SCK สูงเมื่อไม่ได้ใช้งาน ข้อมูลถูกสุ่มตัวอย่างที่ขอบลงและเลื่อนที่ขอบขึ้น
- โหมด 3 (CPOL=1, CPHA=1): SCK สูงเมื่อไม่ได้ใช้งาน ข้อมูลถูกสุ่มตัวอย่างที่ขอบขึ้นและเลื่อนที่ขอบลง
อุปกรณ์ master และ slave ต้องได้รับการกำหนดค่าให้ใช้โหมด SPI เดียวกันสำหรับการสื่อสารที่ประสบความสำเร็จ หากไม่เป็นเช่นนั้น ข้อมูลจะยุ่งเหยิงหรือการสื่อสารล้มเหลว
การใช้งาน SPI
- การ์ดหน่วยความจำ (การ์ด SD, การ์ด microSD): SPI มักใช้ในการเชื่อมต่อกับ การ์ดหน่วยความจำในระบบฝังตัว
- เซ็นเซอร์: เซ็นเซอร์จำนวนมาก เช่น เครื่องวัดความเร่ง ไจโรสโคป และเซ็นเซอร์อุณหภูมิ ใช้ SPI สำหรับการส่งข้อมูล
- จอแสดงผล: SPI ใช้กันทั่วไปในการควบคุมจอแสดงผล LCD และ OLED
- ตัวแปลงอะนาล็อกเป็นดิจิทัล (ADCs) และตัวแปลงดิจิทัลเป็นอะนาล็อก (DACs): SPI ใช้ในการสื่อสารกับ ADCs และ DACs สำหรับการใช้งานการได้มาซึ่งข้อมูลและการควบคุม
- รีจิสเตอร์เลื่อน: SPI สามารถใช้เพื่อควบคุมรีจิสเตอร์เลื่อนสำหรับการขยายจำนวนพิน I/O ดิจิทัลที่มีอยู่ในไมโครคอนโทรลเลอร์
ข้อดีของ SPI
- ความเร็วสูง: SPI มีอัตราการถ่ายโอนข้อมูลที่สูงกว่า UART อย่างมาก
- การสื่อสารแบบดูเพล็กซ์เต็มรูปแบบ: สามารถส่งข้อมูลได้ทั้งสองทิศทางพร้อมกัน
- ทาสหลายตัว: master เดียวสามารถสื่อสารกับอุปกรณ์ slave หลายเครื่อง
- ฮาร์ดแวร์ที่ค่อนข้างง่าย: SPI ต้องการเพียงสี่สาย (บวกสาย SS/CS หนึ่งเส้นต่ออุปกรณ์ slave)
ข้อเสียของ SPI
- ไม่มีแผนการกำหนดที่อยู่: SPI อาศัยสาย SS/CS เพื่อเลือกอุปกรณ์ slave ซึ่งอาจกลายเป็นเรื่องยุ่งยากเมื่อมี slaves จำนวนมาก
- ระยะทางสั้น: โดยทั่วไปแล้ว SPI จะจำกัดระยะทางสั้นๆ เนื่องจากการเสื่อมสภาพของสัญญาณที่ความเร็วสูงขึ้น
- ไม่มีการตรวจจับข้อผิดพลาด: SPI ไม่มีกลไกการตรวจจับข้อผิดพลาดในตัว การตรวจสอบข้อผิดพลาดจะต้องดำเนินการในซอฟต์แวร์
- การนำไปใช้ซอฟต์แวร์ที่ซับซ้อนกว่า: แม้ว่าฮาร์ดแวร์จะค่อนข้างง่าย แต่การนำไปใช้ซอฟต์แวร์อาจซับซ้อนกว่า UART โดยเฉพาะอย่างยิ่งเมื่อจัดการกับ slaves หลายตัวและโหมด SPI ที่แตกต่างกัน
ตัวอย่าง SPI: การเชื่อมต่อกับเครื่องวัดความเร่ง
เครื่องวัดความเร่งจำนวนมาก เช่น ADXL345 ยอดนิยม ใช้ SPI สำหรับการสื่อสาร ในการอ่านข้อมูลความเร่งจาก ADXL345 ไมโครคอนโทรลเลอร์ (ทำหน้าที่เป็น master) จำเป็นต้องส่งคำสั่งไปยังเครื่องวัดความเร่ง (ทำหน้าที่เป็น slave) เพื่ออ่านรีจิสเตอร์ที่เหมาะสม pseudocode ต่อไปนี้แสดงให้เห็นกระบวนการ:
- เลือก ADXL345 โดยดึงสาย SS/CS ให้ต่ำ
- ส่งที่อยู่รีจิสเตอร์ที่จะอ่าน (เช่น ที่อยู่ของข้อมูลความเร่งแกน X)
- อ่านข้อมูลจากสาย MISO (ค่าความเร่งแกน X)
- ทำซ้ำขั้นตอนที่ 2 และ 3 สำหรับแกน Y และ Z
- ยกเลิกการเลือก ADXL345 โดยดึงสาย SS/CS ให้สูง
คำสั่งและที่อยู่รีจิสเตอร์เฉพาะจะแตกต่างกันไปขึ้นอยู่กับรุ่นของเครื่องวัดความเร่ง ควรตรวจสอบเอกสารข้อมูลเสมอสำหรับขั้นตอนที่แน่นอน
UART เทียบกับ SPI: การเปรียบเทียบ
ตารางต่อไปนี้สรุปความแตกต่างที่สำคัญระหว่าง UART และ SPI:
คุณสมบัติ | UART | SPI |
---|---|---|
ประเภทการสื่อสาร | อะซิงโครนัส | ซิงโครนัส |
สัญญาณนาฬิกา | ไม่มี | นาฬิการ่วมกัน |
จำนวนสายไฟ | 2 (TX, RX) | 4 (MOSI, MISO, SCK, SS/CS) + 1 SS/CS ต่อ slave |
อัตราข้อมูล | ต่ำกว่า | สูงกว่า |
ดูเพล็กซ์เต็มรูปแบบ | โดยทั่วไป Half-Duplex (แม้ว่าจะสามารถจำลองดูเพล็กซ์เต็มรูปแบบด้วยซอฟต์แวร์ที่ซับซ้อน) | ดูเพล็กซ์เต็มรูปแบบ |
การตรวจจับข้อผิดพลาด | บิตพาริตี (ไม่บังคับ) | ไม่มี (ต้องใช้การนำไปใช้ซอฟต์แวร์) |
จำนวนอุปกรณ์ | 2 (แบบจุดต่อจุด) | หลาย (Master-Slave) |
ความซับซ้อน | ง่ายกว่า | ซับซ้อนกว่า |
ระยะทาง | ยาวกว่า | สั้นกว่า |
การเลือกโปรโตคอลที่เหมาะสม
การเลือกระหว่าง UART และ SPI ขึ้นอยู่กับข้อกำหนดเฉพาะของการใช้งาน พิจารณาปัจจัยต่อไปนี้:- อัตราข้อมูล: หากต้องการถ่ายโอนข้อมูลความเร็วสูง โดยทั่วไปแล้ว SPI จะเป็นตัวเลือกที่ดีกว่า
- ระยะทาง: สำหรับระยะทางไกลกว่า UART เหมาะสมกว่า
- จำนวนอุปกรณ์: หากอุปกรณ์หลายเครื่องจำเป็นต้องสื่อสารกับ master เดียว SPI จะเป็นที่ต้องการ
- ความซับซ้อน: หากความเรียบง่ายเป็นสิ่งสำคัญ UART จะง่ายต่อการนำไปใช้
- การตรวจจับข้อผิดพลาด: หากการตรวจจับข้อผิดพลาดเป็นสิ่งสำคัญ ให้พิจารณาใช้ UART พร้อมบิตพาริตีหรือนำการตรวจสอบข้อผิดพลาดไปใช้ในซอฟต์แวร์สำหรับ SPI
- ฮาร์ดแวร์ที่มีอยู่: ไมโครคอนโทรลเลอร์บางตัวอาจมีการสนับสนุนโปรโตคอลหนึ่งหรืออีกโปรโตคอลหนึ่งอย่างจำกัด พิจารณาแหล่งข้อมูลฮาร์ดแวร์ที่มีอยู่เมื่อทำการตัดสินใจ
ตัวอย่างเช่น ในแอปพลิเคชันเซ็นเซอร์อย่างง่ายที่ไมโครคอนโทรลเลอร์จำเป็นต้องอ่านข้อมูลจากเซ็นเซอร์เดียวในระยะทางสั้นๆ SPI อาจเป็นตัวเลือกที่ดีกว่าเนื่องจากความเร็วที่สูงกว่า อย่างไรก็ตาม หากไมโครคอนโทรลเลอร์จำเป็นต้องสื่อสารกับคอมพิวเตอร์ในระยะทางไกลกว่าเพื่อวัตถุประสงค์ในการแก้ไขข้อบกพร่อง UART จะเหมาะสมกว่า
ข้อควรพิจารณาขั้นสูง
I2C (Inter-Integrated Circuit)
แม้ว่าบทความนี้จะเน้นไปที่ UART และ SPI แต่สิ่งสำคัญคือต้องกล่าวถึง I2C (Inter-Integrated Circuit) เป็นอีกหนึ่งโปรโตคอลการสื่อสารแบบอนุกรมทั่วไป I2C เป็นโปรโตคอลแบบสองสายที่รองรับอุปกรณ์ master และ slave หลายเครื่องบนบัสเดียวกัน มักใช้สำหรับการสื่อสารระหว่างวงจรรวมบนแผงวงจร I2C ใช้การกำหนดที่อยู่ ซึ่งแตกต่างจาก SPI ทำให้เครือข่ายอุปกรณ์ขนาดใหญ่เรียบง่าย
TTL เทียบกับ RS-232
เมื่อทำงานกับ UART สิ่งสำคัญคือต้องเข้าใจความแตกต่างระหว่างระดับแรงดันไฟฟ้า TTL (Transistor-Transistor Logic) และ RS-232 ลอจิก TTL ใช้ 0V และ 5V (หรือ 3.3V) เพื่อแสดงถึงลอจิกต่ำและสูงตามลำดับ RS-232 ในทางกลับกัน ใช้แรงดันไฟฟ้า ±12V การเชื่อมต่อ UART TTL กับ UART RS-232 โดยตรงอาจทำให้อุปกรณ์เสียหาย ต้องใช้ตัวเปลี่ยนระดับ (เช่น ชิป MAX232) เพื่อแปลงระหว่างระดับแรงดันไฟฟ้า TTL และ RS-232
การจัดการข้อผิดพลาด
เนื่องจาก UART และ SPI มีกลไกการตรวจจับข้อผิดพลาดที่จำกัด จึงเป็นสิ่งสำคัญที่จะต้องนำการจัดการข้อผิดพลาดไปใช้ในซอฟต์แวร์ เทคนิคทั่วไป ได้แก่ checksums, cyclic redundancy checks (CRCs) และกลไกหมดเวลา
บทสรุป
UART และ SPI เป็นโปรโตคอลการสื่อสารแบบอนุกรมที่จำเป็นสำหรับระบบฝังตัวและอื่นๆ UART มีความเรียบง่ายและความยืดหยุ่น ทำให้เหมาะสำหรับการเชื่อมต่อไมโครคอนโทรลเลอร์กับคอมพิวเตอร์และอุปกรณ์อื่นๆ ในระยะทางไกลกว่า SPI ให้การสื่อสารความเร็วสูงสำหรับการใช้งานระยะสั้น เช่น การเชื่อมต่อกับเซ็นเซอร์ การ์ดหน่วยความจำ และจอแสดงผล การทำความเข้าใจหลักการ ข้อดี และข้อเสียของแต่ละโปรโตคอลช่วยให้คุณตัดสินใจได้อย่างชาญฉลาดเมื่อออกแบบระบบฝังตัวหรือโครงการอิเล็กทรอนิกส์ต่อไปของคุณ เมื่อเทคโนโลยีพัฒนาขึ้น การประยุกต์ใช้เมธอดการสื่อสารแบบอนุกรมเหล่านี้ก็จะพัฒนาขึ้นไปด้วย การปรับตัวและการเรียนรู้อย่างต่อเนื่องจะทำให้วิศวกรและผู้ที่ชื่นชอบสามารถใช้ประโยชน์จากโปรโตคอลเหล่านี้ได้อย่างเต็มที่