CN117762704A - 一种串口信号异常检测装置及方法 - Google Patents
一种串口信号异常检测装置及方法 Download PDFInfo
- Publication number
- CN117762704A CN117762704A CN202311661296.7A CN202311661296A CN117762704A CN 117762704 A CN117762704 A CN 117762704A CN 202311661296 A CN202311661296 A CN 202311661296A CN 117762704 A CN117762704 A CN 117762704A
- Authority
- CN
- China
- Prior art keywords
- gate
- output
- serial port
- processor
- input end
- 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.)
- Pending
Links
- 230000005856 abnormality Effects 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 title abstract description 10
- 238000001514 detection method Methods 0.000 claims abstract description 23
- 238000004891 communication Methods 0.000 claims abstract description 14
- 238000012544 monitoring process Methods 0.000 claims abstract description 13
- 230000008054 signal transmission Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 7
- 230000002159 abnormal effect Effects 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000001680 brushing effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种串口信号异常检测装置及方法,包括:处理器、与门和或门;所述处理器的输入端和与门的第一输入端均连接发送端,与门的输出端连接或门的第一输入端,处理器的第一输出端连接与门的第二输入端,处理器的第二输出端连接或门的第二输入端,或门的输出端连接接收端;所述处理器还被配置为当判断由发送端发送的串口信号无效时,则通过控制第一输出端和第二输出端输出的高低电平,使得或门输出错误校验位。在发送端和接收端之间的串口通信线路上,增设用于检测串口信号异常的监控路径,通过输出错误校验位使接收端辨识错误数据并丢弃,由此避免错误数据导致的处理异常的问题。
Description
技术领域
本发明涉及串口通信技术领域,特别是涉及一种串口信号异常检测装置及方法。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
串口通信是指通过串行接口发送和接收串行数据流的通信方式,串口按位(bit)发送和接收字节。对于一对多的数据传输方式,比如一个电脑端发送数据,若干个终端设备接收数据,那么电脑端在向对于串口设备发送数据前,需要先检索出所连接的所有的串口,依次向每个串口发送设备专用指令,若在某一个串口上收到响应的应答数据,那么说明该串口上连接着所需设备;比如,在银行窗口、医院窗口等场景下,操作员的电脑上往往连接着若干个串口设备,例如刷卡机、提示平板、语音器等。
但是,当电脑端连接多个串口设备时,往往会出现一个问题,即一个电脑端在查找串口设备时,会向其他所有的串口设备发送指令,由于收到的数据是无法预测的,所以很容易引起其他串口设备的处理异常;比如刷脸设备在接收异常数据后不能正常响应刷脸或死机,具体情况会根据串口数据的内容有所不同。
发明内容
为了解决上述问题,本发明提出了一种串口信号异常检测装置及方法,在发送端和接收端之间的串口通信线路上,增设用于检测串口信号异常的监控路径,通过输出错误校验位使接收端辨识错误数据并丢弃,由此避免错误数据导致的处理异常的问题。
为了实现上述目的,本发明采用如下技术方案:
第一方面,本发明提供一种串口信号异常检测装置,包括:处理器、与门和或门;
所述处理器的输入端和与门的第一输入端均连接发送端,与门的输出端连接或门的第一输入端,处理器的第一输出端连接与门的第二输入端,处理器的第二输出端连接或门的第二输入端,或门的输出端连接接收端;
所述处理器还被配置为当判断由发送端发送的串口信号无效时,则通过控制第一输出端和第二输出端输出的高低电平,使得或门输出错误校验位。
作为可选择的实施方式,由发送端连接与门的第一输入端,与门的输出端与或门的第一输入端连接,或门的输出端与接收端连接构成发送端发送串口信号至接收端的通信线路。
作为可选择的实施方式,由发送端连接处理器的输入端,处理器的第一输出端连接与门的第二输入端,处理器的第二输出端连接或门的第二输入端,与门的输出端与或门的第一输入端连接,或门的输出端与接收端连接构成串口信号异常检测的监控路径。
作为可选择的实施方式,当发送端未向接收端发送数据时,发送端的输出端保持为高电平,处理器的第一输出端保持高电平,处理器的第二输出端保持低电平;则与门的第一输入端为高电平,第二输入端为高电平,与门的输出端为高电平,或门的第一输入端为高电平,第二输入端为低电平,此时或门的输出端,即接收端的串口接收端处于高电平状态。
作为可选择的实施方式,当发送端向接收端发送数据时,先发送低电平的起始位,那么,与门的第一输入端为低电平,第二输入端保持为高电平,经过与门后输出为低电平连接至或门的第一输入端,或门的第二输入端保持为低电平,经过或门后输出为低电平连接至接收端的串口接收端。
作为可选择的实施方式,发送端发送数据位时,处理器的第一输出端保持高电平,第二输出端保持低电平;此时,与门输出数据位至或门,或门输出数据位至接收端的串口接收端,同时处理器开始监测串口信号的数据位。
作为可选择的实施方式,如果处理器监测到数据位有效,则保持处理器的第一输出端为高电平,第二输出端为低电平,或门的输出信号与发送端的输出信号一致。
作为可选择的实施方式,如果处理器监测到数据位无效,则计算数据位的校验位,并发送错误校验位至或门的输出端;
具体地:若计算的校验位为“1”,则将处理器的第一输出端设置为低电平,保持第二输出端为低电平,在或门的输出端输出低电平,即逻辑“0”;
若计算的校验位为“0”,则将处理器的第一输出端设置为低电平,保持第二输出端为高电平,则在或门的输出端输出高电平,即逻辑“1”。
作为可选择的实施方式,当处理器判断由发送端发送的串口信号无效时,发送端仍持续发送串口信号,则将处理器的第一输出端设置为低电平,保持第二输出端为高电平,在或门的输出端输出高电平,模拟串口空闲状态,直至发送串口信号结束。
第二方面,本发明提供一种串口信号异常检测方法,采用第一方面所述的串口信号异常检测装置,包括:
由发送端连接与门的第一输入端,与门的输出端与或门的第一输入端连接,或门的输出端与接收端连接构成发送端发送串口信号至接收端的通信线路;
由发送端连接处理器的输入端,处理器的第一输出端连接与门的第二输入端,处理器的第二输出端连接或门的第二输入端,与门的输出端与或门的第一输入端连接,或门的输出端与接收端连接构成串口信号异常检测的监控路径;
当处理器判断由发送端发送的串口信号无效时,通过控制第一输出端和第二输出端输出的高低电平,使得或门输出错误校验位。
与现有技术相比,本发明的有益效果为:
本发明提出一种串口信号异常检测装置及方法,在发送端和接收端之间的串口通信线路上,增设与门和或门,由发送端连接与门的第一输入端,与门的输出端与或门的第一输入端连接,或门的输出端与接收端连接,由此构成发送端发送串口信号至接收端的通信线路;同时,通过将发送端连接处理器的输入端,处理器的第一输出端连接与门的第二输入端,处理器的第二输出端连接或门的第二输入端,再次构成串口信号异常检测的监控路径;当处理器判断由发送端发送的串口信号无效时,通过控制第一输出端和第二输出端输出的高低电平,使得或门输出错误校验位,当接收端接收到错误校验位时,硬件层会将其丢弃,不参与上层的应用处理,由此避免错误数据导致的处理异常问题。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为现有的终端和主机的串口连接示意图;
图2为本发明实施例1提供的串口信号异常检测装置示意图。
具体实施方式
下面结合附图与实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“包含”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例1
如图1所示为现有的终端和主机的串口连接示意图,当不做任何的处理措施时,主机在寻找其他类型的串口设备时,会发送专用指令至所有串口,由于收到的数据是无法预测的,所以很容易引起其他串口设备的处理异常。
由此,本实施例提供一种串口信号异常检测装置,如图2所示,包括:处理器、与门和或门;
所述处理器的输入端和与门的第一输入端均连接发送端,与门的输出端连接或门的第一输入端,处理器的第一输出端连接与门的第二输入端,处理器的第二输出端连接或门的第二输入端,或门的输出端连接接收端;
所述处理器还被配置为当判断由发送端发送的串口信号无效时,则通过控制第一输出端和第二输出端输出的高低电平,使得或门输出错误校验位。
在本实施例中,以主机作为发送端,以终端作为接收端,则主机、与门、或门和终端的连接为主机发送串口数据至终端的通信线路;主机、处理器、与门、或门和终端的连接为串口信号异常检测的监控路径;
其中,与门:当所有的输入同时为高电平(逻辑1)时,输出为高电平,否则输出为低电平(逻辑0);
或门:只要输入中有一个为高电平时(逻辑1),输出为高电平(逻辑1),只有当所有的输入全为低电平(逻辑0)时,输出为低电平(逻辑0)。
在本实施例中,串口数据包协议为:起始字节为0xAA,第二字节为数据长度,后续为数据内容,最后一字节为异或校验字节;串口通讯格式设置为:波特率9600,数据位8位,奇偶校验位为奇校验,停止位1位。
可以理解的,上述设置只为示例,可根据需求进行修改,不做限定。
下面对本实施例方法进行详细阐述。
(1)当电脑主机未向终端发送数据时,主机的输出端保持为高电平,单片机的第一输出端1保持高电平,单片机的第二输出端2保持低电平;
则,与门的第一输入端为高电平,第二输入端为高电平;
那么,与门的输出端为高电平,或门的第一输入端为高电平,第二输入端为低电平,此时或门的输出端,即终端的串口接收端处于高电平状态。
(2)当电脑主机向终端发送数据时,先发送一位起始位,起始位为低电平,那么,与门的第一输入端为低电平,第二输入端仍为高电平,经过与门后输出为低电平连接至或门的第一输入端,或门的第二输入端仍为低电平,经过或门后输出为低电平连接至终端的串口接收端,即终端的串口接收端处于低电平状态;同时,单片机通过监控线路监测到串口数据已启动发送,开启数据位监测。
(3)电脑主机继续发送数据位(如8位数据位),在此期间,单片机的第一输出端1仍保持高电平,第二输出端2仍保持低电平;
此时,与门输出8位数据位至或门,或门输出8位数据位至终端的串口接收端;同时,单片机通过监控线路监测8位数据位。
(4)如果单片机监测到8位数据位是有效的,即符合起始字节(如0xAA),那么在后续的传输过程中,始终保持单片机的第一输出端1为高电平,第二输出端2为低电平;
这种情况下,或门的输出信号与电脑主机端的输出信号一致,单片机保持这种输出状态至整包数据包发送完成。
(5)如果单片机监测到8位数据位是无效的,不符合起始字节(如0xAA),那么计算此8位数据位的校验位,并发送错误校验位至或门的输出端,即终端的串口接收端。
例如,若计算的校验位为“1”,那么,将单片机的第一输出端1设置为低电平,保持第二输出端2为低电平,则在或门的输出端输出低电平,即逻辑“0”;
若计算的校验位为“0”,那么,将单片机的第一输出端1设置为低电平,保持第二输出端2为高电平,则在或门的输出端输出高电平,即逻辑“1”。
由此,或门的输出信号与电脑主机输出信号不一致,从而实现发送个错误校验位给终端。
(6)当终端接收到错误校验位时,硬件层会将其丢弃,不会解析出正确字节,此字节也就不会被终端所处理,不参与上层的应用处理;其中,因为或门的输出信号与电脑主机输出信号不一致,且终端内部也会自动检测接收的校验位是否正确。
(7)单片机继续通过监控线路监测串口信号,如果仍有信号输出,那么将单片机的第一输出端1设置为低电平,保持第二输出端2为高电平,在或门的输出端输出高电平,即逻辑“1”,模拟串口空闲状态,直至主机端发送串口信号结束。
实施例2
本实施例提供一种串口信号异常检测方法,采用实施例1所述的串口信号异常检测装置,包括:
由发送端连接与门的第一输入端,与门的输出端与或门的第一输入端连接,或门的输出端与接收端连接构成发送端发送串口信号至接收端的通信线路;
由发送端连接处理器的输入端,处理器的第一输出端连接与门的第二输入端,处理器的第二输出端连接或门的第二输入端,与门的输出端与或门的第一输入端连接,或门的输出端与接收端连接构成串口信号异常检测的监控路径;
当处理器判断由发送端发送的串口信号无效时,通过控制第一输出端和第二输出端输出的高低电平,使得或门输出错误校验位。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (10)
1.一种串口信号异常检测装置,其特征在于,包括:处理器、与门和或门;
所述处理器的输入端和与门的第一输入端均连接发送端,与门的输出端连接或门的第一输入端,处理器的第一输出端连接与门的第二输入端,处理器的第二输出端连接或门的第二输入端,或门的输出端连接接收端;
所述处理器还被配置为当判断由发送端发送的串口信号无效时,则通过控制第一输出端和第二输出端输出的高低电平,使得或门输出错误校验位。
2.如权利要求1所述的一种串口信号异常检测装置,其特征在于,由发送端连接与门的第一输入端,与门的输出端与或门的第一输入端连接,或门的输出端与接收端连接构成发送端发送串口信号至接收端的通信线路。
3.如权利要求1所述的一种串口信号异常检测装置,其特征在于,由发送端连接处理器的输入端,处理器的第一输出端连接与门的第二输入端,处理器的第二输出端连接或门的第二输入端,与门的输出端与或门的第一输入端连接,或门的输出端与接收端连接构成串口信号异常检测的监控路径。
4.如权利要求1所述的一种串口信号异常检测装置,其特征在于,当发送端未向接收端发送数据时,发送端的输出端保持为高电平,处理器的第一输出端保持高电平,处理器的第二输出端保持低电平;则与门的第一输入端为高电平,第二输入端为高电平,与门的输出端为高电平,或门的第一输入端为高电平,第二输入端为低电平,此时或门的输出端,即接收端的串口接收端处于高电平状态。
5.如权利要求1所述的一种串口信号异常检测装置,其特征在于,当发送端向接收端发送数据时,先发送低电平的起始位,那么,与门的第一输入端为低电平,第二输入端保持为高电平,经过与门后输出为低电平连接至或门的第一输入端,或门的第二输入端保持为低电平,经过或门后输出为低电平连接至接收端的串口接收端。
6.如权利要求5所述的一种串口信号异常检测装置,其特征在于,发送端发送数据位时,处理器的第一输出端保持高电平,第二输出端保持低电平;此时,与门输出数据位至或门,或门输出数据位至接收端的串口接收端,同时处理器开始监测串口信号的数据位。
7.如权利要求6所述的一种串口信号异常检测装置,其特征在于,如果处理器监测到数据位有效,则保持处理器的第一输出端为高电平,第二输出端为低电平,或门的输出信号与发送端的输出信号一致。
8.如权利要求7所述的一种串口信号异常检测装置,其特征在于,如果处理器监测到数据位无效,则计算数据位的校验位,并发送错误校验位至或门的输出端;
具体地:若计算的校验位为“1”,则将处理器的第一输出端设置为低电平,保持第二输出端为低电平,在或门的输出端输出低电平,即逻辑“0”;
若计算的校验位为“0”,则将处理器的第一输出端设置为低电平,保持第二输出端为高电平,则在或门的输出端输出高电平,即逻辑“1”。
9.如权利要求1所述的一种串口信号异常检测装置,其特征在于,当处理器判断由发送端发送的串口信号无效时,发送端仍持续发送串口信号,则将处理器的第一输出端设置为低电平,保持第二输出端为高电平,在或门的输出端输出高电平,模拟串口空闲状态,直至发送串口信号结束。
10.一种串口信号异常检测方法,其特征在于,采用如权利要求1-9任一项所述的串口信号异常检测装置,包括:
由发送端连接与门的第一输入端,与门的输出端与或门的第一输入端连接,或门的输出端与接收端连接构成发送端发送串口信号至接收端的通信线路;
由发送端连接处理器的输入端,处理器的第一输出端连接与门的第二输入端,处理器的第二输出端连接或门的第二输入端,与门的输出端与或门的第一输入端连接,或门的输出端与接收端连接构成串口信号异常检测的监控路径;
当处理器判断由发送端发送的串口信号无效时,通过控制第一输出端和第二输出端输出的高低电平,使得或门输出错误校验位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311661296.7A CN117762704A (zh) | 2023-12-05 | 2023-12-05 | 一种串口信号异常检测装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311661296.7A CN117762704A (zh) | 2023-12-05 | 2023-12-05 | 一种串口信号异常检测装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117762704A true CN117762704A (zh) | 2024-03-26 |
Family
ID=90321141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311661296.7A Pending CN117762704A (zh) | 2023-12-05 | 2023-12-05 | 一种串口信号异常检测装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117762704A (zh) |
-
2023
- 2023-12-05 CN CN202311661296.7A patent/CN117762704A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105205021B (zh) | 断开PCIe设备与主机之间的链接的方法和装置 | |
US6151627A (en) | Monitoring of a communication link utilizing history-based compression algorithms | |
US8281189B2 (en) | SATA primitive prediction and correction | |
US6665275B1 (en) | Network device including automatic detection of duplex mismatch | |
US20210044600A1 (en) | Security module for a can node | |
EP3772841A1 (en) | A security module for a can node | |
EP3772839A1 (en) | Security module for a serial communications device | |
CN116185936A (zh) | 一种spi通信数据收发异常检测控制系统及检测方法 | |
US7023873B2 (en) | Network device including detection of link status employing auto-negotiation | |
CN117762704A (zh) | 一种串口信号异常检测装置及方法 | |
US9710420B2 (en) | System and method for improving the efficiency of a serial interface protocol | |
KR20180015791A (ko) | 시퀀스 마이닝 기반의 차량 이상 징후 탐지 장치 | |
CN116471140A (zh) | 检查装置以及检查方法 | |
CN107368439A (zh) | 主控元件以及数据传输方法 | |
JP2002368768A (ja) | ファイバチャネル調停ループ対応の電子装置及びファイバチャネル調停ループの障害検出方法 | |
JP3910903B2 (ja) | 制御パケットの受信方法及び受信装置 | |
JP3008689B2 (ja) | 装置間ケーブル誤接続検出方式 | |
CN118069560A (zh) | 一种基于嵌入式软件的串口通信系统及方法 | |
JPH04278742A (ja) | 受信データの誤り検出方法 | |
JP2000106566A (ja) | 通信制御装置 | |
JPH09319670A (ja) | 汎用インタフェースバスのデータ転送方法 | |
JP2002300138A (ja) | パラレル信号エラー監視方法及びその装置 | |
CN115215174A (zh) | 终端控制装置、电梯控制系统和通信速度设定方法 | |
JPS636938A (ja) | 分散制御システム | |
JP2004234183A (ja) | 計算機制御装置のバスチェック方法およびシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |