Serialเป็นคำศัพท์สำหรับทุกสิ่งที่เป็น "Time Division Multiplexed" เพื่อใช้คำที่มีราคาแพง หมายความว่ามีการส่งข้อมูลเมื่อเวลาผ่านไปซึ่งส่วนใหญ่จะเป็นบิตเดียวหลังจากนั้นอีกหนึ่งบิต โปรโตคอลทั้งหมดที่คุณตั้งชื่อนั้นเป็นโปรโตคอลอนุกรม
UARTสำหรับ Universal Asynchronous Receiver Transmitter เป็นหนึ่งในโปรโตคอลอนุกรมที่ใช้มากที่สุด มันเกือบจะเก่าแก่เหมือนฉันและเรียบง่ายมาก คอนโทรลเลอร์ส่วนใหญ่มีฮาร์ดแวร์ UART บนเครื่อง มันใช้สายข้อมูลเดียวสำหรับการส่งและหนึ่งสำหรับการรับข้อมูล การถ่ายโอนข้อมูล 8 บิตส่วนใหญ่มักจะเป็นดังนี้: 1 บิตเริ่มต้น (ระดับต่ำ), 8 บิตข้อมูลและ 1 บิตหยุด (ระดับสูง) บิตเริ่มต้นระดับต่ำและบิตหยุดระดับสูงหมายความว่ามีการเปลี่ยนแปลงสูงถึงต่ำเสมอเพื่อเริ่มการสื่อสาร นั่นคือสิ่งที่อธิบาย UART ไม่มีระดับแรงดันไฟฟ้าดังนั้นคุณสามารถรับได้ที่ 3.3 V หรือ 5 V ไม่ว่าจะใช้ไมโครคอนโทรลเลอร์แบบใดก็ตาม โปรดทราบว่าไมโครคอนโทรลเลอร์ที่ต้องการสื่อสารผ่าน UART ต้องยอมรับความเร็วในการส่งข้อมูลซึ่งเป็นอัตราบิตเนื่องจากมีเพียงบิตเริ่มต้นที่ลดลงเพื่อซิงโครไนซ์ นั่นเรียกว่าการสื่อสารแบบอะซิงโครนัส
สำหรับการสื่อสารทางไกล (ที่ไม่ต้องเป็นหลายร้อยเมตร) 5 VART UART ไม่น่าเชื่อถือมากนั่นเป็นสาเหตุที่มันถูกแปลงเป็นแรงดันไฟฟ้าที่สูงกว่าปกติคือ +12 V สำหรับ "0" และ -12 V สำหรับ " 1" รูปแบบข้อมูลยังคงเหมือนเดิม จากนั้นคุณมีRS-232 (ซึ่งคุณควรโทรหา EIA-232 แต่ไม่มีใครทำ)
การพึ่งพาเวลาเป็นหนึ่งในข้อเสียใหญ่ของ UART และการแก้ปัญหาคือUSARTสำหรับ Universal Synchronous / Asynchronous Receiver Transmitter สิ่งนี้สามารถทำ UART แต่ยังเป็นโปรโตคอลแบบซิงโครนัส ในแบบซิงโครนัสไม่เพียงมีข้อมูล แต่ยังส่งสัญญาณนาฬิกาอีกด้วย ในแต่ละบิตสัญญาณนาฬิกาจะบอกผู้รับว่าควรสลักบิตนั้น โปรโตคอลแบบซิงโครนัสอาจต้องการแบนด์วิดท์ที่สูงกว่าเช่นในกรณีของการเข้ารหัสแมนเชสเตอร์หรือสายเพิ่มเติมสำหรับนาฬิกาเช่น SPI และ I2C
SPI (Serial Peripheral Interface) เป็นอีกโปรโตคอลที่ง่ายมาก ต้นแบบส่งสัญญาณนาฬิกาและในแต่ละนาฬิกาพัลส์มันจะเลื่อนหนึ่งบิตออกไปที่ทาสและหนึ่งบิตเข้ามาจากทาส ชื่อสัญญาณจึงเป็น SCK สำหรับนาฬิกา MOSI สำหรับ Master Out Slave In และ MISO สำหรับ Master In Slave Out ด้วยการใช้สัญญาณ SS (Slave Select) สัญญาณหลักจะสามารถควบคุมทาสได้มากกว่าหนึ่งตัวบนรถบัส มีสองวิธีในการเชื่อมต่ออุปกรณ์สลาฟหลายตัวเข้ากับอุปกรณ์หลักหนึ่งตัวดังกล่าวข้างต้นนั่นคือใช้การเลือกทาสและอื่น ๆ คือการเชื่อมต่อเดซี่โดยใช้พินฮาร์ดแวร์น้อยลง (เลือกบรรทัด) แต่ซอฟต์แวร์ซับซ้อน
I2C(Inter-Integrated Circuit, เด่นชัด "I squared C") เป็นโปรโตคอลแบบซิงโครนัสและเป็นครั้งแรกที่เราเห็นว่ามี "ปัญญา" อยู่ในนั้น อีกชิ้นหนึ่งเลื่อนบิตเข้าและออกอย่างงี่เง่าและนั่นก็เป็นเช่นนั้น I2C ใช้สายไฟเพียง 2 เส้นสายหนึ่งสำหรับนาฬิกา (SCL) และอีกสายสำหรับข้อมูล (SDA) นั่นหมายความว่าเจ้านายและทาสส่งข้อมูลผ่านสายเดียวกันควบคุมอีกครั้งโดยต้นแบบที่สร้างสัญญาณนาฬิกา I2C ไม่ได้ใช้ Slave Selects แยกต่างหากเพื่อเลือกอุปกรณ์เฉพาะ แต่มีการกำหนดแอดเดรส ไบต์แรกที่ส่งโดยต้นแบบมีที่อยู่ 7 บิต (เพื่อให้คุณสามารถใช้อุปกรณ์ 127 บนรถบัส) และบิตอ่าน / เขียนระบุว่าไบต์ถัดไปจะมาจากต้นแบบหรือไม่ควรมาจาก ทาส. หลังจากแต่ละไบต์ผู้รับจะต้องส่ง "0" เพื่อรับทราบการรับของไบต์ ซึ่งต้นแบบจะยึดกับพัลส์นาฬิกาที่ 9 หากต้นแบบต้องการเขียนไบต์กระบวนการเดียวกันจะทำซ้ำ: ต้นแบบวางบิตหลังจากบิตบนบัสและแต่ละครั้งจะให้สัญญาณนาฬิกาเพื่อส่งสัญญาณว่าข้อมูลพร้อมที่จะอ่าน หากต้นแบบต้องการรับข้อมูลมันจะสร้างสัญญาณนาฬิกาเท่านั้น ทาสต้องดูแลให้บิตถัดไปพร้อมเมื่อชีพจรนาฬิกาถูกกำหนด โปรโตคอลนี้ได้รับการจดสิทธิบัตรโดย NXP (เดิมคือ Phillips) เพื่อประหยัดค่าใช้จ่ายในการออกใบอนุญาต Atmel ใช้คำว่า TWI (อินเตอร์เฟสแบบ 2 สาย) ซึ่งเหมือนกับ I2C ดังนั้นอุปกรณ์ AVR ใด ๆ จะไม่มี I2C แต่จะมี TWI หากต้นแบบต้องการรับข้อมูลมันจะสร้างสัญญาณนาฬิกาเท่านั้น ทาสต้องดูแลให้บิตถัดไปพร้อมเมื่อชีพจรนาฬิกาถูกกำหนด โปรโตคอลนี้ได้รับการจดสิทธิบัตรโดย NXP (เดิมคือ Phillips) เพื่อประหยัดค่าใช้จ่ายในการออกใบอนุญาต Atmel ใช้คำว่า TWI (อินเตอร์เฟสแบบ 2 สาย) ซึ่งเหมือนกับ I2C ดังนั้นอุปกรณ์ AVR ใด ๆ จะไม่มี I2C แต่จะมี TWI หากต้นแบบต้องการรับข้อมูลมันจะสร้างสัญญาณนาฬิกาเท่านั้น ทาสต้องดูแลให้บิตถัดไปพร้อมเมื่อชีพจรนาฬิกาถูกกำหนด โปรโตคอลนี้ได้รับการจดสิทธิบัตรโดย NXP (เดิมคือ Phillips) เพื่อประหยัดค่าใช้จ่ายในการออกใบอนุญาต Atmel ใช้คำว่า TWI (อินเตอร์เฟสแบบ 2 สาย) ซึ่งเหมือนกับ I2C ดังนั้นอุปกรณ์ AVR ใด ๆ จะไม่มี I2C แต่จะมี TWI
สัญญาณตั้งแต่สองสายขึ้นไปบนสายเดียวกันอาจทำให้เกิดความขัดแย้งและคุณจะมีปัญหาหากอุปกรณ์หนึ่งส่ง "1" ในขณะที่อีกสายหนึ่งส่ง "0" ดังนั้นบัสจึงมีสาย - หรือ: ตัวต้านทานสองตัวดึงบัสไปที่ระดับสูงและอุปกรณ์ส่งระดับต่ำเท่านั้น หากพวกเขาต้องการส่งระดับสูงพวกเขาเพียงแค่ปล่อยรถบัส
TTL (Transistor Transistor Logic) ไม่ใช่โปรโตคอล มันเป็นเทคโนโลยีที่เก่ากว่าสำหรับลอจิกดิจิทัล แต่ชื่อนี้มักใช้เพื่ออ้างถึงแรงดันไฟฟ้า 5 V ซึ่งมักจะอ้างถึงสิ่งที่เรียกว่า UART อย่างไม่ถูกต้อง
คุณสามารถเขียนหนังสือเกี่ยวกับแต่ละเรื่องได้และดูเหมือนว่าฉันกำลังเดินทาง นี่เป็นเพียงภาพรวมโดยย่อแจ้งให้เราทราบหากมีบางสิ่งที่ต้องการการชี้แจง