
1.什么是串口?串口是计算机上设备非常常见的通信协议(不要与通用串行总线或USB混淆)。大多数计算机包含两个基于RS232的串行端口。串口也是仪器仪表常用的通信协议。许多GPIB兼容器件也有RS- 232端口。同时,串行通信协议也可以用来获取远程采集设备的数据。串行通信的概念非常简单。串行端口逐位发送和接收字节。虽然比逐字节并行通信慢,但串口可以用一条线发送数据,用另一条线接收数据。简单,可以实现远距离通信。比如IEEE488在定义并行流量状态时,规定设备线路总长度不超过20米,任意两个设备之间的长度不超过2米;对于串口,长度可以达到1200米。通常,串行端口用于传输ASCII字符。通信是用三根线完成的:(1)地线,(2)发送,(3)接收。因为串行通信是异步的,端口可以在一条线路上发送数据,在另一条线路上接收数据。其他线是用来握手的,但不是必须的。串行通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个通过端口,这些参数必须匹配:
a、波特率:这是一个衡量通信速度的参数。它表示每秒传输的位数。例如,300波特意味着每秒发送300位。当我们谈到时钟周期时,我们指的是波特率。例如,如果协议要求4800波特率,则时钟为4800Hz。这意味着数据线上串行通信的采样速率为4800Hz。通常电话线的波特率是14400,28800和36600。波特率可以比这些值高得多,但波特率与距离成反比。高波特率通常用于放置在附近的仪器之间的通信,一个典型的例子是GPIB设备之间的通信。
b、数据位:这是一个衡量通信中实际数据位的参数。计算机发送数据包时,实际数据不会是8位。标准值为5、7和8位。如何设置取决于你想发送的信息。比如标准的ASCII码是0 ~ 127 (7位数)。扩展ASCII码为0 ~ 255 (8位)。如果数据使用简单文本(标准ASCII码),则每个数据包使用7位数据。每个包指一个字节,包括开始/停止位、数据位和奇偶校验位。由于实际的数据比特取决于通信协议的选择,所以术语“分组”指的是任何通信情况。
c、停止位:用于指示单个包的最后一位。典型值为1、1.5和2位。因为数据是在传输线上计时的,并且每个设备都有自己的时钟,所以两个设备在通信时可能会有一点不同步。因此,停止位不仅表示传输结束,还为计算机提供了纠正时钟同步的机会。适合停止位的位数越多,不同时钟同步的容忍度越大,但数据传输速率越慢。d、奇偶校验位:串行通信中一种简单的检错方法。有四种错误检测方法:偶数、奇数、高和低。当然,没有奇偶校验位。在奇偶校验的情况下,串行端口将设置一个奇偶校验位(数据位后一位),以确保传输的数据具有带值的偶数或奇数逻辑高位。例如,如果数据是011,那么对于偶数奇偶校验,奇偶校验位是0,保证逻辑高的位数是偶数。如果是奇数校验,奇偶校验位为1,所以有三个逻辑高位。高位和低位并不真正检查数据,只是设置逻辑高或逻辑低检查。这使得接收设备能够知道比特的状态,并且有机会判断噪声是否干扰通信或者数据的发送和接收是否不同步。2.RS-232是什么?RS-232 (ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。它可以用于许多目的,例如连接鼠标、打印机或调制解调器,也可以连接到工业仪器。为了驱动和布线的改进,RS-232的传输长度或速度在实际应用中经常超过标准值。RS-232仅限于PC串口与设备之间的点对点通信。RS- 232串行通信的最远距离是50英尺。DB-9针连接器-12345/6789/
-从计算机连接的线的横截面。RS-232引脚的功能:数据:TXD(引脚3):串行数据输出RXD(引脚2):串行数据输入握手:RTS(引脚7):发送数据请求CTS(引脚8):清除发送DSR(引脚6):数据传输就绪DCD(引脚1):数据载体检测DTR(引脚4):数据终端就绪地线:RS -422(EIA RS-422-A标准)是苹果公司Macintosh电脑的串口连接标准。RS-422使用差分信号,RS-232使用来自不平衡参考地的信号。差分传输使用两根导线来发送和接收信号。与RS-232相比,抗噪性更好,传输距离更远。更好的抗噪性和更长的传输距离在工业环境中是一大优势。4.RS-485是什么?RS -485(EIA-485标准)是RS-422的改进,因为它将器件数量从10个增加到32个,定义了最大器件数量条件下的电气特性,以保证足够的信号电压。有了多台设备的能力,就可以用一个RS-422端口建立一个设备网络。出色的抗噪声和多设备能力。当建立连接到PC、其他数据采集控制器、HMI或工业应用中的其他操作的分布式设备网络时,将选择RS-485进行串行连接。RS-485是RS-422的超集,因此所有RS-422设备都可以由RS-485控制。RS-485可用于线缆长度超过4000英尺的串行通信。DB-9引脚连接-12345/6789/-从计算机连接的电线的横截面。RS-485和RS-422引脚的功能数据:TXD(引脚8)、TXD-(引脚9)、RXD(引脚4)、RXD-(引脚5)握手:RTS(引脚3)、RTS-(引脚7)、CTS(引脚2)、CTS-(引脚6)地线:RS -232访问模式允许简单连接三根线:Tx、Rx和地线。但是对于数据传输,双方必须使用相同的波特率进行数据计时。虽然这种方法对于大多数应用来说是足够的,但是当接收器过载时,它的使用受到限制。这时候就需要串口的握手功能了。在本节中,我们将讨论RS-232握手的三种最常用形式:软件握手、硬件握手和Xmodem。a、软件握手:我们讨论的第一个握手是软件握手。它通常在实际数据是控制字符时使用,类似于GPIB使用命令字符串的方式。仍然有三个必要的线路:Tx、Rx和地线。因为控制字符与传输线上的普通字符没有区别,所以SetXModem函数允许用户启用或禁用两个控制字符XON和OXFF。这些字符在通信中由接收者发出,使发送者停顿。例如,假设发送方以高波特率发送数据。在传输过程中,接收器发现输入缓冲区已满,因为CPU正忙于其他工作。为了暂时停止传输,接收器发送XOFF,典型值为十进制19,即十六进制13,直到输入缓冲区为空。一旦接收方准备好接收,就发送XON,典型值是十进制17,也就是十六进制11,继续通信。当输入缓冲器半满时,LabWindows发送XOFF。此外,如果XOFF传输中断,LabWindows将在缓冲区达到75%和90%时发送XOFF。显然,发送者必须遵循这个代码以确保传输继续。b、硬件握手:二是使用硬件线路握手。像Tx和Rx线路一样,RTS/CTS和DTR/DSR一起工作,一个作为输出,另一个作为输入。第一组行是RTS(请求发送)和CTS(允许发送)。当接收器准备好接收数据时,它会将RTS线设为高电平,以表示它准备好了。如果发送方也准备好了,它会将CTS设置为高电平,表示它即将发送数据。另一组导线是DTR(数据终端就绪)和DSR(数据集就绪)。这些现在主要用于调制解调器通信。让串行端口和调制解调器交流它们的状态。例如,当调制解调器准备接收来自PC的数据时,它将DTR线设置为高电平,表示与电话线的连接已经建立。读取DSR线并将其设置为高电平,PC开始发送数据。一个简单的规则是,DTR/DSR用于指示系统的通信准备状态,而RTS/CTS用于传输单个数据包。
在LabWindows中,函数SetCTSMode启用或禁用硬件握手。如果CTS模式被启用,LabWindows使用以下规则:当PC发送数据时,RS-232库必须在发送数据之前检测CTS线的高度。当PC接收数据时:如果端口打开,输入队列可以自由接收数据,库函数将RTS和DTR设置为高。如果输入队列满了90%,库函数将RTS设置为低,但保持DTR为高。如果端口队列几乎是空的,哭泣的数字设置RTS高,但保持DRT高。如果端口关闭,库函数将RTS和DTR设置为低。c、XModem握手:最后讨论的握手称为XModem文件传输协议。这种协议在现代通信中非常常见。虽然XModem协议通常用于调制解调器通信,但它也可以直接用于遵循该协议的其他设备。在LabWindows中,实际的XModem应用程序对用户是隐藏的。只要PC等设备使用XModem协议,文件传输就使用LabWindows的XModem功能。这些函数是XModemConfig、XModemSend和XModemReceive。XModem使用具有以下参数的协议:start_of_data、end_of_data、neg_ack、wait_delay、start_delay、max_tries和packet_size。这些参数需要通信双方确认,标准的XModem有一个标准的定义:但是,可以通过XModemConfig函数进行修改,以满足特定的需求。这些参数的使用由接收器发送的字符neg_ack决定。这通知发送方它已准备好接收数据。它开始尝试发送,超时参数为start _ delay;当超时尝试次数超过max_ties次数,或者接收到接收方发送的start_of_data时,发送方停止尝试。如果从发送方收到start_of_data,接收方将读取后续信息包。数据包包含数据包的数量、作为错误检查的数据包数量的补数、packet_size字节的实际数据包大小以及进一步错误检查的总和检查值。在读取数据后,接收方将调用wait_delay,然后向发送方发送响应。如果发送方没有收到响应,它将重新发送数据包,直到收到响应或超过最大重新传输次数max_tries。如果没有收到响应,发送方通知用户数据传输失败。因为数据必须以pack_size字节为单位成包发送,所以当发送最后一个包时,如果数据不足以填满一个包,则稍后将填充ASCII空(0)字节。这会导致接收到比原始数据更多的数据。千万不要在XModem的情况下使用XON/XOFF,因为XModem发送方发送的数据包数量很可能会增加到XON/OFF控制字符的值,从而导致通信失败。RS485半双工连接:RX和TX并联作为数据;RX-和TX-作为数据-并联连接。RS485全双工/RS422连接:全和GND短路;信号线有RX,TX,RX-,TX-,可以根据需要连接到GND。一、什么是RS-232-C接口?采用RS-232-C接口有什么特点?如何考虑传输电缆的长度?答:计算机之间或计算机与终端之间的数据传输有两种方式:串行通信和并行通信。串行通信方式因其线路少、成本低而被广泛使用,尤其是在长距离传输中,避免了多条线路的不一致。在串行通信中,要求通信双方采用一个标准的接口,以便不同的设备可以方便地连接起来进行通信。RS-232-C接口(又称EIA RS-232-C)是目前最常用的串行通信接口。1970年,它是由美国电子工业协会(EIA)和贝尔系统、调制解调器制造商和计算机终端制造商共同制定的串行通信标准。它的全称是“数据终端设备(DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准”。该标准规定采用25针DB25连接器,并规定了连接器各针的信号内容,以及各种信号的电平。(1)接口的信号内容实际上,RS-232-C的25根引线中有很多很少使用,一般只有3-9根引线用于计算机和终端之间的通信。
RS-232-C最常用的九条引线的信号内容如表1 (2)接口的电气特性所示。RS-232-C中任何一条信号线的电压都是负逻辑关系。即:逻辑“1”,-5-15V;逻辑“0”5-15v。噪声容差为2V。也就是说,要求接收器将低至3V的信号识别为逻辑“0”,将高至-3V的信号识别为逻辑“1”。
(3)接口的物理结构RS-232-C接口连接器一般使用型号为DB-25的25芯插头插座。通常,插头在DCE端,插座在DTE端。有些设备与PC的RS-232-C接口连接,因为不使用对方的传输控制信号,只需要三根接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9芯插头插座,传输线为屏蔽双绞线。
(4)传输电缆长度RS-232C标准规定,当符号失真小于4%时,传输电缆长度应为50英尺。事实上,这4%的符号失真是非常保守的。在实际应用中,约99%的用户工作在10-20%的符号失真范围内,因此实际使用中的最大距离将远远超过50英尺。美国DEC公司规定允许的符号失真在其中,1号电缆是屏蔽电缆,型号是DECP。9107723号,里面有三对双绞线,每对都是由22# AWG组成,外面套着屏蔽网。2号电缆是非屏蔽电缆。型号是DECP。9105856-04号,是22#AWG四芯电缆。附表2 DEC公司的实验结果
二、什么是RS-485接口?它与RS-232-C接口相比有什么特点?答:由于RS-232-C接口标准出现较早,难免存在一些不足,主要包括以下四点1、接口的信号电平值较高,容易损坏接口电路的芯片,且由于与TTL电平不兼容,需要使用电平转换电路与TTL电路连接。2、传输速率低,异步传输波特率20Kbps。3、接口使用一条信号线和一条信号回线,形成共地传输形式。这种共地传输容易产生共模干扰,所以抗噪声干扰较弱。4、传输距离有限。最大传输距离的标准值是50英尺,但只能在50米左右使用。鉴于RS-232-C的缺点,出现了一些新的接口标准,RS-485就是其中之一。具有以下特点1、RS-485具有电气特性:逻辑“1”用两根导线之间的电压差表示为(2-6)V;逻辑“0”用两条线之间的电压差为-(2-6) V来表示,接口信号电平低于RS-232-C的电平,所以不容易损坏接口电路的芯片,而且这个电平兼容TTL电平,可以很容易地与TTL电路连接。2、RS-485的最高数据传输速率为10 Mbps。3、 RS-485的接口是平衡驱动器和差分接收器的结合,增强了抗共模干扰能力,即具有良好的抗噪声干扰性能。4、 RS-485接口最大传输距离的标准值是4000英尺,实际可以达到3000米。另外,RS-232-C接口只允许连接总线上的一个收发器,即单站能力。RS-485接口允许总线上最多连接128个收发器。即具有多站能力,使用户可以使用单一的RS-485接口轻松建立设备网络。RS-485接口因其良好的抗噪声干扰、传输距离远和多站能力而成为首选串行接口。由于RS485接口组成的半双工网络一般只需要两根线,所以RS485接口全部采用屏蔽双绞线传输。DB-9的9芯插头插座用于RS485接口连接器,DB-9(孔)用于与智能终端RS485接口,DB-9 (pin)用于与键盘连接的键盘接口RS485。三、采用RS485接口时,如何考虑传输电缆的长度?
答:使用RS485接口时,对于特定的传输线,从发电机到负载的数据信号传输所允许的最大电缆长度是数据信号速率的函数,这个长度数据主要受信号失真和噪声的影响。下图所示的最大电缆长度与信号速率的关系曲线是,一根24AWG铜芯双绞线电话电缆(线径为0。51mm),线间旁路电容为52。5PF/米,终端负载电阻为100欧姆。(曲线引自GB11014-89附录A)。从图中可以看出,当数据信号速率下降到90Kbit/S以下时,假设最大允许信号损耗为6dBV,电缆长度限制在1200M。其实图中的曲线是很保守的,在实际使用中完全有可能获得比它更大的线缆长度。当使用不同线径的电缆时。获得的最大电缆长度不同。例如,当数据信号速率为600Kbit/S时,使用24AWG线缆,从图中可以看出最大线缆长度为200mm,如果19AWG线缆(线径为0。91mm),电缆长度将大于200m;如果28AWG电缆(线径为0。32mm),线缆长度只能小于200m .串口控制一般我们主要使用串口进行文章服务器、录像机、交换机的文章和切换控制,主要使用RS-232、RS-422和RS-485进行接口控制。下面讨论串口的接口标准以及外部插件和线缆的使用。RS-232、RS-422和RS-485标准只规定了接口的电气特性,不涉及连接器、电缆或协议。在此基础上,用户可以建立自己的高层通信协议。例如,文章服务器有多个RS422串行通信接口,每个接口都可以通过RS422通信线路由外部计算机控制,实现录制和播放。文章服务器不仅提供各种控制硬件接口,还提供协议接口。例如,RS422接口不仅支持RS422的Profile协议,还支持由RS422控制的Louth、Odetics、BVW等协议。RS-232、RS-422和RS-485都是串行数据接口标准,由电子工业协会(EIA)制定并发布,RS-232于1962年发布。RS-422是由RS-232发展而来的。为了改善RS-232通信距离短、速度慢的缺点,RS-422定义了平衡通信接口,将传输速度提高到10Mbps,将传输距离扩展到4000英尺(当速度低于100Kbps时),并允许在平衡总线上最多连接10个接收器。RS-422是单机传输和多机接收的单向平衡传输规范,被命名为TIA/EIA-422-A标准。为了扩大应用范围,EIA于1983年在RS-422的基础上制定了RS-485标准,增加了多点双向通信能力,即允许多个发射机连接到同一总线,增加了发射机的驱动能力和碰撞保护特性,扩大了总线共模范围,后命名为TIA/EIA-485-A标准。1.S-232串行接口标准目前,RS-232是PC和通信行业中应用最广泛的串行接口。RS-232被定义为单端标准,以增加低速串行通信中的通信距离。RS-232采用非平衡传输方式,称为单端通信。接收和发出数据信号是相对于信号地的。典型的RS-232信号在正负电平之间摆动。发送数据时,发送器驱动器的正电平为5~ 15V,负电平为-5~-15V。没有数据传输时,线路为TTL。从数据传输开始到结束,线路电平从TTL电平到RS-232电平再回到TTL电平。接收器的典型工作电平为3~ 12V和-3 ~-12 V.因为发射电平和接收电平之间的差只有大约2V到3V,所以它的共模抑制能力很差。加上双绞线上的分布电容,其最大传输距离约为15m,最大速度为20Kbps。RS-232是为点对点通信而设计的(即只使用一对收发器件),其驱动负载为3k~ 7k。因此RS-232适用于本地设备之间的通信。2.RS-422和RS-485串行接口标准(1)平衡传输
通常传输驱动器A和B之间的正电平为2~ 6V,是一种逻辑状态,负电平为-2V~6V,是另一种逻辑状态。还有一个信号地C,在RS-485中还有一个“使能”端子,在RS-422中是可选的。“使能”端子用于控制传输驱动器和传输线之间的断开和连接。“使能”端工作时,发送驱动器处于高阻状态,称为“第三状态”,即不同于逻辑“1”和“0”的第三状态。(2)RS-422电气规程允许多个接收节点连接在同一条传输线上,最多10个节点,因为接收端采用高输入阻抗,发送端驱动器比RS232具有更强的驱动能力。也就是一个主人,其余的都是奴隶。从机之间不能相互通信,所以RS-422支持一点对多的双向通信。由于RS-422四线接口采用独立的发送和接收通道,因此不需要控制数据方向,设备之间任何必要的信号交换都可以通过软件(XON/XOFF握手)或硬件(一对独立的双绞线)来实现。RS-422的最大传输距离为4000英尺(约1219米),最大传输速率为10Mbps。平衡双绞线的长度与传输速率成反比,最大传输距离只能达到100Kbps以下的速率。只能在短距离内获得最高的传输速率。通常,在100米长的双绞线上获得的最大传输速率仅为1Mbps。RS-422需要一个端接电阻,该电阻要求约等于传输电缆的特性阻抗。瞬间距离传输时不需要端接电阻,即一般300米以下不需要端接电阻。终端电阻器连接到传输电缆的最远端。(3)RS-485电气规程由于RS-485是由RS-422发展而来,所以RS-485的许多电气规程都与RS-422相似。如果采用平衡传输模式,则需要在传输线上连接终端电阻。RS-485可以采用两线制和四线制,两线制可以实现真正的多点双向通信。RS-485总线,当要求通信距离在几十米到几千米时,广泛采用RS-485串行总线标准。RS-485采用平衡传输和差分接收,因此具有抑制共模干扰的能力。此外,总线收发器灵敏度高,可以检测低至200mV的电压,因此可以在数千米之外恢复传输信号。RS-485工作在半双工模式,任何时候只能有一点处于发送状态。因此,发射电路必须由使能信号控制。RS-485非常方便多点互连,可以节省很多信号线。RS-485的应用可以联网形成一个分布式系统,它允许多达32个驱动器和32个接收器并联。RS-485和RS-422的区别在于它们的共模输出电压不同。RS-485在-7V到12V之间,RS-422在-7V到7V之间。RS-485符合RS-422的所有规范,因此RS-485的驱动程序可以在RS-422网络中使用。与RS-422一样,RS-485的最大传输距离约为1219米,最大传输速率为10Mbps。平衡双绞线的长度与传输速率成反比,在100Kbps的速率下,可以使用指定的最长电缆长度。只能在短距离内获得最高的传输速率。一般百米双绞线最大传输速率只有1Mbps。









