控制器制造技术

技术编号:23533722 阅读:31 留言:0更新日期:2020-03-20 07:59
本发明专利技术涉及一种控制器,包括控制单元、存储单元、多个扩展串口及一个主串口,每个扩展串口与一个受控设备的串口连接,主串口与主控设备的串口连接;存储单元包括多个缓冲区,缓冲区与扩展串口一一对应;扩展串口用于接收数据;当扩展串口接收的数据为受控设备传输的数据且接收到的数据超过预设数据量时,控制单元用于将数据存储于对应一个缓冲区,并当主串口空闲时,用于将缓冲区的数据通过主串口传输至主控设备;当扩展串口接收的数据为主控设备通过主串口传输的数据且接收到的数据超过预设数据量时,控制单元用于将数据存储于对应一个缓冲区,并当对应的扩展串口空闲时,用于将缓冲区的数据通过对应的扩展串口传输至受控设备。

Controller

【技术实现步骤摘要】
控制器
本专利技术涉及数据传输
,特别涉及一种控制器。
技术介绍
串行通讯由于传输距离长、传输线少、协议简单、扩展灵活等优点而被广泛应用于现代控制系统中。串行通讯包括三种传输方式:全双工、半双工、单工。全双工传输方式可以实现信号的双向同时传递,不需要进行信号传输方向的切换,适用于交互式应用。半双工只使用一根传输线,通讯双方不能同时收发数据,半双工串口通过收发开关连接到通信线上,收发开关实际上是由软件控制的电子开关。单工传输方式目前较少采用。现有的半双工控制器通常自带的通用异步收发传输器较少,当主控设备需要通过半双工控制器同时控制的受控设备较多时,则需增加控制器的串口。控制器可通过采用宽带宽、高速率的接口转换成串口来增加串口的数量,但此方式需要主控设备预留宽带宽、高速率的扩展接口及相应的串口扩展卡,且此类扩展卡价格昂贵。控制器还可由一个串口扩展成多个串口来增加串口的数量,此方式通用性强,成本低,但扩展串口容易出现传输数据缺失的现象,尤其是大量数据同时传输时,扩展串口只接收传输数据中的一部分,更容易出现数据的丢失,进而引起控制器通讯的不稳定。
技术实现思路
基于此,有必要针对扩展串口在大量数据同时传输时,容易出现数据丢失的问题,提供一种控制器。一种控制器,所述控制器包括控制单元、存储单元、多个扩展串口及一个主串口,每个扩展串口与一个受控设备的串口连接,所述主串口与主控设备的串口连接;所述存储单元包括多个缓冲区,所述缓冲区与所述扩展串口一一对应;所述扩展串口用于接收数据;当所述扩展串口接收的数据为所述受控设备传输的数据且接收到的数据超过预设数据量时,所述控制单元用于将所述数据存储于对应一个缓冲区,并当所述主串口空闲时,用于将缓冲区的数据通过所述主串口传输至所述主控设备;当所述扩展串口接收的数据为所述主控设备通过所述主串口传输的数据且接收到的数据超过预设数据量时,所述控制单元用于将所述数据存储于对应一个缓冲区,并当对应的扩展串口空闲时,用于将缓冲区的数据通过对应的扩展串口传输至受控设备。在其中一个实施例中,当所述扩展串口接收的数据为所述受控设备传输的数据且接收到的数据不超过预设数据量时,所述控制单元还用于对所述扩展串口接收的数据进行打包并将打包后的数据通过所述主串口传输至所述主控设备;当所述扩展串口接收的数据为所述受控设备传输的数据且接收到的数据超过预设数据量时,所述控制单元还用于对存储于缓冲区的数据进行打包并将打包后的数据通过所述主串口传输至所述主控设备。在其中一个实施例中,当所述扩展串口接收的数据为所述主控设备通过所述主串口传输的数据且接收到的数据不超过预设数据量时,所述控制单元还用于对所述主串口接收的数据进行解包并将解包后的数据传输至对应的扩展串口;当所述扩展串口接收的数据为所述主控设备通过所述主串口传输的数据且接收到的数据超过预设数据量时,所述控制单元还用于对所述主串口接收的数据进行解包并将解包后的数据存储于对应一个缓冲区,所述控制单元还用于将存储于缓冲区的数据通过对应的扩展串口传输至受控设备。在其中一个实施例中,所述控制单元还用于判断所述扩展串口接收到的数据是否超过预设数据量。在其中一个实施例中,所述控制单元还用于检测所述扩展串口及所述主串口是否空闲。在其中一个实施例中,每个缓冲区包括多个缓冲单元,所述多个缓冲单元用于存储对应一个扩展串口接收的数据。在其中一个实施例中,每个缓冲区包括17个缓冲单元,每个缓冲单元的存储容量为256个字节。在其中一个实施例中,所述存储单元为随机存取存储器。上述的控制器,通过设置与每个扩展串口一一对应的缓冲区,当所述扩展串口接收到的数据超过预设数据量时,所述控制单元根据接收数据的来源判断相应的串口是否空闲,并当相应的串口空闲时,将存储于缓冲区的数据通过相应的串口转发出去,避免了通过扩展串口传输的数据过多时,出现数据丢失的现象,保证控制器通讯的稳定性。附图说明图1为一个实施例提供的控制器的原理框图。具体实施方式请参阅图1,本申请提供一种控制器100,所述控制器100包括控制单元10、存储单元20、多个扩展串口30及一个主串口40。每个扩展串口30与一个受控设备200的串口连接,所述主串口40与主控设备300的串口连接。所述存储单元20包括多个缓冲区21,所述缓冲区21与所述扩展串口30一一对应。所述扩展串口30用于接收数据。当所述扩展串口30接收的数据为所述受控设备200传输的数据且接收到的数据超过预设数据量时,所述控制单元10用于将所述数据存储于对应一个缓冲区21,并当所述主串口40空闲时,用于将缓冲区21的数据通过所述主串口40传输至所述主控设备300。当所述扩展串口30接收的数据为所述主控设备300通过所述主串口40传输的数据且接收到的数据超过预设数据量时,所述控制单元10用于将所述数据存储于对应一个缓冲区21,并当对应的扩展串口30空闲时,用于将缓冲区21的数据通过对应的扩展串口30传输至受控设备200。所述主串口40或所述扩展串口30空闲,即所述主串口40或所述扩展串口30没有在传输数据。当所述扩展串口30接收的数据为所述受控设备200传输的数据且接收到的数据不超过预设数据量时,所述控制单元10还用于对所述扩展串口30接收的数据进行打包并将打包后的数据通过所述主串口40传输至所述主控设备300;当所述扩展串口30接收的数据为所述受控设备200传输的数据且接收到的数据超过预设数据量时,所述控制单元10还用于对存储于缓冲区21的数据进行打包并将打包后的数据通过所述主串口40传输至所述主控设备300,此时,所述主串口40空闲。所述控制单元10对所述扩展串口30接收的数据进行打包即所述控制单元10将所述扩展串口30接收的数据加上包头及包尾,并在数据包中填充一定的字段,以标识接收数据包的扩展串口30。需要说明的是,所述扩展串口30及所述主串口40中传输的数据以数据包的形式传输。当所述控制器100中没有设置与所述扩展串口30对应的缓冲区21,所述扩展串口30在同一时间内接收到大量的数据包时,只有部分数据包通过扩展串口30转发至所述主串口40或所述受控设备200,导致传输数据的缺失。当所述扩展串口30接收的数据为所述主控设备300通过所述主串口40传输的数据且接收到的数据不超过预设数据量时,所述控制单元10还用于对所述主串口40接收的数据进行解包并将解包后的数据传输至对应的扩展串口30;当所述扩展串口30接收的数据为所述主控设备300通过所述主串口40传输的数据且接收到的数据超过预设数据量时,所述控制单元10还用于对所述主串口40接收的数据进行解包并将解包后的数据存储于对应一个缓冲区21,所述控制单元10还用于将存储于缓冲区21的数据通过对应的扩展串口30传输至受控设备200,此时,对应的扩展串口30空闲。所述控制单元10对所述主串口40接收的数据进行解包即所述控制单元10将所述主串口40接收的数据去除包头及包尾,并识别数据包中的本文档来自技高网...

【技术保护点】
1.一种控制器,其特征在于,所述控制器包括控制单元、存储单元、多个扩展串口及一个主串口,每个扩展串口与一个受控设备的串口连接,所述主串口与主控设备的串口连接;所述存储单元包括多个缓冲区,所述缓冲区与所述扩展串口一一对应;所述扩展串口用于接收数据;当所述扩展串口接收的数据为所述受控设备传输的数据且接收到的数据超过预设数据量时,所述控制单元用于将所述数据存储于对应一个缓冲区,并当所述主串口空闲时,用于将缓冲区的数据通过所述主串口传输至所述主控设备;当所述扩展串口接收的数据为所述主控设备通过所述主串口传输的数据且接收到的数据超过预设数据量时,所述控制单元用于将所述数据存储于对应一个缓冲区,并当对应的扩展串口空闲时,用于将缓冲区的数据通过对应的扩展串口传输至受控设备。/n

【技术特征摘要】
1.一种控制器,其特征在于,所述控制器包括控制单元、存储单元、多个扩展串口及一个主串口,每个扩展串口与一个受控设备的串口连接,所述主串口与主控设备的串口连接;所述存储单元包括多个缓冲区,所述缓冲区与所述扩展串口一一对应;所述扩展串口用于接收数据;当所述扩展串口接收的数据为所述受控设备传输的数据且接收到的数据超过预设数据量时,所述控制单元用于将所述数据存储于对应一个缓冲区,并当所述主串口空闲时,用于将缓冲区的数据通过所述主串口传输至所述主控设备;当所述扩展串口接收的数据为所述主控设备通过所述主串口传输的数据且接收到的数据超过预设数据量时,所述控制单元用于将所述数据存储于对应一个缓冲区,并当对应的扩展串口空闲时,用于将缓冲区的数据通过对应的扩展串口传输至受控设备。


2.根据权利要求1所述的控制器,其特征在于,当所述扩展串口接收的数据为所述受控设备传输的数据且接收到的数据不超过预设数据量时,所述控制单元还用于对所述扩展串口接收的数据进行打包并将打包后的数据通过所述主串口传输至所述主控设备;当所述扩展串口接收的数据为所述受控设备传输的数据且接收到的数据超过预设数据量时,所述控制单元还用于对存储于缓冲区的数据进行打包并将打包后的数据通过所述主串口传输至所述主控设备。


...

【专利技术属性】
技术研发人员:李新胜
申请(专利权)人:深圳市信方达科技发展股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1