CN102868648B - 一种进行数据传输的方法、从设备和系统 - Google Patents
一种进行数据传输的方法、从设备和系统 Download PDFInfo
- Publication number
- CN102868648B CN102868648B CN201210365315.7A CN201210365315A CN102868648B CN 102868648 B CN102868648 B CN 102868648B CN 201210365315 A CN201210365315 A CN 201210365315A CN 102868648 B CN102868648 B CN 102868648B
- Authority
- CN
- China
- Prior art keywords
- data
- function module
- inner function
- module
- memory space
- 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.)
- Active
Links
Abstract
本发明公开了一种进行数据传输的方法、从设备和系统。其方法包括:通过从设备的外部接口接收下行数据包,其中包含按照预定数据格式封装的发送给从设备的至少一个内部功能模块的数据;按照该数据格式,获取发送给各个内部功能模块的数据;将该下行数据包中的数据分别发送给内部功能模块;或者,接收至少一个内部功能模块发送的数据;按照该数据格式组成上行数据包;通过上述外部接口发送该上行数据包。本发明实施例中,从设备的各个内部功能模块通过同一个外部接口与主设备进行数据交互,不需要针对每个内部功能模块分别引出不同的外部接口。提高了连接线缆的通用性,且避免了引出多个外部接口而占用设备面板的较大空间。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种进行数据传输的方法、从设备和系统。
背景技术
嵌入式系统设备通常需要多种类型的接口技术与主设备进行通信,以实现其基本功能。例如,通过USB(Universal Serial BUS,通用串行总线)接口实现数据传输;通过UART(Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置)接口实现对嵌入式系统设备的系统管理(console);通过SPI(Serial Peripheral Interface,串行外设接口)接口实现嵌入式系统设备的程序更新等等。每种类型的接口在嵌入式系统设备外部的接口形式称为外部接口。针对每种类型的接口,其外部接口形式各不相同。例如USB接口的外部接口形式为USB座,UART接口的外部接口形式为DB9(一种D型数据接口连接器)或者RJ45(一种数据传输接口);SPI接口的外部接口形式为双排DIP(Dual In-line Package,双排直插式封装)插针。外部接口形式的不统一,导致了连接线缆的通用性较差。同时引出多个外部接口,这就占用了设备面板上较大的空间。
发明内容
本发明的目的是提供一种进行数据传输的方法、从设备和系统,以解决同时引出多个不同类型的外部接口导致的问题。
本发明的目的是通过以下技术方案实现的:
一种进行数据传输的方法,包括:
对于下行数据包,通过从设备的外部接口接收下行数据包,所述下行数据包中包含按照预定数据格式封装的发送给所述从设备的至少一个内部功能模块的数据;
按照所述预定数据格式,获取发送给各个内部功能模块的数据;
将所述下行数据包中的数据分别发送给对应的内部功能模块;
对于上行数据包,接收所述从设备的至少一个内部功能模块发送的数据;
按照所述预定数据格式,将各个内部功能模块发送的数据组成上行数据包;
通过所述从设备的外部接口发送所述上行数据包。
一种进行数据传输的从设备,包括至少一个内部功能模块,还包括:
外部接口,用于传输下行数据和上行数据;
下行数据包接收模块,用于通过所述外部接口接收下行数据包,所述下行数据包中包含按照预定数据格式封装的发送给所述从设备的至少一个内部功能模块的数据;
下行数据解包模块,用于按照所述预定数据格式,获取发送给各个内部功能模块的数据;
下行数据发送模块,用于将所述下行数据包中的数据分别发送给对应的内部功能模块;
上行数据接收模块,用于接收所述从设备的至少一个内部功能模块发送的数据;
上行数据组包模块,用于按照所述预定数据格式,将各个内部功能模块发送的数据组成上行数据包;
上行数据包发送模块,用于通过所述外部接口发送所述上行数据包。
一种进行数据传输的系统,包括:
主设备,用于按照预定的数据格式,将发送给从设备的至少一个内部功能模块的数据组成下行数据包,并通过所述从设备的一个外部接口将所述下行数据包发送给所述从设备;
从设备,用于通过所述外部接口接收所述下行数据包,按照所述预定数据格式,获取发送给各个内部功能模块的数据,将所述下行数据包中的数据分别发送给对应的内部功能模块;还用于接收至少一个内部功能模块发送的数据,按照所述预定数据格式,将各个内部功能模块发送的数据组成上行数据包,通过所述外部接口向所述主设备发送所述上行数据包。
本发明实施例中,从设备的各个内部功能模块通过同一个外部接口与主设备进行数据交互,不需要针对每个内部功能模块分别引出不同的外部接口。统一了外部接口的形式,从而提高了连接线缆的通用性。且避免了同时引出多个外部接口而占用设备面板的较大空间。
附图说明
图1为本发明实施例提供的一个下行数据传输方法流程图;
图2为本发明实施例提供的一个上行数据传输方法流程图;
图3为本发明实施例提供的进行数据传输的从设备的结构示意图;
图4为本发明实施例提供的进行数据传输的系统结构示意图;
图5为本发明实施例提供的嵌入式设备结构示意图;
图6为本发明实施例提供的FPGA与从设备中其他模块的连接关系示意图。
具体实施方式
本发明实施例提供的技术方案,对于主设备到从设备方向的下行数据:主设备按照预定的数据格式,将发送给从设备的至少一个内部功能模块的数据组成下行数据包,并通过该从设备的外部接口将该下行数据包发送给该从设备。从设备的下行数据解包模块通过上述的外部接口接收上述的下行数据包,按照上述的预定数据格式,获取发送给各个内部功能模块的数据,从设备的下行数据发送模块将该下行数据包中的数据分别发送给对应的内部功能模块。对于从设备到主设备方向的上行数据:从设备的上行数据接收模块接收至少一个内部功能模块发送的数据,从设备的上行数据组包模块按照上述的预定数据格式,将各个内部功能模块发送的数据组成上行数据包,并由从设备的上行数据发送模块通过上述的外部接口向上述的主设备发送该上行数据包。
其中,从设备可以但不仅限于嵌入式系统设备,如串口卡等等。主设备可以但不仅限于PC(个人计算机)等等。
从设备的内部功能模块是指,用于实现从设备功能的模块。例如,USB控制器、UART控制器、SPI控制器、SPI模块等等。
本发明实施例中,从设备(如嵌入式系统设备)的各个内部功能模块通过同一个外部接口与主设备进行数据交互,不需要针对每个内部功能模块分别引出不同的外部接口。统一了外部接口的形式,从而提高了连接线缆的通用性。且避免了同时引出多个外部接口而占用设备面板的较大空间。
本发明实施例中,上述的外部接口可以但不仅限于USB接口、UART接口、SPI接口、以太网接口等等数据传输接口。由于USB接口的体积小、通用性强,且传输速率高,因此,较佳地,使用USB接口作为上述的外部接口。
下面将结合附图对本发明实施例提供的技术方案进行详细描述。
本发明实施例提供的一种进行数据传输的方法,对于下行数据包,其实现方式如图1所示,具体包括如下操作:
步骤100、通过从设备的外部接口接收下行数据包。
其中,下行数据包中包含按照预定数据格式封装的发送给该从设备的至少一个内部功能模块的数据。
步骤110、按照上述预定数据格式,获取发送给各个内部功能模块的数据。
步骤120、将上述下行数据包中的数据分别发送给对应的内部功能模块。
本发明实施例提供的一种进行数据传输的方法,对于上行数据包,其实现方式如图2所示,具体包括如下操作:
步骤200、接收上述从设备的至少一个内部功能模块发送的数据。
步骤210、按照上述预定数据格式,将各个内部功能模块发送的数据组成上行数据包。
步骤220、通过上述从设备的外部接口发送该上行数据包。
数据包的数据格式是指数据包中的数据存储的格式。具体的,本发明实施例中所述的数据格式规定了各个内部功能模块的标识符与数据的对应关系。相应的,上述步骤110的具体实现方式可以是:查找所述下行数据包中各个内部功能模块的标识符,根据所述预定的数据格式规定的各个内部功能模块的标识符与数据的对应关系获取发送给各个内部功能模块的数据。上述步骤210的具体实现方式可以是:根据所述预定的数据格式规定的各个内部功能模块的标识符与数据的对应关系为各个内部功能模块发送的数据添加对应的标识符后组成上行数据包。
对于下行数据包,将上述下行数据包中的数据分别发送给对应的内部功能模块,其具体实现方式可以是:
对于支持的数据协议与上述外部接口相同的第一类内部功能模块,将该下行数据包中与第一类内部功能模块对应的数据发送给第一类内部功能模块;
对于支持的数据协议与上述外部接口不同的第二类内部功能模块,将该下行数据包中与第二类内部功能模块对应的数据转换为第二类内部功能模块支持的数据协议格式后,发送给第二类内部功能模块。如果下行数据包中包括多个第二类内部功能模块对应的数据,则获取各个第二类内部功能模块对应的数据,分别转换为各个第二类内部功能模块支持的数据协议格式后发送给各个第二类内部功能模块。
例如,从设备的外部接口为USB接口,那么USB控制器就是第一类内部功能模块,如果下行数据包中有发送给USB控制器的数据,则将该数据发送给USB控制器。UART控制器、SPI控制器、SPI模块等就是第二类内部功能模块,如果下行数据包中有发送给UART控制器的数据,则将该数据转换为UART控制器支持的数据协议格式后发送给UART控制器;如果下行数据包中有发送给SPI控制器或SPI模块的数据,则将该数据转换为SPI控制器或SPI模块支持的数据协议格式后发送给SPI控制器或SPI模块。
对于上行数据包,接收到第二类内部功能模块发送的数据之后,将第二类内部功能模块发送的数据转换为外部接口支持的数据协议格式。如果接收到多个第二类内部功能模块发送的数据,则分别将各个第二类内部功能模块发送的数据转换为外部接口支持的数据协议格式。
对于下行数据包,较佳地,在获取发送给各个内部功能模块的数据之后,还可以将发送给各个内部功能模块的数据分别缓存在各个内部功能模块对应的下行存储空间。那么,在将下行数据包中的数据分别发送给对应的内部功能模块时,具体可以从各个内部功能模块对应的下行存储空间读取缓存的数据发送给对应的内部功能模块。
对于上行数据包,较佳地,在接收从设备的至少一个内部功能模块发送的数据之后,还可以将各个内部功能模块发送的数据分别缓存在各个内部功能模块对应的上行存储空间。那么,在将各个内部功能模块发送的数据组成上行数据包时,具体可以从各个内部功能模块对应的上行存储空间读取缓存数据,将读取到的缓存数据组成上行数据包。
相应的,基于各个内部功能模块对应的下行/上行存储空间的状态控制数据的发送/接收。具体的:
监测各个内部功能模块对应的下行存储空间的状态;
如果有内部功能模块对应的下行存储空间中的缓存数据饱和,停止从所述外部接口接收下行数据包;
如果有内部功能模块对应的下行存储空间中没有缓存数据,停止从该下行存储空间读取缓存数据;
如果有内部功能模块对应的下行存储空间中有缓存数据且未饱和,从该下行存储空间读取缓存数据;
监测各个内部功能模块对应的上行存储空间的状态;
如果所有内部功能模块对应的上行存储空间中均没有缓存数据,停止从各个上行存储空间读取数据进行组包,否则,从有缓存数据的上行存储空间读取数据进行组包。
基于同样的发明构思,本发明实施例还提供一种进行数据传输的从设备,其结构如图3所示,具体实现结构如下:
至少一个内部功能模块38,各个内部功能模块38分别实现从设备的不同功能。
例如,USB控制器实现从设备的数据传输功能,UART控制器实现对从设备的系统管理功能,SPI控制器或SPI模块用于实现嵌入式系统设备的程序更新功能等等。
外部接口31,用于传输下行数据和上行数据。
下行数据包接收模块32,用于通过外部接口31接收下行数据包。
其中,下行数据包中包含按照预定数据格式封装的发送给该从设备的至少一个内部功能模块38的数据。
下行数据解包模块33,用于按照上述预定数据格式,获取发送给各个内部功能模块38的数据。
下行数据发送模块34,用于将上述的下行数据包中的数据分别发送给对应的内部功能模块38;
上行数据接收模块35,用于接收该从设备的至少一个内部功能模块38发送的数据;
上行数据组包模块36,用于按照上述的预定数据格式,将各个内部功能模块38发送的数据组成上行数据包;
上行数据包发送模块37,用于通过外部接口31发送该上行数据包。
较佳地,所述下行数据解包模块33具体用于:查找所述下行数据包中各个内部功能模块的标识符,根据所述预定的数据格式规定的各个内部功能模块的标识符与数据的对应关系获取发送给各个内部功能模块的数据;
所述上行数据组包模块36具体用于:根据所述预定的数据格式规定的各个内部功能模块的标识符与数据的对应关系为各个内部功能模块发送的数据添加对应的标识符后组成上行数据包。
较佳地,下行数据发送模块34具体用于:对于支持的数据协议与外部接口31相同的第一类内部功能模块38,将上述的下行数据包中与第一类内部功能模块38对应的数据发送给第一类内部功能模块38。对于支持的数据协议与外部接口31不同的第二类内部功能模块38,将上述的下行数据包中与第二类内部功能模块38对应的数据转换为第二类内部功能模块38支持的数据协议格式后,发送给第二类内部功能模块38。
较佳地,对于第二类内部功能模块38发送的数据,上行数据接收模块35还用于:将第二类内部功能模块38发送的数据转换为外部接口31支持的数据协议格式。
较佳地,下行数据解包模块33还用于,将发送给各个内部功能模块38的数据分别缓存在各个内部功能模块对应的下行存储空间。下行数据发送模块34具体用于,从各个内部功能模块对应的下行存储空间读取缓存的数据发送给对应的内部功能模块38。上行数据接收模块35还用于将各个内部功能模块38发送的数据分别缓存在各个内部功能模块38对应的上行存储空间。上行数据组包模块36具体用于从各个内部功能模块38对应的上行存储空间读取缓存数据,将读取到的缓存数据组成上行数据包。
较佳地,所述从设备还可以包括状态监测模块,用于监测各个内部功能模块对应的下行存储空间的状态,如果有内部功能模块对应的下行存储空间中的缓存数据饱和,通知所述下行数据包接收模块32停止从所述外部接口接收下行数据包;如果有内部功能模块对应的下行存储空间中没有缓存数据,通知所述下行数据发送模块34停止从该下行存储空间读取缓存数据;如果有内部功能模块对应的下行存储空间中有缓存数据且未饱和,允许所述下行数据发送模块34从该下行存储空间读取缓存数据;
所述状态监测模块还用于监测各个内部功能模块对应的上行存储空间的状态;如果所有内部功能模块对应的上行存储空间中均没有缓存数据,通知所述上行数据组包模块36停止从各个上行存储空间读取数据进行组包,否则,允许所述上行数据组包模块36从有缓存数据的上行存储空间读取数据进行组包。
基于同样的发明构思,本发明实施例还提供一种进行数据传输的系统,其结构如图4所示,具体包括主设备41和从设备42。其中:
主设备41,用于按照预定的数据格式,将发送给从设备42的至少一个内部功能模块的数据组成下行数据包,并通过从设备42的外部接口将该下行数据包发送给从设备42。
从设备42,用于通过该外部接口接收上述下行数据包,按照上述预定数据格式,获取发送给各个内部功能模块的数据,将该下行数据包中的数据分别发送给对应的内部功能模块。
从设备42,还用于接收至少一个内部功能模块发送的数据,按照上述预定数据格式,将各个内部功能模块发送的数据组成上行数据包,通过上述外部接口向主设备41发送该上行数据包。
较佳地,外部接口为USB接口,从设备42中包括以下至少一种内部功能模块:USB控制器、UART控制器、SPI控制器、SPI模块。
本发明实施例中,外部接口传输的数据包符合预定的数据格式。通过该预定的数据格式,将不同内部功能模块对应的数据在一个数据包中进行传输。本发明对数据格式的具体形式不作限定。以包括USB控制器、UART控制器,SPI控制器(或SPI模块)的从设备为例,一种优选的数据格式如表1所示:
表1
其中,数据字段1、数据字段2、数据字段3分别为USB控制器对应的数据、UART控制器对应的数据和SPI控制器对应的数据。
其中,如果既包括SPI控制器又包括SPI模块,则在表1所示的数据格式中,数据字段3与数据包尾之间还包括数据字段4识别码和数据字段4。数据字段4为SPI模块对应的数据。
下面以嵌入式系统设备作为从设备,PC作为主设备为例,对本发明实施例进行详细描述。
如图5所示,嵌入式系统设备包括:USB接口51,由FPGA(FieldProgrammable Gate Array,现场可编程门阵列)实现的组包/解包模块52,存储器53,第一协议转换模块54,第二协议转换模块55,CPU(Central ProcessingUnit,中央处理器)56,SPI模块57。
其中,CPU56上带UART控制器561、SPI控制器562和USB控制器563。
UART控制器561用于实现管理控制功能。以串口卡为例,UART控制器561可以对CPU56进行配置,对CPU56配置的内容包括:CPU的启动模式、CPU外部存储器设置、外部串口工作模式及转发机制、通过CPU读写FPGA内部寄存器对FPGA配置等。CPU配置完成后,需要将配置信息保存,以便系统掉电或者复位后,CPU内部的配置信息与掉电或者复位之前的信息一致。
USB控制器563用于实现数据传输功能。以串口卡为例,USB控制器563可以实现与外部多个串口进行数据通信。具体的,将PC发送的数据保存在CPU的USB控制器563数据缓存区,然后下发至外部多个串口;以及,将外部多个串口发来的数据保存在CPU的USB控制器563数据缓存区,然后发送给FPGA。
SPI控制器563用于实现程序更新。以串口卡为例,SPI控制器562可以根据PC发送的数据更新CPU外部存储器的程序。
PC还可以通过SPI模块57进行读写操作。
其中,第一协议转换模块54用于实现USB数据与UART数据之间的协议转换,可以但不仅限于由CP2104芯片实现,第二协议转换模块55用于实现USB数据与SPI数据之间的协议转换,可以但不仅限于由USBI02SPI芯片实现。
其中,由FPGA实现的组包/解包模块52,存储器53,第一协议转换模块54,和第二协议转换模块55协同工作,可以利用USB接口51同时实现USB接口功能,UART接口功能,和SPI接口功能。
对于PC按照表1所示的数据格式发送的下行数据包:
FPGA通过USB接口接收该下行数据包。
FPGA按照表1所示的数据格式对该下行数据包进行解包处理,将解包得到的数据分别存放在存储器中对应的下行存储空间。
具体的,FPGA读取数据字段1识别码之后的数据字段1(假设是发送给USB控制器的数据),将数据字段1缓存在存储器中USB控制器对应的下行存储空间;FPGA读取数据字段2识别码之后的数据字段2(假设是发送给UART控制器的数据),将数据字段2缓存在存储器中UART控制器对应的下行存储空间;FPGA读取数据字段3识别码之后的数据字段3(假设是发送给SPI控制器的数据),将数据字段3缓存在存储器中SPI控制器对应的下行存储空间;FPGA读取数据字段4识别码之后的数据字段4(假设是发送给SPI模块的数据),将数据字段4缓存在存储器中SPI模块对应的下行存储空间。
应当指出的是,下行数据包中可能携带发送给上述所有内部功能模块的数据,也可能只携带发送给部分内部功能模块的数据。如果只携带发送给部分内部功能模块的数据,则相应的数据字段标识位之后的数据字段值为空。
按照先进先出的顺序,FPGA从USB控制器对应的下行存储空间读取缓存数据,将读取到的缓存数据发送给USB控制器。
按照先进先出的顺序,FPGA从UART控制器对应的下行存储空间读取缓存数据,将读取到的缓存数据发送给第一协议转换模块,由第一协议转换模块将缓存数据转换为UART数据后发送给UART控制器。
按照先进先出的顺序,FPGA从SPI控制器/SPI模块对应的下行存储空间读取缓存数据,将读取到的缓存数据发送给与SPI控制器/SPI模块连接的第二协议转换模块,由第二协议转换模块将缓存数据转换为SPI数据后发送给SPI控制器/SPI模块。
应当指出的是,由于发送给不同内部功能模块的数据分别缓存在不同的下行存储空间,FPGA可以同时从各个下行存储空间读取缓存数据分别发送给各个内部功能模块,实现数据的并行传输。
对于从设备的各个功能模块发送的数据:
FPGA接收USB控制器、UART控制器、SPI控制器、SPI模块中的至少一个内部功能模块发送的数据。
具体的,UART控制器发出的数据首先经过第一协议转换模块转换为USB数据后到达FPGA。SPI控制器发出的数据首先经过与SPI控制器连接的第二协议转换模块转换为USB数据后到达FPGA。SPI模块发出的数据首先经过与SPI模块连接的第二协议转换模块转换为USB数据后到达FPGA。
FPGA将接收到的数据分别缓存到存储器中对应的上行存储空间。
具体的,将USB控制器发送的数据缓存到USB控制器对应的上行存储空间;将UART控制器发出的数据缓存到UART控制器对应的上行存储空间;将SPI控制器/SPI模块发出的数据缓存到SPI控制器/SPI模块对应的上行存储空间。
FPGA按照先进先出的顺序,分别从各个内部功能模块对应的上行存储空间读取缓存数据,将读取到的缓存数据按照表1所示的数据格式进行组包处理,将组包处理得到的上行数据包通过USB接口发送给PC。
应当指出的是,如果某个内部功能模块对应的上行存储空间中没有缓存数据,则在上行数据包中相应的数据字段为空。
实现组包/解包功能的FPGA与从设备中其他模块的连接关系具体如图6所示。
其中,FPGA的第一接口61与USB接口51连接,FPGA通过第一接口61接收PC通过USB接口51发送的下行数据包,或者FPGA通过第一接口61将上行数据包发送给USB接口51,进而通过USB接口51发送给PC。较佳地,该第一接口61支持USB2.0。
FPGA的第二接口62与USB控制器563连接,FPGA通过第二接口62向USB控制器563发送数据,或者通过第二接口62接收USB控制器563发送的数据。较佳地,该第二接口62支持USB1.1。
FPGA的第三接口63与第一协议转换模块54连接,FPGA通过第三接口63将发送给UART控制器561的数据发送给第一协议转换模块54,或者UART控制器561发送的数据经过第一协议转换模块54进行数据协议转换后通过FPGA的第三接口63发送给FPGA。较佳地,该第三接口63支持USB1.1。
FPGA的第四接口64与一个第二协议转换模块55连接,FPGA通过第四接口55将发送给SPI控制器562的数据发送给这个第二协议转换模块55,或者,SPI控制器562发送的数据经过这个第二协议转换模块55进行数据协议转换后通过FPGA的第四接口64发送给FPGA。较佳地,该第四接口64支持USB1.1。
FPGA的第五接口65与一个第二协议转换模块55连接,FPGA通过第五接口65将发送给SPI模块57的数据发送给这个第二协议转换模块55,或者,SPI模块57发送的数据经过这个第二协议转换模块55进行数据协议转换后通过FPGA的第五接口65发送给FPGA。较佳地,该第五接口65支持USB1.1。
FPGA的第六接口66与存储器53连接,FPGA通过第六接口66将数据缓存在存储器53中对应的下行存储空间。
FPGA将下行数据包中发送给USB控制器的数据缓存在USB控制器对应的下行存储空间,以及将USB控制器发送的数据缓存在USB控制器对应的上行存储空间。下面给出一种较佳地实现方式:
USB控制器对应的下行存储空间也可以称为USB发送数据缓冲区,USB控制器对应的上行存储空间也可以称为USB接收数据缓冲区。
为了监控USB控制器对应的下行/上行存储空间的状态,进而控制对USB控制器对应的下行/上行存储空间的读写,FPGA中设置一个8位的USB控制字。USB控制字格式如表2所示。
表2
bit 7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
预留 | TxEmpty | TxFull | TxReady | 预留 | RxEmpty | RxFull | RxReady |
如表2所示,RxReady(bit0)标志位为1表示USB接收数据缓存区中数据已经准备好,RxReady(bit0)标志位为0表示USB接收数据缓存区中数据未准备好;RxFull(bit1)标志位为1表示USB接收数据缓存区数据已满,RxFull(bit1)标志位为0表示USB接收数据缓存区数据未满;RxEmpty(bit2)标志位为1表示USB接收数据缓存区数据已读空,RxEmpty(bit2)标志位为0表示USB接收数据缓存区中数据未读空;TxReady(bit4)标志位为1表示USB发送数据缓存区中数据已经准备好,TxReady(bit4)标志位为0表示USB发送数据缓存区中数据未准备好;TxFull(bit5)标志位为1表示USB发送数据缓存区中数据已满,TxFull(bit5)标志位为0表示USB发送数据缓存区中数据未满;TxEmpty(bit6)标志位为1表示USB发送数据缓存区中数据已读空,TxEmpty(bit6)标志位为0表示USB发送数据缓存区中数据未读空;bit3和bit7为预留位。
当FPGA通过USB接口接收到PC发送给USB控制器的数据时,TxReady标志位被置为1,此时CPU检测到TxReady标志位为1,开始从USB发送数据缓存区中读取数据,同时检测TxEmpty标志位;当TxEmpty标志位为1时,停止从USB发送数据缓存区读取数据;如果USB发送数据缓存区中数据量达到缓存区数据存储上限时,TxFull标志位被置为1,当CPU检测到TxFull标志位为1时,通知FPGA停止接收USB数据。其中,由USB控制器对CPU读取的数据进行处理。
当FPGA接收到USB控制器发送给PC的数据时,USB控制器发送的数据被缓存至USB接收数据缓存区,RxReady标志位被置为1,此时FPGA检测到RxReady标志位为1,开始从USB接收数据缓存区读取数据进行组包,同时检测RxEmpty标志位;当RxEmpty标志位为1时,停止从USB接收数据缓存区读取数据;如果USB接收数据缓存区中数据达到缓存区数据存储上限时,RxFull标志位被置为1,当FPGA检测到RxFull标志位为1时,通知CPU停止通过USB控制器发送数据。
上述处理过程中,由CPU检测USB控制器对应的发送数据缓存区相应的标志位状态,由FPGA检测USB控制器对应的接收数据缓存区相应的标志位状态。应当指出的是,这仅仅是一种优选的实现方式。可选的,也可以由FPGA检测USB控制器对应的发送数据缓存区相应的标志位状态,并将标志位状态的变化告知CPU,由CPU决定是否从发送数据缓存区读取数据。以及,也可以由CPU检测USB控制器对应的接收数据缓存区相应的标志位状态,并将标志位状态的变化告知FPGA,由FPGA决定是否从接收数据缓存区读取数据。
FPGA将下行数据包中发送给UART控制器的数据缓存在UART控制器对应的下行存储空间,以及将UART控制器发送的数据缓存在UART控制器对应的上行存储空间。下面给出一种较佳地实现方式:
UART控制器对应的下行存储空间也可以称为UART发送数据缓冲区,UART控制器对应的上行存储空间也可以称为UART接收数据缓冲区。
为了监控UART控制器对应的下行/上行存储空间的状态,进而控制对UART控制器对应的下行/上行存储空间的读写,FPGA中设置一个8位的UART控制字。UART控制字格式如表3所示。
表3
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
预留 | TxEmpty | TxFull | TxReady | 预留 | RxEmpty | RxFull | RxReady |
如表3所示,RxReady(bit0)标志位为1表示UART接收数据缓存区中数据已经准备好,RxReady(bit0)标志位为0表示UART接收数据缓存区中数据未准备好;RxFull(bit1)标志位为1表示UART接收数据缓存区数据已满,RxFull(bit1)标志位为0表示UART接收数据缓存区数据未满;RxEmpty(bit2)标志位为1表示UART接收数据缓存区数据已读空,RxEmpty(bit2)标志位为0表示UART接收数据缓存区中数据未读空;TxReady(bit4)标志位为1表示UART发送数据缓存区中数据已经准备好,TxReady(bit4)标志位为0表示UART发送数据缓存区中数据未准备好;TxFull(bit5)标志位为1表示UART发送数据缓存区中数据已满,TxFull(bit5)标志位为0表示UART发送数据缓存区中数据未满;TxEmpty(bit6)标志位为1表示UART发送数据缓存区中数据已读空,TxEmpty(bit6)标志位为0表示UART发送数据缓存区中数据未读空;bit3和bit7为预留位。
当FPGA通过USB接口接收到发送给UART控制器的数据时,TxReady标志位被置为1,此时CPU检测到TxReady标志位为1,开始从UART发送数据缓存区中读取数据,同时检测TxEmpty标志位;当TxEmpty标志位为1时,停止从UART发送数据缓存区读取;如果UART发送数据缓存区中数据量达到缓存区数据存储上限时,TxFull标志位被置为1,当CPU检测到TxFull标志位为1时,通知FPGA停止接收UART数据。其中,由UART控制器对CPU读取的数据进行处理。
当UART控制器发送的数据经过第一协议转换模块进行了数据协议转换后到达FPGA时,FPGA将数据协议转换后的数据缓存至UART接收数据缓存区,RxReady标志位被置为1,此时FPGA检测到RxReady标志位为1,开始从UART接收数据缓存区读取数据进行组包,同时检测RxEmpty标志位;当RxEmpty标志位为1时,停止从UART接收数据缓存区读取数据;如果UART接收数据缓存区中数据达到缓存区数据存储上限时,RxFull标志位被置为1,当FPGA检测到RxFull标志位为1时,通知CPU停止通过UART控制器发送数据。
上述处理过程中,由CPU检测UART控制器对应的发送数据缓存区相应的标志位状态,由FPGA检测UART控制器对应的接收数据缓存区相应的标志位状态。应当指出的是,这仅仅是一种优选的实现方式。可选的,也可以由FPGA检测UART控制器对应的发送数据缓存区相应的标志位状态,并将标志位状态的变化告知CPU,由CPU决定是否从发送数据缓存区读取数据。以及,也可以由CPU检测UART控制器对应的接收数据缓存区相应的标志位状态,并将标志位状态的变化告知FPGA,由FPGA决定是否从接收数据缓存区读取数据。
FPGA将下行数据包中发送给SPI控制器/SPI模块的数据缓存在SPI控制器/SPI模块对应的下行存储空间,以及将SPI控制器/SPI模块发送的数据缓存在SPI控制器/SPI模块对应的上行存储空间。下面给出一种较佳地实现方式:
SPI控制器/SPI模块对应的下行存储空间也可以称为SPI发送数据缓冲区,SPI控制器/SPI模块对应的上行存储空间也可以称为SPI接收数据缓冲区。
为了监控SPI控制器/SPI模块对应的下行/上行存储空间的状态,进而控制对SPI控制器/SPI模块对应的下行/上行存储空间的读写,FPGA中针对SPI控制器和SPI模块分别设置一个8位的SPI控制字。SPI控制字格式如表4所示。
表4
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
预留 | TxEmpty | TxFull | TxReady | 预留 | RxEmpty | 预留 | RxReady |
如表4所示,RxReady(bit0)标志位为1表示SPI接收数据缓存区中数据已经准备好,RxReady(bit0)标志位为0表示SPI接收数据缓存区中数据未准备好;RxEmpty(bit2)标志位为1表示SPI接收数据缓存区数据已读空,RxEmpty(bit2)标志位为0表示SPI接收数据缓存区中数据未读空;TxReady(bit4)标志位为1表示SPI发送数据缓存区中数据已经准备好,TxReady(bit4)标志位为0表示SPI发送数据缓存区中数据未准备好;TxFull(bit5)标志位为1表示SPI发送数据缓存区中数据已满,TxFull(bit5)标志位为0表示SPI发送数据缓存区中数据未满;TxEmpty标志位为1表示SPI发送数据缓存区中数据已读空,TxEmpty标志位为0表示SPI发送数据缓存区中数据未读空;bit1、bit3和bit7为预留位。
当FPGA通过USB接口接收到发送给SPI控制器/SPI模块的数据时,TxReady标志位被置为1,此时FPGA检测到TxReady标志位为1,开始将SPI发送数据缓存区中的数据发送给第二协议转换模块,同时检测TxEmpty标志位;当TxEmpty标志位为1时,停止向第二协议转换模块发送数据;如果SPI发送数据缓存区中数据量达到缓存区数据存储上限时,TxFull标志位被置为1,当FPGA检测到TxFull标志位为1时,FPGA停止接收数据。
当SPI控制器/SPI模块发送的数据经过第二协议转换模块进行了数据协议转换后到达FPGA时,FPGA将数据协议转换后的数据缓存,RxReady标志位被置为1,此时FPGA检测到RxReady标志位为1,开始从SPI接收数据缓存区读取数据,同时检测RxEmpty标志位;当RxEmpty标志位为1时,停止从SPI接收数据缓存区读取数据。
由于SPI控制器/SPI模块始终工作在从模式下,因此,对于SPI控制器/SPI模块对应的发送数据缓存区和接收数据缓存区的标志位的状态,均由FPGA进行检测。
以上描述了针对各个内部功能模块,通过控制字检测读取数据的实现方式。那么,通过检测内部功能模块的控制字进行解包/组包的具体实现方式如下:
其中,缓存有数据的发送数据缓存区的TxReady标志位被置1,TxEmpty标志位被置为0;
缓存的数据达到存储上限的发送数据缓存区的TxFull标志位被置为1,TxEmpty标志位被置为0;
没有缓存数据的发送数据缓存区的TxEmpty标志位被置为1,TxReady标志位和TxFull标志位均被置为0。
缓存有数据的接收数据缓存区的RxReady标志位被置为1,RxEmpty标志位被置为0;
缓存的数据达到存储上限的接收数据缓存区的RxFull标志位被置为1,TxEmpty标志位被置为0;
没有缓存数据的发送数据缓存区的RxEmpty标志位被置为1,RxReady标志位和RxFull标志位均被置为0.
相应的,对于上位PC发送的数据包:
FPGA接收到上位PC发送的数据包后,按照预定的数据格式获取数据包中发送给各个内部功能模块的数据。数据包中既可以包含发送给所有内部功能模块的数据,也可以包含发送给部分(甚至一个)内部功能模块的数据。
FPGA将发送给各个内部功能模块的数据分别保存在各个内部功能模块对应的发送数据缓存区。
CPU在检测到由其控制的某个内部功能模块(如USB控制器、UART控制器等)对应的发送数据缓存区的TxReady标志位被置为1时,从该发送数据缓存区读取数据。
CPU在检测到由其控制的某个内部功能模块对应的发送数据缓存区的TxEmpty标志位被置为1时,停止从发送数据缓存区读取设备。
FPGA检测到工作在从模式的某个内部功能模块(如SPI控制器/SPI模块等)对应的发送数据缓存区的TxReady标志位被置为1时,将该发送数据缓存区中的数据发送给该内部功能模块。
FPGA检测到工作在从模式的某个内部功能模块对应的发送数据缓存区的TxEmpty标志位被置为1时,停止从该发送数据缓存区中读取数据向该内部功能模块发送。
CPU或FPGA检测到任一内部功能模块对应的发送数据缓存区的TxFull标志位被置为1时,FPGA停止通过外部接口接收PC发送的数据包,以避免发送数据缓存区的数据溢出。
对于内部功能模块发送给上位PC的数据:
只要有接收数据缓存区的RxReady标志位为1,FPGA就按照设定的周期从各个RxReady标志位为1的接收数据缓存区中读取数据进行组包。其中,读取数据的周期根据实际应用场景设定。例如,对于某个内部功能模块,其接收数据缓存区大小为S,其发送数据的最高速率为V,FPGA每组一个包中包含该接口的数据大小为L,那么可以计算出该内部功能模块以最高速率发送数据时,不造成数据阻塞的组包时间T=S÷V,并且需要保证L≥V×T。因此,组包时间间隔最大应为Tmax=L÷V,同时,为了保证一定的余量,S应>T×V。系统组包时间间隔应不大于各个内部功能模块Tmax的最大值,同时应合理分配各内部功能模块的接收数据缓存区大小。
当全部接收数据缓存区的RxReady标志位均为0,且全部接收数据缓存区的RxEmpty标志位均为1时,FPGA停止组包。
对于CPU控制的内部功能模块,当其接收数据缓存区的RxFull标志位为1时,停止接收该内部功能模块发送的数据。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种进行数据传输的方法,其特征在于,包括:
对于下行数据包,通过从设备的外部接口接收下行数据包,所述下行数据包符合预定的数据格式,一个下行数据包中包含按照预定数据格式封装的发送给所述从设备的至少一个内部功能模块的数据;
查找所述下行数据包中各个内部功能模块的标识符,根据所述预定的数据格式规定的各个内部功能模块的标识符与数据的对应关系获取发送给各个内部功能模块的数据;
将所述下行数据包中的数据分别发送给对应的内部功能模块;
对于上行数据包,接收所述从设备的至少一个内部功能模块发送的数据;
根据所述预定的数据格式规定的各个内部功能模块的标识符与数据的对应关系为各个内部功能模块发送的数据添加对应的标识符后组成上行数据包;
通过所述从设备的外部接口发送所述上行数据包,所述上行数据包符合预定的数据格式,一个上行数据包中包含按照预定数据格式封装的至少一个内部功能模块的数据。
2.根据权利要求1所述的方法,其特征在于,将所述下行数据包中的数据分别发送给对应的内部功能模块,包括:
对于支持的数据协议与所述外部接口相同的第一类内部功能模块,将所述下行数据包中与所述第一类内部功能模块对应的数据发送给所述第一类内部功能模块;
对于支持的数据协议与所述外部接口不同的第二类内部功能模块,将所述下行数据包中与所述第二类内部功能模块对应的数据转换为所述第二类内部功能模块支持的数据协议格式后,发送给所述第二类内部功能模块;
对于第二类内部功能模块发送的数据,接收所述数据之后,根据所述预定的数据格式规定的各个内部功能模块的标识符与数据的对应关系为各个内部功能模块发送的数据添加对应的标识符后组成上行数据包之前,该方法包括:
将所述第二类内部功能模块发送的数据转换为所述外部接口支持的数据协议格式。
3.根据权利要求1所述的方法,其特征在于,查找所述下行数据包中各个内部功能模块的标识符,根据所述预定的数据格式规定的各个内部功能模块的标识符与数据的对应关系获取发送给各个内部功能模块的数据之后,该方法还包括:将发送给各个内部功能模块的数据分别缓存在各个内部功能模块对应的下行存储空间;
将所述下行数据包中的数据分别发送给对应的内部功能模块,包括:从各个内部功能模块对应的下行存储空间读取缓存的数据发送给对应的内部功能模块;
接收所述从设备的至少一个内部功能模块发送的数据之后,该方法还包括:将各个内部功能模块发送的数据分别缓存在各个内部功能模块对应的上行存储空间;
根据所述预定的数据格式规定的各个内部功能模块的标识符与数据的对应关系为各个内部功能模块发送的数据添加对应的标识符后组成上行数据包,具体包括:从各个内部功能模块对应的上行存储空间读取缓存数据,将读取到的缓存数据组成上行数据包。
4.根据权利要求3所述的方法,其特征在于,该方法还包括:
监测各个内部功能模块对应的下行存储空间的状态;
如果有内部功能模块对应的下行存储空间中的缓存数据饱和,停止从所述外部接口接收下行数据包;
如果有内部功能模块对应的下行存储空间中没有缓存数据,停止从该下行存储空间读取缓存数据;
如果有内部功能模块对应的下行存储空间中有缓存数据且未饱和,从该下行存储空间读取缓存数据;
监测各个内部功能模块对应的上行存储空间的状态;
如果所有内部功能模块对应的上行存储空间中均没有缓存数据,停止从各个上行存储空间读取数据进行组包,否则,从有缓存数据的上行存储空间读取数据进行组包。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述外部接口为通用串行总线USB接口,所述从设备中包括以下至少一种内部功能模块:USB控制器、通用异步接收/发送装置UART控制器、串行外设接口SPI控制器、SPI模块。
6.一种进行数据传输的从设备,包括至少一个内部功能模块,其特征在于,还包括:
外部接口,用于传输下行数据和上行数据;
下行数据包接收模块,用于通过所述外部接口接收下行数据包,所述下行数据包符合预定的数据格式,一个下行数据包中包含按照预定数据格式封装的发送给所述从设备的至少一个内部功能模块的数据;
下行数据解包模块,用于查找所述下行数据包中各个内部功能模块的标识符,根据所述预定的数据格式规定的各个内部功能模块的标识符与数据的对应关系获取发送给各个内部功能模块的数据;
下行数据发送模块,用于将所述下行数据包中的数据分别发送给对应的内部功能模块;
上行数据接收模块,用于接收所述从设备的至少一个内部功能模块发送的数据;
上行数据组包模块,用于根据所述预定的数据格式规定的各个内部功能模块的标识符与数据的对应关系为各个内部功能模块发送的数据添加对应的标识符后组成上行数据包;
上行数据包发送模块,用于通过所述外部接口发送所述上行数据包,所述上行数据包符合预定的数据格式,一个上行数据包中包含按照预定数据格式封装的至少一个内部功能模块的数据。
7.根据权利要求6所述的从设备,其特征在于,所述下行数据发送模块具体用于:对于支持的数据协议与所述外部接口相同的第一类内部功能模块,将所述下行数据包中与所述第一类内部功能模块对应的数据发送给所述第一类内部功能模块;
对于支持的数据协议与所述外部接口不同的第二类内部功能模块,将所述下行数据包中与所述第二类内部功能模块对应的数据转换为所述第二类内部功能模块支持的数据协议格式后,发送给所述第二类内部功能模块;
对于第二类内部功能模块发送的数据,所述上行数据接收模块还用于:
将所述第二类内部功能模块发送的数据转换为所述外部接口支持的数据协议格式。
8.根据权利要求6所述的从设备,其特征在于,所述下行数据解包模块还用于,将发送给各个内部功能模块的数据分别缓存在各个内部功能模块对应的下行存储空间;
所述下行数据发送模块具体用于,从各个内部功能模块对应的下行存储空间读取缓存的数据发送给对应的内部功能模块;
所述上行数据接收模块还用于,将各个内部功能模块发送的数据分别缓存在各个内部功能模块对应的上行存储空间;
所述上行数据组包模块具体用于,从各个内部功能模块对应的上行存储空间读取缓存数据,将读取到的缓存数据组成上行数据包。
9.根据权利要求8所述的从设备,其特征在于,所述从设备还包括状态监测模块,用于监测各个内部功能模块对应的下行存储空间的状态,如果有内部功能模块对应的下行存储空间中的缓存数据饱和,通知所述下行数据包接收模块停止从所述外部接口接收下行数据包;如果有内部功能模块对应的下行存储空间中没有缓存数据,通知所述下行数据发送模块停止从该下行存储空间读取缓存数据;如果有内部功能模块对应的下行存储空间中有缓存数据且未饱和,允许所述下行数据发送模块从该下行存储空间读取缓存数据;
所述状态监测模块还用于监测各个内部功能模块对应的上行存储空间的状态;如果所有内部功能模块对应的上行存储空间中均没有缓存数据,通知所述上行数据组包模块停止从各个上行存储空间读取数据进行组包,否则,允许所述上行数据组包模块从有缓存数据的上行存储空间读取数据进行组包。
10.根据权利要求6~9任一项所述的从设备,其特征在于,所述外部接口为USB接口,所述从设备中包括以下至少一种内部功能模块:USB控制器、UART控制器、SPI控制器、SPI模块。
11.一种进行数据传输的系统,其特征在于,包括:
主设备,用于按照预定的数据格式,将发送给从设备的至少一个内部功能模块的数据组成下行数据包,并通过所述从设备的一个外部接口将所述下行数据包发送给所述从设备,所述下行数据包符合预定的数据格式,一个下行数据包中包含按照预定数据格式封装的发送给所述从设备的至少一个内部功能模块的数据;
从设备,用于通过所述外部接口接收所述下行数据包,按照所述预定数据格式,获取发送给各个内部功能模块的数据,将所述下行数据包中的数据分别发送给对应的内部功能模块;还用于接收至少一个内部功能模块发送的数据,按照所述预定数据格式,将各个内部功能模块发送的数据组成上行数据包,通过所述外部接口向所述主设备发送所述上行数据包,所述上行数据包符合预定的数据格式,一个上行数据包中包含按照预定数据格式封装的至少一个内部功能模块的数据。
12.根据权利要求11所述的系统,其特征在于,所述外部接口为USB接口,所述从设备中包括以下至少一种内部功能模块:USB控制器、UART控制器、SPI控制器、SPI模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210365315.7A CN102868648B (zh) | 2012-09-27 | 2012-09-27 | 一种进行数据传输的方法、从设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210365315.7A CN102868648B (zh) | 2012-09-27 | 2012-09-27 | 一种进行数据传输的方法、从设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102868648A CN102868648A (zh) | 2013-01-09 |
CN102868648B true CN102868648B (zh) | 2015-04-15 |
Family
ID=47447248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210365315.7A Active CN102868648B (zh) | 2012-09-27 | 2012-09-27 | 一种进行数据传输的方法、从设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102868648B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339249B (zh) * | 2016-08-23 | 2019-09-27 | 上海创景信息科技有限公司 | 动态配置编程方法 |
CN106951386A (zh) * | 2017-04-21 | 2017-07-14 | 济南浪潮高新科技投资发展有限公司 | 一种基于fpga的多功能转换器 |
CN112165715B (zh) * | 2020-09-25 | 2021-12-03 | 珠海格力电器股份有限公司 | 设备的检测方法和装置、存储介质、电子装置 |
CN115914429B (zh) * | 2022-10-31 | 2024-04-26 | 重庆长安汽车股份有限公司 | 通信协议适配方法、装置、电子设备、车辆及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101278506A (zh) * | 2005-08-23 | 2008-10-01 | 美商传威股份有限公司 | 多分组接口 |
CN102223731A (zh) * | 2010-04-19 | 2011-10-19 | 中兴通讯股份有限公司 | 一种物联网中兼容多种终端的接口设备及实现方法 |
CN102457901A (zh) * | 2011-12-22 | 2012-05-16 | 中兴通讯股份有限公司 | 鲁棒性头压缩版本适配方法和装置 |
CN202383572U (zh) * | 2011-12-31 | 2012-08-15 | 深圳市信步科技有限公司 | 一种集多种接口信号于专用接口的主板及其系统 |
-
2012
- 2012-09-27 CN CN201210365315.7A patent/CN102868648B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101278506A (zh) * | 2005-08-23 | 2008-10-01 | 美商传威股份有限公司 | 多分组接口 |
CN102223731A (zh) * | 2010-04-19 | 2011-10-19 | 中兴通讯股份有限公司 | 一种物联网中兼容多种终端的接口设备及实现方法 |
CN102457901A (zh) * | 2011-12-22 | 2012-05-16 | 中兴通讯股份有限公司 | 鲁棒性头压缩版本适配方法和装置 |
CN202383572U (zh) * | 2011-12-31 | 2012-08-15 | 深圳市信步科技有限公司 | 一种集多种接口信号于专用接口的主板及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102868648A (zh) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102868648B (zh) | 一种进行数据传输的方法、从设备和系统 | |
CN102439944B (zh) | 具有用于飞行器混合机舱控制面板系统的最优化接口的体系结构 | |
CN101626333A (zh) | 一种can总线系统及其中的应用层通讯方法 | |
CN1811743A (zh) | Usb网络集线器、usb兼容装置和通信系统 | |
CN103595598A (zh) | 一种基于光纤的远程透明传输串口服务器及其控制模式 | |
CN111131194A (zh) | 基于软件与硬件协议栈的网络协议转换器及协议转换方法 | |
CN103972909A (zh) | Tsc系统及其基于fpga的rs485通信方法 | |
CN111405534B (zh) | 信息传输方法、第一终端及计算机存储介质 | |
CN109151316B (zh) | 一种基于fpga的多工业相机数据调度装置 | |
CN201716721U (zh) | 具有多种连接器的存储装置 | |
CN1316387C (zh) | 一种串行接口总线通信控制器 | |
CN108521416B (zh) | 一种ecn板卡 | |
CN103888375A (zh) | 基于arinc 429的通信方法、装置及扩展接口 | |
CN202093347U (zh) | 一种EtherCAT总线数控系统接口模块 | |
CN102932223A (zh) | 锂离子蓄电池管理系统can总线扩展标识符的分配方法 | |
CN209765328U (zh) | 一种基于EtherCAT工业级远程IO模块 | |
CN103678235B (zh) | 基于并行流水线网络数据处理装置及方法 | |
CN202094918U (zh) | 一种EtherCAT总线通用伺服脉冲量接口模块 | |
CN202043143U (zh) | 一种EtherCAT高密集数字IO接口模块 | |
CN110941248A (zh) | 一种EtherCAT-TSN工业以太网控制系统 | |
EP2802179A1 (en) | Concurrent activation and data exchange with multiple NFC-A devices | |
CN201515386U (zh) | 远动通道协议转换器 | |
TR201722958A2 (tr) | Endüstri̇ 4.0 i̇çi̇n evrensel i̇leti̇şi̇m modülü | |
CN103957145A (zh) | 带双主控模块的can总线中继器及其数据中转方法 | |
CN220154813U (zh) | 一种可拓展输入输出模块的远程从站系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |