半双工串行连接的含义是什么?

发布于 2024-07-18 04:48:29 字数 81 浏览 10 评论 0原文

使用半双工串行连接与全双工串行连接相比有何影响? 如果双方同时尝试发送数据会发生什么? 最终两端都会收到损坏的数据吗? 流量控制对你有帮助吗?

What are the implications of using a half-duplex serial connection versus a full-duplex one? What happens if both sides try sending data at the same time? Do you end up with corrupt data arriving on both ends? Does flow-control help you with this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

残龙傲雪 2024-07-25 04:48:29

线上的数据会出现乱码,这可能会也可能不会导致设备接收到乱码数据。 有时这将用于检测由于冲突而导致传输失败。

通常,您不会像全双工那样使用半双工以异步模式发送单个字符。 相反,您可以使用某种数据包协议来确定谁有权在何时发送,并包含一些校验和(通常是 CRC)来检测损坏。

流量控制对此没有太大帮助。 其目的是确保接收器不会被过多的数据淹没。 软件流控制使用 ASCII 字符 XON 和 XOFF 来启动和停止传输,硬件流控制使用 RTS(请求发送)和 CTS(清除发送)控制线。 XON/XOFF 类型的软件流量控制不适用于半双工。

如今,普通 RS-232 和调制解调器已看不到半双工(我在 80 年代将其与声耦合器一起使用,即使在当时也很少见)。 但比较常见的是RS-485,用于工业控制,协议多样。 还有许多其他数据传输标准以半双工方式运行,主要是当有两个以上的设备连接到同一条线路时(古老的 10base2 以太网、CAN、LIN、FlexRay、I2C...)。

On the line the data will be garbled, which may or may not lead to devices receiving the garbled data. Sometimes this will be used to detect that the transmission failed due to a collision.

Normally you wouldn't use half-duplex in the same way as full-duplex to send single characters in asynchronous mode. Rather you'd use some packet protocol which determines who has the right to send at which times, and which includes some checksum (usually a CRC) to detect corruption.

Flow control doesn't help much for this. It's purpose is to ensure that the receiver is not overrun by to much data. There is software flow control which uses the ASCII characters XON and XOFF to start and stop transmission, and hardware flow control which uses the RTS (Request To Send) and CTS (Clear To Send) control lines. XON/XOFF-style software flow control won't work with half duplex.

These days you don't see half duplex with ordinary RS-232 and modems (I used it with acoustic couplers in the eighties, it was rare even then). But it is common for RS-485, which is used in industrial control with various protocols. There are also many other data transmission standards which operate in a half-duplex way, mostly when there are more than two devices attached to the same line (ancient 10base2 Ethernet, CAN, LIN, FlexRay, I2C, ...).

一向肩并 2024-07-25 04:48:29

天哪,在这个时代你在哪里找到半双工线路?

不管怎样,答案是,如果两端都驱动线路,那么一切都会变得混乱。 因此,有指定的 ASCII 字符清除发送和数据终端就绪(CTS 和 DTR),用于进行握手。 有关详细信息,请参阅本教程

噢,我应该去睡觉了。 教程正确,我愚钝。

My God, where did you find a half-duplex line in this day and age?

Anyway, the answer is that if both ends drive the line, it gets all confused. For this reason, there are specified ASCII characters lie Clear to Send and Data Terminal Ready (CTS and DTR) that are used to make a handshake. See this tutorial for more.

Augh, I should have gone to bed. Tutorial right, me stoopid.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文