发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供多设备的串口数据处理装置及方法,解决现有技术中设备较多的情况下,串口采集数据容易出错且日志信息太多较难分析的问题。
为实现上述目标及其他相关目标,本发明提供一种多设备的串口数据处理装置,包括:嵌入式系统及上位机系统;所述嵌入式系统,其包括:第一嵌入式单元、第二嵌入式单元及串口输出器;第一嵌入式单元,包括:串口接入器,用于提供多个串口以对应与各个所述设备间建立多条数据通道来接收串口数据;串口编码器,其输入端连接所述串口接入器的输出端,所述各路数据通道分配有编号,所述串口编码器用于将串口接入器所接收的串口数据结合其来自的数据通道所分配有的标识信息进行编码以作区分标识;输出端,用于供所述第一嵌入式单元将编码后的串口数据输出;第二嵌入式单元,连接所述第一嵌入式单元的输出端,用于接收所述第一嵌入式单元的输出数据,并按预设参数从所接收数据中提取来自所需数据通道的串口数据后输出;串口输出器,其输入端连接所述第二嵌入式单元的输出端,其输出端连接至所述上位机系统,以将所述第二嵌入式单元输出的串口数据输出至所述上位机系统;所述上位机系统,用于设置所述预设参数;还用于接收所述嵌入式系统输出的串口数据并形成串口日志。
可选的,所述数据通道的标识信息包括:数据通道编号或相关的私有的别名。
可选的,所述预设参数包括:需要获取串口数据的数据通道编号或其相关的私有的别名、及/或需要获取串口数据的串口编号或其相关的私有的别名。
可选的,所述预设参数还包括:需要获取串口数据的数据通道的最大数量。
可选的,所述上位机系统包括:串口接入口,与所述串口输出器连接,用于接收嵌入式系统输出的串口数据。
可选的,所述串口接入口为以太网口。
可选的,所述上位机系统还包括:用于对所述串口接入口接收的串口数据进行缓存的数据缓冲区域。
可选的,所述上位机系统包括:输入模块,用于供输入配置参数,所述配置参数包括:过滤参数和/或显示参数;数据处理模块,用于根据所述过滤参数对来自所述嵌入式系统的串口数据加以过滤形成串口日志;数据显示模块,用于将所述串口日志按所述显示参数加以显示。
可选的,所述过滤参数包括:与各所述设备相关的过滤条件、及与关键字相关的过滤条件中的至少一种。
可选的,所述与各所述设备相关的过滤条件,包括:以预有的设备编号作为过滤条件、以为各所述设备分配的私有的别名作为过滤条件、或以设备所使用的数据通道编号作为过滤条件。
可选的,所述显示参数包括:串口日志的显示形式、及显示速度中的至少一种。
为实现上述目标及其他相关目标,本发明提供一种多设备的串口数据处理方法,应用于所述的多设备的串口数据处理装置,所述方法包括:接收所输入的供输入配置参数,所述配置参数包括:过滤参数和/或显示参数;根据所述过滤参数对来自所述嵌入式系统的串口数据加以过滤形成串口日志;将所述串口日志按所述显示参数加以显示。
如上所述,本发明提供多设备的串口数据处理装置及方法,装置包括:嵌入式系统及上位机系统;所述嵌入式系统,其包括:第一嵌入式单元、第二嵌入式单元及串口输出器;第一嵌入式单元,包括:串口接入器,用于提供多个串口以对应与各个所述设备间建立多条数据通道来接收串口数据;串口编码器,其输入端连接所述串口接入器的输出端,所述各路数据通道分配有编号,所述串口编码器用于将串口接入器所接收的串口数据结合其来自的数据通道所分配有的标识信息进行编码以作区分标识;输出端,用于供所述第一嵌入式单元将编码后的串口数据输出;第二嵌入式单元,连接所述第一嵌入式单元的输出端,用于接收所述第一嵌入式单元的输出数据,并按预设参数从所接收数据中提取来自所需数据通道的串口数据后输出;串口输出器,其输入端连接所述第二嵌入式单元的输出端,其输出端连接至所述上位机系统,以将所述第二嵌入式单元输出的串口数据输出至所述上位机系统;所述上位机系统,用于设置所述预设参数;还用于接收所述嵌入式系统输出的串口数据并形成串口日志;利用嵌入式系统进行底层串口数据的过滤,并利用上位机系统对收到的串口数据进行整理及分析来形成日志文件并显示,良好解决现有技术问题。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明的技术方案应用于多台具有串口的设备的串口数据收集及日志形成,其中,所述设备例如为无线AC、无线AP等等,当然,还可以是其他设备,例如电脑等,并非以此为限;在设备量越多的情况下本发明的技术效果越加明显,以下结合图示进行具体说明。
如图1所示,本发明提供一种多设备3的串口数据处理装置,包括:嵌入式系统1及上位机系统2,嵌入式系统1连接多台所述设备3。
如图2所示,在一实施例中,所述嵌入式系统1,其包括:第一嵌入式单元11、第二嵌入式单元12及串口输出器13。具体的,所述第一嵌入式单元11例如为FPGA系统,而所述第二嵌入式单元12例如为ARM系统,优选的,第二嵌入式单元12可以是由一块ARM芯片作为核心控制器来搭配必要电路组成的一个最小系统,以节省成本。
所述第一嵌入式单元11,其包括:串口接入器111及串口编码器112等。
所述串口接入器111,用于提供多个串口以对应与各个所述设备3间建立多条数据通道来接收串口数据。在一实施例中,所述串口接入器111还可用于设置每条数据通道的波特率。
所述串口编码器112,其输入端连接所述串口接入器111的输出端,所述各路数据通道分配有编号,所述串口编码器112用于将串口接入器111所接收的串口数据结合其来自的数据通道所分配有的标识信息进行编码以作区分标识,当第二嵌入式单元12接收并读取该编码后的串口数据后即可知晓其来自哪条数据通道。
在一实施例中,所述数据通道的标识信息包括:数据通道编号或相关的私有的别名;举例来说,串口数据一般是8位,本实施例中第一嵌入式单元11和第二嵌入式单元12之间的传递的编码后的数据格式可以是16位,高8位作为地址(对应数据通道的编号),低8位作为数据,例如,编码后的16位数据表示为Code[15...0]=Addr[7..0]+Data[7..0],若比如数据通道编号0x01接受到了数据0xA8,经过编码后Code[15..0]=0x01+0xA8=0x01A8,当第二嵌入式单元12接收到0x01A8,即可知晓其来自于通道0x01,当然,在其他实施例中,由于从测试人员的角度,观察别名比观察一个个通道编号更容易,因此,可以为每条数据通道设置别名,例如“通道1”,“通道2”等,将其对应的串码编入串口数据中以作标识。
所述第一嵌入式单元11还具有输出端,其可为一路,将各路数据通道发送且经编码后的串口数据在这一路中发送给第二嵌入式单元12,后续第二嵌入式单元12可根据所述串口数据中的数据通道标识信息的不同来进行数据分离。
所述第二嵌入式单元12,连接所述第一嵌入式单元11的输出端,用于接收所述第一嵌入式单元11的输出数据,并按预设参数从所接收数据中提取来自所需数据通道的串口数据后输出。
具体来讲,在实际情况中,有时候并不是每台设备3都需要被监控,可能只需要监控其中的一部分设备3的串口输出,这时候需要预设参数来对串口数据进行过滤;所述预设参数包括:需要获取串口数据的数据通道编号或其相关的私有的别名、及/或需要获取串口数据的串口编号或其相关的私有的别名,也就是说,可以进行以下几种方式的过滤:
1)设定所需的串口编号,将其他串口的数据过滤掉;
2)设定所需的串口编号相关联的私有别名,例如“串口1”等,经过转换成串口编号来过滤掉其他串口的数据;
由于第二嵌入式单元12所接收的串口数据中己带有数据通道编号或其别名的信息,因此亦可将该数据通道编号或其别名作为过滤条件,即如下方式:
3)设定需要的数据通道编号,将其他数据通道的数据过滤掉;
4)设定需要的数据通道的别名,经过转换成对应的串码用来过滤掉其他数据通道的数据。
由于数据通道和串口是可以一一对应的,因此前两种过滤方式和后两种过滤方式均可达到一样的效果。
在一实施例中,所述预设参数还包括:需要获取串口数据的数据通道的最大数量,从而限制设定超过该最大数量的需要接收串口数据的数据通道,而造成错误或加大系统负担。
另需说明的是,所述预设参数是可以由所述上位机系统2对第二嵌入式单元12设定的,优选的,所述嵌入式系统1中还可包括连接所述第二嵌入式单元12和上位机系统2的参数配置单元用来完成所述预设参数的设置,当然,其亦可集成于所述第二嵌入式单元12中。
所述串口输出器13,其输入端连接所述第二嵌入式单元12的输出端,其输出端连接至所述上位机系统2,以将所述第二嵌入式单元12输出的串口数据输出至所述上位机系统2,优选的,其可具有例如数据格式转换的功能,如串口数据格式转网口数据格式等。
所述上位机系统2,用于设置所述预设参数;还用于接收所述嵌入式系统1输出的串口数据并形成串口日志。
如图3所示,在一实施例中,所述上位机系统2包括:串口接入口21,与所述串口输出器13连接,用于接收嵌入式系统1输出的串口数据,串口接入口21是用于和下位机相互连接的通道,由于串口的数据是集成一路发送的,所以波特率非常高,因此,这里可采用以太网口和下位机系统进行数据传输。
在一实施例中,所述上位机系统2还包括:用于对所述串口接入口21接收的串口数据进行缓存的数据缓冲区域22。
在一实施例中,为达到过滤串口数据形成日志并显示的目的,所述上位机系统2包括:输入模块23、数据处理模块24、及数据显示模块25。
输入模块23,用于供输入配置参数,所述配置参数包括:过滤参数和/或显示参数。在一实施例中,所述上位机系统2可运行于例如带有显示器的台式机、笔记本电脑等,而所述输入模块23例如为触摸屏、键盘、鼠标等,在所述显示器提供人机交互界面,从而用户可通过输入模块23来输入配置参数。
由于测试人员在查看串口日志的时候,一般会有如下需求:1)过滤某些设备3;2)过滤某些关键字;3)计算出某些关键字在历史日志中出现的频率和时间;4)加快或减慢日志的速度,及其他等等;因此,所述配置参数即可根据该些需求来制定。
在一实施例中,所述过滤参数包括:与各所述设备3相关的过滤条件、及与关键字(例如串口编号)相关的过滤条件中的至少一种;进一步的,所述与各所述设备3相关的过滤条件,包括:以预有的设备3编号作为过滤条件、以为各所述设备3分配的私有的别名作为过滤条件、或以设备3所使用的数据通道编号作为过滤条件等。
在一实施例中,所述显示参数包括:串口日志的显示形式、及显示速度中的至少一种。举例来说,所述显示速度可例如每条日志记录在显示屏上移动的速度,还可以是对应带有关键字(可与所述过滤参数中的关键字相同)的串口数据记录的显示速度,例如,对应某个以串口编号作为关键字的记录而言,可通过控制其一条记录的显示时间到下一条记录的显示时间的间隔来达到控制其显示速度的目的;所述显示形式例如表格、图表等,还可以例如对某些特定数据或特定数据通道或串口的数据采用高亮、带颜色的显示方式。
所述数据处理模块24,优选的,其可连接所述数据缓冲区域22,当发现数据缓冲区域22中有来自嵌入式系统1的串口数据,用于根据所述过滤参数对来自所述嵌入式系统1的串口数据加以过滤形成串口日志,所述串口日志可以由多条历史记录组成,每条历史记录中记录了来自每个设备3、串口或数据通道的串口数据及对应发生时间等信息。
所述数据显示模块25,则用于将所述串口日志按所述显示参数加以显示。
优选但非必须的是,所述上位机系统2还可包括核心控制模块,所述串口接入口21、数据缓冲区22、数据处理模块24、及数据显示模块25可以由该核心控制模块来统一控制,进一步优选的,所述核心控制模块还可连接一用于存储所述输入模块23输入的配置参数的配置存储模块,用来读取所存储的配置参数以控制各模块,当然,其并非必须,例如,所述输入模块23所输入的配置参数可由其自行存储,依各数据处理模块24及数据显示模块25等的请求而在模块间传递,所述数据处理模块24及数据显示模块25亦可通过交互实现功能协作。
结合这一实施例,本发明还提供一种多设备的串口数据处理方法,应用于所述的多设备的串口数据处理装置,所述方法包括:
接收所输入的供输入配置参数,所述配置参数包括:过滤参数和/或显示参数;
根据所述过滤参数对来自所述嵌入式系统的串口数据加以过滤形成串口日志;
将所述串口日志按所述显示参数加以显示。
具体的,结合该原理,如图4所示,提供一具体方法实施例:
步骤S1:用户配置参数,包括过:需过滤的设备名称、需过滤的关键字、所述关键字的出现频率和时间和日志显示速度。
步骤S2:判断缓冲区是否有串口数据;若是,则进入步骤S3;若否,则返回步骤S2;
步骤S3:如果缓冲区有串口数据,就取出串口数据;
步骤S4:判断该串口数据是否来自于配置参数中指定的设备,若是则进入步骤S5;若否,则返回步骤S4;
步骤S5:通过过滤关键字过滤出所需串口数据形成日志;
步骤S6:判断若在当前时间显示带有该关键字的记录是否满足所设定的关键字出现频率;若否,则进入步骤S7;若是,则进入步骤S8;
步骤S7:延时输出显示;
步骤S8:立刻输出显示;
步骤S9:判断是否需要停止,若是,则停止;若否则返回步骤S2。
过滤出关键字后,需要显示数据,这时候需要考虑日志的显示速度,如果本次显示时间离上次的显示时间符合用户设定的时间,则立刻输出,否则等待响应的时间后输出内容,并存储到存储区域中。
综上所述,本发明提供多设备的串口数据处理装置及方法,装置包括:嵌入式系统及上位机系统;所述嵌入式系统,其包括:第一嵌入式单元、第二嵌入式单元及串口输出器;第一嵌入式单元,包括:串口接入器,用于提供多个串口以对应与各个所述设备间建立多条数据通道来接收串口数据;串口编码器,其输入端连接所述串口接入器的输出端,所述各路数据通道分配有编号,所述串口编码器用于将串口接入器所接收的串口数据结合其来自的数据通道所分配有的标识信息进行编码以作区分标识;输出端,用于供所述第一嵌入式单元将编码后的串口数据输出;第二嵌入式单元,连接所述第一嵌入式单元的输出端,用于接收所述第一嵌入式单元的输出数据,并按预设参数从所接收数据中提取来自所需数据通道的串口数据后输出;串口输出器,其输入端连接所述第二嵌入式单元的输出端,其输出端连接至所述上位机系统,以将所述第二嵌入式单元输出的串口数据输出至所述上位机系统;所述上位机系统,用于设置所述预设参数;还用于接收所述嵌入式系统输出的串口数据并形成串口日志;利用嵌入式系统进行底层串口数据的过滤,并利用上位机系统对收到的串口数据进行整理及分析来形成日志文件并显示,良好解决现有技术问题。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。