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)
เป็นโปรโตคอลแบบซิงโครนัสและเป็นครั้งแรกที่เราเห็นว่ามี
"ปัญญา" อยู่ในนั้น
อีกชิ้นหนึ่งเลื่อนบิตเข้าและออกอย่างงี่เง่าและนั่นก็เป็นเช่นนั้น 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 อย่างไม่ถูกต้อง
ความคิดเห็น
แสดงความคิดเห็น