USB แทน RS232


13

RS232 ไม่เป็นที่นิยมเนื่องจากเคยเป็นและส่วนใหญ่ถูกแทนที่ด้วย USB [ วิกิพีเดีย ] ปัญหาต่าง ๆ ที่กล่าวถึงในคำถามนี้ไม่ได้ช่วยชื่อเสียง

ในการออกแบบระบบใหม่ใคร ๆ ก็นึกถึงการใช้ USB แทน Serial Port เพื่อการสื่อสาร อย่างไรก็ตามดูเหมือนว่า RS232 เป็นโปรโตคอลการสื่อสารแบบอนุกรม / พอร์ตที่เลือก

ทำไมถึงเป็นอย่างนั้น? ฉันเข้าใจว่าการเปลี่ยนเครื่องจักรเก่าที่ทำงานกับ RS232 นั้นมีค่าใช้จ่ายสูง แต่สิ่งที่ป้องกันผู้ออกแบบระบบใหม่จากการใช้ USB แทนที่จะเป็น RS232

คำตอบ:


12

อย่างน้อยในระดับไมโครคอนโทรลเลอร์:

  1. พอร์ตอนุกรม (โดยทั่วไปคือ TTL หรือ LVTTL) ยังคงเป็นวิธีที่ใช้กันทั่วไปในการสื่อสารเนื่องจากไมโครคอนโทรลเลอร์ส่วนใหญ่ไม่มีตัวควบคุม USB

    ตัวอย่างเช่น: ไมโครคอนโทรลเลอร์คอนโทรลเลอร์ AVR หรือ PIC แบบ 8 บิตส่วนใหญ่ไม่มี USB ไมโครคอนโทรลเลอร์ ARM 32 บิตบางตัวทำ แต่มักจะมีพอร์ตอนุกรม

  2. การแปลงจากการสื่อสารแบบอนุกรม TTL / LVTTL เป็น RS-232 ต้องการการแปลงระดับตรรกะ "แบบง่าย" ซึ่งสามารถทำได้ด้วยไอซีราคาถูกมาก (MAX232 / MAX3232)

  3. การแปลงจากการสื่อสารแบบอนุกรม TTL / LVTTL เป็น USB เมื่อไมโครคอนโทรลเลอร์ของคุณไม่มีคอนโทรลเลอร์ USB มักจะต้องใช้ IC (FTDI) ที่แพงกว่าเล็กน้อยซึ่งไม่มีตัวเลือกบรรจุภัณฑ์ผ่านรูเพียงแค่ยึดพื้นผิวเท่านั้น

  4. มีรายละเอียดเล็กน้อยเกี่ยวกับโปรโตคอลที่ต้องใส่ใจเมื่อใช้อุปกรณ์ USB โดยทั่วไปเช่นระดับปัจจุบันที่อาจขอจากโฮสต์ USB ด้วยพอร์ตอนุกรมคุณเพียงแค่ต้องกังวลเกี่ยวกับพารามิเตอร์คงที่ 3 ถึง 5 ที่จะต้องสอดคล้องในระบบของคุณ (baudrate, # ของบิตหยุด, พาริตี้ ฯลฯ )


9

ความเรียบง่ายฉันเดา การติดตั้ง USB (ชิปและซอฟต์แวร์ไดรเวอร์) มักจะซับซ้อนกว่า RS232 ที่ดีซึ่งสามารถพบได้ในไมโครคอนโทรลเลอร์ 8 บิต ในขณะที่ USB มีกลไกโปรโตคอลจำนวนมากและได้รับการออกแบบมาเพื่อจัดการกับผู้เข้าร่วมจำนวนมากบนรถบัสการเชื่อมต่อ RS232 ไม่มีสิ่งใดเลย แต่เป็นรูปแบบ "rawest" ที่เป็นไปได้ในการส่งไบต์ผ่านการโยง

แม้ว่า Arduino และการเพิ่มการแพร่กระจายของอะแดปเตอร์ USB เป็นอนุกรมแสดงสัญญาว่าในที่สุด USB ก็จะกลายเป็นที่โดดเด่นเป็น RS232 เคยเป็น


5

ฉันคิดว่าเหตุผลที่ดีที่สุดที่ RS232 ยังคงมีอยู่คือความเรียบง่ายในการใช้งานเคสทั่วไปในฮาร์ดแวร์แบบฝังตัวเช่นการส่ง ASCII แบบไบต์ต่อเนื่องระหว่างอุปกรณ์สองเครื่องสำหรับควบคุม การใช้กรณีสำหรับการส่งข้อมูลที่ความเร็วสูงมากสามารถใช้ได้กับ USB จะไม่คุ้มค่าการปิดในความซับซ้อนที่เกิดจากการดำเนินการส่งสัญญาณโปรโตคอล USB ของ

ตามข้อกำหนดสำหรับความเร็วที่สูงขึ้นฉันจะไม่แปลกใจถ้าRS-485กลายเป็นเรื่องธรรมดามากขึ้นเพราะมีส่วนต่อประสานทางกายภาพที่เรียบง่ายและอัตราการส่งข้อมูลสูง (สูงสุด 10Mb / s)


4
  • ความเรียบง่ายสำหรับนักออกแบบฮาร์ดแวร์และการใช้งานง่ายสำหรับโปรแกรมเมอร์
  • ความเชื่อถือได้
  • เป็นที่รู้จักและรองรับในหลายระบบ

เป็นพิเศษในหุ่นยนต์เมื่อเราบังคับให้ใช้ USB แทน RS232 (พีซีเครื่องใหม่ของเราไม่มีพอร์ต RS232) เราประสบปัญหามากมาย:

  1. การตัดการเชื่อมต่อซ็อกเก็ต USB ใด ๆ ต้องใช้ความพยายามอย่างมากในการกู้คืนระบบ บางครั้งมันนำไปสู่ข้อผิดพลาดของระบบที่ไม่ดีและเราต้องรีสตาร์ทพีซี

  2. การกระแทกหรืออันตรายใด ๆ ทำให้ไม่ได้เสียบปลั๊ก

  3. เวลาในการเขียนโปรแกรมมากเกินไป


2

เวลาแฝงในการติดต่อสื่อสารเป็นอีกสาเหตุหนึ่งที่ทำให้ USB1.1 หรือ USB2.0 ไม่สามารถทดแทน RS232 ได้ดีเสมอไป ข้อมูลบนบัส USB1.1 หรือ USB2.0 ถูกจัดรูปแบบเป็น 1ms หรือ 125us เฟรมตามลำดับซึ่งบังคับให้ขั้นต่ำที่ได้รับเพื่อส่งเวลาแฝงที่มีค่าเท่ากับสองช่วงเวลาของเฟรม นี่คือการพิจารณาที่สำคัญสำหรับฮาร์ดแวร์พีซีที่ทันสมัยซึ่งมักจะไม่มีพอร์ต RS232 ในตัวและใช้ตัวแปลง USB / RS232 แทน

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