CN107608928B - 一种可配置的解析sdio数据流的装置 - Google Patents
一种可配置的解析sdio数据流的装置 Download PDFInfo
- Publication number
- CN107608928B CN107608928B CN201710827236.6A CN201710827236A CN107608928B CN 107608928 B CN107608928 B CN 107608928B CN 201710827236 A CN201710827236 A CN 201710827236A CN 107608928 B CN107608928 B CN 107608928B
- Authority
- CN
- China
- Prior art keywords
- data
- sdio
- data stream
- item
- parsing
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000007405 data analysis Methods 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 10
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000010354 integration Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 13
- 238000004458 analytical method Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002279 physical standard Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Communication Control (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种可配置的解析SDIO数据流的装置,包括SDIO接口系统,其特征在于在SDIO接口系统中增加数据解析模块,所述数据解析模块根据输入的控制信号Gcontrol(N0,N1,…,Nn)和配置信号集Gconfig(Itemkey,Itemaction,...)控制输入的数据流Data Stream按配置的要求进行数据解析操作。扩展了SDIO接口主控芯片功能,提高SDIO接口系统集成程度。由于装置使用ASIC实现,处理速度极快,故可以在不影响带宽的情况下对数据进行处理;同时由于Itemkey与Itemaction是可以配置,保证了装置处理数据的灵活性,进而可以实现简单的自定义协议栈。
Description
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种可配置的解析SDIO数据流的装置。
背景技术
SDIO(Secure Digital Input and Output一种安全数字输入输出接口标准)协议定义了基于SDIO接口的数据传输方式,SDIO在SD标准上定义了一种外设接口。目前,SDIO主要有两类应用——可移动和不可移动。可移动设备作为Palm和Windows Mobile的扩展设备,用来增加蓝牙、照相机、GPS和802.11b功能。不可移动设备遵循相同的电气标准,但不要求符合物理标准。某些手机内包含通过SDIO连接CPU的802.11芯片。此举将“珍贵”的I/O管脚资源用于更重要的功能。标准的SDIO对于其物理接口传输的数据的内容并不进行解析与处理;故数据解析与处理将全部交由SDIO接口之外的软硬件进行处理。同时也意味着需要增加额外的成本来对数据进行加工处理;因此对接口之外的硬件性能的要求较高或增加了其它系统的负担,实际上一些简单的数据解析与处理可以在数据接收时即可进行解析与处理,从而降低系统的复杂程度与成本,但现有的标准的SDIO并不具备该种处理或没有考虑到这种情况。
发明内容
针对以上缺陷,本发明目的是如何扩展SDIO接口,增加在数据接收时同时实现数据的解析和处理。
为了解决以上问题本发明提出了一种可配置的解析SDIO数据流的装置,包括SDIO接口系统,其特征在于在SDIO接口系统中增加数据解析模块,所述数据解析模块根据输入的控制信号Gcontrol(N0,N1,…,Nn)和配置信号集Gconfig(Itemkey,Itemaction,...)控制输入的数据流Data Stream按配置的要求进行数据解析操作。
所述的可配置的解析SDIO数据流的装置,其特征在于所述的数据解析模块包括第一层解析器Layer1 Parser、第二层解析器Layer2 Parser和数据编辑器Editor Mod,数据流Data Stream输入到装置后经过第一层解析器Layer1Parser、第二层解析器Layer2Parser和数据编辑器Editor Mod的对数据流进行初步加工。
所述的可配置的解析SDIO数据流的装置,其特征在于所述的数据解析模块通过纯软件方式实现或通过硬件方式实现。
所述的可配置的解析SDIO数据流的装置,其特征在于数据解析模块DataParser以一个软件组件集成在系统软件Firmware中,系统软件Firmware初始化过程中输入控制信号Gcontrol(N0,N1,…,Nn)和配置信号集Gconfig(Itemkey,Itemaction,...),并根据输入分配资源并配置相关表项;在运行过程中,系统软件Firmware调用该装置提供的接口函数APIs实现对数据流按照配置相关表项的要求进行数据解析与处理。
所述的可配置的解析SDIO数据流的装置,其特征在于数据解析模块DataParser以一个软件进程或线程的方式集成到系统软件Firmware中,通过创建进程或线程的方式创建实现本装置的进程或线程,并通过进程或线程间通用的消息交互机制获得需要进行解析与处理的数据流,并通过提供的接口函数APIs接口调用对数据流按照配置相关表项的要求进行解析与处理。
所述的可配置的解析SDIO数据流的装置,其特征在于控制信号集Gcontrol(N0,N1,…,Nn)至少包含如下控制信号:使能信号、数据有效信号和重置信号;配置信息集Gconfig(Itemkey,Itemaction,...)至少包括如下配置信息:解析表项Itemkey和编辑表项Itemaction。
本发明通过提出一种可配置的解析SDIO数据流的装置,从而扩展了SDIO接口主控芯片功能,提高SDIO接口系统集成程度。在SDIO接收并缓存数据过程中,数据流将经过本装置;本装置会根据Itemkey对数据流进行解析,若解析成功,则查找对应的Itemaction,并根据Itemaction描述处理方式对数据流进行处理;若解析失败,则不对数据流进行任何处理,直接交付之后的软硬件进行处理。由于装置使用ASIC实现,处理速度极快,故可以在不影响带宽的情况下对数据进行处理;同时由于Itemkey与Itemaction是可以配置,保证了装置处理数据的灵活性,进而可以实现简单的自定义协议栈。
附图说明
图1是数据解析模块的组成系统框图;
图2是软件组件方式实现的数据解析模块的系统框图;
图3是以一个软件进程或线程的方式实现的数据解析模块的系统框图;
图4是硬件方式实现的数据解析模块的系统框图;
图5是构成数据解析模块的的主要功能组件;
图6是Layer1 Parser的工作流程图;
图7是Layer2 Parser的工作流程图;
图8是Editor Mod组件的工作流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是数据解析模块的组成系统框图:在现有的数据流Data Stream输入外,增加了一组控制信号Gcontrol(N0,N1,…,Nn)和配置信号集Gconfig(Itemkey,Itemaction,...);控制信号集为装置提供运行需要的工作时钟clock,以及界定数据流Data Stream起始的控制信号,从而使得装置可以正确的处理数据流Data Stream。数据解析模块包括第一层解析器Layer1 Parser、第二层解析器Layer2Parser和数据编辑器Editor Mod,数据流DataStream输入到装置后经过第一层解析器Layer1 Parser、第二层解析器Layer2 Parser和数据编辑器Editor Mod的对数据流进行初步的加工,使得SDIO使得SDIO接口主控可以更多的关注更为复杂的数据解析,降低了软硬复杂度。
第一层解析器Layer1 Parser:用于解析数据流头信息。当GControl中的数据有效信号由低电平跳变到高电平时,表示数据流开始传输;数据有效信息在数据传输过程中将一直保持在高电平状态,直到数据传输完成。当数据流开始传输时,第一层解析器Layer1Parser组件被激活,并使用第一层密钥Layer1 Key中的解析表项Itemkey对数据流进行解析。若解析成功,数据流将被送入第二层解析器Layer2 Parser组件中进行进一步的解析;若解析失败,数据流将直接被送出本装置,交由之后的软硬件进行处理。
第一层密钥Layer1 Key:存储用于识别数据流头信息的解析表项Itemkey。
第二层解析器Layer2 Parser:根据第一层解析器Layer1 Parser解析出的数据流的头信息,对数据流头之后的信息进行解析。本组件将从第二层密钥Layer2 Key中取出用于解析表项Itemkey,并对数据流进行解析。若解析成功,将得到对应的编辑表项Itemaction;若解析失败,数据流将直接被送出本装置,交由之后的软硬件进行处理。
第二层密钥Layer2 Key:存储用户解析数据流头的解析表项Itemkey。
编辑模块Editor Mod:根据第二层解析器Layer2 Parser解析后的编辑表项Itemaction,从Action Desc中取出对应的编辑表项Itemaction,根据编辑表项Itemaction描述的处理方式,对数据流中特定byte进行编辑。
Action Desc:存储用于编辑的Itemaction。
数据解析模块的实现可通过多种方式实现,如通过纯软件方式实现或通过硬件方式实现。
软件方式实现时装置中的所有功能组件都使用软件实现;装置的运行仅仅依赖于CPU以及内存。在对数据流处理性能要求不是很高且通用资源较为富裕的情况下,可以使用这种方式实现本装置。
当本装置为软件方式实现时,装置可以选择通过但不限于以下两种具体实施方式进行具体集成实现:
图2是软件组件方式实现的数据解析模块的系统框图,整个装置实现以一个软件组件的形式集成到系统软件Firmware中。接口系统包括软件Software和硬件Hardware,常规的CPU和RAM都属于硬件,都是一个系统的基本配置。软件Software为运行的系统软件,系统软件可以分层为:驱动层Drivers、数据解析模块DataParser、中间层Mid Level和应用层。在系统软件Firmware初始化过程中需要为该装置分配资源并配置相关表项;在运行过程中,系统软件Firmware调用该装置提供的接口函数APIs实现对数据流按照配置相关表项的要求进行数据解析与处理。
图3是以一个软件进程或线程的方式实现的数据解析模块的系统框图;本装置以一个软件进程或线程的方式集成到系统软件Firmware中。软件Software为运行的系统软件,系统软件也可以分层为:操作系统OS、数据解析层DataParser和应用在系统软件Firmware初始化过程中,需要创建进程或线程的方式创建实现本装置的进程或线程,并通过进程或线程间通用的消息交互机制获得需要进行解析与处理的数据流,并通过提供的接口函数APIs接口调用对数据流按照配置相关表项的要求进行解析与处理。
图4是硬件方式实现的数据解析模块的系统框图,使用硬件方式实现时装置中的所有功能组件都使用硬件实现;装置需要提供用于配置的寄存器接口以及信号线以便集成与使用。在对数据流处理性能要求较高的情况下,应使用这种方式实现本装置。
当本装置为硬件方式实现时,那么本装置应集成在SDIO接口主控芯片Controller中,Controller主要包括CPU、存储器MEM、高速片内总线BUS,数据以保证可以通过高速片内总线交互数据,进而保证数据处理的性能可以达到要求。
图5是构成数据解析模块的的主要功能组件:接口组件INTERFACE用于该装置与其他软硬件进行数据交互,需要交互的数据包括数据流Data Stream、控制信号集Gcontrol(N0,N1,…,Nn)以及配置信息集Gconfig(Itemkey,Itemaction,...)。当使用软件方式进行实现时,此组件是一组接口函数APIs;当使用硬件方式进行实现时,此组件通过一组信号线以及一组寄存器实现对外接口。控制信号集Gcontrol(N0,N1,…,Nn)包含但不限于如下控制信号:使能信号、数据有效信号、重置信号等。配置信息集Gconfig(Itemkey,Itemaction,...)包括但不限于如下配置信息:解析表项Itemkey、编辑表项Itemaction、选中信号等。
第一层密钥Layer1 Key:此组件用于存储用于数据流头信息解析的Itemkey。若每次上电解析表项Itemkey需要重新配置,那么此组件不需要非易失性存储器件来保存解析表项Itemkey;若解析表项不会每次上电配置,那么此组件需要非易失性存储器件来保存Itemkey;若有较高的性能需求,可以添加Cache对解析表项Itemkey进行缓存,Cache可以使用易失性存储器件进行实现,例如SRAM、DRAM、TCAM等。
图6是Layer1 Parser的工作流程图,第一层解析器Layer1 Parser按照如下流程进行数据解析:当Gconfig(Itemkey,Itemaction,...)中的选中信号有效且数据有效信号从无效状态变为有效状态后,第一层解析器Layer1 Parser开始工作;第一层解析器Layer1Parser将从Layer1 Key组件中将解析表项Itemkey逐条取出,并根据解析表项Itemkey中内容和Gconfig(Itemkey,Itemaction,...)尝试对数据进行解析操作Parser Data Stream;若所有解析表项Itemkey都不能将数据流进行解析,那么,执行Passby操作,即数据流将直接送往其他软硬件进行处理;若有解析表项Itemkey可以将数据流进行解析,即解析成功success数据流将携带第一个可以将其解析的解析表项Itemkey信息进入第二层解析器Layer2Paser流程中去。
第二层密钥Layer2 Key:此组件与Layer1 Key组件工作原理一致,但会根据第一层密钥Layer1 Key中的解析表项Itemkey相关信息进行分组,以便缩小需要访问的解析表项Itemkey的范围。
图7是Layer2 Parser的工作流程图,第二层解析器Layer2 Parser首先根据Layer1 Parser结果、当前偏移Current Offset对Itemkey进行筛选,若存在满足要求的Itemkey,第二层解析器Layer2 Parser尝试使用其对数据进行解析,若解析成功,数据流将携带Layer2 Parser信息送入Editor Mod组件中去;若解析失败,数据流将直接交由其他软硬件处理;若无满足要求的Itemkey,数据流也将直接交由其他软硬件处理。
Action Desc:此组件用于存储用于编辑数据流的Itemaction。此组件的实现可以参考Layer1 Key以及Layer2 Key的实现。Itemaction与Layer2 Key中Itemkey应为一对一的关系。
图8是Editor Mod组件的工作流程图;此组件首先根据Layer2 Parser解析结果对Itemaction进行筛选,得到对应的Itemaction后,根据其描述对数据流进行编辑,编辑成功后,将数据流以及相关信息交由Layer2 Parser再次解析。
Itemkey:解析表项,其内容应包含但不限与如下信息:起始偏移量、关键信息、关键信息长度、附属信息等。
Itemaction:编辑表项,其内容应包含但不限于如下信息:起始偏移量、编辑动作、编辑内容、编辑内容长度、附属信息等。
每次成功解析或编辑数据流后,当前偏移Current Offset都会发生改变。对于Layer1 Parser后,Current Offset=Current Offset+Data Stream Head;对于EditorMod每次编辑之后Current Offset=Current Offset+Itemkey.data_length。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (5)
1.一种可配置的解析SDIO数据流的装置,包括SDIO接口系统,其特征在于在SDIO接口系统中增加数据解析模块,所述数据解析模块根据输入的控制信号Gcontrol(N0,N1,…,Nn)和配置信号集Gconfig(Itemkey,Itemaction,...)控制输入的数据流Data Stream按配置的要求进行数据解析操作;所述的数据解析模块包括第一层解析器Layer1 Parser、第二层解析器Layer2 Parser和数据编辑器Editor Mod,数据流Data Stream输入到装置后经过第一层解析器Layer1 Parser、第二层解析器Layer2 Parser和数据编辑器Editor Mod对数据流进行初步加工。
2.根据权利要求1所述的可配置的解析SDIO数据流的装置,其特征在于所述的数据解析模块通过纯软件方式实现或通过硬件方式实现。
3.根据权利要求2所述的可配置的解析SDIO数据流的装置,其特征在于数据解析模块DataParser以一个软件组件集成在系统软件Firmware中,系统软件Firmware初始化过程中输入控制信号Gcontrol(N0,N1,…,Nn)和配置信号集Gconfig(Itemkey,Itemaction,...),并根据输入分配资源并配置相关表项;在运行过程中,系统软件Firmware调用该装置提供的接口函数APIs实现对数据流按照配置相关表项的要求进行数据解析与处理。
4.根据权利要求2所述的可配置的解析SDIO数据流的装置,其特征在于数据解析模块DataParser以一个软件进程或线程的方式集成到系统软件Firmware中,通过创建进程或线程的方式创建实现本装置的进程或线程,并通过进程或线程间通用的消息交互机制获得需要进行解析与处理的数据流,并通过提供的接口函数APIs接口调用对数据流按照配置相关表项的要求进行解析与处理。
5.根据权利要求1至4任意一项所述的可配置的解析SDIO数据流的装置,其特征在于控制信号集Gcontrol(N0,N1,…,Nn)至少包含如下控制信号:使能信号、数据有效信号和重置信号;配置信息集Gconfig(Itemkey,Itemaction,...)至少包括如下配置信息:解析表项Itemkey和编辑表项Itemaction。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710827236.6A CN107608928B (zh) | 2017-09-14 | 2017-09-14 | 一种可配置的解析sdio数据流的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710827236.6A CN107608928B (zh) | 2017-09-14 | 2017-09-14 | 一种可配置的解析sdio数据流的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107608928A CN107608928A (zh) | 2018-01-19 |
CN107608928B true CN107608928B (zh) | 2020-10-16 |
Family
ID=61063915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710827236.6A Expired - Fee Related CN107608928B (zh) | 2017-09-14 | 2017-09-14 | 一种可配置的解析sdio数据流的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107608928B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1696865A (zh) * | 2005-07-08 | 2005-11-16 | 北京飞天诚信科技有限公司 | 基于mmc/sdio接口的信息安全设备及其通信方法 |
CN201242752Y (zh) * | 2008-07-31 | 2009-05-20 | 成都万识科技有限公司 | 一种智能卡读写装置 |
TW200928743A (en) * | 2007-12-19 | 2009-07-01 | Ralink Technology Corp | Peripheral complying with SDIO standard and method for managing SDIO command |
CN202068585U (zh) * | 2011-04-19 | 2011-12-07 | 天津中启创科技有限公司 | 基于ZigBee协议的数据采集及传输系统 |
-
2017
- 2017-09-14 CN CN201710827236.6A patent/CN107608928B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1696865A (zh) * | 2005-07-08 | 2005-11-16 | 北京飞天诚信科技有限公司 | 基于mmc/sdio接口的信息安全设备及其通信方法 |
TW200928743A (en) * | 2007-12-19 | 2009-07-01 | Ralink Technology Corp | Peripheral complying with SDIO standard and method for managing SDIO command |
CN201242752Y (zh) * | 2008-07-31 | 2009-05-20 | 成都万识科技有限公司 | 一种智能卡读写装置 |
CN202068585U (zh) * | 2011-04-19 | 2011-12-07 | 天津中启创科技有限公司 | 基于ZigBee协议的数据采集及传输系统 |
Non-Patent Citations (1)
Title |
---|
《移动终端SDIO Key的研究与实现》;蔡益锋 等;《网络安全技术与应用》;20060131(第1期);第71页,第77-78页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107608928A (zh) | 2018-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809854B (zh) | 一种用于大流量网络处理的可重构芯片架构 | |
JP4890613B2 (ja) | パケットスイッチ装置 | |
US20090248920A1 (en) | Off-Line Task List Architecture | |
US8520571B2 (en) | Reconfigurable wireless modem sub-circuits to implement multiple air interface standards | |
CN112014726B (zh) | Dsp芯片测试装置及方法 | |
US8224638B1 (en) | Managing programmable device configuration | |
CN112929419B (zh) | 一种数据包传输方法、装置、电子设备及可读存储介质 | |
CN112749113A (zh) | 一种数据交互的方法、系统、设备及介质 | |
CN116860488B (zh) | 一种进程通信方法和相关装置 | |
CN115913937B (zh) | 一种容器多网卡网络配置方法、装置、设备及存储介质 | |
CN111865978A (zh) | 一种微服务的请求标识更新方法、装置、设备及介质 | |
WO2019019295A1 (zh) | 用于嵌入式系统基于同步机制下的环形数据缓冲实现方法 | |
CN107608928B (zh) | 一种可配置的解析sdio数据流的装置 | |
US10505760B2 (en) | Hierarchical encapsulation acceleration | |
CN112737995A (zh) | 以太网帧的处理方法、装置、设备及存储介质 | |
CN114253792A (zh) | 日志跟踪方法、装置、设备和存储介质 | |
CN109951532B (zh) | 一种基于dpdk的流量模型自动变换装置 | |
WO2023016407A1 (zh) | 数据传输方法、系统、装置及设备 | |
CN108093258B (zh) | 码流数据的解码方法、计算机装置及计算机可读存储介质 | |
CN116032837A (zh) | 一种流表卸载方法及装置 | |
EP4254834A1 (en) | Message transmission method and apparatus, and device, storage medium and system | |
WO2020200113A1 (zh) | 网络设备 | |
CN114780353A (zh) | 一种文件日志监控方法、系统及计算设备 | |
US6314485B1 (en) | Automatic status register | |
CN111181690B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201016 |