CN107992439A - 一种可扩展的数据交互方法及系统 - Google Patents
一种可扩展的数据交互方法及系统 Download PDFInfo
- Publication number
- CN107992439A CN107992439A CN201710953500.0A CN201710953500A CN107992439A CN 107992439 A CN107992439 A CN 107992439A CN 201710953500 A CN201710953500 A CN 201710953500A CN 107992439 A CN107992439 A CN 107992439A
- Authority
- CN
- China
- Prior art keywords
- data
- peripheral
- module
- content type
- standard
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
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)
- Communication Control (AREA)
Abstract
本发明属于通信领域,公开了一种可扩展的数据交互方法及系统,所述方法包括通过不同外设接口获取不同外设数据,根据不同外设数据获得每种外设数据的数据内容类型;根据每种外设数据的数据内容类型判断是否有与该种数据内容类型对应的数据读取程序,是则根据数据读取程序获得该种外设数据对应的操作数据,否则根据该种数据内容类型获得该种数据内容类型对应的数据读取程序并获得该种外设数据对应的操作数据;根据获得的操作数据对所述外设数据进行格式转换,获得标准格式数据;通过自定义协议将所述标准格式数据发送至主机接口。本发明实现了将多路数据整合为单路数据以及将单路数据解析为多路数据的功能。
Description
技术领域
本发明属于通信领域,更具体地,涉及一种可扩展的数据交互方法及系统。
背景技术
系统中各个模块之间采用各自的通讯接口和软件协议进行数据交互,例如:
1、主机模块和全球定位系统(Global Positioning System,简称为GPS)模块之间采用232串口方式连接,配合主机软件中专用的232串口驱动程序来获取GPS定位信息;232串口是美国电子工业协会EIA(Electronic Industry Association)指定的一种串行接口标准,主要应用于设备之间的串行通信,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。
2、主机模块与控制模块之间采用普通通用输入/输出(General Purpose InputOutput,简称为GPIO)接口方式连接,配合主机软件中专用的GPIO驱动程序来实现获取控制模块的命令;GPIO全称为(为设备的标准输入/输出接口,可配置为输出接口对外输出高/低电平,或配置为输入接口检测外部电平的高低。
3、主机模块与温度传感器模块采用I2C(Inter-Integrated Circuit)总线接口方式连接,配合主机软件中专用的I2C驱动程序来实现获取温度传感器模块的命令;I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线,它只需要两根线即可在连接于总线上的器件之间传送信息。
其中,主机模块可以为红外热像仪主机模块、电脑主机、手机等器件,GPS模块、控制模块以及温度传感器模块为外围设备模块,简称外设模块,232串口、GPIO接口以及I2C总线为不同的外设接口,通过外设接口发出的数据或接收的数据为外设数据,232串口驱动程序、GPIO驱动程序以及I2C驱动程序分别为232串口、GPIO接口以及I2C总线对应的数据读取程序,即不同外设数据有其对应的数据读取程序,获取的GPS定位信息、控制模块的命令以及温度传感器模块的命令分别是其对应的外设数据的数据读取程序获得的操作数据。
通常,在不考虑主机接口复杂程度的情况下,理论上支持更多外围设备的接入,但是这会导致主机接口多而且主机结构复杂,主机驱动程序多,占用主机的存储空间,也可能会降低主机的运行效率,同时也可能造成主机接口资源的浪费,而且这种设计模式如果要实现接口的扩展,就需要拆开主机对主机的结构进行重新组装,过程复杂且周期长。
图1是现有技术中主机模块与多个外围设备模块的连接关系图,如图1所示的系统框图,系统中主机模块与各个外围设备的通讯和连接需要消耗比较多的接口资源,如主机模块通过串口和GPS模块连接,通过GPIO接口和控制模块连接,通过I2C总线和温度传感器模块连接,通过其他接口与其他外围设备模块连接,这就会造成主机模块的主机接口电路复杂,接插件接脚过多,对结构体积影响很大,主机软件也需要支持多种外设驱动,软件复杂程度高,稳定性较差。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种可扩展的数据交互方法及系统,其目的在于实现主机接口电路的简便化及可扩展化,由此解决目前主机接口电路复杂的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种可扩展的数据交互方法,在外设数据接收方向,包括以下步骤:
S11、通过不同外设接口获取不同外设数据,根据不同外设数据获得每种外设数据的数据内容类型;
S12、根据每种外设数据的数据内容类型判断是否有与该种数据内容类型对应的数据读取程序,是则根据数据读取程序获得该种外设数据对应的操作数据,否则根据该种数据内容类型获得该种数据内容类型对应的数据读取程序并获得该种外设数据对应的操作数据;此步骤实现了本发明的可扩展化,使得本发明可以通过增加数据读取程序就实现接口的扩展;
S13、根据获得的操作数据对所述外设数据进行格式转换,获得标准格式数据;此步骤实现了多路数据向单路数据的转换,简化了主机接口电路的复杂度;
S14、通过自定义协议将所述标准格式数据发送至主机接口。
优选地,所述外设数据为外设可以识别的数据,所述数据内容类型可以判断一种数据为哪种外设数据或为其他数据,所述操作数据为操作指令的数据。
优选地,所述标准格式数据为主机接口可以识别的数据。
优选地,在外设数据发送方向,包括以下步骤:
S21、根据自定义协议通过主机接口获得所述标准格式数据,解析所述标准格式数据获得不同外设数据;此步骤实现了单路数据向多路数据的转换;
S22、根据不同外设数据获得每种外设数据的数据内容类型;
S23、根据数据内容类型将每种外设数据发送至对应的外设接口。
优选地,在所述步骤S14或所述步骤S21之前,还包括:
根据标准格式数据和标准GPS协议获得可识别所述标准格式数据的自定义协议。
作为进一步优选地,所述根据标准格式数据和标准GPS协议获得可识别所述标准格式数据的自定义协议为通过改进标准GPS协议使得标准GPS协议变成可以识别标准格式数据的自定义协议。
优选地,在所述步骤S12之前,还包括:
根据每种外设数据的数据内容类型,判断该种外设数据是否需要过滤无用数据,是则获得过滤后的外设数据,进入步骤S12,否则直接进入步骤S12;通过过滤无用数据可以减少操作的数据量,从而提高数据传输的准确率以及传输的效率。
优选地,所述步骤S12包括:
S121、判断每种外设数据的数据内容类型是否有对应的中断编号,是则执行对应的中断服务程序以获得对应的操作数据,进入步骤S13,否则获得新的中断编号,并获取该中断编号对应的中断服务程序以获得对应的操作数据,进入步骤S13;此步骤通过中断完成外设数据的操作数据的读取,中断完成后可以返回到主程序,而且如果当前没有该种外设数据对应的中断编号,则可以分配新的终端编号以及其对应的中断服务程序,从而实现外设接口的可扩展化,提高本发明的使用范围。
作为进一步优选地,在所述步骤S121之前包括:
S120、根据每种外设数据的数据内容类型判断该种外设数据是否是定时读取数据,是则每隔一个时间段读取一次该种外设数据并获得该种外设数据的操作数据,进入步骤S13;否则进入步骤S121。
按照本发明的另一方面,提供了一种可扩展的数据交互系统,包括外设接口、主机接口、数据内容类型获取模块、第一判断模块、数据读取程序获取模块、操作数据获取模块、标准格式数据获取模块、数据发送模块;
所述外设接口的输出端连接所述数据内容类型获取模块的第一输入端,所述数据内容类型获取模块的第一输出端连接所述第一判断模块的第一输入端,所述第一判断模块的第一输出端连接所述操作数据获取模块的第一输入端,所述第一判断模块的第二输出端连接所述数据读取程序获取模块的输入端,所述数据读取程序获取模块的输出端连接所述操作数据获取模块的第二输入端,所述操作数据获取模块的输出端连接所述标准格式数据获取的输入端,所述标准格式数据获取模块的输出端连接所述数据发送模块的第一输入端,所述数据发送模块的第一输出端连接所述主机接口的输入端;
所述外设接口用于获取不同外设数据;
所述主机接口用于获取标准格式数据;
所述数据内容类型获取模块用于根据不同外设数据获得每种外设数据的数据内容类型;
所述第一判断模块用于根据每种外设数据的数据内容类型判断是否有与该种数据内容类型对应的数据读取程序并获得第一判断信号或第二判断信号;
所述数据读取程序获取模块用于根据第二判断信号以及数据内容类型获得该种数据内容类型对应的数据读取程序并获得数据读取信号;所述数据读取程序获取模块实现了本系统外设接口的可扩展化;
所述操作数据获取模块用于根据第一判断信号或数据读取信号获得外设数据对应的操作数据;
所述标准格式数据获取模块用于根据获得的操作数据对所述外设数据进行格式转换,获得标准格式数据;
所述数据发送模块用于通过自定义协议发送所述标准格式数据。
优选地,还包括数据解析模块;
所述主机接口的输出端连接所述数据解析模块的输入端,所述数据解析模块的输出端连接所述数据类型获取模块的第二输入端,所述数据类型获取模块的第二输出端连接所述数据发送模块的第二输入端,所述数据发送模块的第二输出端连接所述外设接口的输入端;
所述数据解析模块用于解析所述标准格式数据获得多种外设数据;
所述数据发送模块还用于通过不同外设接口对应的数据协议发送外设数据。
作为进一步优选地,所述标准格式数据为NMEA数据。
作为进一步优选地,还包括第二判断模块以及过滤模块,所述数据内容类型获取模块的第一输出端连接所述第二判断模块的输入端,所述第二判断模块的第一输出端连接所述过滤模块的输入端,所述过滤模块的输出端连接所述第一判断模块的第一输入端,所述第二判断模块的第二输出端连接所述第一判断模块的第二输入端;
所述第二判断模块用于根据每种外设数据的数据内容类型判断该种外设数据是否需要过滤无用数据并获得第三判断信号;
所述过滤模块用于根据第三判断信号过滤无用数据。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,由于本发明实现了可扩展的数据交互方法及系统,能够取得下列有益效果。
1、本发明将不同外设数据进行格式转换转换为标准格式数据从而可以仅通过一个串口将数据发送至主机接口,实现了多路数据向单路数据的转换,从而减少了主机接口的数量,节省了主机接口资源,简化了主机的接口电路结构及主机驱动程序,从而保证了主机的稳定性;本发明通过每种外设数居的数据内容类型判断是否有与该种数据内容类型对应的数据读取程序,是则根据数据读取程序获得该种外设数据对应的操作数据,否则根据该种数据内容类型获得该种数据内容类型对应的数据读取程序并获得该种外设数据对应的操作数据,这种方式可以通过增加数据读取程序快速实现外设接口的扩展,而不需重新组装新的主机;
2、本发明可以将从主机接口获得的标准格式数据解析为外设数据,实现了单路数据向多路数据的转换,这种方式节省了主机接口资源,简化了主机结构以及主机驱动程序;
3、本发明的通过不同外设数据获得的标准格式数据是通过自定义协议发送至主机接口,本发明所述的自定义协议是根据标准格式数据和标准GPS协议获得的可以识别标准格式数据的协议,这种优化的GPS协议使得本发明可以仅通过一个接口就将多个外设数据发送至主机接口,实现多路数据向单路数据的转换,而且优化后的GPS协议不仅可以识别GPS数据,还可以识别经过转换的外设数据;
4、本发明可以根据数据内容类型判断外设数据是否需要过滤,是则过滤无用数据保留有用数据,通过过滤可以大大减小数据的计算量,从而提高数据的转换速度以及传送速度;
5、本发明可以通过中断编号以及对应的中断服务程序获得操作数据,也可以通过定时读取获得操作数据,从而确保本发明可以识别多种外设数据并将多种外设数据进行转换,增大了本发明的使用范围。
附图说明
图1是现有技术中主机模块与外设模块的连接关系图;
图2是本发明具体实施例中主机模块与外设模块的连接关系图;
图3是本发明的外设数据转换为标准格式数据的方法流程图;
图4是本发明的标准格式数据转换为外设数据的方法流程图;
图5是本发明的具体实施例中设置有过滤功能的外设数据转换为标准格式数据的方法流程图;
图6是本发明的具体实施例中通过中断及循环读取方式获取操作数据的外设数据转换为标准格式数据的方法流程图;
图7是本发明的具体实施例的外设模块向主机模块方向传输数据的系统结构图;
图8是本发明的具体实施例的主机模块向外设模块方向传输数据的系统结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提供了一种可扩展的数据交互方法及系统,如图2所示,通过在主机模块和外设模块之间设置一个可扩展的数据交互系统,就可以实现仅设置有一个主机接口的主机模块和多个外设模块的数据传输,这种设计简化了主机模块的接口电路的复杂度以及主机模块的结构复杂度,同时也可以减少主机模块中驱动程序的存储,从而减小主机模块的重量和体积,同时可以提高主机的存储率以及运行速率,提高主机模块的稳定性。
在本发明的具体实施例中,所述主机接口采用串口,且所述主机模块上可以设置一个传输线实现单工通信或半双工通信,也可以设置两个传输线实现全双工通信。
其中,所述可扩展的数据交互方法包括两种方向,一个是在外设数据接收方向,即接收外设数据并将外设数据转换为标准格式数据后发送至主机接口,另一个是在外设数据发送方向,即接收主机接口的标准格式数据,并将标准格式数据解析为外设数据,将外设数据发送至外设接口。
其中,在外设数据接收方向,包括步骤S1,如图3所示:
S11、通过不同外设接口获取外设数据,根据不同外设数据获得每种外设数据的数据内容类型,即获取外设数据,并获得每种外设数据的数据内容类型。
通常情况下,一种外设接口对应一种外围设备模块,如232串口对应GPS模块,GPIO接口对应控制模块,I2C总线对应温度传感器模块,每种外围设备模块通过外设接口传输的数据有其特有的格式,即一种外围设备输出一种外设数据,相应的一种外设接口接收一种外设数据,每种外设数据中包含可以识别该种外设数据属于哪种外围设备的数据,这种数据即为数据内容类型,通过获得数据内容类型就可以识别该种外设数据属于哪种外设接口或哪种外围设备;一种外设接口也可能对应多种外围设备,即这多种外围设备是通过相同的接口进行数据传输,所以这多种外围设备也仅输出一种外设数据;如果需要将这多种外围设备同时装上,则这多种外围设备可以产生多种外设数据,对应的多种不同外设接口接收多种外设数据;当然这多种外围设备也可以产生一种外设数据,对应的多个相同外设接口接收的是同一种外设数据。
在本发明中,每种外设数据都有其对应的数据内容类型。
每种外设数据都有其对应的数据帧格式,所述数据内容类型字段包含于外设数据的数据帧中。
在所述步骤S11中所述的外设接口的数据传输方向包括从外设模块向可扩展的数据交互系统方向传输。
S12、根据每种外设数据的数据内容类型判断是否有与该种数据内容类型对应的数据读取程序;是则根据数据读取程序获得该种外设数据对应的操作数据,否则根据该种数据内容类型获得该种数据内容类型对应的数据读取程序并获得该种外设数据对应的操作数据,即判断是否有对应的数据读取程序,是则获得操作数据,否则线获得对应的数据读取程序,再获得操作数据。
所述操作数据也包含于外设数据对应的数据帧中,每一种数据内容类型对应一种外设数据,每种外设数据的读取方式不同,所以每种外设数据都需要通过其对应的数据读取程序进行数据读取,从而获得其对应的操作数据,所述操作数据表示的是操作指令的数据,即为有用数据。
当需要接入的外围设备对应的外设接口未被配置上,则可以直接配置该种外设接口,并根据该种外设接口对应的外设数据获得其对应的数据读取程序,从而实现本系统外设接口的可扩展性。
在本发明中,本系统的处理器可以采用通用处理器,如微控制单元(Microcontroller Unit,MCU)类型处理器或现场可编程门阵列(Field-ProgrammableGate Array,FPGA)类型处理器,也可以为其他通用的处理器,这种通用的处理器可以处理多种外设数据,从而保证本系统外设接口的可扩展性。
S13、根据获得的操作数据对所述外设数据进行格式转换,获得标准格式数据。
本发明中标准格式数据采用标准的GPS NMEA语句,通过步骤S12可以获得每种外设数据的操作数据,再对操作数据进行扩展,扩展为标准的GPS NMEA语句,如$GPCMD ab,cd,***,\r\n;$GPRSP ef,gh,***,\r\n。其中,ab,cd,ef,gh等都是16进制数的ASCII格式字符串,从而完成多种格式数据的整合,在本发明中,GPS NMEA语句即为NMEA数据。
标准格式数据也可以采用其他统一的语句,不仅仅限于GPS NMEA语句。
S14、通过自定义协议将所述标准格式数据发送至主机接口。
本发明中,自定义协议为优化后的标准GPS协议,所述优化后的标准GPS协议为兼容其他标准GPS NMEA语句的GPS协议,因为标准GPS协议仅能识别GPS数据,而无法识别根据其他外设数据获得的GPS NMEA语句,故需要对标准GPS协议进行扩展,以使根据其他外设数据扩展而来的GPS NMEA语句也可以被GPS协议识别,从而可以实现将整合后的数据统一发送给主机接口,所述主机接口一般用于连接主机,通常为串口。
自定义协议也可以采用其他协议,不仅仅限于优化后的标准GPS协议。
自定义协议可以通过调整协议的数据帧格式进行设置。
在所述步骤S14中,所述主机接口的数据传输方向包括从可扩展的数据交互系统向主机模块方向传输。
在外设数据发送方向,包括步骤S2,如图4所示:
S21、根据自定义协议通过主机接口获得所述标准格式数据,解析所述标准格式数据获得不同外设数据,即获取标准格式数据,并解析标准格式数据获得外设数据。
这里的自定义协议可以为优化后的标准GPS协议,也可以是其他协议。
通过自定义协议可以对获得的标准格式数据进行编译分解获得分解字段,根据分解的字段可以知道此数据为哪种外设数据,从而获得这种外设数据原本的形态。
在所述步骤S21中,所述主机接口的数据传输方向包括从所述主机模块向所述可扩展的数据交互系统方向传输。
S22、根据不同外设数据获得每种外设数据的数据内容类型。
S23、根据数据内容类型将每种外设数据发送至对应的外设接口。
可以根据外设数据的数据内容类型得知该种外设数据对应的外设接口,从而通过此外设接口将该外设数据,即为指令,发送给对应的外围设备,从而控制外围设备。
在所述步骤S23中,所述外设接口的数据传输方向包括从所述可扩展的数据交互系统向所述外设模块方向传输。
其中,在所述步骤S14或所述步骤S21之前,还包括
根据标准格式数据和标准GPS协议获得可识别所述标准格式数据的自定义协议。
也可以根据标准格式数据以及标准协议获得其他自定义协议,但是获得的自定义协议需要和标准格式数据对应,即标准格式数据需要被自定义协议识别。
如图5所示,在所述步骤S12之前,可以包括:
根据每种外设数据的数据内容类型,判断该种外设数据是否需要过滤无用数据,是则获得过滤后的外设数据,进入步骤S12,否则直接进入步骤S12。
此步骤的作用是在对外设数据进行其他操作前,过滤掉无用数据,仅获得有用数据,这样可以减少数据量过大带来的空间和时间的浪费。
如图6所示,所述步骤S12可以包括:
S121、判断每种外设数据的数据内容类型是否有对应的中断编号,是则执行对应的中断服务程序以获得对应的操作数据,进入步骤S13,否则获得新的中断编号,并获取该中断编号对应的中断服务程序以获得对应的操作数据,进入步骤S13,即根据每种外设数据的数据内容类型判断是否有对应的中断编号,是则执行中断服务程序并获得操作数据,否则获得中断编号及中断服务程序,再执行中断服务程序获得操作数据。
如图6所示,在所述步骤S121之前可以包括:
S120、根据每种外设数据的数据内容类型判断该种外设数据是否是定时读取数据,是则每隔一个时间段读取一次该种外设数据并获得该种外设数据的操作数据,进入步骤S13;否则进入步骤S121,即判断外设数据是否是定时读取数据,是则每隔一个时间段获取一次操作数据,进入步骤S13,否则进入步骤S121。
如图7所示,在本发明的具体实施例中,所述可扩展的数据交互系统包括外设接口、主机接口、数据内容类型获取模块、第一判断模块、第二判断模块、过滤模块、数据读取程序获取模块、操作数据获取模块、标准格式数据获取模块、数据发送模块。
所述外设接口的输出端连接所述数据内容类型获取模块的第一输入端,所述数据内容类型获取模块的第一输出端连接所述第二判断模块的输入端,所述第二判断模块的第一输出端连接所述过滤模块的输入端,所述过滤模块的输出端连接所述第一判断模块的第一输入端,所述第二判断模块的第二输出端连接所述第一判断模块的第二输入端;所述第一判断模块的第一输出端连接所述操作数据获取模块的第一输入端,所述第一判断模块的第二输出端连接所述数据读取程序获取模块的输入端,所述数据读取程序获取模块的输出端连接所述操作数据获取模块的第二输入端,所述操作数据获取模块的输出端连接所述标准格式数据获取的输入端,所述标准格式数据获取模块的输出端连接所述数据发送模块的第一输入端,所述数据发送模块的第一输出端连接所述主机接口的输入端。
所述外设接口用于获取不同外设数据;所述主机接口用于获取标准格式数据;所述数据内容类型获取模块用于根据不同外设数据获得每种外设数据的数据内容类型;所述第一判断模块用于根据每种外设数据的数据内容类型判断是否有与该种数据内容类型对应的数据读取程序并获得第一判断信号或第二判断信号;所述数据读取程序获取模块用于根据第二判断信号以及数据内容类型获得该种数据内容类型对应的数据读取程序并获得数据读取信号;所述操作数据获取模块用于根据第一判断信号或数据读取信号获得外设数据对应的操作数据;所述标准格式数据获取模块用于根据获得的操作数据对所述外设数据进行格式转换,获得标准格式数据;所述数据发送模块用于通过自定义协议发送所述标准格式数据;所述第二判断模块用于根据每种外设数据的数据内容类型判断该种外设数据是否需要过滤无用数据并获得第三判断信号;所述过滤模块用于根据第三判断信号过滤无用数据。
所述外设接口可以为232串口、GPIO接口、I2C总线、USB接口等,主机接口可以采用单个串口或两个串口。
所述外设接口以及主机接口的数据传输方式可以为单工方式、半双工方式或全双工方式。
在本发明的具体实施例中,所述可扩展的数据交互系统的外设模块向主机模块方向传输数据的具体过程如下:外设模块接收外部指令即接收外部的输入信息后获得外设模块的控制指令,即为外设数据,通过外设接口将所述外设数据发送给所述数据内容类型获取模块,从而获得所述外设数据的数据内容类型,所述数据内容类型获取模块将获得的数据内容类型发送给所述第二判断模块,所述第二判断模块根据所述数据内容类型判断所述该种外设数据是否需要过滤无用数据并获得第一判断信号和第二判断信号,所述第一判断信号需要过滤无用数据的外设数据,所述第二判断信号为不需要过滤无用数据的外设数据,所述第二判断模块将所述第一判断信号发送给所述过滤模块,所述过滤模块根据所述第一判断信号对该种外设数据进行过滤,获得有用的外设数据,所述过滤模块再将有用的外设数据发送给所述第一判断模块,所述第二判断模块直接将所述第二判断信号发送给所述第一判断模块,之后所述第一判断模块根据获得的过滤后的有用的外设数据以及直接获得的外设数据判断每种外设数据是否有对应的数据读取程序并获得第三判断信号以及第四判断信号,所述第三判断信号为具有对应的数据读取程序的外设数据,所述第四判断信号为没有对应的数据读取程序的外设数据,所述第一判断模块将所述第三判断信号发送给所述操作数据获取模块,所述第一判断模块将所述第四判断信号发送给所述数据读取程序获取模块,所述数据读取程序获取模块根据外设数据获得该种外设数据对应的数据读取程序,并将该种外设数据以及数据读取程序发送给所述操作数据获取模块,操作数据获取模块根据外设数据以及数据读取程序获得每种外设数据对应的操作数据,所述操作数据获取模块将所述操作数据发送给所述标准格式数据获取模块,所述标准格式数据获取模块根据所述操作数据获得标准格式数据,具体是将所述操作数据进行扩展,将操作数据按照标准格式数据的数据帧格式进行重新定义,所述标准格式数据获取模块将所述标准格式数据发送给所述数据发送模块,数据发送模块将所述标准格式数据发送给所述主机接口,所述主机接口根据标准格式数据对应的自定义协议将所述标准格式数据发送给主机模块,即完成多路外设数据整合为单路数据发送给主机模块的作业。
如图8所示,所述可扩展的数据交互系统还包括数据解析模块;
所述主机接口的输出端连接所述数据解析模块的输入端,所述数据解析模块的输出端连接所述数据类型获取模块的第二输入端,所述数据类型获取模块的第二输出端连接所述数据发送模块的第二输入端,所述数据发送模块的第二输出端连接所述外设接口的输入端。
所述数据解析模块用于解析所述标准格式数据获得多种外设数据;所述数据发送模块还用于通过不同外设接口对应的数据协议发送外设数据。
在本发明的具体实施例中,所述可扩展的数据交互系统的主机模块向外设模块方向传输数据的具体过程如下:主机模块获得外部指令后,将所述外部指令转换为主机接口自定义协议可识别的标准格式数据,主机模块通过主机接口将所述标准格式数据发送给所述数据解析模块,所述数据解析模块将所述标准格式数据进行分解,获得数据内容类型以及数据内容类型对应的操作数据,根据数据内容类型以及操作数据获得外设数据,所述数据解析模块将所述外设数据发送给所述数据内容类型获取模块获得每种外设数据对应的数据内容类型,所述数据内容类型获取模块将所述数据内容类型以及外设数据发送给所述数据发送模块,所述数据发送模块根据所述数据内容类型将对应的外设数据发送至对应的外设接口,所述外设数据通过所述外设接口将所述外设数据发送至外设模块,从而控制外设模块的动作。
其中,所述标准格式数据为NMEA数据。
所述标准格式数据也可以为其他数据,标准格式数据与主机接口的自定义协议相互匹配以实现数据的传输。
本发明所述的可扩展的数据交互系统的可扩展性体现在数据读取程序的可扩展性,如中断编号以及中断服务程序的可扩展性,也可以通过在所述可扩展的数据交互系统上增设外设接口以及该种外设接口对应的数据读取程序体现,这是由于在本发明的可扩展的数据交互系统中的处理器采用的是通用处理器,可以处理多种不同类型的数据。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种可扩展的数据交互方法,其特征在于,在外设数据接收方向,包括以下步骤:
S11、通过不同外设接口获取不同外设数据,根据不同外设数据获得每种外设数据的数据内容类型;
S12、根据每种外设数据的数据内容类型判断是否有与该种数据内容类型对应的数据读取程序,是则根据数据读取程序获得该种外设数据对应的操作数据,否则根据该种数据内容类型获得该种数据内容类型对应的数据读取程序并获得该种外设数据对应的操作数据;
S13、根据获得的操作数据对所述外设数据进行格式转换,获得标准格式数据;
S14、通过自定义协议将所述标准格式数据发送至主机接口。
2.如权利要求1所述的可扩展的数据交互方法,其特征在于,在外设数据发送方向,包括以下步骤:
S21、根据自定义协议通过主机接口获得所述标准格式数据,解析所述标准格式数据获得不同外设数据;
S22、根据不同外设数据获得每种外设数据的数据内容类型;
S23、根据数据内容类型将每种外设数据发送至对应的外设接口。
3.如权利要求1或2所述的可扩展的数据交互方法,其特征在于,在所述步骤S14或所述步骤S21之前,还包括:
根据标准格式数据和标准GPS协议获得可识别所述标准格式数据的自定义协议。
4.如权利要求1所述的可扩展的数据交互方法,其特征在于,在所述步骤S12之前,还包括:
根据每种外设数据的数据内容类型,判断该种外设数据是否需要过滤无用数据,是则获得过滤后的外设数据,进入步骤S12,否则直接进入步骤S12。
5.如权利要求1所述的可扩展的数据交互方法,其特征在于,所述步骤S12包括:
S121、判断每种外设数据的数据内容类型是否有对应的中断编号,是则执行对应的中断服务程序以获得对应的操作数据,进入步骤S13,否则获得新的中断编号,并获取该中断编号对应的中断服务程序以获得对应的操作数据,进入步骤S13。
6.如权利要求5所述的可扩展的数据交互方法,其特征在于,在所述步骤S121之前包括:
S120、根据每种外设数据的数据内容类型判断该种外设数据是否是定时读取数据,是则每隔一个时间段读取一次该种外设数据并获得该种外设数据的操作数据,进入步骤S13;否则进入步骤S121。
7.一种可扩展的数据交互系统,其特征在于,包括外设接口、主机接口、数据内容类型获取模块、第一判断模块、数据读取程序获取模块、操作数据获取模块、标准格式数据获取模块、数据发送模块;
所述外设接口的输出端连接所述数据内容类型获取模块的第一输入端,所述数据内容类型获取模块的第一输出端连接所述第一判断模块的第一输入端,所述第一判断模块的第一输出端连接所述操作数据获取模块的第一输入端,所述第一判断模块的第二输出端连接所述数据读取程序获取模块的输入端,所述数据读取程序获取模块的输出端连接所述操作数据获取模块的第二输入端,所述操作数据获取模块的输出端连接所述标准格式数据获取的输入端,所述标准格式数据获取模块的输出端连接所述数据发送模块的第一输入端,所述数据发送模块的第一输出端连接所述主机接口的输入端;
所述外设接口用于获取不同外设数据;
所述主机接口用于获取标准格式数据;
所述数据内容类型获取模块用于根据不同外设数据获得每种外设数据的数据内容类型;
所述第一判断模块用于根据每种外设数据的数据内容类型判断是否有与该种数据内容类型对应的数据读取程序并获得第一判断信号或第二判断信号;
所述数据读取程序获取模块用于根据第二判断信号以及数据内容类型获得该种数据内容类型对应的数据读取程序并获得数据读取信号;
所述操作数据获取模块用于根据第一判断信号或数据读取信号获得外设数据对应的操作数据;
所述标准格式数据获取模块用于根据获得的操作数据对所述外设数据进行格式转换,获得标准格式数据;
所述数据发送模块用于通过自定义协议发送所述标准格式数据。
8.如权利要求7所述的可扩展的数据交互系统,其特征在于,还包括数据解析模块;
所述主机接口的输出端连接所述数据解析模块的输入端,所述数据解析模块的输出端连接所述数据类型获取模块的第二输入端,所述数据类型获取模块的第二输出端连接所述数据发送模块的第二输入端,所述数据发送模块的第二输出端连接所述外设接口的输入端;
所述数据解析模块用于解析所述标准格式数据获得多种外设数据;
所述数据发送模块还用于通过不同外设接口对应的数据协议发送外设数据。
9.如权利要求7或8所述的可扩展的数据交互系统,其特征在于,所述标准格式数据为NMEA数据。
10.如权利要求7所述的可扩展的数据交互系统,其特征在于,还包括第二判断模块以及过滤模块,所述数据内容类型获取模块的第一输出端连接所述第二判断模块的输入端,所述第二判断模块的第一输出端连接所述过滤模块的输入端,所述过滤模块的输出端连接所述第一判断模块的第一输入端,所述第二判断模块的第二输出端连接所述第一判断模块的第二输入端;
所述第二判断模块用于根据每种外设数据的数据内容类型判断该种外设数据是否需要过滤无用数据并获得第三判断信号;
所述过滤模块用于根据第三判断信号过滤无用数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710953500.0A CN107992439B (zh) | 2017-10-13 | 2017-10-13 | 一种可扩展的数据交互方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710953500.0A CN107992439B (zh) | 2017-10-13 | 2017-10-13 | 一种可扩展的数据交互方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107992439A true CN107992439A (zh) | 2018-05-04 |
CN107992439B CN107992439B (zh) | 2020-12-18 |
Family
ID=62029744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710953500.0A Active CN107992439B (zh) | 2017-10-13 | 2017-10-13 | 一种可扩展的数据交互方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107992439B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109246444A (zh) * | 2018-11-28 | 2019-01-18 | 中电科(德阳广汉)特种飞机系统工程有限公司 | 任务载荷的作业监控系统、方法、装置及可读存储介质 |
CN109408253A (zh) * | 2018-09-29 | 2019-03-01 | 北京奇虎科技有限公司 | 一种消息互通的方法及系统 |
CN109828938A (zh) * | 2018-12-13 | 2019-05-31 | 山东亚华电子股份有限公司 | 一种基于芯片的通信方法和装置 |
CN117033278A (zh) * | 2023-10-08 | 2023-11-10 | 北京云成金融信息服务有限公司 | 一种用于多类型接口的数据传输方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0344677A2 (en) * | 1988-05-28 | 1989-12-06 | Nec Corporation | Microprocessor system |
US5761443A (en) * | 1995-06-07 | 1998-06-02 | Advanced Micro Systems, Inc. | Computer system employing a bus conversion bridge for interfacing a master device residing on a multiplexed peripheral bus to a slave device residing on a split-address, split-data multiplexed peripheral bus |
CN1707404A (zh) * | 2004-06-09 | 2005-12-14 | 上海华博科技(集团)有限公司 | 共性总线接口结构及其实现方法 |
CN101377764A (zh) * | 2008-09-12 | 2009-03-04 | 北京中星微电子有限公司 | Gpio的配置系统及其数据通信方法 |
CN201444301U (zh) * | 2009-08-03 | 2010-04-28 | 山东超越数控电子有限公司 | 一种将多种外部设备接口统一为usb接口的装置 |
CN101770442A (zh) * | 2008-12-30 | 2010-07-07 | 易视芯科技(北京)有限公司 | 具有多个外设接口的数据交互系统和方法 |
CN103227784A (zh) * | 2013-04-07 | 2013-07-31 | 杭州泽大仪器有限公司 | 用在多参数食品安全快速检测仪上的通用外设接口系统 |
CN103440219A (zh) * | 2013-08-23 | 2013-12-11 | 上海航天测控通信研究所 | 一种新型的通用总线转换桥ip核 |
CN106462514A (zh) * | 2014-05-19 | 2017-02-22 | 密克罗奇普技术公司 | 通过使用嵌入式控制器来统一类装置接口与一个主机接口 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU7205300A (en) * | 2000-12-06 | 2002-06-13 | Alcatel | Versatile network termination unit and line interface |
-
2017
- 2017-10-13 CN CN201710953500.0A patent/CN107992439B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0344677A2 (en) * | 1988-05-28 | 1989-12-06 | Nec Corporation | Microprocessor system |
US5761443A (en) * | 1995-06-07 | 1998-06-02 | Advanced Micro Systems, Inc. | Computer system employing a bus conversion bridge for interfacing a master device residing on a multiplexed peripheral bus to a slave device residing on a split-address, split-data multiplexed peripheral bus |
CN1707404A (zh) * | 2004-06-09 | 2005-12-14 | 上海华博科技(集团)有限公司 | 共性总线接口结构及其实现方法 |
CN101377764A (zh) * | 2008-09-12 | 2009-03-04 | 北京中星微电子有限公司 | Gpio的配置系统及其数据通信方法 |
CN101770442A (zh) * | 2008-12-30 | 2010-07-07 | 易视芯科技(北京)有限公司 | 具有多个外设接口的数据交互系统和方法 |
CN201444301U (zh) * | 2009-08-03 | 2010-04-28 | 山东超越数控电子有限公司 | 一种将多种外部设备接口统一为usb接口的装置 |
CN103227784A (zh) * | 2013-04-07 | 2013-07-31 | 杭州泽大仪器有限公司 | 用在多参数食品安全快速检测仪上的通用外设接口系统 |
CN103440219A (zh) * | 2013-08-23 | 2013-12-11 | 上海航天测控通信研究所 | 一种新型的通用总线转换桥ip核 |
CN106462514A (zh) * | 2014-05-19 | 2017-02-22 | 密克罗奇普技术公司 | 通过使用嵌入式控制器来统一类装置接口与一个主机接口 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408253A (zh) * | 2018-09-29 | 2019-03-01 | 北京奇虎科技有限公司 | 一种消息互通的方法及系统 |
CN109246444A (zh) * | 2018-11-28 | 2019-01-18 | 中电科(德阳广汉)特种飞机系统工程有限公司 | 任务载荷的作业监控系统、方法、装置及可读存储介质 |
CN109246444B (zh) * | 2018-11-28 | 2022-01-07 | 中电科特种飞机系统工程有限公司 | 任务载荷的作业监控系统、方法、装置及可读存储介质 |
CN109828938A (zh) * | 2018-12-13 | 2019-05-31 | 山东亚华电子股份有限公司 | 一种基于芯片的通信方法和装置 |
CN117033278A (zh) * | 2023-10-08 | 2023-11-10 | 北京云成金融信息服务有限公司 | 一种用于多类型接口的数据传输方法及系统 |
CN117033278B (zh) * | 2023-10-08 | 2024-04-12 | 华能资本服务有限公司 | 一种用于多类型接口的数据传输方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107992439B (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107992439A (zh) | 一种可扩展的数据交互方法及系统 | |
US10642778B2 (en) | Slave master-write/read datagram payload extension | |
CN101399654B (zh) | 一种串行通信方法和装置 | |
CN112804128B (zh) | 一种支持多协议的总线控制系统及方法 | |
EP3268868B1 (en) | Farewell reset and restart method for coexistence of legacy and next generation devices over a shared multi-mode bus | |
CN105243044B (zh) | 基于串口的管理系统及管理方法 | |
CN108255754B (zh) | 一种兼容i2c的i3c主设备、i3c主从设备通信系统及方法 | |
CN104901859A (zh) | 一种axi/pcie总线转换装置 | |
CN114048164A (zh) | 芯片互联方法、系统、设备及可读存储介质 | |
CN114039808B (zh) | 基于can的多通道的can/lin/sent转发协议 | |
CN103248449B (zh) | 并行数据的码元定界方法及装置 | |
CN103378994A (zh) | 一种通信设备的测试方法及终端 | |
CN115695553A (zh) | 一种fpga片间同步面和管理面的数据传输系统及方法 | |
CN103034206A (zh) | 一种采用后绑定通信插件的工业数据采集系统 | |
CN102594871B (zh) | 一种数据封装方法、系统、适配器及物联网中间件 | |
CN114759942A (zh) | 一种芯片及数据转换方法 | |
CN114490474B (zh) | 一种通过cpld实现多路uart接口扩展的系统 | |
CN113992471B (zh) | 一种多主机与多从机的通讯系统及方法 | |
CN103064810B (zh) | 一种实现卫星串口通信的方法 | |
CN113341853B (zh) | 一种ip核、fpga芯片、交流伺服驱动器及通讯方法 | |
CN115883675A (zh) | 一种可扩展的spi总线与can总线数据转换方法 | |
CN115904844A (zh) | 一种用于打印boot信息的uart仿真模型及其工作方法 | |
CN208272993U (zh) | 一种集线器集成芯片 | |
KR101346461B1 (ko) | 이종 네트워크 간 통신을 위한 네트워크 연결장치 및 네트워크 연결방법 | |
CN102111297B (zh) | 串口设备控制方法、系统以及装置和设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |