กลับไปหน้าบทความ

อ่าน 7 นาที

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

ตัว รับส่งสัญญาณอะซิงโครนัสสากล ( UART / ˈ juː ɑːr t / ) เป็นอุปกรณ์ต่อพ่วงสำหรับ การสื่อสารแบบอนุกรมอะซิงโครนัส ซึ่งสามารถกำหนดค่ารูปแบบข้อมูลและความเร็วในการส่งได้ โดยจะส่ง บิต...

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

แผนภาพบล็อกของ UART
Raspberry Pi 2เชื่อมต่อกับแล็ปท็อปผ่านอะแดปเตอร์ UART เป็น USB โดยใช้สายไฟสามเส้น: เส้นหนึ่งสำหรับกราวด์ และอีกสามเส้นสำหรับข้อมูลในแต่ละทิศทาง การตั้งค่าเช่นนี้สามารถใช้เพื่อเข้าถึงอินเทอร์เฟซบรรทัดคำสั่งของ Raspberry Pi ที่ทำงานบน Linux จากคอมพิวเตอร์โฮสต์ได้

ตัวรับส่งสัญญาณอะซิงโครนัสสากล ( UART / ˈ juː ɑːr t / ) เป็นอุปกรณ์ต่อพ่วงสำหรับการสื่อสารแบบอนุกรมอะซิงโครนัสซึ่งสามารถกำหนดค่ารูปแบบข้อมูลและความเร็วในการส่งได้ โดยจะส่งบิต ข้อมูล ทีละบิตจากบิตที่มีค่าน้อยที่สุดไปยังบิตที่มีค่ามากที่สุด โดยมีบิตเริ่มต้นและบิตหยุดคั่นไว้ เพื่อให้ช่องทางการสื่อสารสามารถจัดการเวลาได้อย่างแม่นยำ ระดับสัญญาณไฟฟ้าจะถูกจัดการโดยวงจรขับภายนอก UART ระดับสัญญาณทั่วไป ได้แก่RS-232 , RS-485และTTL ดิบ [ 1 ]สำหรับลิงก์การดีบักสั้นๆ เครื่องพิมพ์ดีดโทรเลขรุ่นแรกๆ ใช้ลูปกระแสไฟฟ้า

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

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

อุปกรณ์ที่เกี่ยวข้องอย่างตัวรับส่งสัญญาณแบบซิงโครนัสและอะซิงโครนัสสากล (USART) ก็รองรับการทำงานแบบซิงโครนัสเช่นกัน

ตาม แบบ จำลอง OSIแล้ว UART จัดอยู่ในเลเยอร์ที่ 2 ซึ่งเป็นเลเยอร์ เชื่อมโยงข้อมูล

ประวัติศาสตร์

ระบบ โทรเลขยุคแรกบางระบบใช้พัลส์ที่มีความยาวแปรผันได้ (เช่นเดียวกับรหัสมอร์ส ) และกลไกนาฬิกาแบบหมุนเพื่อส่งตัวอักษร อุปกรณ์สื่อสารแบบอนุกรมรุ่นแรก (ที่มีพัลส์ความยาวคงที่) คือสวิตช์เชิงกลแบบหมุน ( คอมมิวเทเตอร์ ) รหัสตัวอักษร ต่างๆ ที่ใช้บิตข้อมูล 5, 6, 7 หรือ 8 บิตกลายเป็นเรื่องปกติในเครื่องพิมพ์โทรเลขและต่อมาในอุปกรณ์ต่อพ่วงคอมพิวเตอร์ เครื่องพิมพ์โทรเลขเป็นอุปกรณ์อินพุต/เอาต์พุตอเนกประสงค์ที่ยอดเยี่ยมสำหรับคอมพิวเตอร์ขนาดเล็ก

กอร์ดอน เบลล์แห่งDECออกแบบ UART ตัวแรก ซึ่งใช้พื้นที่ทั้งแผงวงจรที่เรียกว่าline unitสำหรับคอมพิวเตอร์ตระกูลPDP โดยเริ่มจาก PDP-1 [ 2 ] [ 3 ] ตาม ที่เบลล์กล่าว นวัตกรรมหลักของ UART คือการใช้การสุ่มตัวอย่างเพื่อแปลงสัญญาณเป็นโดเมนดิจิทัล ทำให้การกำหนดเวลามีความน่าเชื่อถือมากกว่าวงจรรุ่นก่อนๆ ที่ใช้อุปกรณ์กำหนดเวลาแบบอนาล็อกที่มีโพเทนชิโอมิเตอร์ที่ ปรับด้วยตนเอง [ 4 ]เพื่อลดต้นทุนของการเดินสาย แผงวงจร และส่วนประกอบอื่นๆ คอมพิวเตอร์เหล่านี้ยังเป็นผู้บุกเบิกการควบคุมการไหลโดยใช้ตัวอักษร XON และ XOFFแทนที่จะใช้สายฮาร์ดแวร์

DEC ได้ย่อการออกแบบหน่วยไลน์ลงใน UART ชิปเดี่ยวรุ่นแรกๆ เพื่อใช้เอง[ 2 ] Western Digitalได้พัฒนาสิ่งนี้ให้เป็น UART ชิปเดี่ยวรุ่นแรกที่วางจำหน่ายอย่างแพร่หลาย คือ WD1402A ในช่วงประมาณปี 1971 นี่เป็นตัวอย่างแรกๆ ของวงจรรวมขนาดกลางอีกชิปยอดนิยมคือ SCN2651 จากตระกูล Signetics 2650

ตัวอย่างหนึ่งของ UART ในช่วงต้นทศวรรษ 1980 คือNational Semiconductor 8250ซึ่งใช้ในการ์ด Asynchronous Communications Adapter ของIBM PC รุ่นแรก[ 5 ]ในช่วงทศวรรษ 1990 มีการพัฒนา UART รุ่นใหม่ที่มีบัฟเฟอร์ในตัว ทำให้สามารถส่งข้อมูลได้เร็วขึ้นโดยไม่สูญเสียข้อมูลและไม่ต้องให้คอมพิวเตอร์คอยดูแลบ่อยครั้ง ตัวอย่างเช่น National Semiconductor 16550 ที่ได้รับความนิยมมี FIFOขนาด 16 ไบต์และได้แตกแขนงออกเป็นหลายรุ่น ได้แก่16C550, 16C650, 16C750 และ 16C850

ขึ้นอยู่กับผู้ผลิต คำศัพท์ที่ใช้ระบุอุปกรณ์ที่ทำหน้าที่ UART นั้นแตกต่างกันไปอินเทลเรียกอุปกรณ์8251 ของตนว่า "อินเทอร์เฟซการสื่อสารที่ตั้งโปรแกรมได้" (Programmable Communication Interface) เพราะจริงๆ แล้วมันคือ USART และสามารถทำงานแบบซิงโครนัสได้เช่นเดียวกับแบบอะซิงโครนัส โดยเปิดตัวในปี 1979 MOS Technology 6551เป็นที่รู้จักในชื่อ "อะแดปเตอร์อินเทอร์เฟซการสื่อสารแบบอะซิงโครนัส" (Asynchronous Communications Interface Adapter หรือ ACIA) คำว่า "อินเทอร์เฟซการสื่อสารแบบอนุกรม" (Serial Communications Interface หรือ SCI) ถูกใช้ครั้งแรกที่โมโตโรลา ประมาณปี 1975 เพื่ออ้างถึงอุปกรณ์อินเทอร์เฟซอนุกรมแบบอะซิงโครนัสที่สามารถเริ่มและหยุดการทำงานได้ ซึ่งผู้ผลิตรายอื่นเรียกว่า UART Zilog ผลิต ตัวควบคุมการสื่อสารแบบอนุกรมหรือ SCC จำนวนมาก

ตั้งแต่ช่วงปี 2000 คอมพิวเตอร์ ที่เข้ากันได้กับ IBM PC ส่วนใหญ่ได้ถอดพอร์ต RS-232 COMภายนอกออกและใช้พอร์ตUSB ที่สามารถส่งข้อมูลได้เร็วกว่า สำหรับผู้ใช้ที่ยังคงต้องการพอร์ตอนุกรม RS-232 ปัจจุบันมักใช้ บริดจ์ USB-to-UART ภายนอก ซึ่งประกอบด้วยสายเคเบิลฮาร์ดแวร์และชิปสำหรับแปลง USB เป็น UART บริษัท Cypress SemiconductorและFTDIเป็นสองบริษัทผู้จำหน่ายชิปเหล่านี้รายใหญ่[ 6 ]แม้ว่าพอร์ต RS-232 จะไม่สามารถใช้งานได้ภายนอกคอมพิวเตอร์ส่วนใหญ่แล้ว แต่โปรเซสเซอร์ ภายในหลายตัว มี UART ในตัวชิป ทำให้ผู้ออกแบบฮาร์ดแวร์สามารถเชื่อมต่อกับชิปหรืออุปกรณ์อื่นๆ ที่ใช้ RS-232 หรือRS-485สำหรับการสื่อสารได้

การส่งและรับข้อมูลอนุกรม

หน่วย UART ประกอบด้วยส่วนประกอบดังต่อไปนี้:

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

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

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

การสื่อสารอาจมีได้สามรูปแบบ:

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

เพื่อให้ UART ทำงานได้ การตั้งค่าต่อไปนี้ต้องเหมือนกันทั้งฝั่งส่งและฝั่งรับ:

สำหรับระดับแรงดันไฟฟ้า โมดูล UART สองตัวจะทำงานได้ดีเมื่อทั้งสองมีระดับแรงดันไฟฟ้าเท่ากัน เช่น 3V-3V ระหว่างโมดูล UART สองตัว หากต้องการใช้โมดูล UART สองตัวที่มีระดับแรงดันไฟฟ้าต่างกัน จะต้องเพิ่มวงจรแปลงระดับแรงดันไฟฟ้าภายนอก[ 8 ]

การจัดกรอบข้อมูล

ตัวอย่างเฟรม UART ในแผนภาพนี้ ส่งข้อมูลหนึ่งไบต์ประกอบด้วยบิตเริ่มต้น ตามด้วยบิตข้อมูลแปดบิต (D1-8) และบิตหยุดสองบิต สำหรับเฟรม UART ขนาด 11 บิต จำนวนบิตข้อมูลและบิตจัดรูปแบบ การมีหรือไม่มีบิตพาริตี รูปแบบของพาริตี (คู่หรือคี่) และความเร็วในการส่ง ต้องตกลงกันล่วงหน้าโดยฝ่ายที่สื่อสารกัน "บิตหยุด" จริงๆ แล้วคือ "ช่วงเวลาหยุด" ช่วงเวลาหยุดของตัวส่งอาจยาวได้ตามต้องการ ต้องไม่สั้นกว่าจำนวนที่กำหนด โดยปกติคือ 1 ถึง 2 บิต ตัวรับสัญญาณต้องการช่วงเวลาหยุดที่สั้นกว่าตัวส่ง เมื่อสิ้นสุดเฟรมข้อมูลแต่ละเฟรม ตัวรับสัญญาณจะหยุดชั่วครู่เพื่อรอรับบิตเริ่มต้นถัดไป ความแตกต่างนี้เองที่ทำให้ตัวส่งและตัวรับสัญญาณทำงานประสานกัน BCLK = สัญญาณนาฬิกาฐาน

เฟรม UART ประกอบด้วยองค์ประกอบห้าส่วน:

  • ว่าง (ลอจิกสูง (1))
  • บิตเริ่มต้น (ลอจิกต่ำ (0)): บิตเริ่มต้นส่งสัญญาณไปยังตัวรับว่าอักขระใหม่กำลังจะมาถึง
  • บิตข้อมูล: บิตห้าถึงเก้าบิตถัดไป ขึ้นอยู่กับชุดรหัสที่ใช้ จะแทนอักขระแต่ละตัว
  • บิตพาริตี: หากมีการใช้บิตพาริตี จะต้องวางไว้หลังบิตข้อมูลทั้งหมด บิตพาริตีเป็นวิธีที่ UART ฝั่งรับใช้ตรวจสอบว่าข้อมูลใด ๆ เปลี่ยนแปลงไปในระหว่างการส่งหรือไม่
  • บิตหยุด (ลอจิกสูง (1)): บิตถัดไปหนึ่งหรือสองบิตจะอยู่ในสถานะลอจิกสูง (เช่น 1) เสมอและเรียกว่าบิตหยุด บิตเหล่านี้จะส่งสัญญาณไปยังตัวรับว่าอักขระนั้นเสร็จสมบูรณ์แล้ว เนื่องจากบิตเริ่มต้นเป็นลอจิกต่ำ (0) และบิตหยุดเป็นลอจิกสูง (1) จึงมีการเปลี่ยนแปลงสัญญาณอย่างน้อยสองครั้งระหว่างอักขระเสมอ หากสายอยู่ในสถานะลอจิกต่ำนานกว่าเวลาของอักขระหนึ่งตัว จะเรียกว่า สภาวะ ขาดการเชื่อมต่อซึ่ง UART สามารถตรวจจับได้

ในการตั้งค่าทั่วไปที่ใช้บิตข้อมูล 8 บิต ไม่มีพาริตี และบิตหยุด 1 บิต (เช่น8N1 ) ประสิทธิภาพของโปรโตคอลจะอยู่ที่ 8/10 = 80% เพื่อเปรียบเทียบประสิทธิภาพของโปรโตคอลอีเธอร์เน็ต เมื่อใช้ เฟรมที่มีปริมาณงานสูงสุด และขนาดข้อมูล 1500 ไบต์ จะสูงถึง 95% และสูงถึง 99% เมื่อใช้ เฟรมจัมโบ้ขนาด 9000 ไบต์อย่างไรก็ตาม เนื่องจาก ค่าใช้จ่าย เพิ่มเติมของโปรโตคอล อีเธอร์เน็ต และขนาดข้อมูลขั้นต่ำ 42 ไบต์ หากต้องส่งข้อความขนาดเล็กเพียงหนึ่งหรือสองไบต์ ประสิทธิภาพของโปรโตคอลอีเธอร์เน็ตจะลดลงต่ำกว่าประสิทธิภาพคงที่ 80% ของ UART ในรูปแบบ 8N1 มาก

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

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

ตัวรับสัญญาณ

การทำงานทั้งหมดของฮาร์ดแวร์ UART ถูกควบคุมโดยสัญญาณนาฬิกาภายใน ซึ่งทำงานที่ความถี่เป็นทวีคูณของอัตราข้อมูล โดยทั่วไปคือ 8 หรือ 16 เท่าของอัตราบิต ตัวรับจะตรวจสอบสถานะของสัญญาณขาเข้าในแต่ละพัลส์นาฬิกา โดยมองหาจุดเริ่มต้นของบิตเริ่มต้น หากบิตเริ่มต้นที่ปรากฏมีระยะเวลาอย่างน้อยครึ่งหนึ่งของเวลาบิต แสดงว่าถูกต้องและส่งสัญญาณเริ่มต้นของอักขระใหม่ หากไม่เป็นเช่นนั้น จะถือว่าเป็นพัลส์ปลอมและถูกละเลย หลังจากรอเวลาบิตเพิ่มเติม สถานะของสายจะถูกสุ่มตัวอย่างอีกครั้งและระดับที่ได้จะถูกส่งไปยังรีจิสเตอร์เลื่อน หลังจากผ่านจำนวนรอบบิตที่ต้องการสำหรับความยาวอักขระ (โดยทั่วไป 5 ถึง 8 บิต) เนื้อหาของรีจิสเตอร์เลื่อนจะพร้อมใช้งาน (ในลักษณะขนาน) สำหรับระบบรับ UART จะตั้งค่าแฟล็กเพื่อระบุว่ามีข้อมูลใหม่พร้อมใช้งาน และอาจสร้างการขัดจังหวะ ของโปรเซสเซอร์ เพื่อขอให้โปรเซสเซอร์โฮสต์ถ่ายโอนข้อมูลที่ได้รับ

UART ที่สื่อสารกันไม่มีระบบกำหนดเวลาที่ใช้ร่วมกันนอกเหนือจากสัญญาณการสื่อสาร โดยทั่วไป UART จะซิงโครไนซ์นาฬิกาภายในใหม่ทุกครั้งที่มีการเปลี่ยนแปลงของสายข้อมูลที่ไม่ถือว่าเป็นพัลส์ปลอม การรับข้อมูลเวลาในลักษณะนี้ทำให้สามารถรับสัญญาณได้อย่างน่าเชื่อถือเมื่อตัวส่งกำลังส่งด้วยความเร็วที่แตกต่างจากที่ควรจะเป็นเล็กน้อย UART แบบง่ายๆ ไม่ได้ทำเช่นนี้ แต่จะซิงโครไนซ์ใหม่เฉพาะที่ขอบขาลงของบิตเริ่มต้นเท่านั้น จากนั้นอ่านค่าตรงกลางของแต่ละบิตข้อมูลที่คาดหวัง และระบบนี้จะทำงานได้หากอัตราการส่งข้อมูลแบบบรอดแคสต์มีความแม่นยำเพียงพอที่จะทำให้สามารถสุ่มตัวอย่างบิตหยุดได้อย่างน่าเชื่อถือ[ 9 ] [ 10 ]

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

เครื่องส่งสัญญาณ

การทำงานของการส่งข้อมูลนั้นง่ายกว่า เนื่องจากไม่จำเป็นต้องกำหนดเวลาจากสถานะของสายสัญญาณ และไม่ผูกติดกับช่วงเวลาคงที่ใดๆ ทันทีที่ระบบส่งข้อมูลฝากอักขระลงในรีจิสเตอร์เลื่อน (หลังจากส่งอักขระก่อนหน้าเสร็จสิ้น) UART จะสร้างบิตเริ่มต้น เลื่อนบิตข้อมูลจำนวนที่ต้องการออกไปยังสายสัญญาณ สร้างและส่งบิตพาริตี (ถ้าใช้) และส่งบิตหยุด เนื่องจากการทำงานแบบฟูลดูเพล็กซ์ต้องการให้ส่งและรับอักขระพร้อมกัน UART จึงใช้รีจิสเตอร์เลื่อนสองตัวที่แตกต่างกันสำหรับอักขระที่ส่งและรับ UART ประสิทธิภาพสูงอาจมีบัฟเฟอร์ FIFO (first in, first out) สำหรับส่งข้อมูล เพื่อให้CPUหรือตัวควบคุม DMA สามารถฝากอักขระหลายตัวพร้อมกันลงใน FIFO แทนที่จะต้องฝากอักขระทีละตัวลงในรีจิสเตอร์เลื่อน เนื่องจากการส่งอักขระตัวเดียวหรือหลายตัวอาจใช้เวลานานเมื่อเทียบกับความเร็วของ CPU UART จึงรักษาสถานะแฟล็กที่แสดงสถานะไม่ว่าง เพื่อให้ระบบโฮสต์ทราบว่ามีอักขระอย่างน้อยหนึ่งตัวอยู่ในบัฟเฟอร์ส่งข้อมูลหรือรีจิสเตอร์เลื่อนหรือไม่ สัญญาณ "พร้อมสำหรับอักขระตัวถัดไป" อาจแสดงด้วยการขัดจังหวะได้เช่นกัน

แอปพลิเคชัน

การส่งและรับข้อมูลผ่าน UART ต้องตั้งค่าความเร็วบิต (อัตรา Baud), ความยาวอักขระ, พาริตี และจำนวนบิตหยุดให้เหมือนกันเพื่อให้ทำงานได้อย่างถูกต้อง UART ฝั่งรับอาจตรวจพบการตั้งค่าที่ไม่ตรงกันและตั้งค่าบิตบ่งชี้ "ข้อผิดพลาดในการจัดเฟรม" สำหรับระบบโฮสต์ ในกรณีพิเศษ UART ฝั่งรับอาจสร้างกระแสอักขระที่ผิดเพี้ยนและส่งไปยังระบบโฮสต์

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

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

นางแบบ

ชิ้นส่วนส่วนใหญ่ในตารางต่อไปนี้เลิกผลิตแล้ว ชิป Dual UART หรือDUARTรวม UART สองตัวไว้ในชิปเดียว ในทำนองเดียวกัน ชิป Quadruple UART หรือQUARTรวม UART สี่ตัวไว้ในแพ็คเกจเดียว เช่น NXP 28L194 และชิป Octal UART หรือOCTARTรวม UART แปดตัวไว้ในแพ็คเกจเดียว เช่นExar XR16L788 หรือ NXP SCC2698

แบบอย่างคำอธิบาย
WD1402A ชิป UART ตัวแรกที่วางจำหน่ายทั่วไป เปิดตัวประมาณปี 1971 ชิปที่ใช้งานร่วมกันได้ ได้แก่ Fairchild TR1402A และ General Instruments AY-5-1013 [ 11 ]
เอ็กซาร์ XR21V1410
อินเตอร์ซิล 6402
CDP 1854 (RCA ปัจจุบันคือ Intersil)
ซิล็อก Z8440 ตัวรับส่งสัญญาณแบบซิงโครนั สและอะซิงโครนัสสากล (USART) 2000 กิโลบิต/วินาทีอะซิงโครนัส, ไบซิง โครนัส , SDLC , HDLC , X.25 CRC บัฟเฟอร์ RX 4 ไบต์ บัฟเฟอร์ TX 2 ไบต์ ให้สัญญาณที่จำเป็นสำหรับ ตัวควบคุม DMA ของบุคคลที่สาม ในการดำเนินการถ่ายโอน DMA [ 12 ]
Z8530/Z85C30USART นี้มีบัฟเฟอร์รับข้อมูลขนาด 3 ไบต์และบัฟเฟอร์ส่งข้อมูลขนาด 1 ไบต์ มีฮาร์ดแวร์เพื่อเร่งการประมวลผล HDLC และ SDLC เวอร์ชัน CMOS (Z85C30) มีสัญญาณเพื่อให้ตัวควบคุม DMA ของบุคคลที่สามสามารถทำการถ่ายโอน DMA ได้ สามารถทำการสื่อสารแบบอะซิงโครนัส ซิงโครนัสระดับไบต์ และซิงโครนัสระดับบิตได้[ 13 ]
8250ล้าสมัยแล้วด้วยบัฟเฟอร์ขนาด 1 ไบต์ ความเร็วสูงสุดของพอร์ตอนุกรมมาตรฐานของ UART เหล่านี้คือ 9600 บิตต่อวินาที หากระบบปฏิบัติการมีความหน่วงแฝงของการขัดจังหวะ 1 มิลลิวินาที UART รุ่น 8250 ถูกใช้ในIBM PC 5150และ IBM PC/XT ในขณะที่ UART รุ่น 16450 ถูกใช้ใน คอมพิวเตอร์ IBM PC/ATซีรีส์ UART รุ่น 8251 มีความสามารถในการใช้งานเป็น USART ด้วย
8251
โมโตโรลา 6850
6551
ร็อคเวลล์ 65C52
16450
82510 UART ตัวนี้รองรับการทำงานแบบอะซิงโครนัสได้สูงสุด288 กิโลบิต/วินาทีโดยมี FIFO สองตัวที่ทำงานอิสระต่อกัน ขนาด 4 ไบต์ Intel ผลิตชิปตัวนี้อย่างน้อยตั้งแต่ปี 1993 ถึง 1996 และ Innovastic Semiconductor มีเอกสารข้อมูล (Data Sheet) สำหรับ IA82510 ในปี 2011
16550FIFO ของ UART รุ่นนี้มีปัญหา ดังนั้นจึงไม่สามารถทำงานด้วยความเร็วที่สูงกว่า UART รุ่น 16450 ได้อย่างปลอดภัย รุ่น 16550A และรุ่นที่ใหม่กว่าได้แก้ไขข้อบกพร่องนี้แล้ว
16550AUART นี้มีบัฟเฟอร์ FIFO ขนาด 16 ไบต์ ระดับทริกเกอร์การขัดจังหวะการรับสามารถตั้งค่าได้ที่ 1, 4, 8 หรือ 14 อักขระ ความเร็วพอร์ตอนุกรมมาตรฐานสูงสุดหากระบบปฏิบัติการมีความหน่วงในการขัดจังหวะ 1 มิลลิวินาทีคือ128 กิโลบิต/วินาทีระบบที่มีความหน่วงในการขัดจังหวะต่ำกว่าหรือมีตัวควบคุม DMA สามารถจัดการอัตรา Baud ที่สูงขึ้นได้ ชิปนี้สามารถให้สัญญาณที่จำเป็นเพื่อให้ตัวควบคุม DMA สามารถทำการถ่ายโอน DMA ไปและกลับจาก UART ได้หากโหมด DMA ที่ UART นี้แนะนำถูกเปิดใช้งาน[ 14 ]มันถูกนำเสนอโดย National Semiconductor ซึ่งถูกขายให้กับ Texas Instruments National Semiconductor อ้างว่า UART นี้สามารถทำงานได้ที่ความเร็วสูงสุด1.5 เมกะบิต/วินาที
16C552
16650UART นี้ได้รับการแนะนำโดย Startech Semiconductor ซึ่งปัจจุบันเป็นของ Exar Corporation และไม่เกี่ยวข้องกับ Startech.com รุ่นแรกๆ มีบัฟเฟอร์ FIFO ที่ชำรุด ดังนั้นจึงไม่สามารถทำงานให้เร็วกว่า UART 16450 ได้อย่างปลอดภัย[ 15 ]เวอร์ชันของ UART ที่ไม่ชำรุดมีบัฟเฟอร์ FIFO ขนาด 32 ตัวอักษร และสามารถทำงานได้ที่ความเร็วพอร์ตอนุกรมมาตรฐานสูงสุด 230.4 กิโลบิต/วินาที หากระบบปฏิบัติการมีความหน่วงแฝงของการขัดจังหวะ 1 มิลลิวินาที เวอร์ชันปัจจุบันของ UART นี้โดย Exar อ้างว่าสามารถจัดการได้ถึง 1.5 เมกะบิต/วินาที UART นี้แนะนำคุณสมบัติ Auto-RTS และ Auto-CTS ซึ่งสัญญาณ RTS# จะถูกควบคุมโดย UART เพื่อส่งสัญญาณไปยังอุปกรณ์ภายนอกให้หยุดการส่งเมื่อบัฟเฟอร์ของ UART เต็มถึงหรือเกินจุดทริกเกอร์ที่ผู้ใช้กำหนด และหยุดการส่งไปยังอุปกรณ์เมื่ออุปกรณ์ขับสัญญาณ CTS# ให้สูง (ลอจิก 0)
16750บัฟเฟอร์ขนาด 64 ไบต์ UART นี้สามารถรองรับความเร็วพอร์ตอนุกรมมาตรฐานสูงสุดที่460.8 กิโลบิต/วินาทีหากความหน่วงแฝงสูงสุดของการขัดจังหวะคือ 1 มิลลิวินาที UART นี้ได้รับการแนะนำโดย Texas Instruments (TI) TI อ้างว่ารุ่นแรกๆ สามารถทำงานได้ถึง1 เมกะบิต/วินาทีและรุ่นต่อมาในซีรีส์นี้สามารถทำงานได้ถึง3 เมกะบิต/วินาที
16850 บัฟเฟอร์ขนาด 128 ไบต์ UART นี้สามารถรองรับความเร็วพอร์ตอนุกรมมาตรฐานสูงสุดที่921.6 กิโลบิต/วินาทีหากความหน่วงแฝงสูงสุดของการขัดจังหวะคือ 1 มิลลิวินาที UART นี้ได้รับการแนะนำโดยบริษัท Exar Corporation Exar อ้างว่ารุ่นแรกๆ สามารถทำงานได้ถึง2 เมกะบิต/วินาทีและรุ่นต่อมาสามารถทำงานได้ถึง2.25 เมกะบิต/วินาทีขึ้นอยู่กับวันที่ผลิต
16C850
16950 บัฟเฟอร์ขนาด 128 ไบต์ UART รุ่นนี้ซึ่งปัจจุบันเลิกผลิตแล้ว สามารถรองรับความเร็วพอร์ตอนุกรมมาตรฐานสูงสุด921.6 กิโลบิต/วินาทีหากความหน่วงแฝงสูงสุดของการขัดจังหวะคือ 1 มิลลิวินาที UART นี้รองรับอักขระ 9 บิต นอกเหนือจากอักขระ 5 ถึง 8 บิตที่ UART อื่นๆ รองรับ UART นี้ถูกนำเสนอโดย Oxford Semiconductor ซึ่งต่อมาถูกซื้อกิจการโดย PLX Technology Oxford/PLX อ้างว่า UART นี้สามารถทำงานได้ถึง15 เมกะบิต/วินาทีรุ่น PCI Express ของ Oxford/PLX นั้นรวมเอาตัวควบคุม DMA PCIe แบบ bus mastering ของบริษัทเองไว้ด้วย ตัวควบคุม DMA นี้ใช้สัญญาณโหมด DMA ของ UART ที่กำหนดไว้สำหรับ 16550 ตัวควบคุม DMA ต้องการให้ CPU ตั้งค่าแต่ละธุรกรรมและตรวจสอบรีจิสเตอร์สถานะหลังจากเริ่มธุรกรรมเพื่อพิจารณาว่าธุรกรรมเสร็จสิ้นหรือไม่ แต่ละธุรกรรม DMA สามารถถ่ายโอนข้อมูลได้ระหว่าง 1 ถึง 128 ไบต์ระหว่างบัฟเฟอร์หน่วยความจำและ UART นอกจากนี้ PCI Express ยังช่วยให้ CPU สามารถถ่ายโอนข้อมูลระหว่างตัวเองกับ UART ด้วยการถ่ายโอนข้อมูลแบบ 8, 16 หรือ 32 บิต เมื่อใช้การตั้งค่า I/O แบบโปรแกรมได้
16C950
16954 ชิป 16950/16C950 รุ่นสี่พอร์ต มีบัฟเฟอร์ขนาด 128 ไบต์ UART รุ่นนี้ซึ่งปัจจุบันเลิกผลิตแล้ว สามารถรองรับความเร็วพอร์ตอนุกรมมาตรฐานสูงสุด921.6 กิโลบิต/วินาทีหากความหน่วงแฝงสูงสุดของการขัดจังหวะคือ 1 มิลลิวินาที UART นี้รองรับอักขระ 9 บิต นอกเหนือจากอักขระ 5 ถึง 8 บิตที่ UART อื่นๆ รองรับ ชิปนี้ถูกแนะนำโดย Oxford Semiconductor ซึ่งต่อมาถูกซื้อกิจการโดย PLX Technology Oxford/PLX อ้างว่า UART นี้สามารถทำงานได้ถึง15 เมกะบิต/วินาทีรุ่น PCI Express ของ Oxford/PLX นั้นรวมเอาตัวควบคุม DMA PCIe ที่เป็นของบริษัทเองไว้ด้วย ตัวควบคุม DMA นี้ถูกควบคุมโดยสัญญาณโหมด DMA ของ UART ที่กำหนดไว้สำหรับ 16550 ตัวควบคุม DMA ต้องการให้ CPU ตั้งค่าแต่ละธุรกรรมและตรวจสอบรีจิสเตอร์สถานะหลังจากเริ่มธุรกรรมเพื่อพิจารณาว่าธุรกรรมเสร็จสิ้นแล้วหรือไม่ การรับส่งข้อมูลแบบ DMA แต่ละครั้งสามารถถ่ายโอนข้อมูลได้ระหว่าง 1 ถึง 128 ไบต์ ระหว่างบัฟเฟอร์หน่วยความจำและ UART นอกจากนี้ เทคโนโลยี PCI Express ยังอนุญาตให้ CPU ถ่ายโอนข้อมูลระหว่างตัวเองและ UART ด้วยการถ่ายโอนข้อมูลแบบ 8, 16 หรือ 32 บิต เมื่อใช้การตั้งค่า I/O แบบโปรแกรม
16C954
16C1550/16C1551UART พร้อมบัฟเฟอร์ FIFO ขนาด 16 ไบต์ ความเร็วสูงสุด1.5 เมกะบิต/วินาที ST16C155X ไม่สามารถใช้งานร่วมกับมาตรฐานอุตสาหกรรม 16550 และจะไม่สามารถใช้งานร่วมกับไดรเวอร์พอร์ตอนุกรมมาตรฐานใน Microsoft Windows ได้
16C2450พอร์ต UART คู่ พร้อมบัฟเฟอร์ FIFO ขนาด 1 ไบต์
16C2550พอร์ต UART คู่ พร้อมบัฟเฟอร์ FIFO ขนาด 16 ไบต์ ใช้งานร่วมกับ 16C2450 ได้ทั้งในด้านขาและฟังก์ชันการทำงาน และใช้งานร่วมกับ INS8250 และ NS16C550 ในด้านซอฟต์แวร์
เอสซีซี2691 ปัจจุบันผลิตโดยNXP 2691 [ 10 ]เป็น UART แบบช่องสัญญาณเดียวที่มีตัวนับ/ตัวจับเวลาแบบโปรแกรมได้ด้วย 2691 มีรีจิสเตอร์เก็บข้อมูลตัวส่งขนาดไบต์เดียวและ FIFO รับขนาด 4 ไบต์ ความเร็วมาตรฐานสูงสุดของ 2692 คือ115.2 กิโลบิต/วินาที

28L91 เป็นเวอร์ชันที่เข้ากันได้กับ 2691 โดยมีคุณสมบัติเด่นคือ FIFO สำหรับส่งและรับข้อมูลขนาด 8 หรือ 16 ไบต์ที่เลือกได้ รองรับอัตราการส่งข้อมูลที่สูงขึ้นได้ดีขึ้น และมีลักษณะการทำงานของบัสที่เร็วขึ้น ทำให้ตัวอุปกรณ์นี้เหมาะสมกับการใช้งานร่วมกับไมโครโปรเซสเซอร์ประสิทธิภาพสูงมากขึ้น

ทั้ง 2691 และ 28L91 สามารถใช้งานใน โหมด TIA-422และTIA-485 ได้ และยังสามารถตั้งโปรแกรมเพื่อรองรับอัตราการส่งข้อมูลที่ไม่เป็นมาตรฐานได้อีกด้วย อุปกรณ์เหล่านี้ผลิตในแพ็คเกจ PDIP-40, PLCC-44 และ QFP 44 พิน และสามารถดัดแปลงให้เข้ากับ บัสของ MotorolaและIntel ได้อย่างง่ายดาย นอกจากนี้ยังได้รับการดัดแปลงให้เข้ากับ บัส 65C02และ65C816 ได้สำเร็จอีกด้วย 28L91 สามารถทำงานได้ที่แรงดัน 3.3 หรือ 5 โวลต์

เอสซีซี28แอล91
เอสซีซี2692 อุปกรณ์เหล่านี้ซึ่งปัจจุบันผลิตโดย NXP เป็นอุปกรณ์ UART คู่ (DUART) ประกอบด้วยช่องทางการสื่อสารสองช่อง รีจิสเตอร์ควบคุมที่เกี่ยวข้อง และตัวนับ/ตัวจับเวลาหนึ่งตัว แต่ละช่องทางการสื่อสารสามารถตั้งโปรแกรมได้อย่างอิสระและรองรับอัตราการส่งและรับข้อมูลที่เป็นอิสระต่อกัน

ชิป 2692 มีรีจิสเตอร์เก็บข้อมูลตัวส่งสัญญาณขนาด 1 ไบต์ และ FIFO รับสัญญาณขนาด 4 ไบต์สำหรับแต่ละช่องสัญญาณ ความเร็วมาตรฐานสูงสุดของทั้งสองช่องสัญญาณของชิป 2692 คือ115.2 กิโลบิต/วินาที

26C92 เป็นเวอร์ชันที่เข้ากันได้กับ 2692 โดยมี FIFO สำหรับส่งและรับขนาด 8 ไบต์ เพื่อประสิทธิภาพที่ดีขึ้นระหว่างการส่งข้อมูลแบบอะซิงโครนัสสองทิศทางต่อเนื่อง (CBAT) บนทั้งสองช่องสัญญาณที่ความเร็วมาตรฐานสูงสุด230.4 กิโลบิต/วินาทีตัวอักษร C ในหมายเลขชิ้นส่วน 26C92 ไม่เกี่ยวข้องกับกระบวนการผลิตแต่อย่างใด อุปกรณ์ UART ของ NXP ทั้งหมดเป็นอุปกรณ์ CMOS

28L92 เป็นเวอร์ชันที่เข้ากันได้กับ 26C92 โดยมีคุณสมบัติเด่นคือ FIFO สำหรับส่งและรับข้อมูลขนาด 8 หรือ 16 ไบต์ที่เลือกได้ รองรับอัตราการส่งข้อมูลที่สูงขึ้นได้ดีขึ้น และมีลักษณะการทำงานของบัสที่เร็วขึ้น ทำให้ตัวอุปกรณ์นี้เหมาะสมกับการใช้งานร่วมกับไมโครโปรเซสเซอร์ประสิทธิภาพสูงมากขึ้น

ไอซีรุ่น 2692, 26C92 และ 28L92 สามารถทำงานได้ในโหมด TIA-422 และ TIA-485 และยังสามารถตั้งโปรแกรมเพื่อรองรับอัตราการส่งข้อมูลที่ไม่เป็นมาตรฐานได้อีกด้วย อุปกรณ์เหล่านี้ผลิตในแพ็คเกจ PDIP-40, PLCC-44 และ QFP 44 พิน และสามารถดัดแปลงให้เข้ากับบัสของ Motorola และ Intel ได้อย่างง่ายดาย นอกจากนี้ยังได้รับการดัดแปลงให้เข้ากับบัส 65C02 และ 65C816 ได้สำเร็จอีกด้วย ไอซีรุ่น 28L92 สามารถทำงานได้ที่แรงดัน 3.3 หรือ 5 โวลต์

SC26C92
SC28L92
SCC28C94ปัจจุบันชิป 28C94 quadruple UART (QUART) ซึ่งผลิตโดย NXP นั้น มีฟังก์ชันการทำงานคล้ายกับชิป SCC26C92 DUART สองตัวที่ติดตั้งอยู่ในแพ็คเกจเดียวกัน โดยเพิ่มระบบอินเตอร์รัปต์แบบจัดสรร (arbitrated interrupt system) เพื่อการประมวลผลที่มีประสิทธิภาพในช่วงที่มีการใช้งานช่องสัญญาณอย่างหนัก มีสัญญาณเพิ่มเติมบางส่วนเพื่อรองรับคุณสมบัติการจัดการอินเตอร์รัปต์ และการจัดเรียงพินอินพุต/เอาต์พุตเสริมแตกต่างจากของ 26C92 อย่างไรก็ตาม รูปแบบการเขียนโปรแกรมสำหรับ 28C94 นั้นคล้ายกับของ 26C92 โดยต้องการเพียงการเปลี่ยนแปลงโค้ดเล็กน้อยเพื่อใช้งานคุณสมบัติทั้งหมดได้อย่างเต็มที่ 28C94 รองรับความเร็วมาตรฐานสูงสุด230.4 กิโลบิต/วินาทีมีจำหน่ายในแพ็คเกจ PLCC-52 และสามารถปรับใช้กับบัสของ Motorola และ Intel ได้อย่างง่ายดาย นอกจากนี้ยังได้รับการปรับใช้กับบัส 65C816 ได้สำเร็จอีกด้วย
เอสซีซี2698บีปัจจุบัน NXP เป็นผู้ผลิต UART แบบอ็อกทัล 2698 (OCTART) ซึ่งโดยพื้นฐานแล้วคือ DUART SCC2692 สี่ตัวรวมอยู่ในแพ็คเกจเดียว คุณสมบัติทางเทคนิคเหมือนกับ SCC2692 (ไม่ใช่ SCC26C92) เนื่องจากไม่มี FIFO สำหรับส่งสัญญาณและ FIFO สำหรับรับสัญญาณมีขนาดเล็ก 2698 อาจทำให้เกิด "พายุ" การขัดจังหวะได้หากทุกช่องสัญญาณถูกใช้งานพร้อมกันในการสื่อสารแบบสองทิศทางอย่างต่อเนื่อง อุปกรณ์นี้ผลิตในแพ็คเกจ PDIP-64 และ PLCC-84 และสามารถดัดแปลงให้เข้ากับบัสของ Motorola และ Intel ได้อย่างง่ายดาย นอกจากนี้ 2698 ยังได้รับการดัดแปลงให้เข้ากับบัส 65C02 และ 65C816 ได้สำเร็จอีกด้วย
SCC28L198ปัจจุบันชิป 28L198 OCTART ผลิตโดย NXP โดยพื้นฐานแล้วเป็นการพัฒนาต่อยอดจาก SCC28C94 QUART ที่กล่าวถึงข้างต้น โดยมีช่องสัญญาณสื่อสารอิสระแปดช่อง รวมถึงระบบขัดจังหวะแบบจัดสรรเพื่อการประมวลผลที่มีประสิทธิภาพในช่วงที่มีการใช้งานช่องสัญญาณอย่างหนัก 28L198 รองรับความเร็วมาตรฐานสูงสุด460.8 กิโลบิต/วินาทีมีให้เลือกในแพ็คเกจ PLCC-84 และ LQFP-100 และสามารถดัดแปลงให้เข้ากับบัสของ Motorola และ Intel ได้อย่างง่ายดาย 28L198 สามารถทำงานได้ที่แรงดัน 3.3 หรือ 5 โวลต์
Z85230โหมดซิงโครนัส/อะซิงโครนัส (USART) [ 16 ] 2 พอร์ต ให้สัญญาณที่จำเป็นสำหรับตัวควบคุม DMA ของบุคคลที่สามในการดำเนินการถ่ายโอน DMA บัฟเฟอร์ 4 ไบต์สำหรับการส่ง บัฟเฟอร์ 8 ไบต์สำหรับการรับต่อช่องสัญญาณ โหมด SDLC/HDLC 5 Mbit/sในโหมดซิงโครนัส
เฮย์ส เอสพีบัฟเฟอร์ 1 KB , 921.6 kbit/s , 8 พอร์ต[ 17 ]
Exar XR17V352, XR17V354 และ XR17V358หน่วยความจำ UART แบบ Dual, Quad และ Octal PCI Express พร้อมชุดรีจิสเตอร์ที่เข้ากันได้กับ 16550, FIFO สำหรับส่งและรับข้อมูลขนาด 256 ไบต์, ระดับทริกเกอร์สำหรับส่งและรับข้อมูลที่ตั้งโปรแกรมได้, ตัวนับระดับ FIFO สำหรับส่งและรับข้อมูล, ตัวสร้างอัตรา Baud แบบเศษส่วน, การควบคุมการไหลของฮาร์ดแวร์อัตโนมัติแบบ RTS/CTS หรือ DTR/DSR พร้อมฮิสเทอรีซิสที่ตั้งโปรแกรมได้, การควบคุมการไหลของซอฟต์แวร์อัตโนมัติแบบ Xon/Xoff, เอาต์พุตควบคุมทิศทางแบบ Half Duplex RS-485 พร้อมการหน่วงเวลาการกลับทิศทางที่ตั้งโปรแกรมได้, Multi-drop พร้อมการตรวจจับที่อยู่แบบอัตโนมัติ, ตัวเข้ารหัส/ถอดรหัสข้อมูลอินฟราเรด (IrDA 1.1) โดยระบุความเร็วสูงสุดที่25 Mbit/sเอกสารข้อมูลมีวันที่ระบุไว้คือปี 2012
Exar XR17D152, XR17D154 และ XR17D158บัส UART แบบ Dual, Quad และ Octal PCI พร้อมชุดรีจิสเตอร์ 5G ที่เข้ากันได้กับ 16C550, FIFO สำหรับส่งและรับข้อมูลขนาด 64 ไบต์, ตัวนับระดับ FIFO สำหรับส่งและรับข้อมูล, ระดับทริกเกอร์ FIFO สำหรับส่งและรับข้อมูลที่ตั้งโปรแกรมได้, การควบคุมการไหลแบบ RTS/CTS หรือ DTR/DSR อัตโนมัติ, การควบคุมการไหลแบบซอฟต์แวร์ Xon/Xoff อัตโนมัติ, เอาต์พุตควบคุม RS485 HDX พร้อมการหน่วงเวลาแบบเลือกได้, ตัวเข้ารหัส/ถอดรหัสข้อมูลอินฟราเรด (IrDA 1.0), อัตราข้อมูลที่ตั้งโปรแกรมได้พร้อมตัวแบ่งความถี่, อัตราข้อมูลอนุกรมสูงสุด6.25 Mbit/sเอกสารข้อมูลมีวันที่ระบุไว้คือปี 2004 และ 2005
Exar XR17C152, XR17C154 และ XR17C158วงจร UART แบบ Dual, Quad และ Octal 5 V PCI bus พร้อมรีจิสเตอร์ที่เข้ากันได้กับ 16C550, FIFO สำหรับส่งและรับข้อมูลขนาด 64 ไบต์, ตัวนับระดับ FIFO สำหรับส่งและรับข้อมูล, การควบคุมการไหลแบบ RTS/CTS หรือ DTR/DSR อัตโนมัติ, การควบคุมการไหลแบบซอฟต์แวร์ Xon/Xoff อัตโนมัติ, การควบคุมแบบ Half-duplex RS485 พร้อมการหน่วงเวลาที่เลือกได้, ตัวเข้ารหัส/ถอดรหัสข้อมูลอินฟราเรด (IrDA 1.0), อัตราข้อมูลที่ตั้งโปรแกรมได้พร้อมตัวแบ่งความถี่, อัตราข้อมูลอนุกรมสูงสุด6.25 Mbit/sเอกสารข้อมูลมีวันที่ระบุไว้คือปี 2004 และ 2005
Exar XR17V252, XR17V254 และ XR17V258วงจรประกอบด้วย UART แบบ Dual, Quad และ Octal ความเร็ว 66 MHz บนบัส PCI พร้อมระบบจัดการพลังงาน, ชุดรีจิสเตอร์ที่เข้ากันได้กับ 16C550, FIFO สำหรับส่งและรับข้อมูลขนาด 64 ไบต์ พร้อมตัวนับระดับและระดับทริกเกอร์ที่ตั้งโปรแกรมได้, ตัวสร้างอัตราการส่งข้อมูลแบบเศษส่วน, การควบคุมการไหลของข้อมูลด้วยฮาร์ดแวร์แบบอัตโนมัติ RTS/CTS หรือ DTR/DSR พร้อมฮิสเทอรีซิสที่ตั้งโปรแกรมได้, การควบคุมการไหลของข้อมูลด้วยซอฟต์แวร์แบบอัตโนมัติ Xon/Xoff, เอาต์พุตควบคุมทิศทางแบบครึ่งดูเพล็กซ์ RS-485 พร้อมการหน่วงเวลาการกลับทิศทางที่เลือกได้, ตัวเข้ารหัส/ถอดรหัสข้อมูลอินฟราเรด (IrDA 1.0), อัตราการส่งข้อมูลที่ตั้งโปรแกรมได้พร้อมพรีสเกลเลอร์ เอกสารข้อมูลมีวันที่ระบุไว้คือปี 2008 และ 2010
ASIX AS99100 และ AS99100Aชิป PCIe สามารถทำงานได้ 4 โหมดที่แตกต่างกัน ได้แก่ โหมด QUART, โหมด DUART และพอร์ตขนาน, โหมด DUART และ อินเทอร์เฟซ SPI (ซึ่ง AS99100A สามารถเชื่อมต่อกับ SPI flash ROM ได้) หรือ บัสแบบ ISAโหมดอื่นๆ นอกเหนือจากโหมด PCIe ไปยังบัสแบบ ISA จะมี พิน GPIO เพิ่มเติม UART ในแต่ละโหมด ยกเว้นโหมดบริดจ์บัสแบบ ISA จะมี FIFO ขนาด 256 ไบต์สำหรับแต่ละทิศทาง รองรับการถ่ายโอนข้อมูลแบบ DMA burst และรองรับอัตราการส่งข้อมูลแบบสองทิศทางสูงสุด 25 Mbit/s ต่อพอร์ตอนุกรม

การใช้งาน

โมเด็มบางรุ่นสำหรับคอมพิวเตอร์ส่วนบุคคลที่เสียบเข้ากับสล็อตบนเมนบอร์ดจะมีฟังก์ชัน UART อยู่ในตัวการ์ด ชิป UART 8250 รุ่นดั้งเดิมที่มาพร้อมกับคอมพิวเตอร์ส่วนบุคคลของ IBM มีบัฟเฟอร์ขนาดหนึ่งตัวอักษรสำหรับทั้งตัวรับและตัวส่ง ซึ่งหมายความว่าซอฟต์แวร์การสื่อสารทำงานได้ไม่ดีที่ความเร็วสูงกว่า9600 บิต/วินาทีโดยเฉพาะอย่างยิ่งหากทำงานภายใต้ระบบมัลติทาสก์หรือหากต้องจัดการกับการขัดจังหวะจากตัวควบคุมดิสก์ โมเด็มความเร็วสูงใช้ UART ที่เข้ากันได้กับชิปรุ่นดั้งเดิม แต่มีบัฟเฟอร์ FIFO เพิ่มเติม ทำให้ซอฟต์แวร์มีเวลามากขึ้นในการตอบสนองต่อข้อมูลที่เข้ามา

การพิจารณาข้อกำหนดด้านประสิทธิภาพที่อัตราบิตสูงแสดงให้เห็นว่าเหตุใด FIFO ขนาด 16, 32, 64 หรือ 128 ไบต์จึงมีความจำเป็น ข้อกำหนดของ Microsoft สำหรับระบบ DOS กำหนดว่าการขัดจังหวะจะต้องไม่ถูกปิดใช้งานนานเกิน 1 มิลลิวินาทีในแต่ละครั้ง ฮาร์ดดิสก์ไดรฟ์และตัวควบคุมวิดีโอบางตัวละเมิดข้อกำหนดนี้ อัตรา 9600 บิต/วินาทีจะส่งอักขระประมาณทุกมิลลิวินาที ดังนั้น FIFO ขนาด 1 ไบต์จึงน่าจะเพียงพอที่อัตรานี้ในระบบ DOS ที่ตรงตามเวลาปิดใช้งานการขัดจังหวะสูงสุด อัตราที่สูงกว่านี้อาจได้รับอักขระใหม่ก่อนที่อักขระเก่าจะถูกดึงมา ทำให้ตัวอักขระเก่าหายไป ซึ่งเรียกว่าข้อผิดพลาดโอเวอร์รันและส่งผลให้สูญเสียอักขระหนึ่งตัวหรือมากกว่านั้น

FIFO ขนาด 16 ไบต์ ช่วยให้สามารถรับข้อมูลได้สูงสุด 16 ตัวอักษร ก่อนที่คอมพิวเตอร์จะต้องจัดการกับการขัดจังหวะ ซึ่งจะเพิ่มอัตราบิตสูงสุดที่คอมพิวเตอร์สามารถประมวลผลได้อย่างน่าเชื่อถือจาก 9600 เป็น153,000 บิต/วินาทีหากมีเวลาหน่วงการขัดจังหวะ 1 มิลลิวินาที FIFO ขนาด 32 ไบต์ จะเพิ่มอัตราสูงสุดเป็นมากกว่า300,000 บิต/วินาทีข้อดีประการที่สองของการมี FIFO คือ คอมพิวเตอร์ต้องจัดการกับการขัดจังหวะเพียงประมาณ 8 ถึง 12% เท่านั้น ทำให้มีเวลา CPU มากขึ้นสำหรับการอัปเดตหน้าจอหรือทำงานอื่นๆ ดังนั้น การตอบสนองของคอมพิวเตอร์ก็จะดีขึ้นด้วย

การจำลอง

เนื่องจาก โปรโตคอลการสื่อสารของ UART นั้นเรียบง่าย จึงสามารถจำลองได้โดยการส่งข้อมูลบิต ไปยัง พินGPIO ในซอฟต์แวร์ บน ไมโครคอนโทรลเลอร์สมัยใหม่(เช่นArduino [ 18 ]หรือTeensy [ 19 ] ) หรือบนเครื่องสถานะI/O ที่ตั้งโปรแกรมได้ (เช่นPIO ของRaspberry Pi Pico [ 20 ] [ 21 ]หรือFlexIO ของNXP [ 22 ] )

ดูเพิ่มเติม

อ่านเพิ่มเติม

  • คู่มือพอร์ตอนุกรมฉบับสมบูรณ์: พอร์ต COM, พอร์ต COM เสมือน USB และพอร์ตสำหรับระบบฝังตัว ; ฉบับที่ 2; แจน แอ็กเซลสัน; เลควิว รีเสิร์ช; 380 หน้า; 2007; ISBN 978-1-931-44806-2.
  • Serial Port Complete: Programming and Circuits for RS-232 and RS-485 Links and Networks ; ฉบับพิมพ์ครั้งที่ 1; Jan Axelson; Lakeview Research; 306 หน้า; 1998; ISBN 978-0-965-08192-4.
  • พอร์ตอนุกรมและไมโครคอนโทรลเลอร์: หลักการ วงจร และรหัสต้นฉบับ ; ฉบับพิมพ์ครั้งที่ 1; Grzegorz Niemirowski; CreateSpace; 414 หน้า; 2013; ISBN 978-1-481-90897-9.
  • การเขียนโปรแกรมแบบอนุกรม (วิกิบุ๊ก )
  • คู่มือ FreeBSD Serial และ UARTประกอบด้วยคำจำกัดความของสัญญาณมาตรฐาน ประวัติของไอซี UART และแผนผังขาของขั้วต่อ DB25 ที่ใช้กันทั่วไป
  • คู่มือการใช้งาน UART สำหรับหุ่นยนต์ประกอบด้วยตัวอย่างการใช้งานจริงมากมาย
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Universal_asynchronous_receiver-transmitter&oldid=1359981200 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ตัวรับส่งสัญญาณแบบอะซิงโครนัสสากล

ตัว รับส่งสัญญาณอะซิงโครนัสสากล ( UART / ˈ juː ɑːr t / ) เป็นอุปกรณ์ต่อพ่วงสำหรับ การสื่อสารแบบอนุกรมอะซิงโครนัส ซึ่งสามารถกำหนดค่ารูปแบบข้อมูลและความเร็วในการส่งได้ โดยจะส่ง บิต...

ประวัติศาสตร์

ระบบ โทรเลข ยุคแรกบางระบบใช้พัลส์ที่มีความยาวแปรผันได้ (เช่นเดียวกับ รหัสมอร์ส ) และกลไกนาฬิกาแบบหมุนเพื่อส่งตัวอักษร อุปกรณ์สื่อสารแบบอนุกรมรุ่นแรก (ที่มีพัลส์ความยาวคงที่) คือสวิตช์เชิงกลแบบหมุน ( คอมมิวเทเตอร์ ) รหัสตัวอักษร ต่างๆ ที่ใช้บิตข้อมูล 5, 6, 7...

การส่งและรับข้อมูลอนุกรม

หน่วย UART ประกอบด้วยส่วนประกอบดังต่อไปนี้:

ตัวรับสัญญาณ

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