CN1315072C - 电脑与串口外接模块自动匹配通信的方法 - Google Patents

电脑与串口外接模块自动匹配通信的方法 Download PDF

Info

Publication number
CN1315072C
CN1315072C CNB2004100270327A CN200410027032A CN1315072C CN 1315072 C CN1315072 C CN 1315072C CN B2004100270327 A CNB2004100270327 A CN B2004100270327A CN 200410027032 A CN200410027032 A CN 200410027032A CN 1315072 C CN1315072 C CN 1315072C
Authority
CN
China
Prior art keywords
computer
serial
external module
serial port
port external
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2004100270327A
Other languages
English (en)
Other versions
CN1570899A (zh
Inventor
赵红刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen fast shadow Technology Co., Ltd.
Original Assignee
赵红刚
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 赵红刚 filed Critical 赵红刚
Priority to CNB2004100270327A priority Critical patent/CN1315072C/zh
Publication of CN1570899A publication Critical patent/CN1570899A/zh
Application granted granted Critical
Publication of CN1315072C publication Critical patent/CN1315072C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及一种电脑与串口外接模块自动匹配通信的方法,包括有电脑、电脑串口通信软件、串口外接模块,包括:串口外接模块初始化I/O口,循环侦听电脑串口发送的数据;电脑串口通信软件依次初始化所有电脑串口,启动接收线程,向每个串口发送握手包;串口外接模块接收到握手包,回复握手响应包;电脑串口通信软件接收到某个串口返回的握手响应包后,判断此串口上有外接模块,记录此串口的端口号,使用此串口进行通信;等一系列步骤。同现有技术相比较,本发明方法能自动识别串口外接模块所连接的电脑串口的端口号,串口外接模块自动检测匹配波特率,无需用户辨别电脑端口号,无需手工配置,使用方便。

Description

电脑与串口外接模块自动匹配通信的方法
技术领域  本发明涉及通信技术,特别是涉及电脑与串口外接模块的RS232通信技术。
背景技术  电脑与串口外接模块的RS232通信技术,常用于家用电子产品、工业控制、安全识别等领域。由于电脑有多个串口,外接模块可以被连接在任意一个串口上,传统的RS232通信技术中,没有提供自动匹配通信方案,需要用户辨别电脑串口的端口号,手工配置端口号、波特率,对用户要求较高,用户使用不方便。
发明内容  本发明要解决的技术问题在于避免上述现有技术的不足之处而提出一种电脑与串口外接模块自动匹配通信的方法,无需用户辨别串口的端口号,无需手工配置端口号和波特率,使用方便。
本发明解决所述技术问题可以通过采用以下技术方案来实现:
提出一种电脑与串口外接模块自动匹配通信的方法,包括有电脑、电脑串口通信软件、串口外接模块,包括以下步骤:
A.串口外接模块初始化I/O口,循环侦听电脑串口发送的数据;
B.电脑串口通信软件依次初始化所有电脑串口,启动接收线程,向每个串口发送握手包;
C.串口外接模块接收到握手包,回复握手响应包;
D.电脑串口通信软件接收到某个串口返回的握手响应包后,判断此串口上有外接模块,记录此串口的端口号,使用此串口进行通信。
当电脑与串口外接模块采用预先约定的波特率通信时,所述步骤A中,所述串口外接模块初始化I/O口后按约定的波特率侦听电脑串口发送的数据;所述步骤B中,电脑串口通信软件按约定的波特率依次初始化所有电脑串口。
本发明中,电脑串口通信软件通过检测串口接收电脑串口通信软件发送的握手包的方式,自动识别串口外接模块连接电脑的RS232串口的端口号。也可以由串口外接模块主动发送握手包,由电脑串口通信软件通过检测某个串口接收到握手包来判断串口外接模块连接的串口端口号。之所以采用由电脑串口通信软件主动发送握手包、检测握手响应包的方案,是考虑到可以与串口外接模块通过检测波形自动计算电脑RS232串口的波特率的技术方案统一起来。
在电脑与串口外接模块没有约定波特率的情况下,本发明电脑与串口外接模块自动匹配通信的方法包括如下步骤:
A.串口外接模块初始化I/O口,循环侦听电脑串口是否发送数据;
B.电脑串口通信软件按缺省的波特率依次初始化所有电脑串口,启动接收线程,向每个串口发送握手包;
B1.串口外接模块在检测到电脑串口发送数据时,用计数器测量低电平保持时间,计算每位时间宽度,确定电脑发送数据的波特率;
C.串口外接模块根据步骤B1中确定的波特率向电脑回复握手响应包;
D.电脑串口通信软件接收到某个串口返回的握手响应包后,判断此串口上有外接模块,记录此串口的端口号,使用此串口进行通信;
同现有技术相比较,本发明电脑与串口外接模块自动匹配通信的方法的技术效果在于:自动识别串口外接模块所连接的电脑串口的端口号,串口外接模块自动检测匹配波特率,无需用户辨别电脑端口号,无需手工配置,使用方便。本发明的技术方案实现成本低,接口清晰,可以方便地嵌入到家用电子产品、工业控制、安全识别等方案中。
附图说明
图1是本发明电脑与串口外接模块自动匹配通信的方法的总体架构示意图;
图2是串口外接模块2的电路原理图;
图3是电脑1与串口外接模块2以约定波特率通信的软件流程图;
图4是电脑1与串口外接模块2预先没有约定波特率,自动匹配波特率的软件流程图;包括:图4-1是电脑1与串口外接模块2软件主流程图,图4-2是串口外接模块2根据握手包检测波特率的电平波形示意图,图4-3是串口外接模块2检测波特率软件流程图。
具体实施方式  以下结合附图所示之最佳实施例作进一步详述。
如图1所示,电脑1有四个串口,包括COM1、COM2、COM3和COM4;电脑串口通信软件12负责管理所有串口的初始化、数据发送/接收,并判断串口外接模块2与哪个串口相连;串口外接模块2连接在电脑1的任意一个串口。电脑串口通信软件12对应用软件11提供了统一的通信接口供其调用,并屏蔽了端口号、波特率等串口通信细节;优选的,电脑串口通信软件12作为一个动态链接库供应用软件11调用,也可以封装成一个类嵌入到应用软件11中。
通过专用的多串口卡设备,电脑1可以提供四个以上的串口,电脑串口通信软件12对所有串口采用同样的管理流程。
图2是串口外接模块2的电路原理图。串口外接模块2连接到电脑1的任意一个串口,通过窃电电路从电脑1串口获取5V电源;电路以8位单片机EM78P156为中心控制模块,以软件方式实现串口通信,单片机I/O管脚P61负责向电脑1串口发送数据,单片机I/O管脚P62负责接收来自电脑1的串行数据。
所述串口外接模块电路是低成本的优选方案,市场上也有其它采用专用芯片实现RS232通信电路的方案,这里不再详述。
图3是电脑1与串口外接模块2以约定波特率通信的软件流程图,其流程详述如下:
串口外接模块2初始化I/O口,按约定的波特率侦听电脑串口发送的数据;
电脑串口通信软件12按约定的波特率依次初始化串口COM1、COM2、COM3和COM4,启动接收线程,向每个串口发送握手包;
串口外接模块2接收到握手包,按约定的波特率回复握手响应包;
电脑串口通信软件12接收到某个串口返回的握手响应包后,判断此串口上连接有串口外接模块2,记录此串口的端口号,使用此串口进行通信;其它串口在指定时间内没有收到握手回复包,电脑电脑串口通信软件12判断其它串口上没有串口外接模块,关闭其它端口。
图4是电脑1与串口外接模块2预先没有约定波特率,自动匹配波特率的软件流程图;图4-1是电脑1与串口外接模块2软件主流程图,图4-2是串口外接模块2根据握手包检测波特率的电平波形示意图,图4-3是串口外接模块2检测波特率软件流程图;
如图4-1所示,电脑1与串口外接模块2软件主流程详述如下:
串口外接模块2初始化I/O口,侦听电脑串口是否发送数据,即循环检测单片机输入管脚是否为低电平(RS232发送数据的起始位是低电平);
电脑串口通信软件12按电脑缺省的波特率依次初始化串口COM1、COM2、COM3和COM4,启动接收线程,向每个串口发送握手包;
串口外接模块2在单片机输入管脚检测到电脑串口发送数据到达时,根据握手包的波形计算并匹配波特率;并按照此波特率向电脑1回复握手响应包;
电脑串口通信软件12接收到某个串口返回的握手响应包后,则判断此串口上连接有串口外接模块2,记录此串口的端口号,使用此串口进行通信;其它串口在指定时间内没有收到握手回复包,电脑电脑串口通信软件12判断其它串口上没有串口外接模块,关闭其它端口。
图4-2所示为单片机输入脚接收到的波形。电脑1向串口外接模块2发送的握手包为一个字节,为0x00;数据格式为1位起始位、8位数据位、没有奇偶校验位、2位停止位、1位空闲位。在单片机输入脚,握手包的1位起始位和8位数据位组成一个持续的低电平;串口外接模块2在起始位开始的下降沿开始计时,到第8位数据位末尾的上升沿结束计时,低电平时间宽度T为9位时间宽度,每位时间宽度为T/9,计算波特率为9/T。
在串口外接模块2实际电路中,由于元器件参数的影响,下降沿和上升沿有一定的时间,波特率9/T不是精确的波特率,但比较接近实际波特率,串口接收模块(2)根据元器件参数进行调整补偿,适配为标准的波特率,如300bps、600bps、1200bps、2400bps、4800bps、9600bps、19200bps、38400bps等。
采用0x00作为握手包的原因,主要是考虑元器件参数对下降沿和上升沿的影响。0x00可以构成9位低电平的时间宽度,每位时间宽度为平均值T/9,可以把元器件参数的影响降到最小。按同样的波特率计算方法,也可以采用其它字节值作为握手包,只需要根据字节值形成的低电平时间宽度计算并调整补偿波特率。
图4-3所示,串口外接模块2检测握手包低电平时间宽度的软件流程如下所述:
串口外接模块2软件初始化I/O口,把计数器清零;循环查询单片机输入管脚是否变为低电平,即是否收到电脑1串口发送数据的起始位;如果检测到单片机输入管脚变为低电平,则延时10us,计数器加1,并查询单片机输入管脚是否变为高电平;如果没有变为高电平,则继续延时,累加计数器;在单片机输入管脚变为高电平后,根据计数器值和循环中的指令时间计算时间宽度T=计数器值×(10us+循环中的其它指令时间),计算波特率为9/T。由于下降沿和上升沿有一定的时间,波特率9/T不是精确的波特率,串口外接模块2软件根据元器件参数调整补偿为标准波特率,之后采用确定的波特率与电脑1进行通信。

Claims (4)

1.一种电脑与串口外接模块自动匹配通信的方法,包括有电脑、电脑串口通信软件、串口外接模块,其特征在于:包括以下步骤:
A.串口外接模块初始化I/O口,循环侦听电脑串口发送的数据;
B.电脑串口通信软件依次初始化所有电脑串口,启动接收线程,向每个串口发送握手包;
C.串口外接模块接收到握手包,回复握手响应包;
D.电脑串口通信软件接收到某个串口返回的握手响应包后,判断此串口上有外接模块,记录此串口的端口号,使用此串口进行通信。
2.如权利要求1所述的电脑与串口外接模块自动匹配通信的方法,其特征在于:当电脑与串口外接模块采用预先约定的波特率通信时,所述步骤A中,所述串口外接模块初始化I/O口后按约定的波特率侦听电脑串口发送的数据;所述步骤B中,电脑串口通信软件按约定的波特率依次初始化所有电脑串口。
3.如权利要求1或2所述的电脑与串口外接模块自动匹配通信的方法,其特征在于:所述步骤B、C中,由电脑串口通信软件向每个串口发送握手包,串口外接模块回复响应包,可以改为由串口外接模块主动发送握手包;再于步骤D中,由电脑串口通信软件通过检测某个串口接收到所述握手包而判断串口外接模块所述连接该串口的端口号。
4.如权利要求1所述的电脑与串口外接模块自动匹配通信的方法,其特征在于:当电脑与串口外接模块预先没有约定波特率通信时,所述步骤B中,电脑串口通信软件按缺省的波特率依次初始化所有电脑串口;所述步骤B与步骤C之间还包括步骤B1:串口外接模块在检测到电脑串口发送数据时,用计数器测量低电平保持时间,计算每位时间宽度,确定电脑发送数据的波特率;且于步骤C中,串口外接模块根据步骤B1中确定的波特率向电脑回复握手响应包。
CNB2004100270327A 2004-04-25 2004-04-25 电脑与串口外接模块自动匹配通信的方法 Expired - Fee Related CN1315072C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100270327A CN1315072C (zh) 2004-04-25 2004-04-25 电脑与串口外接模块自动匹配通信的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100270327A CN1315072C (zh) 2004-04-25 2004-04-25 电脑与串口外接模块自动匹配通信的方法

Publications (2)

Publication Number Publication Date
CN1570899A CN1570899A (zh) 2005-01-26
CN1315072C true CN1315072C (zh) 2007-05-09

Family

ID=34480854

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100270327A Expired - Fee Related CN1315072C (zh) 2004-04-25 2004-04-25 电脑与串口外接模块自动匹配通信的方法

Country Status (1)

Country Link
CN (1) CN1315072C (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8407427B2 (en) 2008-10-29 2013-03-26 Silicon Image, Inc. Method and system for improving serial port memory communication latency and reliability
CN101989250B (zh) * 2010-11-03 2014-12-17 中兴通讯股份有限公司 一种串行通信的方法和系统
CN102270168A (zh) * 2011-08-09 2011-12-07 西安辉炜信息科技有限公司 自动检测串口信息的方法
CN104536926B (zh) * 2014-12-22 2018-05-01 深圳市科漫达智能管理科技有限公司 串口设备的控制方法及装置
CN104811359B (zh) * 2015-04-10 2018-12-07 深圳市元征科技股份有限公司 一种串口通信方法及终端
CN105068947B (zh) * 2015-08-20 2018-01-16 浪潮软件集团有限公司 一种基于驱动层处理串口通信的方法
CN105553628B (zh) * 2015-12-05 2018-11-16 中国航空工业集团公司洛阳电光设备研究所 一种串行通讯波特率检测方法及装置
WO2018039879A1 (zh) * 2016-08-29 2018-03-08 深圳市华阳信通科技发展有限公司 一种串口数据顺序保持方法及系统
CN112202528B (zh) * 2020-08-17 2021-06-29 北京海泰方圆科技股份有限公司 通讯波特率校正方法、装置、电子设备及存储介质
CN112235078A (zh) * 2020-10-14 2021-01-15 四川长虹教育科技有限公司 在智能交互大屏下实现Android与Windows通信的方法
CN114490487B (zh) * 2022-02-16 2023-12-19 瀚云科技有限公司 一种串口信息获取方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995022217A1 (en) * 1994-02-09 1995-08-17 Harris Corporation Automatic detection of data rate
US20030123624A1 (en) * 2002-01-03 2003-07-03 Colemon James M. Property management system protocol auto-detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995022217A1 (en) * 1994-02-09 1995-08-17 Harris Corporation Automatic detection of data rate
US20030123624A1 (en) * 2002-01-03 2003-07-03 Colemon James M. Property management system protocol auto-detection

Also Published As

Publication number Publication date
CN1570899A (zh) 2005-01-26

Similar Documents

Publication Publication Date Title
CN1315072C (zh) 电脑与串口外接模块自动匹配通信的方法
US8147326B2 (en) Secured inter-processor and virtual device communications system
CN105790756B (zh) 一种利用uart通讯校准时钟的方法及装置
CN101399635A (zh) 通讯波特率自适应方法、装置以及主机
US6898751B2 (en) Method and system for optimizing polling in systems using negative acknowledgement protocols
CN107193697A (zh) 一种实现rs485无极性连接的方法
CN107040386A (zh) 以太网络供电系统的供电设备及供电方法
CN103220370B (zh) 一种实现swp接口的方法和装置以及swp系统
CN109871344A (zh) 通讯系统、接口电路及其传输信号的方法
CN1960276A (zh) 远程控制系统及方法
CN102710760B (zh) 一种嵌入式网络终端同步配置方法及设备
CN104915315A (zh) 信号状态的检测方法和装置
CN107608711A (zh) 升级方法、装置、系统和电子设备
CN101345681B (zh) 通过串行总线连接智能电器的主机的工作方法
CN101296269A (zh) 串行接口测试装置
CN202870525U (zh) 一种适合变动环境下的网络化数据采集装置
CN110535621A (zh) 一种串口通讯波特率校正装置及其校正方法
CN1893605A (zh) 电子装置及其控制方法
WO2022110899A1 (zh) 一种基于微信小程序的远程电机控制方法
KR100976579B1 (ko) 보 레이트 검출
CN207319182U (zh) 一种头戴显示设备
CN107066412B (zh) 一种通信电路及其方法
CN210776663U (zh) 总线管理模块
CN201910813U (zh) 路由器
CN108228489A (zh) 一种基于ocp标准连接多网卡的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: SHENZHEN CITY SHUYING TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: ZHAO HONGGANG

CP03 Change of name, title or address

Address after: Room 1007/1008, east block, Nanshan Software Park, 10128 Shennan Road, Shenzhen, Guangdong, Nanshan District, China

Patentee after: Shenzhen fast shadow Technology Co., Ltd.

Address before: 3B, Victoria Park, Shekou Industrial seven Road Park area, Guangdong, Shenzhen

Patentee before: Zhao Honggang

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070509

Termination date: 20110425