ฉันควรใช้ USART แทน UART เมื่อใด


10

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


2
ใครจะมีตัวรับส่งสัญญาณซิงโครนัสสำหรับพีซีเพื่อเชื่อมต่อกับอุปกรณ์ของคุณ
PlasmaHH

คำตอบ:


11

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

พอร์ต PC COM ใช้เวลาเพียง UART ในการพูดคุย ความจริงที่ว่า USART อาจถูกใช้ในลักษณะที่แตกต่างกันนั้นไม่เกี่ยวข้องกับคุณยกเว้นว่าคุณอาจมีบิตการกำหนดค่าเพิ่มเติมบางอย่างที่ต้องตั้งค่าอย่างถูกต้อง


3

คำตอบสั้น ๆ : ใช้สิ่งที่คุณชิปมี

ในการตรวจสอบคำถามทั้งหมดจำเป็นต้องถอดรหัสคำย่อ:

U niversal ซิงโครR eceiver T ransmitter เป็นแบบดั้งเดิม "พอร์ตอนุกรมของคุณ" มันเป็นแบบอะซิงโครนัสในแง่ที่ว่ามีเพียงสัญญาณเดียวเท่านั้นที่เกี่ยวข้อง - ไม่มีการส่งสัญญาณนาฬิกาและตัวรับสัญญาณจะต้องกู้คืนนาฬิกา

ในทางตรงกันข้ามU niversal S ynchronous AซิงโครนัสR eceiver T ransmitter เป็นอุปกรณ์อเนกประสงค์ที่มีโหมดอะซิงโครนัสสไตล์ UART มากขึ้นแต่สามารถเลือกกำหนดค่าให้ทำงานในโหมดซิงโครนัสที่นาฬิกาถูกส่งไปพร้อมกับข้อมูล ขึ้นอยู่กับความสามารถซึ่งอาจรวมถึงการทำงานร่วมกันกับรูปแบบอนุกรมที่รู้จักกันดีเช่น SPI หรือ I2S

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


3

โดยพื้นฐานแล้วมันมีสิ่งเดียวกันสำหรับไมโครคอนโทรลเลอร์ของคุณ

USART ย่อมาจากเครื่องรับ / ส่งสัญญาณแบบอะซิงโครนัสและซิงโครนัสสากล UART ย่อมาจาก universal asynchronous receiver / transmitter

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


" การส่งข้อมูลแบบซิงโครนัสไม่ค่อยได้ใช้เพราะคุณมีโปรโตคอลการสื่อสารแบบซิงโครนัสที่ดีกว่ามากเช่น SPI & I2C " ระวังดูเหมือนว่าคุณกำลังเปรียบเทียบแอปเปิ้ลและส้ม :-) โดยทั่วไปแล้ว SPI & I2C โดยทั่วไปโหมดซิงโครนัสของ USART จะใช้สำหรับอินเทอร์เฟซทางไกลเช่นหลายฟุตหรือมากกว่า ฉันทำงานกับอินเตอร์เฟสการสื่อสารแบบซิงโครนัสจำนวนมากเช่น V.35 หรือแม้แต่สัญญาณซิงโครนัสเสริมใน V.24 เพื่อเชื่อมต่อกับโมเด็มซิงโครนัส พวกเขาทั้งหมดต้องการ USART และไม่สามารถแทนที่ด้วย SPI & I2C อย่างสมเหตุสมผล
SamGibson

ขอบคุณมากสำหรับข้อมูล
ThịnhLêQuí

1

ไมโครคอนโทรลเลอร์ของคุณ (MCU) มีตัวรับ / ส่งสัญญาณ Universal Synchronous / Asynchronous (USART) หน่วยการทำงานนี้รองรับโหมดการสื่อสารแบบซิงโครนัสและโหมดการสื่อสารแบบอะซิงโครนัส

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

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

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

ในช่วงเริ่มต้นของทุกไบต์ใหม่ Rx ใช้การเปลี่ยนบิตเริ่มต้น STOP-START เพื่อซิงโครไนซ์กับจังหวะลำดับบิตที่เข้ามาใหม่ สิ่งนี้ทำให้ความล่าช้าจากไดร์เวอร์ / ตัวรับสัญญาณสายเคเบิลและตัวเชื่อมต่อไม่เกี่ยวข้องกับช่วงเวลาบิตแม้ว่าจะไม่ได้คุณภาพบิต ต้องการเพียงสายเดียวต่อสัญญาณการสื่อสารแทนที่จะเป็นสองเส้นลดค่าใช้จ่ายในสายเคเบิลตัวเชื่อมต่อและตัวขับ / ตัวรับสัญญาณของสาย

ดังนั้นขึ้นอยู่กับค่าใช้จ่ายที่ยอมรับได้ระยะทางที่คุณกำลังเดินทางและความสามารถของ Tx และ Rx พีซีของคุณมีแนวโน้มที่จะรองรับเฉพาะโหมดอะซิงโครนัสบนพอร์ต COM มาตรฐานซึ่งจำเป็นต้องมีพอร์ตพิเศษ (PCIe หรือ USB, USB ที่เป็นไปได้) สำหรับโหมดซิงโครนัส

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.