当前位置:文档之家› 虚拟串口概念

虚拟串口概念

虚拟串口概念
虚拟串口概念

虚拟串口及其在串口转以太网中的应用

本文介绍虚拟串口的概念,以及如何在串口转以太网中利用该技术。

1.虚拟串口的概念

虚拟串口是用操作系统的虚拟驱动技术产生的串口(COM口),相对于计算机本身的硬件串口(COM1等)来说虚拟串口并不对应一个物理上的串口,但是计算机应用软件可以像硬件串口一样地使用虚拟串口,对于串口软件来说虚拟串口和硬件串口并没有区别。

图1. 串口设备利用虚拟串口的网络化升级

2.虚拟串口的应用

在串口转以太网中需要用到虚拟串口是因为有以下两种需要:

1. 应用软件的延续性。用户软件原来使用串口通信(COM1等),现在升级为网络方式通信后,用户的软件不想重新编写。此时使用虚拟串口技术创建一个虚拟串口(计算机上原来没有的COM5等),用户软件打开COM5即可和以前一样使用。极大地加快项目进度、产品上市。

2. 应用软件的通用性。用户不必为串口通信和软件通信开发两套系统。因为在不同的应用中用户可能采用串口通信,也有可能采用网络通信。虚拟串口技术屏蔽了这两种差别,提高了软件通用性。

3.虚拟串口的演示

创建虚拟串口:打开卓岚ZLVircom程序,进入“串口管理”界面,点击“添加”按钮,添加任意一个原来不存在的串口,例如

COM5。此时打开计算机的设备管理可以看到已经出现了一个新的串口COM5,同时如果用“超级终端”选择串口时已增加了COM5。此时你已经可以正常打开COM5使用了。

图2. 检查虚拟串口的存在

绑定虚拟串口:既然虚拟串口已经可以使用了,那么那com5的输出在哪里?输入又来此哪里?这就需要绑定了。进入ZLVircom的“设备管理”,从中选择一台NETCOM2000串口服务器(例如“串服1”),然后进入该设备的编辑,即可选择和这台NETCOM2000绑定的虚拟串口,这里选择COM5。之后在ZLVircon的主界面就出现了一条记录,表示虚拟串口COM5实际就等价于“串服1”这台NETCOM2000设备上的硬件串口。

图3. ZLVircom虚拟串口和卓岚NETCOM2000的绑定情况

虚拟串口通信:串口软件写入COM5的数据都会在“串服1”设备的串口上输出;同样任何发往“串服1”的数据都会被打开COM5的串口软件接收。

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中接收。这种方法的好处是不用硬件就可以调试。这是网上一篇文章介绍的方法,联系我实际的使用做了整理。有用的着的人就不用继续摸索了

串口通信协议

串口通讯—通信协议 所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于ISO'S OSI七层参考模型中的数据链路层。 目前,采用的通信协议有两类:异步协议和同步协议。同步协议又有面向字符和面向比特以及面向字节计数三种。其中,面向字节计数的同步协议主要用于DEC公司的网络体系结构中。 一、物理接口标准 1.串行通信接口的基本任务 (1)实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。在异步通信方式下,接口自动生成起止式的帧数据格式。在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。 (2)进行串-并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据。所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理。因此串并转换是串行接口电路的重要任务。 (3)控制数据传输速率:串行通信接口电路应具有对数据传输速率——波特率进行选择和控制的能力。 (4)进行错误检测:在发送时接口电路对传送的字符数据自动生成奇偶校验位或其他校验码。在接收时,接口电路检查字符的奇偶校验或其他校验码,确定是否发生传送错误。 (5)进行TTL与EIA电平转换:CPU和终端均采用TTL电平及正逻辑,它们与EIA采用的电平及负逻辑不兼容,需在接口电路中进行转换。 (6)提供EIA-RS-232C接口标准所要求的信号线:远距离通信采用MODEM时,需要9根信号线;近距离零MODEM方式,只需要3根信号线。这些信号线由接口电路提供,以便与MODEM或终端进行联络与控制。 2、串行通信接口电路的组成 为了完成上述串行接口的任务,串行通信接口电路一般由可编程的串行接口芯片、波特率发生器、EIA 与TTL电平转换器以及地址译码电路组成。其中,串行接口芯片,随着大规模继承电路技术的发展,通用的同步(USRT)和异步(UART)接口芯片种类越来越多,如下表所示。它们的基本功能是类似的,都能实现上面提出的串行通信接口基本任务的大部分工作,且都是可编程的。才用这些芯片作为串行通信接口电路的核心芯片,会使电路结构比较简单。 3.有关串行通信的物理标准 为使计算机、电话以及其他通信设备互相沟通,现在,已经对串行通信建立了几个一致的概念和标准,这些概念和标准属于三个方面:传输率,电特性,信号名称和接口标准。 1、传输率:所谓传输率就是指每秒传输多少位,传输率也常叫波特率。国际上规定了一个标准波特率系列,标准波特率也是最常用的波特率,标准波特率系列为110、300、600、1200、4800、9600和19200。大多数CRT终端都能够按110到9600范围中的任何一种波特率工作。打印机由于机械速度比较慢而使传输波特率受到限制,所以,一般的串行打印机工作在110波特率,点针式打印机由于其内部有较大的行缓冲

串行通信的基本概念

串行通信的基本概念 串行通信是指两个功能模块只通过一条或两条数据线进行数据交换。发送方需要将数据分解成二进制位,一位、一位地分时经过单条数据线传送。接受方需要一位一位地从单条数据线上接收数据,并且将它们重新组装成一个数据。串行通信数据线路少,在远距离传送时比并行通信的造价低。但是一个数据只有经过若干次以后才可以传送完,速度较慢。 串行通信时,需要解决以下问题: ●双方约定的发送与接受速率(波特率)。 ●约定采用的数据格式(贞格式)。 ●接受方怎样知道一批数据的开始、结束(贞同步)。 ●接受方怎样从数据流中采样每位数据(位同步)。 ●接受方怎样判断接收数据的正确性(数据校验),如何处理收发错误。 解决这些问题的方法大体有同步通信与异步通信两种。 (1)异步通信 异步通信以字符为单位传送,为了解决贞同步,每个字符都附加了一些控制信息,由4部分组成一位起始位(低电平)、5——8位数据位、一位奇偶校验位、1——2位停止位(高电平)。两个字符之间的间隔是任意的,中间可以填充空闲位(高电平)。 只要接受方检测到数据线上出现了由高电平向低电平的跳变,并且低电平能持续一段时间,就表明已经就收到一桢数据的开始。这时可以按照接受时钟从数据线上采样数据,直到接收到了停止位表明接受完一桢数据。接收方还可以通过奇偶校验位判断数据传送过程中是否出现错误。 异步传送控制比较简单,对发送与接收时钟要求不很严格,不会造成错误累积,但是由于每个数据在传送时都要附加控制信息,约有20%的冗余,传送效率并不高,为50——9600波特之间。 (2)同步通信 同步通信以数据块为单位进行传颂,为了解决贞同步,在每一批数据流之前,附加同步信息(1——2个同步字符),最后以校验字符结束。如果在数据传送过程中,发生数据断流(即发送方没有数据可发送)应以同步字符填充。 接收方检测到协议要求的1——2个同步字符后,就可以认为双方已经取得一致,之后就可以在严格的时钟控制下采样数据线接收数据。当然同步通信可以根据校验字符判断所接收的一批字符是否在传送过程中出现错误。 同步通信的传送速率较高,在1——2个同步字符的带领下,就可以源源不断的发送接收。但是同步通信对双方的时钟要求很严格,并且容易造成错误累积。 串行通信中的常用术语 (1)传送机制 穿行传送有单工、半双工、全双工三种传送方向。单工是指发送方与接收方只有一条数据线路,而且这条数据线路永远只能进行余个方向的传输。半双工是指发送方与接收方也只有一条数据线路,但这条数据线路可以在不同时刻进行两个方向的传输。全双工是指发送方与接收方有两条数据线路,同一时刻可以利用这两条数据线路进行不同方向的数据传输。 (2)调制与解调 计算机内使用的是数字信号,要求的频带很宽,而一般的通信线路如电话线路的频带只有

串口通讯

串口通信的基本知识概念(232 422 485) 串口通信的基本概念: 1,什么是串口? 2,什么是RS-232? 3,什么是RS-422? 4,什么是RS-485? 5,什么是握手? 1,什么是串口 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线 Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte) 的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它 很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总 常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。 典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如 300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要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位。由于数据是在 传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现 了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同

USB基本知识与通信协议书范本

串口通信协议 什么是串口 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal SerialBus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(b yte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。 典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配:a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要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,保证逻辑高的位数是偶数个。如果是奇

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则是没有括号的。

串行通信技术基础知识

串行通信技术基础 在串行通信中,参与通信的两台或多台设备通常共享一条物理通路。发送者依次逐位发送一串数据信号,按一定的约定规则为接收者所接收。由于串行端口通常只是定义了物理层的接口规范,所以为确保每次传送的数据报文能准确到达目的地,使每一个接收者能够接收到所有发向它的数据,必须在通信连接上采取相应的措施。 由于借助串行通信端口所连接的设备在功能、型号上往往互不相同,其中大多数设备出了等待接收数据之外还会有其他的任务,例如,一个数据采集单元需要周期性地收集和存储数据;一个控制器需要负责控制计算机或向其他设备发送报文;一台设备可能会在接收方正在进行其他任务时向它发送信息。因此,必须有能应对多种不同工作状态的一系列规则来保证通信的有效性。这里所讲的保证串行通信的有效性的方法包括:使用轮询或者中断来检测、接收信息;设置通信帧的起始、停止位;建立连接握手;实行对接收数据的确认、数据缓存以及错误检查等。 一、串行通信基本概念 1、连接握手 通信帧的起始位可以引起接收方的注意,但发送方并不知道,也不能确定接收方是否已经做好了接收数据的准备。利用连接握手可以使收发双方确认已经建立了连接关系,接收方已经做好准备,可以进入数据收发状态。 连接握手过程是指发送者在发送一个数据块之前使用一个特定的握手信号来引起接收者的注意,表明要发送数据,接收者则通过握手信号回应发送者,说明它已经做好了接收数据的准备。 连接握手可以通过软件,也可以通过硬件来实现。在软件连接握手中,发送者通过发送一个字节表明它想要发送数据;接收者看到这个字节的时候,也发送一个编码来声明自己可以接收数据;当发送者看到这个信息时,便知道它可以发送数据了。接收者还可以通过另一个编码来告诉发送者停止发送。 在普通的硬件握手中,接收者在准备好了接收数据的时候将相应的握手信号线变为高电平,然后开始全神贯注地监视它的串行输入端口的允许发送端。这个允许发送端与接收者已准备好接收数据的信号端相连,发送者在发送数据之前一直在等待这个信号变化。一旦得到信号说明接收者已处于准备好接收数据的状态,便开始发送数据。接收者可以在任意时候将握手信号变为低电平,即便是在接收一个数据块的过程中间也可以把这根导线带入到低电平。当发送者检测到这个低电平信号时,就应该停止发送。而在完成本次传输之前,发送者还会继续等待握手信号线在此变为高电平,以继续被中止的数据传输。 2、确认 接收者为表明数据已经收到而向发送者回复信息的过程称为确认。有的传输过程可能会收到报文而不需要向相关节点回复确认信息。但是在许多情况下,需要通过确认告之发送者数据已经收到。有的发送者需要根据是否收到信息来采取相应的措施,因而确认对某些通信过程是必需的和有用的。即便接收者没有其他信息要告诉发送者,也要为此单独发一个数据确认已经收到的信息。 确认报文可以是一个特别定义过的字节,例如一个标识接收者的数值。发送者收到确认报文就可以认为数据传输过程正常结束。如果发送者没有收到所希望回复的确认报文,它就认为通信出现了问题,然后将采取重发或者其它行动。 3、中断 中断是一个信号,它通知CPU有需要立即响应的任务。每个中断请求对应一个连接到中断源和中断控制器的信号。通过自动检测端口事件发现中断并转入中断处理。 许多串行端口采用硬件中断。在串口发生硬件中断,或者一个软件缓存的计数器到达一个触发值时,表明某个事件已经发生,需要执行相应的中断响应程序,并对该事件做出及时的反应。这种过程也称为事件驱动。

虚拟串口使用方法

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

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

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

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

串口基本常识

串口引脚图.jpg 串口通信的基本概念 1,什么是串口? 2,什么是RS-232? 3,什么是RS-422? 4,什么是RS-485? 5,什么是握手? 1,什么是串口 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。 典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置

串口通讯—通信协议

串口通讯—串口通信协议 所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于ISO'S OSI七层参考模型中的数据链路层。 目前,串口通信协议通常有两类:异步协议和同步协议。同步协议又有面向字符和面向比特以及面向字节计数三种。其中,面向字节计数的同步协议主要用于DEC公司的网络体系结构中。 一、物理接口标准 1、串行通信接口的基本任务 (1)实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。在异步通信方式下,接口自动生成起止式的帧数据格式。在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。 (2)进行串-并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据。所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理。因此串并转换是串行接口电路的重要任务。 (3)控制数据传输速率:串行通信接口电路应具有对数据传输速率——波特率进行选择和控制的能力。 (4)进行错误检测:在发送时接口电路对传送的字符数据自动生成奇偶校验位或其他校验码。在接收时,接口电路检查字符的奇偶校验或其他校验码,确定是否发生传送错误。 (5)进行TTL与EIA电平转换:CPU和终端均采用TTL电平及正逻辑,它们与EIA采用的电平及负逻辑不兼容,需在接口电路中进行转换。 (6)提供EIA-RS-232C接口标准所要求的信号线:远距离通信采用MODEM 时,需要9根信号线;近距离零MODEM方式,只需要3根信号线。这些信号线由接口电路提供,以便与MODEM或终端进行联络与控制。 2、串行通信接口电路的组成 为了完成上述串行接口的任务,串行通信接口电路一般由可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器以及地址译码电路组成。其中,串行接口芯片,随着大规模继承电路技术的发展,通用的同步(USRT)和异步(UART)接口芯片种类越来越多,如下表所示。它们的基本功能是类似的,都能实现上面提出的串行通信接口基本任务的大部分工作,且都是可编程的。采用这些芯片作为串行通信接口电路的核心芯片,会使电路结构比较简单。

虚拟串口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 字节,如果超过此长度,将丢弃超出部分的数据。字节,如果超过此长度,将丢弃超出部分的数据。

VC++串口编程(基本概念)

在PC机的主板上,有一种类型的接口可能为我们所忽视,那就是RS-232C串行接口,在微软的Windows系统中称其为COM。我们可以通过设备管理器来查看COM的硬件参数设置,如图1。 图1 在Windows上查看PC串口设置 迄今为止,几乎每一台PC都包含COM。本质而言,COM是PC为和外界通信所提供的一种串行数据传输的接口。作为一种物理通信的途径和设备,它和目前风靡的另一种串行接口――USB所提供的功能是一致的。不过RS-232C显然已经开始被后起之秀USB赶超,因为USB的传输速率已经远远超过了RS-232C。 尽管如此,RS-232C仍然具有非常广泛的应用,在相对长的一段时间里,难以被USB 等接口取代。RS-232C接口(又称EIA RS-232C),1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定,全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"。 本文将对这一接口进行硬件原理的介绍,随后我们将逐章学习DOS平台的串口编程,及Windows平台下基于API、控件和第三方类的串口编程,最后本文将给出一个综合实例。 在本文的连载过程中,您可以通过如下方式联系作者(热忱欢迎读者朋友对本文的内容提出质疑或给出修改意见): 作者email:21cnbao@https://www.doczj.com/doc/bb8868316.html,(可以来信提问,笔者将力求予以回信解答,并摘取其中的典型问题,在本系列文章最后一次连载的《读者反馈》中予以阐述); 硬件原理 众所周知,CPU与存储芯片和I/O芯片的通信是并行的(并行传输的最大位数依赖于CPU的字长、数据总线的宽度),一种叫做UART(通用异步收发器,Universal Asynchronous

51单片机的串行通信口基本常识

MCS-51单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器(SBUF),这两个在物理上独立的接收发送器,既可以接收数据也可以发送数据。但接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出,它们的地址为99H。这个通信口既可以用于网络通信,亦可实现串行异步通信,还可以构成同步移位寄存器使用。如果在传行口的输入输出引脚上加上电平转换器,就可方便地构成标准的RS-232接口。下面我们分别介绍。 [1].基本概念 数据通信的传输方式 常用于数据通信的传输方式有单工、半双工、全双工和多工方式。 单工方式:数据仅按一个固定方向传送。因而这种传输方式的用途有限,常用于串行口的打印数据传输与简单系统间的数据采集。 半双工方式:数据可实现双向传送,但不能同时进行,实际的应用采用某种协议实现收/发开关转换。

全双工方式:允许双方同时进行数据双向传送,但一般全双工传输方式的线路和设备较复杂。 多工方式:以上三种传输方式都是用同一线路传输一种频率信号,为了充分地利用线路资源,可通过使用多路复用器或多路集线器,采用频分、时分或码分复用技术,即可实现在同一线路上资源共享功能,我们盛之为多工传输方式。 串行数据通信两种形式 异步通信 在这种通信方式中,接收器和发送 器有各自的时钟,它们的工作是非同步 的,异步通信用一帧来表示一个字符, 其内容如下:一个起始位,仅接着是若 干个数据位,图2是传输45H的数据 格式。 同步通信 同步通信格式中,发送器和接收器 由同一个时钟源控制,为了克服在异步 通信中,每传输一帧字符都必须加上起 始位和停止位,占用了传输时间,在要

求传送数据量较大的场合,速度就慢得 多。同步传输方式去掉了这些起始位和 停止位,只在传输数据块时先送出一个 同步头(字符)标志即可。 同步传输方式比异步传输方式速 度快,这是它的优势。但同步传输方式 也有其缺点,即它必须要用一个时钟来 协调收发器的工作,所以它的设备也较 复杂。 串行数据通信的传输速率 串行数据传输速率有两个概念,即每秒转送的位数bps(Bit per second)和每秒符号数—波特率(Band rate),在具有调制解调器的通信中,波特率与调制速率有关。 [2].MCS-51的串行口和控制寄存器 串行口控制寄存器

虚拟串口以及在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的设置:

串口通信的基本知识

串口通信的基本知识 串口通信的基本概念 1,什么是串口? 2,什么是RS-232? 3,什么是RS-422? 4,什么是RS-485? 5,什么是握手? 1,什么是串口? 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus 或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS- 232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。 典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要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,那么对

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

虚拟串口以及在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

串行通讯的基本概念

串行通讯的基本概念:与外界的信息交换称为通讯。基本的通讯方式有并行通讯和串行通讯两种。 一条信息的各位数据被同时传送的通讯方式称为并行通讯。并行通讯的特点是:各数据位同时传送,传送速度快、效率高,但有多少数据位就需多少根数据线,因此传送成本高,且只适用于近距离(相距数米)的通讯。 一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。串行通讯的距离可以从几米到几千米。 根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。 串行通讯又分为异步通讯和同步通讯两种方式。在单片机中,主要使用异步通讯方式。 MCS_51单片机有一个全双工串行口。全双工的串行通讯只需要一根输出线和一根输入线。数据的输出又称发送数据(TXD),数据的输入又称接收数据(RXD)。串行通讯中主要有两个技术问题,一个是数据传送、另一个是数据转换。数据传送主要解决传送中的标准、格式及工作方式等问题。数据转换是指数据的串并行转换。具体说,在发送端,要把并行数据转换为串行数据;而在接收端,却要把接收到的串行数据转换为并行数据。 单工、半双工和全双工的定义 如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。 如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。 如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。 电话线就是二线全双工信道。由于采用了回波抵消技术,双向的传输信号不致混淆不清。双工信道有时也将收、发信道分开,采用分离的线路或频带传输相反方向的信号,如回线传输。 --------> <--------> --------> A---------B A----------B A---------B <-------- 单工半双工全双工 串口通讯—全双工和半双工方式 在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照数据流的方向可分成三种基本的传送方式:全双工、半双工、和单工。但单工目前已很少采用,下面仅介绍前两种方式。 1、全双工方式(full duplex)

串口通信的基本概念

串口通信的基本概念 主要软件: Driver Software>>NI-Serial 主要软件版本: 1.7 主要软件修正版本: N/A 次要软件: N/A 硬件: Serial 问题: 我从那里能够学到串口通信的基本知识 解答: 串口通信的基本概念 1,什么是串口? 2,什么是RS-232? 3,什么是RS-422? 4,什么是RS-485? 5,什么是握手? 1,什么是串口? 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB 兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。 典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要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位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表

相关主题
文本预览
相关文档 最新文档