- 1.串口通讯流控制
-
-
- 答案:
- 我们在串行通讯处理中,常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通RS232编程,了解一点这方面的知识是有好处的。那么,流控制在串行通讯中有何作用,在编制串行通讯程序怎样应用呢?这里我们就来谈谈这个问题。
1.流控制在串行通讯中的作用 这里讲到的“流”,当然指的是数据流。数据在两个串口之间传输时,常常会出现丢失数据的现象,或者两台计算机的处理速度不同,如台式机与单片机之间的通讯,接收端数据缓冲区已满,则此时继续发送来的数据就会丢失。现在我们在网络上通过MODEM进行数据传输,这个问题就尤为突出。流控制能解决这个问题,当接收端数据处理不过来时,就发出“不再接收”的信号,发送端就停止发送,直到收到“可以继续发送”的信号再发送数据。因此流控制可以控制数据传输的进程,防止数据的丢失。 PC机中常用的两种流控制是硬件流控制(包括RTS/CTS、DTR/CTS等)和软件流控制XON/XOFF(继续/停止),下面分别说明。
2.硬件流控制 硬件流控制常用的有RTS/CTS流控制和DTR/DSR(数据终端就绪/数据设置就绪)流控制。 硬件流控制必须将相应的电缆线连上,用RTS/CTS(请求发送/清除发送)流控制时,应将通讯两端的RTS、CTS线对应相连,数据终端设备(如计算机)使用RTS来起始调制解调器或其它数据通讯设备的数据流,而数据通讯设备(如调制解调器)则用CTS来起动和暂停来自计算机的数据流。这种硬件握手方式的过程为:我们在编程时根据接收端缓冲区大小设置一个高位标志(可为缓冲区大小的75%)和一个低位标志(可为缓冲区大小的25%),当缓冲区内数据量达到高位时,我们在接收端将CTS线置低电平(送逻辑0),当发送端的程序检测到CTS为低后,就停止发送数据,直到接收端缓冲区的数据量低于低位而将CTS置高电平。RTS则用来标明接收设备有没有准备好接收数据。 常用的流控制还有还有DTR/DSR(数据终端就绪/数据设置就绪)。我们在此不再详述。由于流控制的多样性,我个人认为,当软件里用了流控制时,应做详细的说明,如何接线,如何应用。
3.软件流控制 由于电缆线的限制,我们在普通的控制通讯中一般不用硬件流控制,而用软件流控制。一般通过XON/XOFF来实现软件流控制。常用方法是:当接收端的输入缓冲区内数据量超过设定的高位时,就向数据发送端发出XOFF字符(十进制的19或Control-S,设备编程说明书应该有详细阐述),发送端收到XOFF字符后就立即停止发送数据;当接收端的输入缓冲区内数据量低于设定的低位时,就向数据发送端发出XON字符(十进制的17或Control-Q),发送端收到XON字符后就立即开始发送数据。一般可以从设备配套源程序中找到发送的是什么字符。 应该注意,若传输的是二进制数据,标志字符也有可能在数据流中出现而引起误操作,这是软件流控制的缺陷,而硬件流控制不会有这个问题。
- 此FAQ对你有帮助吗?[ 是 | 否 ] | 收藏 | 来源:Myprice价格网
- 2.奇偶校验
-
-
- 答案:
- 串行数据在传输过程中,由于干扰可能引起信息的出错,例如,传输字符‘E’,其各位为:
0100,0101=45H
D7 D0
由于干扰,可能使位变为1,这种情况,我们称为出现了“误码”。我们把如何发现传输中的错误,叫“检错”。发现错误后,如何消除错误,叫“纠错”。
最简单的检错方法是“奇偶校验”,即在传送字符的各位之外,再传送1位奇/偶校验位。可采用奇校验或偶校验。
奇校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为奇数,如:
1 0110,0101
0 0110,0001
偶校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为偶数,如:
1 0100,0101
0 0100,0001 - 此FAQ对你有帮助吗?[ 是 | 否 ] | 收藏 | 来源:Myprice价格网
- 3.串口调试中要注意的几点
-
-
- 答案:
- 串口调试时,准备一个好用的调试工具,如串口调试助手、串口精灵等,有事半功倍之效果; 强烈建议不要带电插拨串口,插拨时至少有一端是断电的,否则串口易损坏。
单工、半双工和全双工的定义。如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。
如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。电话线就是二线全双工信道。 由于采用了回波抵消技术,双向的传输信号不致混淆不清。双工信道有时也将收、发信道分开,采用分离的线路或频带传输相反方向的信号,如回线传输。
- 此FAQ对你有帮助吗?[ 是 | 否 ] | 收藏 | 来源:Myprice价格网
- 4.RS232C串口通信接线方法(三线制)
-
-
- 5.DB9和DB25的常用信号脚说明
-
-
- 答案:
- 9针串口(DB9) 25针串口(DB25)
针号 功能说明 缩写 针号 功能说明 缩写
1 数据载波检测 DCD 8 数据载波检测 DCD
2 接收数据 RXD 3 接收数据 RXD
3 发送数据 TXD 2 发送数据 TXD
4 数据终端准备 DTR 20 数据终端准备 DTR
5 信号地 GND 7 信号地 GND
6 数据设备准备好 DSR 6 数据准备好 DSR
7 请求发送 RTS 4 请求发送 RTS
8 清除发送 CTS 5 清除发送 CTS
9 振铃指示 DELL 22 振铃指示 DELL
- 此FAQ对你有帮助吗?[ 是 | 否 ] | 收藏 | 来源:Myprice价格网
- 6.贵公司的串口隔离器是如何保护串口的?
-
-
- 7.为什么RS-232通信接口容易损坏?
-
-
- 答案:
- RS-232接口标准是一种广泛的普及标准,但此标准推出较早,在现代金融,保险,电信,电子化网络已暴露出明显的问题。一是:两串口设备间收发信号不隔离,经过较长电缆,且直接连一起,信号线上有直流电位差,使信号线易受外界干扰。另一个是:传输距离短一般为15米,即使在理想的条件下,电缆长度也不会超过60米。又因为多用户卡往往要接若干个终端,且串口数据线通过多用户卡被彼此相连,形成一个极易吸收干扰信号的网状天线。由于上述问题的存在,导致RS-232串口数据线对电压浪涌特别敏感。目前,非交流电源线路的浪涌所引起的损害占据全部浪涌损害的一大部分。仅仅几十伏的小幅度瞬变过程就可以通过串行接口毁坏计算机的主板、终端设备的RS-232接口,其后果是硬件损坏、数据丢失、通讯中断,以及由此引起停机所导致的损失。然而这些不必要的损失都是可以避免的,我公司自行研制的GL-3这款产品就可以彻底解决该问题。
- 此FAQ对你有帮助吗?[ 是 | 否 ] | 收藏 | 来源:Myprice价格网
- 8.RS-485/RS422接口通讯时,在什么条件下需要采用终端匹配?电阻值如何确定?如何配置终端匹配电阻?
-
-
- 9.如何实现RS-485/422多点通讯
-
- 答案:
- RS-485总线上任何时候只能有一个发送器发送。半双工方式,主从只能一个发。全双工方式,主站总可发送,从站只能有一个发送。
-
- 10.采用RS485接口时,传输电缆的长度如何考虑?
-
-
- 答案:
- 在使用RS485接口时,对于特定的传输线经,从发生器到负载其数据信号传输所允许的最大电缆长度是数据信号速率的函数,这个长度数据主要是受信号失真及噪声等影响所限制。当数据信 号速率降低到90Kbit/S以下时,假定最大允许的信号损失为6dBV时,则电缆长度被限制在1200M。当使用不同线径的电缆,则取得的最大电缆长度是不相同的。例如:当数据信号速率为600Kbit/S时,采用24AWG电缆,最 大电缆长度是200m,若采用19AWG电缆(线径为0.91mm)则电缆长度将可以大于200m; 若采用28AWG 电缆(线径为0.32mm)则电缆 长度只能小于200m。
- 此FAQ对你有帮助吗?[ 是 | 否 ] | 收藏 | 来源:Myprice价格网
- 11.你们公司的产品可以适应工业环境吗?
-
- 答案:
- 我们的产品首先从结构设计上就严格满足工业标准要求,全部表面贴装工艺,流水线生产。其次工业级产品都严格选用的工业级芯片,确保能稳定工作在-35度到+85度的温度范围。
-
- 12.RS-485半双工通信时信号流向如何识别?
-
-
- 13.你们的产品是怎样实现RS-485/RS422总线失效保护?
-
-
- 答案:
- 由于RS-485/RS-422在发送数据完成后,要求所有的发送使能控制信号关闭且保持接收使能有效,此时,总线驱动器进入高阻状态且接收器能够监测总线上是否有新的通信数据。但是由于此时总线处于无源驱动状态(若总线有终端匹配电阻时,A和B线的差分电平为0,接收器的输出不确定,且对A、B线上的差分信号的变化很敏感;若无终端匹配,则总线处于高阻态,接收器的输出不确定),容易受到外界的噪声干扰。当噪声电压超过输入信号门限时(典型值±200mV),接收器将输出数据,导致对应的串行接口接收无效的数据,使紧接着的正常通讯出错;另外一种情况可能发生在打开/关闭发送使能控制的瞬间,使接收器输出信号,也会导致串行接口错误地接收。解决方法:1)在通讯总线上采用同相输入端上拉(A线)、反相输入端下拉(B线)的方法对总线进行钳位,保证接收器输出为固定的"1"电平;2)采用内置防故障模式的MAX308x系列的接口产品替换该接口电路;3)通过软件方式消除,即在通信数据包内增加2-5个起始同步字节,只有在满足同步头后才开始真正的数据通讯。
- 此FAQ对你有帮助吗?[ 是 | 否 ] | 收藏 | 来源:Myprice价格网
- 14.实现RS-232远距离传输有几种方式?
-
-
- 15.什么是"串口窃电"技术?
-
- 答案:
- 我们提供的无源RS-232/485转换器都是基于"串口窃电",RS-232的发送信号线TXD能对外提供10mA的电流,通过一种电荷泵技术,可以由TXD信号线上获得+9V和-9V的电源。
-