搜档网
当前位置:搜档网 › 虚拟串口Virtual Serial Port说明书

虚拟串口Virtual Serial Port说明书

虚拟串口Virtual Serial Port说明书
虚拟串口Virtual Serial Port说明书

VSPM虚拟串口软件使用帮助虚拟串口软件使用帮助

(Ver2.5)

(Ver2.5)

一、一、 软件介绍软件介绍

1、 功能说明功能说明

VSPM 虚拟串口软件可以将TCP/IP 连接、连接、UDP UDP 广播,映射成本机的虚拟COM 口,应用程序通过访问虚拟串口,就可以完成远程控制、数据传输等功能。等功能。

VSPM 虚拟串口软件特点:虚拟串口软件特点: 多虚拟串口映射多虚拟串口映射 收/发多线程架构发多线程架构

支持虚拟串口参数同步指令支持虚拟串口参数同步指令

自动错误纠正、自动连接、自动重新试自动错误纠正、自动连接、自动重新试 实时虚拟串口数据传输监控实时虚拟串口数据传输监控 集成Telnet 管理器管理器 集成设备探测器集成设备探测器

Server Server、、Client Client、、U DP 广播模式,广播模式,33种工作模式种工作模式 支持扩展DLL 插件,具备强大的扩展功能插件,具备强大的扩展功能 免费软件免费软件

2、 VSPM 软件适用范围软件适用范围

适用的嵌入式设备适用的嵌入式设备

可以将任何使用TCP/IP 或UDP 广播方式传输数据的嵌入式设备虚拟成本机COM 口。口。

这些设备包括串口服务器、无线DTU 或其他各类嵌入式以太网&TCP/IP 设备。设备。

虚拟串口互联虚拟串口互联

1台电脑用Server 模式和Client 模式运行2个VSPM 虚拟串口软件,可以实现虚拟串口互联。可以实现虚拟串口互联。

软件调试及串口通讯模拟软件调试及串口通讯模拟

利用各类扩展DLL 插件,可以使VSPM 模拟成一个串口设备,方便软件调试。件调试。

3、 VSP VSPM M 虚拟串口性能参数虚拟串口性能参数

项目项目

配置配置

端口速度端口速度 110110--115200bps 115200bps

数据位数据位 5、6、7、8 停止位停止位 1、2

校验位校验位 无、奇、偶、标记。无、奇、偶、标记。

流控流控

可设置流控,但VSPM 软件在转发时忽略此设置。软件在转发时忽略此设置。 发送缓冲发送缓冲 8K 字节,如果超过此长度,将丢弃超出部分的数据。字节,如果超过此长度,将丢弃超出部分的数据。

二、二、 安装VSPM 虚拟串口软件虚拟串口软件

1、 快速安装快速安装

1.1. 执行VSPM.exe VSPM.exe

如果是您从网站上下载的RAR 压缩包,请解压缩执行里面的VSPM.exe VSPM.exe,,光盘用户可以执行运行VSPM.exe VSPM.exe,,并按照提示安装软件到电脑。到电脑。

2.2. 选择工作模式选择工作模式

在第一次启动在第一次启动时请选择时请选择VSPM 软件的工作模式,软件的工作模式,VSPM VSPM 可以运行在Client 模式、模式、Server Server 模式或UDP 广播模式。

Client 模式(默认):对应的远程设备应该运行在Server 模式,由VSPM 发起连接。发起连接。

Server 模式:对应的远程设备应该运行在Client 模式,由设备发起连接。连接。

UDP 广播模式:对应的远程设备应该运行UDP 广播模式,能够接收发送广播包,广播模式无连接。送广播包,广播模式无连接。

1)1) Client 模式模式

Client 模式下,模式下,VSPM VSPM 软件将根据设置主动连接远程主机,所以远程设备必须运行在Server 模式。模式。

2)2) Server 模式模式

Server 模式下,模式下,VSPM VSPM 软件将根据设置监听特定的端口,并等待远程设备发起的连接,远程设备必须运行在Client 模式。模式。

3)3) UDP 广播模式广播模式

此模式下,此模式下,VSPM VSPM 将使用UDP 广播方式向网络发送广播方式向网络发送//接收数据,远程设备必须运行在UDP 广播模式,此模式通常用于组建大规模的半双工网络。络。

3.3. 选择虚拟串口建立方式选择虚拟串口建立方式

1)1) 使用串口服使用串口服务器探测器建立串口务器探测器建立串口务器探测器建立串口

VSPM 将不建立任何虚拟串口,用户可以通过<扫描添加设备扫描添加设备>>选择设

备并自动完成虚拟串口建立。也可以手工建立所需要的虚拟串口。备并自动完成虚拟串口建立。也可以手工建立所需要的虚拟串口。

如果网络里有VSPM 可识别的设备,设备探测器可以显示出这些设备。选中一个设备,然后选择<映射此设备端口映射此设备端口>>就可以将此设备的可映射端口映射为本地的虚拟COM 口。

2)2) 建立默认的虚拟串口建立默认的虚拟串口

如果是Client 或Server 模式,模式,VSPM VSPM 将自动建立4个默认的虚拟串口,在UDP 广播模式下,不建立任何虚拟串口。广播模式下,不建立任何虚拟串口。

下面为Client 模式建立默认虚拟串口时的截图,实际运行可能会模式建立默认虚拟串口时的截图,实际运行可能会有有些不同。些不同。

3)3) 虚拟串口建立的默认规则虚拟串口建立的默认规则

VSPM 将自动避开系统中已经存在的串口,并按照顺序建立串口。将自动避开系统中已经存在的串口,并按照顺序建立串口。

三、三、 设备探测器设备探测器

1.1. 选择<扫描添加设备扫描添加设备>>,就可以进入设备探测器就可以进入设备探测器

2.2. 使用设备探测器使用设备探测器

搜索设备:选择<搜索设备搜索设备>>,可以搜索到可以识别的设备,并显

示相应信息。示相应信息。

映射此设备端口:根据设备提供的信息,建立相应的虚拟串口。根据设备提供的信息,建立相应的虚拟串口。 管理:使用软件内置Telnet 程序登录到设备并进行管理。程序登录到设备并进行管理。

3.3. 设备探测器工作方式设备探测器工作方式

设备探测器使用召唤等待应答的方式工作,软件首先使用UDP 广播方广播方式式向网络里发送特定的召唤数据包,然后等待设备应答。然后等待设备应答。

由于使用UDP 广播方式工作,所以设备探测器无法跨网段工作,设备在跨网段工作时,设备探测器无法搜索到该设备。跨网段工作时,设备探测器无法搜索到该设备。 召唤协议为公开的协议,可以向开发者免费索取。召唤协议为公开的协议,可以向开发者免费索取。

四、四、 Client 模式模式

1、 Client 模式工作特点模式工作特点

创建虚拟串口或软件启动时,VSPM 根据设置的<远程服务器IP 和

远程服务器监听端口远程服务器监听端口>>发起TCP/IP 连接,尝试为每个虚拟串口建立TCP/IP 连接。连接。

当虚拟串口打开时,如果没有对应的TCP/IP 连接,连接,VSPM VSPM 也会主

动尝试连接远程服务器,如果失败,将根据设置的间动尝试连接远程服务器,如果失败,将根据设置的间隔,一直重隔,一直重试。试。

在与远程服务器建立

TCP/IP 连接时,VSPM 将尝试与远程设备同

步串口参数。

2、 手工添加一个Client 模式虚拟串口模式虚拟串口

1)1) 选择选择<<虚拟串口管理虚拟串口管理>>-><><新增虚拟串口新增虚拟串口新增虚拟串口>>

2)2) 输入指定虚拟串口信息输入指定虚拟串口信息

A)A) 首先选择要建立的虚拟串口,系统已经存在的串口,不会显示

在列表中。在列表中。

B)B) Client 下,由VSPM 软件主动发起连接,所以需要指定虚拟串口

对应的远程服务器IP 地址和远程服务器监听端口。 C)C) 单击确定,完成并建立此虚拟串口。单击确定,完成并建立此虚拟串口。

可以重复A -C 操作,以建立多个Client 的虚拟串口。的虚拟串口。

五、五、 Server 模式模式

1、 Server 模式工作特点模式工作特点

创建虚拟串口时,由VSPM 根据设置监听指定的IP 和端口 VSPM 等待远程设备建立TCP/IP 连接,远程主机必须主动发起连

接(接(Client Client 模式)

如果虚拟串口有数据,但没有对应的TCP/IP 连接,本次数据将被

丢弃丢弃

如果一个虚拟串口对应的TCP/IP 连接已经建立,VSPM 仍然会继

续监听此虚拟串口的对应的IP 和端口,如果有针对此端口,新发起的TCP/IP 连接,将使用新连接代替原先的TCP/IP 连接。连接。 Server 模式下,新建、修改、删除一个虚拟串口,都将暂停全部

虚拟串口的转发操作。虚拟串口的转发操作。

支持Client 模式的串口服务器或其他类似设备时,可以使用附带

的<心跳包心跳包>>插件,来发送指定的心跳包数据,用于设备TCP/IP 连接状态检测。接状态检测。

2、 手工添加一个Server 模式虚拟串口模式虚拟串口

1)1) 选择<虚拟串口管理虚拟串口管理>>-><新增虚拟串口新增虚拟串口>>

2)2) 输入指定虚拟串口信息输入指定虚拟串口信息

A)A) 首先选择要建立的虚拟串口,系统已经存在的串口,不会显示

在列表中

B)B) 指定要监听的本机IP 地址及端口,地址及端口,TCP/IP TCP/IP 端口对应一个虚拟

串口。串口。

C)C) 单击确定,完成并建立此虚拟串口。单击确定,完成并建立此虚拟串口。

可以重复A -C 操作,以建立多个Server 的虚拟串口。的虚拟串口。

3、 Server 模式下服务器管理功能模式下服务器管理功能

重启服务器:先停止服务器然后再重新启动,将中断当前所有的

TCP/IP 连接。连接。

启动服务器:开始监听。开始监听。

停止服务器:停止监听,并中断所有当前连接。停止监听,并中断所有当前连接。 这些功能用于排除可能发生的网络故障。这些功能用于排除可能发生的网络故障。

六、六、 UDP 广播模式广播模式

1、 UDP 广播模式工作特点广播模式工作特点

使用UDP 广播包方式通讯,整个局域网的网络设备都可以同时收到

VSPM 发送的数发送的数据。而远程设备也应该使用据。而远程设备也应该使用UDP 广播方式向VSPM 发送数据。

创建虚拟串口时,VSPM 软件会在指定IP 地址和端口上监听广播数据,

如果虚拟串口有数据,也将使用广播方式发送到指定IP 地址和端口。 UDP 广播模式下,新建、修改、删除一个虚拟串口,都将暂停全部虚

拟串口的转发操作。拟串口的转发操作。

除非在路由器上做特殊设置,否则UDP 广播模式无法实现跨网段应

用。用。

2、 添加一个UDP 广播模式的虚拟串口广播模式的虚拟串口

1)1) 选择虚拟串口管理选择虚拟串口管理-->新增虚拟串口新增虚拟串口

2)2) 输入指定虚拟串口信息输入指定虚拟串口信息

A)A) 首先选择要建立的虚拟串口,系统已经存在的串口,不会显示

在列表中在列表中

B)B) 必须为此虚拟串口指定>、<接收端口接收端口>>、<发送

地址地址>>和<发送端口发送端口>>。虚拟串口使用<发送地址发送地址>>和<发送端口发送端口>>来发送数据,用<接收地址接收地址>>和<接收端口接收端口>>来接收数据。来接收数据。 C)C) 单击确定,完成并建立此虚拟串口。单击确定,完成并建立此虚拟串口。

可以重复此操作,以建立多个UDP 模式的虚拟串口。模式的虚拟串口。

七、七、 同步虚拟串口与串口服务器端口参数

在打开虚拟串口或重新建立TCP/IP 连接时,VSPM 会连接相应设备的命令端口,并发送控制命令,将设备对应的硬件串口设置为成虚拟串口一样的样的参数。参数。参数。

运行在>时,此功能无效。时,此功能无效。

同步协议同步协议同步协议

此协议使用TCP/IP 方式传输控制命令。方式传输控制命令。

同步协议同步协议同步协议

此协议使用UDP 方式传输控制命令。方式传输控制命令。

八、八、 远程设备管理功能远程设备管理功能

1、 先决条件先决条件

只有VSPM 与支持Telnet 指令的设备配套使用时,可以使用远程设备管理功能。备管理功能。

VSPM 将通过默认的Telnet 端口(端口(232323)),发出Telnet 命令来实现这些管理功能。些管理功能。

2、 管理此设备管理此设备

1)1) <管理此设备管理此设备>>功能将启动Telnet 管理器,登录到远程设备。录到远程设备。

设备的配置方法,请参考相应的技术配置手册。设备的配置方法,请参考相应的技术配置手册。

如果连接失败,或出现其他错误,将在主窗体内提示。

2) 如果连接失败,或出现其他错误,将在主窗体内提示。

2)

重新连接>>。

如果连接失败,可以修改主机地址及端口,然后单击<重新连接

重启此设备>>和<检查此设备连接

检查此设备连接>>

3、<重启此设备

1) 使用这些功能,首先必须输入远程设备的管理员口令。

1)

2)2) <重启设备重启设备>>

VSPM 通过Telnet 自动发送‘自动发送‘r r ’指令。设备收到这个指令后,将重新启动。新启动。

3)3) <检查连接检查连接>>

VSPM 通过Telnet 自动发送‘自动发送‘v v ’命令。设备收到此命令后,将向所有已建立的TCP/IP 连接发送‘连接发送‘test connect test connect test connect’字符串,此功能用’字符串,此功能用于设备调试,或清除死连接。于设备调试,或清除死连接。

KEIL中如何用虚拟串口调试串口程序

KEIL中如何用虚拟串口调试串口程序 发表于2008/5/7 15:30:22 以前没接触过串口,一直都以为串口很复杂。最近在做一个新项目,用单片机控制GSM模块。单片机和GSM模块接口就是串口。调试完后觉得串口其实很简单。“不过如此”。这可能是工程师做完一个项目后的共同心态吧。下面详细介绍下如何用虚拟串口调试串口发送接收程序。 需要用到三个软件:KEIL,VSPD XP5(virtual serial ports driver xp5.1虚拟串口软件),串口调试助手。 1、首先在KEIL里编译写好的程序。 2、打开VSPD,界面如下图所示: 左边栏最上面的是电脑自带的物理串口。点右边的add pair,可以添加成对的串口。一对串口已经虚拟互联了,如果添加的是COM3、COM4,用COM3发送数据,COM4就可以接收数据,反过来也可以。 3、接下来的一步很关键。把KEIL和虚拟出来的串口绑定。现在把COM3和KEIL 绑定。在KEIL中进入DEBUG模式。在最下面的COMMAND命令行,输入MODE COM3 4800,0,8,1(设置串口3的波特率、奇偶校验位、数据位、停止位,打开COM3串口,注意设置的波特率和程序里设置的波特率应该一样)ASSIGN COM3 SOUT(把单片机的串口和COM3绑定到一起。因为我用的单片机是AT892051,只有一个串口,所以用SIN,SOUT,如果单片机有几个串口,可以选择S0IN,S0OUT,S1IN,S1OUT。)

4、打开串口调试助手 可以看到虚拟出来的串口COM3、COM4,选择COM4,设置为波特率4800,无校验位、8位数据位,1位停止位(和COM3、程序里的设置一样)。打开COM4。 现在就可以开始调试串口发送接收程序了。可以通过KEIL发送数据,在串口调试助手中就可以显示出来。也可以通过串口调试助手发送数据,在KEIL中接收。这种方法的好处是不用硬件就可以调试。这是网上一篇文章介绍的方法,联系我实际的使用做了整理。有用的着的人就不用继续摸索了

总线地址、物理地址、虚拟地址相关概念澄清

总线地址、物理地址、虚拟地址相关概念澄清 Now, on normal PCs the bus address is exactly the same as the physicaladdress, and things are very simple indeed. However, they are that simplebecause the memory and the devices share the same address space, and that isnot generally necessarily true on other PCI/ISA setups. Now, just as an example, on the PReP (PowerPC Reference Platform), theCPU sees a memory map something like this (this is from memory): 0-2 GB "real memory" 2 GB- 3 GB "system IO" (inb/out and similar accesses on x86) 3 GB- 4 GB "IO memory" (shared memory over the IO bus) Now, that looks simple enough. However, when you look at the same thing fromthe viewpoint of the devices, you have the reverse, and the physical memoryaddress 0 actually shows up as address 2 GB for any IO master.So when the CPU wants any bus master to write to physical memory 0, it has to give the master address 0x80000000 as the memory address. So, for example, depending on how the kernel is actually mapped on the PPC, you can end up with a setup like this: physical address: 0 virtual address: 0xC0000000 bus address: 0x80000000 where all the addresses actually point to the same thing. It's just seen through different translations..Similarly, on the Alpha, the normal translation is physical address: 0 virtual address: 0xfffffc0000000000 bus address: 0x40000000 (but there are also Alphas where the physical address and the bus address are the same). Anyway, the way to look up all these translations, you do #include phys_addr = virt_to_phys(virt_addr); virt_addr = phys_to_virt(phys_addr); bus_addr = virt_to_bus(virt_addr); virt_addr = bus_to_virt(bus_addr); Now, when do you need these? there are actually _three_ different ways of lookingat memory addresses, and in this case we actually want the third, the so-called "bus address". Essentially, the three ways of addressing memory are (this is "real memory", that is, normal RAM--see later about other details): - CPU untranslated. This is the "physical" address. Physical address 0 is what the CPU sees when it drives zeroes on the memory bus. - CPU translated address. This is the "virtual" address, and is completely internal to the CPU itself with the CPU doing the appropriate translations into "CPU untranslated". - bus address. This is the address of memory as seen by OTHER devices, not the CPU. Now, in theory there could be many different bus addresses, with each device seeing memory in some device-specific way, but happily

内核虚拟地址与物理地址的关系...

内核虚拟地址与物理地址的关系... 2009-04-21 20:47 在网上查资料时看到几篇介绍 linux driver 编写的文章,其中 提到 kmalloc() 与 __get_free_page() 返回地址的问题,我们 都知道 kmalloc() 与 __get_free_page() 分配的是物理内存, 但它返回的到底是什么?那几篇关于驱动编写的文章中提到申请 的是物理地址,返回的依然是物理地址。但有一篇文章中,作者 对此提出了质疑,但没有给出答案。这也就是我写这篇笔记的 原因。在找答案的同时也将 linux kernel 分配物理内存的流程 做了下分析。这仅是篇笔记,写的比较乱。自己能看懂就行了。 这里只分析分配连续物理地址的函数。对于 vmalloc() 这种分 配非连续物理地址的函数不在本记录范围之内。 1、kmalloc() 分配连续的物理地址,用于小内存分配。 2、__get_free_page() 分配连续的物理地址,用于整页分配。 至于为什么说以上函数分配的是连续的物理地址和返回的到底 是物理地址还是虚拟地址,下面的记录会做出解释。 kmalloc() 函数本身是基于 slab 实现的。slab 是为分配小内存 提供的一种高效机制。但 slab 这种分配机制又不是独立的,它 本身也是在页分配器的基础上来划分更细粒度的内存供调用者使 用。也就是说系统先用页分配器分配以页为最小单位的连续物理 地址,然后 kmalloc() 再在这上面根据调用者的需要进行切分。 关于以上论述,我们可以查看 kmalloc() 的实现,kmalloc() 函数的实现是在 __do_kmalloc() 中,可以看到在 __do_kmalloc() 代码里最终调用了 __cache_alloc() 来分配一个 slab,其实 kmem_cache_alloc() 等函数的实现也是调用了这个函数来分配 新的 slab。我们按照 __cache_alloc() 函数的调用路径一直跟 踪下去会发现在 cache_grow() 函数中使用了 kmem_getpages() 函数来分配一个物理页面,kmem_getpages() 函数中调用的 alloc_pages_node() 最终是使用 __alloc_pages() 来返回一个struct page 结构,而这个结构正是系统用来描述物理页面的。 这样也就证实了上面所说的,slab 是在物理页面基础上实现的。kmalloc() 分配的是物理地址。 __get_free_page() 是页面分配器提供给调用者的最底层的内 存分配函数。它分配连续的物理内存。__get_free_page() 函数 本身是基于 buddy 实现的。在使用 buddy 实现的物理内存管理中 最小分配粒度是以页为单位的。关于以上论述,我们可以查看

STM32利用虚拟串口调试

STM32串口利用虚拟串口调试 解决*** error 30: undefined name of virtual register 问题 以下摘录于网络。 1. 利用VSPD将PC上的两个虚拟串口连接起来。如图我将COM2 和COM3连接起来。点击Addr pair。 2. 可以看到Virtual ports上将两个虚拟串口连接到了一起了。 3.虚拟串口准备就绪了。先将直接输入命令的方式来调试。我们打开KEIL MDK的,设置成仿真的模式。点DEBUG.在COMMAND串口输入: MODE COM2 38400, 0, 8, 1

说明: MODE命令的作用是设置被绑定计算机串口的参数。基本使用方式为:

MODE COMx baudrate, parity, databits, stopbits 其中: COMx(x = 1,2,…)代表计算机的串口号; baudrate代表串口的波特率;parity代表校验方式; databits代表数据位长度; stopbits代表停止位长度。 例如:MODE COM1 9600, n, 8, 1 设置串口1。波特率为9 600,无校验位,8位数据,1位停止位。 MODE COM2 19200, 1, 8, 1 设置串口2。波特率为19 200,奇校验,8位数据,1位停止位。 4、点回车后,再输入ASSIGN COM2 S1OUT 说明: COMx代表计算机的串口,可以是COM1、COM2、COM3或其他; inreg和outreg代表单片机的串口。对于只有一个串口的普通单片机,即SIN和SOUT;对于有两个或者多个串口的单片机,即SnIN和SnOUT(n=0,1,…即单片机的串口号)。 例如:ASSIGN COM1 < SIN > SOUT 将计算机的串口1绑定到单片机的串口(针对只有一个串口的单片机)。 ASSIGN COM2 < SIN > SOUT 将计算机的串口2绑定到单片机的串口0(针对有多个串口的单片机,注意串口号的位置)。 需要注意的是,参数的括号是不能省略的,而outreg则是没有括号的。

VSPM 虚拟串口软件

VSPM虚拟串口软件使用帮助 (Ver2.1)

一、 软件介绍软件介绍 (44) 1、 功能说明...........................................................................................................................4 2、 VSPM 软件适用范围及应用条件...................................................................................5 3、 VSPM 虚拟串口性能参数...............................................................................................5 4、 发送缓冲 (5) 二、 安装VS VSPM PM 虚拟串口软件 (66) 1、 快速安装...........................................................................................................................6 1. 执行VSPM.exe ..........................................................................................................6 2. 选择工作模式...........................................................................................................6 3. 选择虚拟串口建立方式...........................................................................................8 2、 应用方式. (10) 三、 设备探测器设备探测器 (1111) 1. 选择<扫描添加设备>,就可以进入设备探测器 (11) 2. 使用设备探测器.....................................................................................................11 3. 设备探测器工作方式 (11) 四、 Client 模式 (12) 1、 Client 模式虚拟串口工作特点......................................................................................12 2、 添加一个虚拟串口 (12) 五、 Server 模式 (14) 2、 Server 模式工作特点......................................................................................................14 3、 添加一个虚拟串口.........................................................................................................14 4、 Server 模式下服务器管理功能 (16) 六、 UDP 广播模式 (1717) 1、 UDP 广播模式工作特点................................................................................................17 2、 添加一个虚拟串口 (17) 七、 同步虚拟串口与串口服务器端口参数........................1919 八、 远程设备管理功能远程设备管理功能 (1919) 1、 先决条件.........................................................................................................................19 2、 重启此设备和检查此设备连接.....................................................................................20 3、 管理此设备 (21) 九、 VSPM 参数设置 (2222) 1、 基本参数.........................................................................................................................22 2、 网络参数.........................................................................................................................23 3、 工作参数 (24) 十、 串口数据跟踪功能串口数据跟踪功能 (2626) 1. 选中一个串口,然后选择<跟踪此串口数据>,就可以跟踪此串口数据。 (26)

虚拟串口使用方法

虚拟串口使用方法 虚拟串口访问方法要配合上位机驱动软件一起使用。安装了虚拟串口驱动程序后,利用虚拟串口管理软件创建一个虚拟串口,此虚拟串口的使用方法相当于电脑自带的实串口,它会自动检测打开该串口的软件所用的波特率和数据位停止位等信息,并同步到串口服务器,不需要手动设置。虚拟串口软件具有网络连接心中检测功能,可以检测到网络的异常断开,并自动重新连接。 按以下步骤操作,先把串口服务器的工作模式设置为TCP 服务器模式,再安装驱动软件创建串口。 0,串口服务器的设置 先通过网页浏览器登录串口服务器管理页面,设置串口服务器的工作参数。在浏览器的URL地址栏中输入串口服务器的IP地址(如串口服务器的默认IP为:192.168.1.111,用户名为:admin,密码为:admin),打开管理登录界面: 输入用户名和密码后看到串口服务器的当前工作参数:

在对应的串口的[串口设置]功能选项中的[连接模式]选项中选择“TCP 服务器”(串口服务器一厂时一般默认为该模式),其它参数不用设置(驱动程序会根据实际检测到的情况自动 修改)。如下所示:

其它选项不用填,选择“保存为默认设置”后提交马上生效,关机后仍然生效,当[连接模式]改变时请重启串口服务器。 1 虚拟串口软件安装 要通过虚拟串口方式来访问设备必须安装此软件,通过socket方式即可不安装. 安装软件系统要求: 操作系统:windows2000/XP/2003; CPU:1.4G或以上; 内存:128M以上。 在安装文件中,双击Setup.exe 文件,进入安装界面.

点击下一步,进入下一个安装界面, 如果同意软件安装协议选择”我接受”,否则选择”取消”退出安装.选择”我接受”进入下一个安装界面: 选择程序安装目标文件夹,由于所需空间很小,只需要8M左右,一般按照默认则可,若要改变目标文件夹,在”浏览”中选择你的目标文件夹,单击”安装”按钮进入一下安装界面. 在安装过程中会弹出以下窗口,提示正在安装驱动,请勿关闭此窗口,驱动安装完成后些窗口会自动关闭。

物理地址虚拟地址的关系

解读物理地址、虚拟地址关系 2008年04月21日星期一 20:47 一直对物理地址,虚拟地址的概念比较含糊,今天在网上找了一篇文章读过后有点开悟,并整理出一幅关系图来,不对地方请各位网友指正: 原文如下: Windows 2000 使用基于分页机制的虚拟内存。每个进程有4GB的虚拟地址空间。基于分页机制,这4GB地址空间的一些部分被映射了物理内存,一些部分映射硬盘上的交换文件,一些部分什么也没有映射。程序中使用的都是4GB地址空间中

的虚拟地址。而访问物理内存,需要使用物理地址。 下面我们看看什么是物理地址,什么是虚拟地址。 物理地址 (physical address): 放在寻址总线上的地址。放在寻址总线上,如果是读,电路根据这个地址每位的值就将相应地址的物理内存中的数据放到数据总线中传输。如果是写,电路根据这个地址每位的值就将相应地址的物理内存中放入数据总线上的内容。物理内存是以字节(8位)为单位编址的。 虚拟地址 (virtual address): 4G虚拟地址空间中的地址,程序中使用的都是虚拟地址。 如果CPU寄存器中的分页标志位被设置,那么执行内存操作的机器指令时,CPU 会自动根据页目录和页表中的信息,把虚拟地址转换成物理地址,完成该指令。比如mov eax,004227b8h ,这是把地址004227b8h处的值赋给寄存器的汇编代码,004227b8这个地址就是虚拟址。CPU在执行这行代码时,发现寄存器中的分页标志位已经被设定,就自动完成虚拟地址到物理地址的转换,使用物理地址取出值,完成指令。对于Intel CPU 来说,分页标志位是寄存器CR0的第31位,为1表示使用分页,为0表示不使用分页。对于初始化之后的 Win2k 我们观察 CR0 ,发现第31位为1。表明Win2k是使用分页的。 使用了分页机制之后,4G的地址空间被分成了固定大小的页,每一页或者被映射到物理内存,或者被映射到硬盘上的交换文件中,或者没有映射任何东西。对于一般程序来说,4G的地址空间,只有一小部分映射了物理内存,大片大片的部分是没有映射任何东西。物理内存也被分页,来映射地址空间。对于32bit的Win2k,页的大小是4K字节。CPU用来把虚拟地址转换成物理地址的信息存放在叫做页目录和页表的结构里。 物理内存分页,一个物理页的大小为4K字节,第0个物理页从物理地址 0×00000000 处开始。由于页的大小为4KB,就是0×1000字节,所以第1页从物理地址 0×00001000 处开始。第2页从物理地址 0×00002000 处开始。可以看到由于页的大小是4KB,所以只需要32bit的地址中高20bit来寻址物理页。 页表,一个页表的大小为4K字节,放在一个物理页中。由1024个4字节的页表项组成。页表项的大小为4个字节(32bit),所以一个页表中有1024个页表项。页表中的每一项的内容(每项4个字节,32bit)高20bit用来放一个物理页的物理地址,低12bit放着一些标志。 页目录,一个页目录大小为4K字节,放在一个物理页中。由1024个4字节的页目录项组成。页目录项的大小为4个字节(32bit),所以一个页目录中有1024个页目录项。页目录中的每一项的内容(每项4个字节)高20bit用来放一个页表(页

虚拟串口Virtual Serial Port说明书

VSPM虚拟串口软件使用帮助虚拟串口软件使用帮助 (Ver2.5) (Ver2.5)

一、一、 软件介绍软件介绍 1、 功能说明功能说明 VSPM 虚拟串口软件可以将TCP/IP 连接、连接、UDP UDP 广播,映射成本机的虚拟COM 口,应用程序通过访问虚拟串口,就可以完成远程控制、数据传输等功能。等功能。 VSPM 虚拟串口软件特点:虚拟串口软件特点: 多虚拟串口映射多虚拟串口映射 收/发多线程架构发多线程架构 支持虚拟串口参数同步指令支持虚拟串口参数同步指令 自动错误纠正、自动连接、自动重新试自动错误纠正、自动连接、自动重新试 实时虚拟串口数据传输监控实时虚拟串口数据传输监控 集成Telnet 管理器管理器 集成设备探测器集成设备探测器 Server Server、、Client Client、、U DP 广播模式,广播模式,33种工作模式种工作模式 支持扩展DLL 插件,具备强大的扩展功能插件,具备强大的扩展功能 免费软件免费软件

2、 VSPM 软件适用范围软件适用范围 适用的嵌入式设备适用的嵌入式设备 可以将任何使用TCP/IP 或UDP 广播方式传输数据的嵌入式设备虚拟成本机COM 口。口。 这些设备包括串口服务器、无线DTU 或其他各类嵌入式以太网&TCP/IP 设备。设备。 虚拟串口互联虚拟串口互联 1台电脑用Server 模式和Client 模式运行2个VSPM 虚拟串口软件,可以实现虚拟串口互联。可以实现虚拟串口互联。 软件调试及串口通讯模拟软件调试及串口通讯模拟 利用各类扩展DLL 插件,可以使VSPM 模拟成一个串口设备,方便软件调试。件调试。 3、 VSP VSPM M 虚拟串口性能参数虚拟串口性能参数 项目项目 配置配置 端口速度端口速度 110110--115200bps 115200bps 数据位数据位 5、6、7、8 停止位停止位 1、2 校验位校验位 无、奇、偶、标记。无、奇、偶、标记。 流控流控 可设置流控,但VSPM 软件在转发时忽略此设置。软件在转发时忽略此设置。 发送缓冲发送缓冲 8K 字节,如果超过此长度,将丢弃超出部分的数据。字节,如果超过此长度,将丢弃超出部分的数据。

如何使用IFD9506之虚拟串口访问PLC

如何使用IFD9506之虚拟串口访问PLC 一、连接方式 PC IFD9506 PLC PC与IFD9506的连接方式为工业以太网。 IFD9506与PLC的连接方式为RS485,接线图如下: IFD9506 PLC D+ ---------------------- + D- ----------------------- - SG --------------------- SG 二、PLC之通讯设置 设置PLC之RS485接口的通讯参数为9600,7,E,1,通讯模式为ASCII,通讯地址为1。在程序之初始位置写入以下程序,并下载至PLC,且PLC处于运行状态,全新的PLC也可不进行此操作,因为,出厂默认值即为本例的设定值。 三、计算机之设置 计算机需设置与IFD9506连接之以太网卡的IP地址,本例中IP设置为192.168.1.1,子网掩码为255.255.255.0,默认网关为192.168.1.1,如下:

计算机的IP地址与IFD9506的IP地址必须同在一个网段内,且IP地址不可重复。 四、IFD9506之通讯设置 1、设置IFD9506之RS485接口的通讯参数为9600,7,E,1,通讯模式为ASCII,通讯地址为2,工业以太网之IP地址为192.168.1.5,子网掩码为255.255.255.0,默认网关为192.168.1.1,如下图: 设置通讯模式为“序列主站”,通讯口协议设置为“自定义COM2”。

此通讯口协议必须设置与PLC之通讯协议完全一致。 自定义项中将序列主站的监听端口设置为20001。 设置完成后,点击【应用】确认配置生效。 2、检验计算机与IFD9506的通讯连接是否正常 计算机与IFD9506的IP地址均设置完成后,将网线进行正确连接后,可使用计算机的运行命令对IFD9506进行检验,用来检查工业以太网是否连接正常,如下: 在运行命令框中输入ping 192.168.1.5(IFD9506之IP地址),如果连线正常则会出现以下对话框: 中间空白处会显示ping之IP地址。 3、增加虚拟串口 使用DCISoft V1.05(或更高版本)软件与IFD9506进行工业以太网连接。

USB模拟串口设置说明

19系列扫描枪USB模拟串口设置操作手册 1、串口驱动的安装: 1) 解压驱动文件“Honeywell Scanning and Mobility (HSM) USB serial driver.zip”。 2) 执行解压缩后的文件夹中的“_Install.bat”。 3) 将扫描枪插入电脑USB中,系统自动进行默认安装。 2、扫描器设置:确定扫描枪的读取方式为USBSerial,扫描下面条码。必须执行此操作。 3、串口配置 1) 查看端口号,驱动安装完成后,打开设备管理器,找到端口(COM和LPT),就能找到Xenon 1900 Area_Imaging Scanner,根据端口情况的不同,端口号不固定.

2) 串口参数设置.可以根据具体情况设置串口传输速率,数据位,校验位等.具体设置如下图. 3) 更改串口端口号: 如果需要统一端口号,在属性Force COM port 选项中按照下图设置。COM port可以是下面推荐的值,也可以是使用1~17以内未使用的端口数值。点击确定系统将自动更改。 更改后的端口:

4、串口测试 1)运行超级终端:串口配置完成后,我们可以通过电脑自带的超级终端进行验证串口配置是否正确。在开始–所有程序–附件–通讯–超级终端,点击超级终端 2)配置超级终端,链接使用COM15,串口属性按照系统属性里面的设置进行配置。 3)扫描条码。 配置完成后,在焦点处,扫描条码,将显示扫描到的数据。 如果能够快速显示数据,则表示我们虚拟串口的扫描枪,设置完成。

19GSR 车管所读取方式: 19GSR在车管所监控软件设置方式: 虚拟出串口的端口号

虚拟内存与物理内存的地址映射解析

在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。 一早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。那当程序同时运行多个程序时,操作系统是如何为这些程序分配内存的呢?下面通过实例来说明当时的内存分配方法: 某台计算机总的内存大小是128M,现在同时运行两个程序A和B,A需占用内存10M,B需占用内存110。计算机在给程序分配内存时会采取这样的方法:先将内存中的前10M分配给程序A,接着再从内存中剩余的118M中划分出110M分配给程序B。这种分配方法可以保证程序A和程序B都能运行,但是这种简单的内存分配策略问题很多。

图一早期的内存分配方法 问题1:进程地址空间不隔离。由于程序都是直接访问物理内存,所以恶意程序可以随意修改别的进程的内存数据,以达到破坏的目的。有些非恶意的,但是有bug的程序也可能不小心修改了其它程序的内存数据,就会导致其它程序的运行出现异常。这种情况对用户来说是无法容忍的,因为用户希望使用计算机的时候,其中一个任务失败了,至少不能影响其它的任务。 问题2:内存使用效率低。在A和B都运行的情况下,如果用户又运行了程序C,而程序C需要20M大小的内存才能运行,而此时系统只剩下8M的空间可供使用,所以此时系统必须在已运行的程序中选择一个将该程序的数据暂时拷贝到硬盘上,释放出部分空间来

供程序C使用,然后再将程序C的数据全部装入内存中运行。可以想象得到,在这个过程中,有大量的数据在装入装出,导致效率十分低下。 问题3:程序运行的地址不确定。当内存中的剩余空间可以满足程序C的要求后,操作系统会在剩余空间中随机分配一段连续的 20M大小的空间给程序C使用,因为是随机分配的,所以程序运行的地址是不确定的。 二分段 为了解决上述问题,人们想到了一种变通的方法,就是增加一个中间层,利用一种间接的地址访问方法访问物理内存。按照这种方法,程序中访问的内存地址不再是实际的物理内存地址,而是一个虚拟地址,然后由操作系统将这个虚拟地址映射到适当的物理内存地址上。这样,只要操作系统处理好虚拟地址到物理内存地址的映射,就可以保证不同的程序最终访问的内存地址位于不同的区域,彼此没有重叠,就可以达到内存地址空间隔离的效果。 当创建一个进程时,操作系统会为该进程分配一个4GB大小的虚拟进程地址空间。之所以是4GB,是因为在32位的操作系统中,一个指针长度是4字节,而4字节指针的寻址能力是从 0x00000000~0xFFFFFFFF,最大值0xFFFFFFFF表示的即为4GB大小的容量。与虚拟地址空间相对的,还有一个物理地址空间,这个地址

逻辑地址转换为物理地址

【例2】若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为1024字节,试将逻辑地址1011,2148,4000,5012转化为相应的物理地址。 页号块号 0 1 2 32 3 1 6 分析页式存储管理的地址结构是一维的,即逻辑地址(或物理地址)只用一个数值即可表示。若给定逻辑地址A,页面的大小为L,则页号p和页内地址d 可按照下式求得: p=int [A/L]d=A mod L 其中,int是取整函数(取数值的整数部分),mod是取余函数(取数值的余数部分)。 下图显示了页式管理系统的地址转换机构。

页表的作用是实现从页号到物理块号的地址映射。以逻辑地址的页号检索页表,得到该页的物理块号;同时将页内地址d直接送入物理地址寄存器的块内地址字段中。这样物理块号和块内地址拼接成了实际访问内存的地址,从而完成了从逻辑地址到物理地址的转换。 所以物理地址的计算公式为: 物理地址=块的大小(即页的大小L)′块号f+页内地址d 解本题中,为了描述方便,设页号为p,页内位移为d,则: (1)对于逻辑地址1011,p=int(1011/1024)=0,d=1011 mod 1024=1011。查页表第0页在第2块,所以物理地址为1024′2+1011=3059。 (2)对于逻辑地址2148,p=int(2148/1024)=2,d=2148 mod 1024=100。查页表第2页在第1块,所以物理地址为1024+100=1124。

(3)对于逻辑地址4000,p=int(4000/1024)=3,d=4000 mod 1024=928。查页表第3页在第6块,所以物理地址为1024′6+928=7072。 (4)对于逻辑地址5012,p=int(5012/1024)=4,d=5012 mod 1024=916。因页号超过页表长度,该逻辑地址非法。 【例3】某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下: 页号物理块号 05 110 24 37 则逻辑地址0A5C(H)所对应的物理地址是什么? 分析页式存储管理的逻辑地址分为两部分:页号和页内地址。 由已知条件“用户编程空间共32个页面”,可知页号部分占5位;由“每页为1KB”,1K=210,可知内页地址占10位。由“内存为16KB”,可知有16块,块号为4位。

VSPM 虚拟串口软件可以将TCP

VSPM 虚拟串口软件可以将TCP/IP 连接映射成本机的虚拟COM 口,应用程序通过访问虚拟串口,就可以完成远程控制、数据传输等功能。对于调试串口相关的程序非常方便。下面将详细介绍该软件的使用方法。 首先,下载并且安装VSPM。 双击应用程序图标启动VSPM,若是第一次运行则会弹出如下对话框: 在此,首先介绍一下虚拟串口软件的工作方式。如上所述,虚拟串口软件是将TCP/IP连接映射成为本机的虚拟串口,故使用本软件,必须启动两个本程序实例,一个程序运行在Server 模式,另外一个程序运行在Client模式。 故本次可以选择第二项:VSPM运行在Server模式。紧接着将会弹出如下对话框: 如图,选择新增虚拟串口,则会弹出参数配置对话框:

串口可以选择如:COM2,IP地址为自己的主机的IP,端口号可以直接使用模式的监听端口。点击确定,即可生成一个虚拟的串口COM2。如下图: 点击确定,然后程序会退出,这时,再次点击启动虚拟串口软件,则它将会运行出一个客户端模式程序:

同样,选择新增虚拟串口,在弹出的参数配置框中,选择COM3,IP依然为本机IP,点击确定,则此时可以看到,Client模式程序中已经成功建立的虚拟串口COM3,并且“最后一次操作”显示“TCP/IP连接已经建立”。 至此为止,虚拟串口的服务器与客户端均已经搭建好了,下面就可以在自己的程序中使用该虚拟串口了。 下面,将介绍另外一款串口相关的软件“串口调试助手”,并且使用该软件对上述虚拟串口平台进行测试。 串口调试助手程序界面如下图:

右上角的空白为数据接收显示区,下面的空白为发送的数据编辑区。 例如,我们可以更改左上角的串口参数,选择COM2,并且再次打开一个本程序,选择COM3,由于刚才我们已经使用虚拟串口软件建立了COM2与COM3的连接,故此时,在其中串口调试助手的数据发送编辑框中写入数据,例如:"华中科技大学",然后点击“手动发送”,则会发现,在另外一个串口调试助手的数据接收区显示出了"华中科技大学",因为它监听着发送到该串口的数据,并且显示到了空白区。 到此为止,虚拟串口和串口调试助手的介绍基本结束。希望对各位读者有所帮助,这里其实仅仅介绍了这2款软件的最基本功能,其他的高级功能等待您自己慢慢挖掘,谢谢您的阅读,如果有疑问,欢迎来信交流:lujun.hust@https://www.sodocs.net/doc/482043109.html, 此时,虚拟串口的服务器已经搭建完成,下面将搭建虚拟串口的客户端程序。 不要关闭上述服务器程序,再次点击启动虚拟串口软件,将会弹出:

虚拟串口以及在Proteus中的使用

一,虚拟串口 虚拟串口是计算机通过软件模拟的串口,当其它设计软件使用到串口的时候,可以通过调用虚拟串口仿真模拟,以查看所设计的正确性。首先要安装虚拟串口设置的软件,网上有很多设置虚拟串口的软件,我用的是VSPD,可试用1个月,试用期过后,该软件将不能使用,但不用担心,所设置的虚拟串口不会消失,可以继续使用。 设置界面: 我设置的是COM3和COM4,软件只能成对设置,主要是因为通信时,一方可以监视另一方,如果仅设置1个虚拟串口的话,如你用COM3发送接收数据,但发送了什么接收到什么,你无法验证其正确与来源。这是人家编写软件的

高明之处。软件设置时将所设置的两个虚拟串口对接,这样就可实现发送与接收的监视。从设备管理器中可以看到 两个虚拟串口对接方式:

这样可以用串口调试助手调试串口通信了,从下图可以看到COM3发送的数据到达了COM4的接收区域,COM4发送的数据到达了COM3的接收区域,从而实现了COM3与COM4之间的互联互通。 到这虚拟串口已经设置好,对其它设计软件而言,虚拟串口和普通串口没有区别,如串口调试助手对虚拟串口的使用和普通串口的使用方法一样。二,虚拟串口在Proteus中的使用 下一步介绍一下虚拟串口在Proteus中的使用,更准确的应该说是“串口在Proteus中的使用”,只不过我们用软件实现仿真,虚拟串口在这使用的比较频繁。

先在Proteus中将环境建立起来,很简单,先需要两个元器件就可以建立连接VIRTUAL TERMINAL和COMPIM,如图VIRTUAL TERMINAL的TXD与COMPIM 的TXD相连,RXD与RXD相连,后面有图分析为什么这样相连: VIRTUAL TERMINAL是串口监视仪器,可以通过它将数据线上的符合RS232协议的波形捕捉到,并显示出来,也可以往数据线上发送RS232协议的波形;COMPIM为串口元件,可设置占用计算机上哪一个串口,可以是“实际串口”,也可以是“虚拟串口”,对Proteus而言,是分不清虚拟串口还是实际串口的。下一步就要设置通信速率以及通信格式了,在属性框中实现设置相同的就行了。这样就可实现数据的通信了。图为本人的VIRTUAL TERMINAL和COMPIM的设置:

物理地址逻辑地址虚拟地址的概念

一、概念物理地址(physical address) 用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。 ——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到最大空量逐字节的编号的大数组,然后把这个数组叫做物理地址,但是事实上,这只是一个硬件提供给软件的抽像,内存的寻址方式并不是这样。所以,说它是“与地址总线相对应”,是更贴切一些,不过抛开对物理内存寻址方式的考虑,直接把物理地址与物理的内存一一对应,也是可以接受的。也许错误的理解更利于形而上的抽像。 虚拟内存(virtual memory) 这是对整个内存(不要与机器上插那条对上号)的抽像描述。它是相对于物理内存来讲的,可以直接理解成“不直实的”,“假的”内存,例如,一个0x08000000内存地址,它并不对就物理地址上那个大数组中0x08000000 - 1那个地址元素; 之所以是这样,是因为现代操作系统都提供了一种内存管理的抽像,即虚拟内存(virtual memory)。进程使用虚拟内存中的地址,由操作系统协助相关硬件,把它“转换”成真正的物理地址。这个“转换”,是所有问题讨论的关键。 有了这样的抽像,一个程序,就可以使用比真实物理地址大得多的地址空间。(拆东墙,补西墙,银行也是这样子做的),甚至多个进程可以使用相同的地址。不奇怪,因为转换后的物理地址并非相同的。 ——可以把连接后的程序反编译看一下,发现连接器已经为程序分配了一个地址,例如,要调用某个函数A,代码不是call A,而是call 0x0811111111 ,也就是说,函数A的地址已经被定下来了。没有这样的“转换”,没有虚拟地址的概念,这样做是根本行不通的。 打住了,这个问题再说下去,就收不住了。 逻辑地址(logical address) Intel为了兼容,将远古时代的段式内存管理方式保留了下来。逻辑地址指的是机器语言指令中,用来指定一个操作数或者是一条指令的地址。以上例,我们说的连接器为A分配的0x08111111这个地址就是逻辑地址。 ——不过不好意思,这样说,好像又违背了Intel中段式管理中,对逻辑地址要求,“一个逻辑地址,是由一个段标识符加上一个指定段内相对地址的偏移量,表示为[段标识符:段内偏移量],也就是说,上例中那个0x08111111,应该表示为[A的代码段标识符: 0x08111111],这样,才完整一些” 线性地址(linear address)或也叫虚拟地址(virtual address) 跟逻辑地址类似,它也是一个不真实的地址,如果逻辑地址是对应的硬件平台段式管理转换前地址的话,那么线性地址则对应了硬件页式内存的转换前地址。 ------------------------------------------------------------- CPU将一个虚拟内存空间中的地址转换为物理地址,需要进行两步:首先将给定一个逻辑地址(其实是段内偏移量,这个一定要理解!!!),CPU要利用其段式内存管理单元,先将为个逻辑地址转换成一个线程地址,再利用其页式内存管理单元,转换为最终物理地址。 这样做两次转换,的确是非常麻烦而且没有必要的,因为直接可以把线性地址抽像给进程。之所以这样冗余,Intel完全是为了兼容而已。

相关主题