串口叫做串行接口,现在的PC 机一般有两个串行口COM 1 和COM 2 。串行口不同于并行口之处在于它的数据和控制信息是一位接一位地传送出去的。 虽然这样速度会慢一些,但传送距离较并行口更长,因此若要进行较长距离的通信时,应使用串行口。通常 COM 1 使用的是9 针D 形连接器,也称之为RS-232接口,而COM 2 有的使用的是老式的DB25 针连接器,也称之为RS-422接口,这种接口目前已经很少使用。
一般机箱有两个,新机箱有可能只有一个。笔记本电脑有可能没有。
有很多工业仪器将它作为标准通信端口。通信的内容与格式一般附在仪器的用户说明书中。
计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。 在串行通讯时,要求通讯双方都采用一个标准接口,使不同 的设备可以方便地连接起来进行通讯。 RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标 准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间 串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信 号的电平加以规定。
(1)接口的信号内容 实际上RS-232-C的25条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9条引线。RS-232-C最常用的9条引线的信号内容见附表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公司曾规定允许码元畸变为10%而得出附表2 的实验结果。其中1号电缆为屏蔽电缆,型号为DECPNO9107723 内有三对双绞线,每对由22# AWG 组成,其外覆以屏蔽网。2号电缆为不带屏蔽的电缆。型号为DECPNO9105856-04是22#AWG的四芯电缆。
1RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定的数据传输速率为每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。
2RS-485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。 RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485 可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。
以往,PC与智能设备通讯多借助RS232、RS485、以太网等方式,主要取决于设备的接口规范。但RS232、RS485只能代表通讯的物理介质层和链路层,如果要实现数据的双向访问,就必须自己编写通讯应用程序,但这种程序多数都不能符合ISO/OSI的规范,只能实现较单一的功能,适用于单一设备类型,程序不具备通用性。在RS232或RS485设备联成的设备网中,如果设备数量超过2台,就必须使用RS485做通讯介质,RS485网的设备间要想互通信息只有通过“主(Master)”设备中转才能实现,这个主设备通常是PC,而这种设备网中只允许存在一个主设备,其余全部是从(Slave)设备。而现场总线技术是以ISO/OSI模型为基础的,具有完整的软件支持系统,能够解决总线控制、冲突检测、链路维护等问题。
串口服务器,一个为RS-232/485/422到PC/IP之间完成数据转换的具有强大功能的方便快捷的通讯接口转换器。串口服务器通过作为服务器端,提供RS-232/485/422终端串口与TCP/IP网络的数据双向透明传输,提供串口转网络功能,RS-232/485/422转网络的解决方案。接下来飞畅 科技 的我来为大家详细介绍下串口服务器的通讯模式,一起来看看吧!
串口服务器的通讯模式分为三种:
1、点对点通讯模式:
在该模式下,服务器需要成对使用。其中一个作为服务器端,另外一个作为客户端,我们将两者之间建立连接,即可实现数据的双向透明传输。这种点对点的通讯模式适用于将两个串口设备之间的总线连接改造为TCP/IP网络连接。
2、使用虚拟串口通讯模式
在该模式下,一个或者多个服务器与一台电脑建立连接,即可实现数据的双向透明传输。我们在电脑上,由电脑上的虚拟串口软件管理下面的转换器,可以实现,一个虚拟串口对应多个转换器,N个虚拟串口对应M个转换器(N小于等于M)。该模式适用于串口设备由电脑控制的485总线或者322设备连线。无疑再次体现其运行效率,实现了传输速率的阶乘。
3、基于网络通讯模式
在该模式下电脑的应用程序基于SOCKET协议编写了通讯程序,在转换器上直接选择支持SOCKET协议即可。
通过对串口服务器通讯模式的介绍,我们可见串口服务器的传输多样性,高效性,它实现了多节点网络的连接。不仅如此,串口服务器也使设备间的传输距离超过了12公里。作为完成数据转换的通讯接口服务器,串口服务器正在发挥其自身最大的价值来造福人类。
好了,以上内容就是飞畅 科技 关于串口服务器通讯模式的相关详细介绍,希望能对大家有所帮助! 杭州飞畅 ,20年专注光纤通信研发、生产和销售,主营光端机、光纤收发器、工业交换机、协议转换器等,我们为客户提供定制化的产品服务。欢迎前来了解、交流。
;1485转tcp/ip本文主要介绍485转tcp/ip的网络系统结构,即485转tcp/ip以后有几种接线方法,他们的特点如何。485转tcp/ip可以用图1的串口服务器或者图2的内嵌模块来实现。需要实现RS485转tcp/ip是因为:
利用现有的以太网网络设施。虽然RS485也可以用以太网的双绞线(5类屏蔽线),但是RS485需要单独占用双绞线不能和以太网共用,这在实际中就需要重新布线,不能利用现有的网线。使用485转tcp/ip之后,可以和现有办公、工厂的网络融合,节省开支。而且这种tcp/ip网络可以通过交换机、路由器进行网络延长和扩展。利用广域网实现远距离监控。当485转为tcp/ip之后可以充分利用现有的internet、城域网、广域网实现远距离的监控。
代替多设备卡实现一台计算机多个串口。采用卓岚的虚拟串口驱动可以将网口模拟为多个串口(COM口),用户无需扩展串口,即可实现一个网卡控制成千上万个串口设备。 2 485转tcp/ip的系统结构
485布线结构升级为tcp/ip以后,卓岚科技根据系统结构不同,将其可以分为总线结构、多设备结构、多主机结构共3种方式。其中多主机结构较为特殊将稍后介绍,这里主要介绍总线结构和多设备结构。
表示的是通常的RS485的系统结构,其中包含一台监控主机和多台RS485设备,转化为tcp/ip后有两种方式,分别为图4的总线结构和图5的多设备结构。在总线结构中,系统中和监控主机相连的RS485线被ZLAN3100转换器转化为网线,利用卓岚ZLVircom驱动可以将该网线虚拟为一个串口例如COM5。软件系统和图3一样工作;在多设备结构口中,在离设备很近的地方将网线转化为RS485,每个设备都需要一个ZLAN3100转换器,ZLVircom支持将两个ZLAN3100绑定在一个虚拟串口上,也就是说系统中有两个转换器但是都是对应COM5这一个虚拟串口,软件和图3一样工作。
无论是总线方式还是多设备方式都不影响原有系统的软件的运行。相比而言,多设备方式成本要高一些因为需要多台ZLAN3100,但是它支持设备比较分散的应用中,多个RS485终端还是通过tcp/ip接入系统的。卓岚软件和设备也支持两种方式混合使用。
3 485转tcp/ip的多主机方式熟悉RS485的用户都知道,RS485总线上一般只有一个主机,一般采用主机轮询,从机应答的方式。一般难以实现RS485总线上存在多个监控主机的方式。但是多主机监控的确实在某些场合是需要的,卓岚的ZLAN3190可以实现该功能。可实现100台监控主机同时监控。多主机方式如图6所示。
参考资料:
485带地址 根据协议封装的格式(格式可以是标准的某个工业格式 也可以自定义格式)把地址命令(必要时可带校验数据)依据地址顺序逐个发送 当然了 也必须设定一个超时无响应时间 超过可认定通讯连接错误Comm API基础
我无意于在此详细描述Comm API每个类和接口的用法,但我会介绍Comm API的类结构和几个重要的API用法。
所有的comm API位于javaxcomm包下面。从Comm API的javadoc来看,它介绍给我们的只有区区以下13个类或接口:
javaxcommCommDriver
javaxcommCommPort
javaxcommParallelPort
javaxcommSerialPort
javaxcommCommPortIdentifier
javaxcommCommPortOwnershipListener
javaxcommParallelPortEvent
javaxcommSerialPortEvent
javaxcommParallelPortEventListener (extends javautilEventListener)
javaxcommSerialPortEventListener (extends javautilEventListener)
javaxcommNoSuchPortException
javaxcommPortInUseException
javaxcommUnsupportedCommOperationException
下面讲解一下几个主要类或接口。
1枚举出系统所有的RS232端口
在开始使用RS232端口通讯之前,我们想知道系统有哪些端口是可用的,以下代码列出系统中所有可用的RS232端口:
Enumeration en = CommPortIdentifiergetPortIdentifiers();
CommPortIdentifier portId;
while (enhasMoreElements())
{
portId = (CommPortIdentifier) ennextElement();
/如果端口类型是串口,则打印出其端口信息/
if (portIdgetPortType() == CommPortIdentifierPORT_SERIAL)
{
Systemoutprintln(portIdgetName());
}
}
在我的电脑上以上程序输出以下结果:
COM1
COM2
CommPortIdentifier类的getPortIdentifiers方法可以找到系统所有的串口,每个串口对应一个CommPortIdentifier类的实例。
2打开端口
如果你使用端口,必须先打开它。
try{
CommPort serialPort = portIdopen("My App", 60);
/从端口中读取数据/
InputStream input = serialPortgetInputStream();
inputread();
/往端口中写数据/
OutputStream output = serialPortgetOutputStream();
outputwrite()
}catch(PortInUseException ex)
{ }
通过CommPortIdentifier的open方法可以返回一个CommPort对象。open方法有两个参数,第一个是String,通常设置为你的应用程序的名字。第二个参数是时间,即开启端口超时的毫秒数。当端口被另外的应用程序占用时,将抛出PortInUseException异常。
在这里CommPortIdentifier类和CommPort类有什么区别呢?其实它们两者是一一对应的关系。CommPortIdentifier主要负责端口的初始化和开启,以及管理它们的占有权。而CommPort则是跟实际的输入和输出功能有关的。通过CommPort的getInputStream()可以取得端口的输入流,它是javaioInputStream接口的一个实例。我们可以用标准的InputStream的 *** 作接口来读取流中的数据,就像通过FileInputSteam读取文件的内容一样。相应的,CommPort的getOutputStream可以获得端口的输出流,这样就可以往串口输出数据了。
3关闭端口
使用完的端口,必须记得将其关闭,这样可以让其它的程序有机会使用它,不然其它程序使用该端口时可能会抛出端口正在使用中的错误。很奇怪的是,CommPortIdentifier类只提供了开启端口的方法,而要关闭端口,则要调用CommPort类的close()方法。
CommPort的输入流的读取方式与文件的输入流有些不一样,那就是你可能永远不知这个InputStream何时结束,除非对方的OutputStream向你发送了一个特定数据表示发送结束,你收到这个特定字符后,再行关闭你的InputStream。而commjar提供了两种灵活的方式让你读取数据。
1轮询方式(Polling)
举个例子,你同GF相约一起出门去看,但你的GF好打扮,这一打扮可能就是半小时甚至一小时以上。这时你就耐不住了,每两分钟就催问一次“好了没?”,如此这样,直到你的GF说OK了才算完。这个就叫轮询(Polling)。
在程序中,轮询通常设计成一个封闭的循环,当满足某个条件时即结束循环。刚才那个例子中,你的GF说“OK了!”,这个就是结束你轮询的条件。在单线程的程序中,当循环一直执行某项任务而又无法预知它何时结束时,此时你的程序看起来可能就像死机一样。在VB程序中,这个问题可以用在循环结构中插入一个doEvent语句来解决。而Java中,最好的方式是使用线程,就像以下代码片断一样。
public TestPort extend Thread
{
InputStream input = serialPortgetInputStream();
StringBuffer buf = new StringBuffer();
boolean stopped = false;
public void run()
{
try {
while( !stopped )
int ch = inputread();
if ( ch=='q' || ch=='Q' )
{
/结束读取,关闭端口/
stopped = true;
}
else
{
bufappend((char)ch);
}
}catch (InterruptedException e) { }
}
}
2监听方式(listening)
Comm API支持标准的Java Bean型的事件模型。也就是说,你可以使用类似AddXXXListener这样的方法为一个串口注册自己的监听器,以监听方式进行数据读取。
如要对端口监听,你必须先取得CommPortIdentifier类的一个实例,
CommPort serialPort = portIdopen("My App", 60);
从而取得SerialPort,再调用它的addEventListener方法为它添加监听器,
serialPortaddEventListener(new MyPortListener());
SerialPort的监听器必须继承于SerialPortEventListener接口。当有任何SerialPort的事件发生时,将自动调用监听器中的serialEvent方法。Serial Event有以下几种类型:
BI -通讯中断
CD -载波检测
CTS -清除发送
DATA_AVAILABLE -有数据到达
DSR -数据设备准备好
FE -帧错误
OE -溢位错误
OUTPUT_BUFFER_EMPTY -输出缓冲区已清空
PE -奇偶校验错
RI - 振铃指示
下面是一个监听器的示例:
public void MyPortListener implements SerialPortEventListener
{
public void serialEvent(SerialPortEvent evt)
{
switch (evtgetEventType())
{
case SerialPortEventCTS :
Systemoutprintln("CTS event occured");
break;
case SerialPortEventCD :
Systemoutprintln("CD event occured");
break;
case SerialPortEventBI :
Systemoutprintln("BI event occured");
break;
case SerialPortEventDSR :
Systemoutprintln("DSR event occured");
break;
case SerialPortEventFE :
Systemoutprintln("FE event occured");
break;
case SerialPortEventOE :
Systemoutprintln("OE event occured");
break;
case SerialPortEventPE :
Systemoutprintln("PE event occured");
break;
case SerialPortEventRI :
Systemoutprintln("RI event occured");
break;
case SerialPortEventOUTPUT_BUFFER_EMPTY :
Systemoutprintln("OUTPUT_BUFFER_EMPTY event occured");
break;
case SerialPortEventDATA_AVAILABLE :
Systemoutprintln("DATA_AVAILABLE event occured");
int ch;
StringBuffer buf = new StringBuffer();
InputStream input = serialPortgetInputStream
try {
while ( (ch=inputread()) > 0) {
bufappend((char)ch);
}
Systemoutprint(buf);
} catch (IOException e) {}
break;
}
}
这个监听器只是简单打印每个发生的事件名称。而对于大多数应用程序来说,通常关心是DATA_AVAILABLE事件,当数据从外部设备传送到端口上来时将触发此事件。此时就可以使用前面提到过的方法,serialPortgetInputStream()来从InputStream中读取数据了。要控制v00动作,您需要了解设备支持的Modbus地址和相关参数。一般情况下,设备的Modbus地址和参数信息可以通过设备的用户手册或者设备制造商提供的文档得到。
在了解了设备的Modbus地址和参数信息之后,您可以通过以下步骤来控制v00动作:
1 打开Modbus工具。例如,如您使用PC电脑,您可以下载和安装一个Modbus调试工具,例如QModMaster。
2 连接到您的设备并确定Modbus通讯协议版本。在QModMaster中,您需要在“Connection”菜单中设置IP地址和端口,并选择正确的Modbus协议版本。
3 配置Modbus参数。使用QModMaster等Modbus工具可以在“Function”菜单中选择“Write multiple coils”命令,然后在“Slave ID”地址节后输入设备的Modbus地址号,再在“Starting Address”处输入设备的相应Modbus地址,例如v00的地址。
4 设置控制值。在QModMaster中,您可以设置一个逻辑单元,例如在v00地址处写入值1来打开v00控制,或在v00地址处写入值0来关闭v00控制。
重要提示:在进行Modbus控制 *** 作之前,请确保您的设备已正确连接和配置,并清楚了解您的设备支持的Modbus地址和相应控制要求,以避免造成不必要的损失或危害。什么是串口服务器
随着Internet的广泛普及,“让全部设备连接网络”已经成为全世界企业的共识。为了能跟上网络自动化的潮流,不至于失去竞争优势,必须建立高品位的数据采集、生产监控、即时成本管理的联网系统。利用基于TCP/IP的串口数据流传输的实现来控制管理的设备硬件,无需投资大量的人力、物力来进行管理、更换或者升级。
串口服务器就使得基于TCP/IP的串口数据流传输成为
了可能,它能将多个串口设备连接并能将串口数据流进行选择和处理,把现有的RS 232接口的数据转化成IP端口的数据,然后进行IP化的管理,IP化的数据存取,这样就能将传统的串行数据送上流行的IP通道,而无需过早淘汰原有的设备,从而提高了现有设备的利用率,节约了投资,还可在既有的网络基础上简化布线复杂度。串口服务器完成的是一个面向连接的RS 232链路和面向无连接以太网之间的通信数据的存储控制,系统对各种数据进行处理,处理来自串口设备的串口数据流,并进行格式转换,使之成为可以在以太网中传播的数据帧;对来自以太网的数据帧进行判断,并转换成串行数据送达响应的串口设备。
1、 硬件系统
硬件系统是实现整个系统功能的基础,是整个设计实现的关键。
整个串口服务器的关键在于串口数据包与TCP/IP数据报之间的转换以及双方数据因为速率不同而存在的速率匹配问题,在对串口服务器的实现过程中,也必须着重考虑所做的设计和所选择的器件是否能够完成这些功能。
11 硬件系统组成模块
在制定设计方案和选定器件时遇到的技术难点是如何利用处理器对串口数据信息进行TCP/IP协议处理,使之变成可以在互联网上传输的IP数据包。目前解决这个问题很多时候采用32位MCU + RTOS方案,这种方案是采用32位高档单片机,在RTOS(实时多任务 *** 作系统)的平台上进行软件开发,在嵌入式系统中实现TCP/IP的协议处理。它的缺点是:单片机价格较高,开发周期较长;需要购买昂贵的RTOS开发软件,对开发人员的开发能力要求较高。
借鉴上述方案的优缺点,我们决定把串口服务器的硬件部分分为几个模块设计,这就是主处理模块、串口数据处理模块和以太网接口及控制模块等几大模块来共同完成串口服务器的功能。
在器件的选择上,选用Intel公司的801086芯片作为主处理模块的处理器芯片,它是一种非常适合于嵌入式应用的高性能、高集成度的16位微处理器,功耗低。由于考虑到串口数据速率较低而以太网的数据传输速率高所造成的两边速率不匹配的问题,我们决定采用符合总线规范的大容量存储器来作为数据存储器;由于主处理模块还涉及到数据线/地址线复用、串并转换、器件中断信号译码、时钟信号生成、控制信号接入等功能,若是选用不同的器件来完成,势必会造成许多诸如时延不均等问题,我们选用了一片大容量的高性能可编程逻辑器件来完成上述所提到的功能,这样的优点在于,我们保证了稳定性和高可靠性,并且可编程逻辑器件的可编程功能使得对于信号的处理的空间更大,且具有升级的优势。
以太网接口及控制模块在串口服务器的硬件里面起着很重要的作用,它所处理的是来自于以太网的IP数据包,考虑到通用性的原则,我们采用一片以太网控制芯片来完成这些功能,并在主处理模块中添加了一片AT24C01来存储以太网控制芯片状态。通过主处理模块对于以太网控制芯片数据及寄存器的读/写,我们可以完成对IP数据包的分析、解/压包的工作。
串口数据处理模块主要完成的是对于串口数据流的电平转换和数据格式的处理,判断串行数据的起始位及停止位,完成对数据和校验位的提取。一般的设计采用的是MAX232和一片UART的设计思想,这里我们也是遵从这种设计理念,不过我们采用的是集成了MAX232+UART功能的芯片,小尺寸、低成本、低功耗,而且采用与SPITM/QS-PITM/MICROWIRETM兼容的串行接口,节省线路板尺寸与微控制器的I/O端口。
这种模块化的方案的优点在于:采用高速度的16位微控制器,外围器件少,系统成本低;并且采用Intel公司的开发平台,可以大幅度地缩短开发周期并降低开发成本。
12 硬件工作流程及应用架构
主处理器首先初始化网络及串口设备,当有数据从以太网传过来,处理器对数据报进行分析,如果是ARP(物理地址解析)数据包,则程序转入ARP处理程序;如果是IP数据包且传输层使用UDP,端口正确,则认为数据报正确,数据解包后,将数据部分通过端口所对应的串口输出。反之,如果从串口收到数据,则将数据按照UDP格式打包,送入以太网控制芯片,由其将数据输出到以太网中。可以知道,主处理模块主要处理TCP/IP的网络层和传输层,链路层部分由以太网控制芯片完成。应用层交付软件系统来处理,用户可以根据需求对收到的数据进行处理。
2、硬件系统模块
根据硬件系统的具体结构和不同功能,我们可以将硬件系统划分为下述的几大模块。
21主处理器模块
该模块是串口服务器的核心部分,主要由主处理器、可编程逻辑器件、数据及程序存储器等器件构成。
主处理模块完成的功能主要有:在串口数据和以太网IP数据之间建立数据链路;通过对以太网控制芯片的控制读写来实现对IP数据包的接收与发送;判别串行数据流的格式,完成对串口设备的选择以及对串行数据流格式的指定;控制串口数据流与IP数据包之间的速率控制,对数据进行缓冲处理;对UART和以太网控制芯片的寄存器进行读写 *** 作,并存储转发器件状态;完成16位总线数据的串并行转换;完成总线地址锁存功能;完成对各个串口以及各个存储器件的片选功能;完成对各个串口的中断口的状态判别等功能。
22 以太网接口及控制模块
这个模块主要由以太网接口部分和以太网控制部分构成。
以太网接口部分完成的是串口服务器与以太网接口电路的功能,控制器对所有模块均有控制作用,使整个接口电路能协调地配合后续电路完成以太网的收发功能。
以太网控制部分由收端和发端组成,在他们之间还有以太网状态检测和控制单元,以及收发协调控制器,见图5。由于以太网是半双工工作的,所以这个部分必须随时地监视以太网的状态,并且要根据需要对以太网进行控制,同时还要协调好内部收发端电路的工作状态。以太网检测单元和收发协调控制器就是完成这样的功能的。以太网状态检测单元与以太网接口的控制器接口,将接口的状态送到收发协调控制器,同时将协调控制器的控制信号进行处理,并送到以太网接口的控制器,以控制接口的状态。
在收端,接收到的串行数据流信号通过主处理模块进行串并转换和编码,以太网控制单元控制各部分协调,将产生的地址、数据、写信号送到RAM读写控制单元进行处理。相应的,发端的工作流程和收端相反。
23 串口数据处理模块
该模块主要完成串口设备的状态收集、串行数据流的接收和数据格式的解/封包工作,由8片UART和对应的串口接口构成。前面我们已经说明了各个端口的寻址方式,当主处理模块寻址某个端口时,由主处理模块读写相应的UART的寄存器,判定相连接的串口设备的空闲状态,并与之建立通信连接,发回控制数据帧给主处理器,主处理器收到控制信号后,再决定是否发送和接收数据流。
3、硬件系统流程
在串口服务器中,硬件部分与软件部分相结合完成整个系统的功能,用户通过软件部分的可视化界面和C/S架构的监控模式来完成对串口设备的控制与管理;硬件部分完成串行数据与IP数据包之间的格式转换以及控制信号的处理。
显示的是串口服务器硬件在系统流程的内部数据流向图。因为在整个串口服务器的系统中,硬件完成数据格式转换以及控制信号处理等主要功能,软件系统与硬件系统遵循一个标准的接口,在这个接口之上来传递数据信号和控制信号,串口服务器的状态信息主要由中央服务器来处理和收集,由于服务器完成的只是一些状态存储和转发,所以与原来的串口设备—前置机模式有很大区别,中央服务器也不需要负担太多的工作。
4、应用领域
串口服务器可以将各企事业单位的串口设备接入以太局域网实现资源共享,在通信、交通、学校、金融、税务、保险等行业都有广泛的用途。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)