CN117931713A - 基于串口扩展控制器的通信方法及串口扩展控制器 - Google Patents

基于串口扩展控制器的通信方法及串口扩展控制器 Download PDF

Info

Publication number
CN117931713A
CN117931713A CN202311796101.XA CN202311796101A CN117931713A CN 117931713 A CN117931713 A CN 117931713A CN 202311796101 A CN202311796101 A CN 202311796101A CN 117931713 A CN117931713 A CN 117931713A
Authority
CN
China
Prior art keywords
serial port
data
expansion controller
serial
module
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
Application number
CN202311796101.XA
Other languages
English (en)
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.)
Shanhe Xinghang Industrial Co ltd
Original Assignee
Shanhe Xinghang Industrial Co ltd
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 Shanhe Xinghang Industrial Co ltd filed Critical Shanhe Xinghang Industrial Co ltd
Priority to CN202311796101.XA priority Critical patent/CN117931713A/zh
Publication of CN117931713A publication Critical patent/CN117931713A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

本申请涉及通信技术领域,提供一种基于串口扩展控制器的通信方法及串口扩展控制器,该串口扩展控制器通过外部连接模块实现控制终端与外部设备的连接;通过串口模块实现转化、统一、隔离串口信号,从而避免干扰和误码;通过通信处理器传输不同串口之间的串口信号,提高数据传输的正确性和可靠性。同时,通过集成多个串口,实现一个串口对多个串口之间的控制与通信,从而提高设备的控制效率以及数据交互效率。

Description

基于串口扩展控制器的通信方法及串口扩展控制器
技术领域
本申请涉及通信技术领域,尤其涉及一种基于串口扩展控制器的通信方法及串口扩展控制器。
背景技术
随着传感器和外部设备需要通讯的设备越来越多,传统的少数几个串口已经无法满足系统的需求,同时,不同的外部设备使用的串口接口有所不同,如TTL、RS232、RS422等,这给系统集成带来了一定的复杂度和困难。基于此,如何实现串口的拓展,以提高设备控制效率成为亟需解决的问题。
发明内容
本申请提供一种基于串口扩展控制器的通信方法及串口扩展控制器,用以解决串口的拓展问题,实现一个串口对多个串口之间的控制与通信,从而提高设备的控制效率以及数据交互效率。
本申请提供一种串口扩展控制器,包括串口模块,及与其连接的通信处理器和外部连接模块;
所述外部连接模块,用于连接一个控制终端和至少一个外部设备;其中,所述控制终端通过串口扩展控制器与至少一个外部设备通信;
所述串口模块,用于将所述控制终端或所述外部设备的串口信号转换为符合通用串口标准的串口信号,并统一所述串口信号的信号格式,以及将所述串口信号与所述控制终端或所述外部设备进行隔离;
所述通信处理器,用于传输所述串口模块处理后的串口信号。
在一个实施例中,所述串口模块,还用于切换串口模式,所述串口模式至少包括RS422模式、RS232模式和TTL模式。
在一个实施例中,所述串口模块设有电气隔离电路或电气隔离元件,所述电气隔离电路或所述电气隔离元件用于将所述串口信号与所述控制终端或所述外部设备进行隔离。
在一个实施例中,所述串口扩展控制器中多个串口集成为一连接器。
在一个实施例中,所述串口扩展控制器中每个串口的数据帧包括帧头和帧尾,所述帧头和所述帧尾用于区分数据流或者标识设备。
本申请还提供一种基于串口扩展控制器的通信方法,包括:
向串口模块中的输入端口发送至少一个外部设备的串口信号;其中,所述串口模块对所述串口信号进行信号转换和信号格式转换,并基于通信处理器将转换后的串口信号传输至所述外部设备;
接收所述通信处理器发送的至少一个外部设备的反馈数据。
在一个实施例中,所述接收所述通信处理器发送的至少一个外部设备的反馈数据之后,还包括:
基于所述反馈数据,获取串口的数据帧的帧头和帧尾;
若所述帧头与预定义的帧头匹配,且所述帧尾与预定义的帧尾匹配,则将所述反馈数据存储至数据缓冲区;
若所述帧头与预定义的帧头不匹配,或所述帧尾与预定义的帧尾不匹配,则丢弃所述反馈数据。
在一个实施例中,所述将所述反馈数据存储至数据缓冲区之后,还包括:
在接收到数据中断信号后,对所述数据缓冲区中的数据进行检测,以确定异常数据;
丢弃所述异常数据,或对所述异常数据进行数据补齐。
本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于串口扩展控制器的通信方法。
本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于串口扩展控制器的通信方法。
本申请提供的基于串口扩展控制器的通信方法及串口扩展控制器,串口扩展控制器通过外部连接模块实现控制终端与外部设备的连接;通过串口模块实现转化、统一、隔离串口信号,从而避免干扰和误码;通过通信处理器传输不同串口之间的串口信号,提高数据传输的正确性和可靠性。同时,通过集成多个串口,实现一个串口对多个串口之间的控制与通信,从而提高设备的控制效率以及数据交互效率。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的基于串口扩展控制器的结构示意图;
图2是本申请提供的基于串口扩展控制器的通信方法的流程示意图;
图3是本申请提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合图1-图3描述本申请的基于串口扩展控制器的通信方法及串口扩展控制器。
具体地,本申请提供了一种串口扩展控制器,参照图1,图1是本申请提供的串口扩展控制器的结构示意图。
本申请实施例提供的串口扩展控制器,包括:串口模块,及与其连接的通信处理器和外部连接模块;
所述外部连接模块,用于连接一个控制终端和至少一个外部设备;其中,所述控制终端通过串口扩展控制器与至少一个外部设备通信;
所述串口模块,用于将所述控制终端或所述外部设备的串口信号转换为符合通用串口标准的串口信号,并统一所述串口信号的信号格式,以及将所述串口信号与所述控制终端或所述外部设备进行隔离;
所述通信处理器,用于传输所述串口模块处理后的串口信号。
需要说明的是,本申请实施例提供的串口扩展控制器可以理解为串口拓展板,其作用是扩展设备的串口接口,使其能够连接更多的外部设备或传感器,从而实现更丰富的功能和应用。
在串口扩展控制器中,控制终端的串口与多个外部设备的串口进行集成,也即串口扩展控制器作为中间设备,允许通过其中一个连接到控制终端的串口同时连接多个外部设备的串口。基于此,通过串口扩展控制器,控制终端可以同时与多个外部设备进行通信和控制,提高系统的灵活性和可扩展性。
例如,假设有一个控制终端(如计算机)和三个外部设备(如打印机、扫描仪和条码扫描器),而控制终端本身只有一个串口接口可用。通过使用串口扩展控制器,可以将控制终端的串口连接到串口扩展控制器上的一个接口,然后将打印机、扫描仪和条码扫描器的串口分别连接到串口扩展控制器上的其他接口。基于此,控制终端可以通过串口扩展控制器同时与三个外部设备进行通信和控制。例如,控制终端可以发送指令给串口扩展控制器,串口扩展控制器再将指令传递给对应的外部设备,实现数据交互和控制操作。通过集成多个外部设备的串口,串口扩展控制器解决了控制终端串口不足的问题,提供了更多的连接选项。
进一步地,串口扩展控制器各模块的功能解析如下:
(1)外部连接模块:是串口扩展控制器与其他系统之间的接口,主要负责与上级控制终端和下级各种需求外部设备相连接。例如,通过不同的接口,如USB、RS232、RS485等,与其他设备进行通信,实现数据的传输和交换。
(2)串口模块:是通信处理器和外部连接模块之间的桥梁,主要负责对控制终端或外部设备的各串口信号进行转换、统一和隔离。
其中,串口模块包括以下功能:
a、信号转换:串口模块将控制终端或外部设备的串口信号转换为符合通用串口标准的串口信号(即标准的串口信号),以适应不同的通信协议或物理接口。其中,标准的串口信号是指符合某种通用串口标准的信号格式和电气特性,如RS232、RS485和UART等标准。例如,将RS232信号转换为TTL电平信号,或者将UART信号转换为USB信号。
b、信号统一:串口模块将不同串口接口的串口信号统一为相同的串口信号格式,以便于系统进行统一的串口数据处理和管理。基于此,控制终端或外部设备可以使用相同的串口通信协议进行数据传输。
c、信号隔离:串口模块通过电气隔离技术,将串口信号与控制终端或外部设备之间进行隔离,以提高系统的稳定性和安全性,防止因电气干扰或地线差异等问题导致的数据错误或设备损坏。
(3)通信处理器:主要负责传输串口模块处理后的串口信号,实现不同串口之间的数据传输和转换。对于不同的串口协议,通信处理器可以进行相应的处理,保证数据传输的正确性和可靠性。其中,通信处理器可以理解为通讯芯片。
可选地,通信处理器可以为MAX3160芯片,MAX3160芯片支持多种通信协议,包括RS232、RS422和RS485,具有多个UART通道,可以实现串行数据的发送和接收。在通信系统中,MAX3160芯片可以起到连接不同设备和接口的作用,通过使用适当的电平转换电路,可以将不同电平标准的信号转换为兼容的串行信号,从而实现设备之间的数据传输。
可选地,本申请实施例提供的串口扩展控制器为基于时分复用的串口扩展控制器,即通过时分复用技术实现多个串口通信的控制器。其中,时分复用是指在一个时钟周期内,将时间分成若干个时隙,每个时隙用于传输不同的数据。在串口通信中,每个时隙可以用来传输一个字符或者一组字符,从而实现多个串口设备之间的数据传输。其中,在传输数据之前,时分复用控制器会将要发送的数据按照一定的规则分配到各个时隙中;在接收数据时,控制器会根据时隙的编号来解析接收到的数据,并将其还原为原始数据。
在一具体实例中,假设需要将两个串口设备连接到基于时分复用的串口扩展控制器上进行通信:
1)控制器将两个串口设备连接起来,设置时分复用的参数。
2)设备A向设备B发送一组数据,将数据发送给控制器。
3)控制器按照时分复用的规则将数据分配到对应的时隙中,等待下一次时钟周期。
4)设备B在下一次时钟周期中接收到控制器发送过来的数据,并根据时隙编号解析出原始数据。
5)设备B对接收到的数据进行相应的处理,例如回复一个确认信息。
6)设备B向控制器发送确认信息。
7)控制器将确认信息分配到对应的时隙中,并等待下一次时钟周期。
8)设备A在下一次时钟周期中接收到控制器发送过来的确认信息,并根据时隙编号解析出原始数据。
9)设备A接收到确认信息后,表示数据已经成功传输。
时分复用控制器通过将要发送的数据分配到不同的时隙中,实现了多个串口设备之间的通信,提高系统的通信效率,减少数据传输的时间延迟。
可选地,本申请实施例提供的串口扩展控制器可应用于大中型无人机等控制设备中。此外,对于所有控制设备遇到串口不足,或者串口不一致,都可以通过串口扩展控制器进行转接,或者拓展。
本申请实施例提供的串口扩展控制器,通过外部连接模块实现控制终端与外部设备的连接;通过串口模块实现转化、统一、隔离串口信号,从而避免干扰和误码;通过通信处理器传输不同串口之间的串口信号,提高数据传输的正确性和可靠性。同时,通过集成多个串口,实现一个串口对多个串口之间的控制与通信,从而提高设备的控制效率以及数据交互效率。
基于上述实施例,串口模块还用于切换串口模式,其中,串口模式至少包括RS422模式、RS232模式和TTL模式。可以理解的是,串口模块可以实现多种串口模式的自由切换,支持RS232串口通讯标准、RS422/RS485串口通讯标准以及TTL串口通讯标准等,同时,可以通过软件或硬件切换不同的通讯协议。其中,RS422是一种差分信号的串口标准,RS232是一种常见的串口标准,TTL是一种串口电平标准。
例如,假设有一个控制终端和一组传感器,需要通过串口进行数据采集和控制操作。其中,控制终端只支持RS232串口,而传感器只支持RS422/RS485串口。在这种情况下,可以使用一个支持RS232和RS422/RS485协议切换的串口扩展控制器,将控制终端和传感器连接到同一个串口扩展控制器上。在数据采集时,将串口扩展控制器的工作模式设置为RS422/RS485,以满足传感器的通讯需求;而在控制操作时,将串口扩展控制器的工作模式切换为RS232,实现与控制终端的通讯和控制操作。基于此,可以灵活地切换串口通讯协议,满足不同设备之间的通讯要求。
基于上述实施例,串口模块设有电气隔离电路或电气隔离元件,电气隔离电路或电气隔离元件用于将串口信号与控制终端或外部设备进行隔离。其中,电气隔离电路主要包括以下几种电路:
a光耦隔离电路:使用光电二极管和光敏三极管构成,实现电信号的光电转换,达到电气隔离的目的。
b磁隔离电路:使用互感器或变压器等磁性元件构成,通过磁耦合实现电气隔离。
c电容隔离电路:使用电容器构成,通过电容隔离实现电气隔离。
d放大器隔离电路:使用放大器构成,通过差动输入和输出实现电气隔离。
电气隔离元件主要包括以下几种器件:光电耦合器、光电隔离器、磁隔离器、电容隔离器以及放大器隔离器。
其中,在选择隔离方式时,需要综合考虑系统的需求和要求,包括隔离电压、隔离带宽、抗干扰能力、成本等因素,然后根据具体情况,选择单一的隔离方式,或者结合多种隔离方式进行组合应用,以满足系统的隔离需求。
可选地,串口模块采用全隔离模式,实现串口与串口、串口与通信处理器、串口与连接器、各外部设备之间的完全隔离。
串口与串口之间的隔离:为防止串口之间的干扰和冲突。当多个串口同时工作时,它们的信号可能会相互干扰,导致通信错误或数据丢失。基于此,可以采用串口隔离器或多路复用器等元件在不同的串口之间建立隔离。
串口与通信处理器之间的隔离:为了避免因外部环境干扰或电气噪声等原因对串口通讯造成影响。通过隔离措施,可以有效地防止信号的干扰传播,保证数据的准确传输。例如,采用光耦隔离、磁耦隔离或电流隔离等技术,将串口信号进行隔离处理,使得串口和通信处理器之间相互隔离,从而提供更加可靠和稳定的串口通讯。
串口与连接器之间的隔离:在将板间连接端口进行集成后,串口与连接器之间的隔离目的主要是保护主控系统和外部设备之间的通信,防止发生电气干扰、噪声干扰等问题。例如,采用隔离器件(如光耦隔离器、磁隔离器等),将串口信号与连接器之间的电气连接隔离开,以避免电流回路相互影响,防止串口信号通过共地线传递时潜在的干扰问题。
各外部设备之间的隔离:为了防止不同外部涉笔之间的电气冲突或干扰。例如,在一个串口扩展控制器中,可能同时连接了多个外部设备,如电机驱动器、温度传感器等。为了避免各外部设备之间的相互影响,串口扩展控制器在电路设计中采取相应的隔离措施,将不同外部设备之间的电气信号进行隔离处理,以确保各个外部设备之间的独立工作和稳定性。
基于上述实施例,串口扩展控制器中多个串口集成为一连接器。可以理解的是,串口扩展控制器将分散的多个独立串口连接端口整合到一个复数级的连接器中,以实现更紧凑的设计和更方便的接口管理。这种集成设计可以有效减少产品体积,提高连接效率,并简化产品外部接口的布局。另一方面,由于串口连接端口被集成到一个复数级的连接器中,可以有效减少端口数量,从而减小产品的体积,使得产品更加紧凑。
例如,假设控制终端板上有8个独立的串口接口,每个串口接口都需要单独的物理连接端口,这样会导致连接复杂、占用空间大等问题。为了解决该问题,可以采取集成设计方案:将8个串口的连接端口整合到一个统一的连接器中,例如,使用一种多针脚的连接器,将8个串口的信号线、电源线等整合到该连接器中。
通过串口集成后,用户只需要连接一个复数级的连接器,而不再需要连接多个独立的串口接口,如此,可以极大地简化连接布局,减少连接线路的交叉和混乱。例如,集成得到的连接器主要用于将控制终端板上的串口与外部设备(如传感器、执行器等)进行连接,通过该连接器,可以将多个串口信号线、电源线等整合到一个统一的接口上,以方便接口管理和使用。具体来说,通过这个连接器,可以将多个串口信号线、电源线等接入外部设备,实现数据的收发和控制指令的下达。例如,将一个串口接入温度传感器,通过串口发送查询指令,并接收温度传感器返回的温度数据。或者,将一个串口接入步进电机驱动器,通过串口发送控制指令,控制电机的转向和速度。
可选地,本申请实施例在连接器的选择上采取了集成化处理,整体排版上满足一进一出,既节省了空间,也更方便外部接线与更换。其中,集成化连接器是一种将多个连接器集成在一起的连接器系统,包括多个连接点和相应的导线。通过采用集成化连接器,可以将多个连接器整合为一个连接器系统,从而避免了连接器之间的混乱和杂乱。在集成化连接器系统中,每个连接器都有自己的位置和对应的导线,以确保每个连接器都只连接一个外部设备或传感器。同时,每个集成化连接器都有一个进口和一个出口,进口和出口之间的导线可以实现内部连接,而进口和出口之外的导线可以连接到外部设备或传感器。例如,一个集成化连接器系统可以包含多个不同类型的连接器,例如USB、Ethernet、CAN、RS232和RS485等,这些连接器可以按照位置和排列方式进行布局,形成一个整体连接器系统。例如,可以将所有USB连接器放在一起,所有Ethernet连接器放在一起,以此类推。每个集成化连接器都有一个进口和一个出口,可以将多个集成化连接器相互串联,形成一个整体连接器系统。通过采用集成化连接器,可以节省空间并且更方便外部接线与更换,例如,在机架式设备中,可以将所有的连接器集成在一个连接器板上,从而减少了连接器的数量和布局空间,同时也方便了后期的维护和更换。
基于上述实施例,串口扩展控制器中每个串口的数据帧包括帧头和帧尾,帧头和帧尾用于区分数据流或者标识设备。例如,为了区分不同的数据流或者标识不同的设备,每个串口都有不同的帧头和帧尾,其中,帧头是一组特定的字节,用于标识数据帧的开始,例如,串口6的帧头为“0x86,0xc6”。帧尾是一组特定的字节,用于标识数据帧的结束。例如,串口6的帧尾为“0xc6,0xb6”。
在一具体示例中,假设控制系统包含一个串口6和一个8路串口,其中,串口6用于连接温度传感器,而8路串口用于连接其他类型的外部设备,如光照传感器、湿度传感器等。
对于串口6,数据帧的格式可以是:
帧头:0x86,0xc6;
数据内容:温度数据(例如,2个字节);
帧尾:0xc6,0xb6;
对于8路串口,数据帧的格式可以是:
帧头:0xAA,0xBB;
数据内容:传感器数据(例如,4个字节);
帧尾:0xBB,0xAA;
在这个示例中,通过不同的帧头和帧尾,控制系统可以识别并区分来自不同串口的数据。例如,当控制系统接收到以0x86,0xc6作为帧头的数据时,可以确定该数据为来自串口6的温度传感器的数据,并进行相应的处理。而当控制系统接收到以0xAA,0xBB作为帧头的数据时,可以确定该数据为来自8路串口的其他传感器的数据,并进行相应的处理。
本申请实施例通过定义不同的帧头和帧尾,在一个系统中同时使用多个串口,并且能够准确地识别和处理来自不同串口的数据,从而有效避免数据混淆和冲突,提高系统的可靠性和稳定性。
基于上述实施例,本申请实施例提供了一种基于串口扩展控制器的通信方法,参照图2,图2是本申请提供的基于串口扩展控制器的通信方法的流程示意图。
本申请实施例提供的基于串口扩展控制器的通信方法,包括:
步骤100,向串口模块中的输入端口发送至少一个外部设备的串口信号;
步骤200,接收所述通信处理器发送的至少一个外部设备的反馈数据。
当将控制终端的串口与多个外部设备的串口进行集成时,可以通过串口扩展控制器实现对多个外部设备进行控制和通信,其步骤如下:
a、控制终端串口连接至串口模块的输入端口,通过该输入端口将控制终端发送的串口信号传输到串口模块。
b、串口模块根据预先设置的配置,对控制终端串口信号进行转换和统一,将其转换为通信处理器支持的串口协议格式。
c、转换后的串口信号通过串口模块的输出端口连接至通信处理器,实现与通信处理器的串口通信。
d、通信处理器负责将串口数据传输至外部设备的串口,通过外部设备的串口连接实现与外部设备的通信。
e、串口模块接收外部设备发送的反馈数据,对反馈数据进行转换和统一,将其转换为通信处理器支持的串口协议格式;
f、通信处理器将串口模块处理后的反馈数据发送至控制终端;
g、控制终端接收通信处理器发送的外部设备的反馈数据,并进行处理。
可选地,外部设备模块也可以自动通过串口扩展控制器向控制终端上报数据。
本申请实施例提供的基于串口扩展控制器的通信方法,通过向串口模块中的输入端口发送至少一个外部设备的串口信号,接收串口模块发送的至少一个外部设备的反馈数据。本申请实施例通过串口扩展控制器,实现一个串口对多个串口之间的控制与通信,从而提高设备的控制效率以及数据交互效率。
基于上述实施例,所述接收所述通信处理器发送的至少一个外部设备的反馈数据之后,还包括:
步骤211,基于所述反馈数据,获取串口的数据帧的帧头和帧尾;
步骤212,若所述帧头与预定义的帧头匹配,或所述帧尾与预定义的帧尾匹配,则将所述反馈数据存储至数据缓冲区;
步骤213,若所述帧头与预定义的帧头不匹配,且所述帧尾与预定义的帧尾不匹配,则丢弃所述反馈数据。
控制终端在接收到串口扩展控制器通过串口模块发送的外部设备的反馈数据后,检查接收到的字节序列是否与预定义的帧头和帧尾匹配。如果帧头和帧尾均匹配成功,则表示接收到了完整的数据帧,并将反馈数据存储至数据缓冲区;如果帧头和帧尾任一匹配失败,则表示接收到的数据是无用数据或者不完整的数据帧,丢弃该反馈数据。
在一具体示例中,控制终端通过串口接收数据,并且每个数据帧都包含一个帧头和帧尾,其中,预定义的帧头为“0x86,0xc6”,帧尾为“0xc6,0xb6”。假设控制终端从串口接收到一组数据:0x86,0xc6,0x01,0x02,0xc6,0xb6。检查接收到的数据的前两个字节是否与预定义的帧头匹配,即“0x86,0xc6”。如果匹配成功,继续检查接收到的数据的最后两个字节是否与预定义的帧尾匹配,即“0xc6,0xb6”。如果匹配成功,确认接收到了完整的数据帧,将数据存储至数据缓冲区。
如果在匹配帧头或帧尾的过程中发现不匹配,则丢弃这部分数据。例如,如果接收到的数据是:0x86,0xc6,0x03,0x04,0xc7,0xb6。在匹配帧头时,发现最后一个字节不匹配,可以判断这部分数据为无用数据,可以选择丢弃。在匹配帧尾时,发现前两个字节不匹配,可以判断这部分数据为无用数据,可以选择丢弃。
本申请实施例通过对帧头和帧尾进行判断,可以有效地识别并处理接收到的完整数据帧,并丢弃无用数据,确保后续的数据处理过程能够准确和可靠地进行。
基于上述实施例,所述将所述反馈数据存储至数据缓冲区之后,还包括:
步骤2120,在接收到数据中断信号后,对所述数据缓冲区中的数据进行检测,以确定异常数据;
步骤2121,丢弃所述异常数据,或对所述异常数据进行数据补齐。
控制终端在接收到数据时,不立即对数据进行处理,而是将数据存储到一个较大的数据缓冲区,这样做的目的是容纳更多的数据,减少因数据处理不及时而导致的丢帧情况。控制终端在接收到中断信号后,基于中断函数进行中断处理,并在中断处理结束后,立即对数据缓冲区中的数据进行判断和处理,以减少丢帧的可能性,因为数据被及时地存储到了数据缓冲区中,并在中断处理结束后立即进行处理。其中,异常数据包括未完整的数据帧或者错误的数据等。
例如,假设控制终端从串口接收到一组数据:0x86,0xc6,0x01,0x02,0xc6,0xb6。中断函数处理接收到的数据,将数据存储到系统预留的较大数据缓冲区中。中断处理结束后,立即对数据缓冲区中的数据进行判断和处理,检查数据缓冲区中的数据,找到完整的数据帧,进行进一步处理。如果发现未完整的数据帧或者错误的数据,丢弃或者等待后续数据补齐。
可选地,在处理完数据缓冲区的数据后,立马清零,避免重复发送。
本申请实施例通过将数据存储到较大的数据缓冲区并在中断处理结束后立即对数据进行处理,可以减少丢帧的可能性,同时可以确保接收到的数据能够及时地得到处理,提高系统的可靠性和稳定性。
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(CommunicationsInterface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行基于串口扩展控制器的通信方法,该方法包括:
向串口模块中的输入端口发送至少一个外部设备的串口信号;其中,所述串口模块对所述串口信号进行信号转换和信号格式转换,并基于通信处理器将转换后的串口信号传输至所述外部设备;
接收所述通信处理器发送的至少一个外部设备的反馈数据。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于串口扩展控制器的通信方法,该方法包括:
向串口模块中的输入端口发送至少一个外部设备的串口信号;其中,所述串口模块对所述串口信号进行信号转换和信号格式转换,并基于通信处理器将转换后的串口信号传输至所述外部设备;
接收所述通信处理器发送的至少一个外部设备的反馈数据。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种串口扩展控制器,其特征在于,包括串口模块,及与其连接的通信处理器和外部连接模块;
所述外部连接模块,用于连接一个控制终端和至少一个外部设备;其中,所述控制终端通过串口扩展控制器与至少一个外部设备通信;
所述串口模块,用于将所述控制终端或所述外部设备的串口信号转换为符合通用串口标准的串口信号,并统一所述串口信号的信号格式,以及将所述串口信号与所述控制终端或所述外部设备进行隔离;
所述通信处理器,用于传输所述串口模块处理后的串口信号。
2.根据权利要求1所述的串口扩展控制器,其特征在于,所述串口模块,还用于切换串口模式,所述串口模式至少包括RS422模式、RS232模式和TTL模式。
3.根据权利要求1所述的串口扩展控制器,其特征在于,所述串口模块设有电气隔离电路或电气隔离元件,所述电气隔离电路或所述电气隔离元件用于将所述串口信号与所述控制终端或所述外部设备进行隔离。
4.根据权利要求1所述的串口扩展控制器,其特征在于,所述串口扩展控制器中多个串口集成为一连接器。
5.根据权利要求1所述的串口扩展控制器,其特征在于,所述串口扩展控制器中每个串口的数据帧包括帧头和帧尾,所述帧头和所述帧尾用于区分数据流或者标识设备。
6.一种基于串口扩展控制器的通信方法,其特征在于,应用于如权利要求1至5中任一项所述基于串口扩展控制器的通信方法,包括:
向串口模块中的输入端口发送至少一个外部设备的串口信号;其中,所述串口模块对所述串口信号进行信号转换和信号格式转换,并基于通信处理器将转换后的串口信号传输至所述外部设备;
接收所述通信处理器发送的至少一个外部设备的反馈数据。
7.根据权利要求6所述的基于串口扩展控制器的通信方法,其特征在于,所述接收所述通信处理器发送的至少一个外部设备的反馈数据之后,还包括:
基于所述反馈数据,获取串口的数据帧的帧头和帧尾;
若所述帧头与预定义的帧头匹配,且所述帧尾与预定义的帧尾匹配,则将所述反馈数据存储至数据缓冲区;
若所述帧头与预定义的帧头不匹配,或所述帧尾与预定义的帧尾不匹配,则丢弃所述反馈数据。
8.根据权利要求7所述的基于串口扩展控制器的通信方法,其特征在于,所述将所述反馈数据存储至数据缓冲区之后,还包括:
在接收到数据中断信号后,对所述数据缓冲区中的数据进行检测,以确定异常数据;
丢弃所述异常数据,或对所述异常数据进行数据补齐。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求6至8中任一项所述基于串口扩展控制器的通信方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求6至8中任一项所述基于串口扩展控制器的通信方法。
CN202311796101.XA 2023-12-25 2023-12-25 基于串口扩展控制器的通信方法及串口扩展控制器 Pending CN117931713A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311796101.XA CN117931713A (zh) 2023-12-25 2023-12-25 基于串口扩展控制器的通信方法及串口扩展控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311796101.XA CN117931713A (zh) 2023-12-25 2023-12-25 基于串口扩展控制器的通信方法及串口扩展控制器

Publications (1)

Publication Number Publication Date
CN117931713A true CN117931713A (zh) 2024-04-26

Family

ID=90752906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311796101.XA Pending CN117931713A (zh) 2023-12-25 2023-12-25 基于串口扩展控制器的通信方法及串口扩展控制器

Country Status (1)

Country Link
CN (1) CN117931713A (zh)

Similar Documents

Publication Publication Date Title
EP3462328B1 (en) Serial connection between management controller and microcontroller
CN102713773B (zh) 用于自动化设备的安全模块
US20050198406A1 (en) Intelligent self-determining I/O device
US7299310B2 (en) Connection module for the connection of a sensor to a fieldbus
CN103731343A (zh) 基于lpc2468的mvb-wtb网关及其工作方法
CN111614166B (zh) 基于sfp+多模块加速器的励磁电源控制系统及方法
US7843966B2 (en) Communication system for flexible use in different application scenarios in automation technology
CN117931713A (zh) 基于串口扩展控制器的通信方法及串口扩展控制器
CN107911288B (zh) 列车通信网卡及列车控制管理系统
CN202772912U (zh) 基于vme总线的通信板卡
CN115904844A (zh) 一种用于打印boot信息的uart仿真模型及其工作方法
CN115663549A (zh) 多接口转换装置及车辆
CN112148321B (zh) 一种汽车智能电子设备微控制器抗干扰升级系统及方法
CN212515784U (zh) 基于双uart的rs-485信号线极性自适应实现装置
CN112929356A (zh) 一种cclink协议转modbus协议的方法和系统
CN111385172B (zh) 一种基于总线的控制系统、控制方法及存储介质
CN113726402A (zh) 一种基于星载rs485双总线自适应控制方法
CN216486417U (zh) 扩展卡及自动化设备
CN112666882A (zh) 一种基于国产cpu的程控数字量输入输出板卡
CN114338265B (zh) 一种基于ttp/c总线的程序下载系统及方法
CN220603888U (zh) 一种数字量信号远程控制电路及卡片式总线io模块
CN117834750B (zh) 获取协议数据的装置、方法、系统、设备、介质及服务器
CN220154813U (zh) 一种可拓展输入输出模块的远程从站系统
CN115562912A (zh) 一种数据冗余监视方法
CN213094226U (zh) 一种基于cpci总线的can通讯装置

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