CN113259395B - 一种嵌入式环境下数据通讯装置及方法 - Google Patents
一种嵌入式环境下数据通讯装置及方法 Download PDFInfo
- Publication number
- CN113259395B CN113259395B CN202110754594.5A CN202110754594A CN113259395B CN 113259395 B CN113259395 B CN 113259395B CN 202110754594 A CN202110754594 A CN 202110754594A CN 113259395 B CN113259395 B CN 113259395B
- Authority
- CN
- China
- Prior art keywords
- data
- sdio
- type
- eth
- packet
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种嵌入式环境下数据通讯装置及方法,涉及通信领域,装置包括SDIO控制器和从设备,SDIO控制器通过时钟线、命令线、至少4根数据线和至少2根GPIO中断线与从设备相连。本发明采用嵌入式Linux设备硬件环境,设计通过同一个装置同时兼容接收SDIO数据和ETH数据的方法,达到了节省网口、减小嵌入式环境下设备硬件尺寸的效果。
Description
技术领域
本发明涉及通信领域,具体涉及一种嵌入式环境下数据通讯装置及方法。
背景技术
嵌入式系统在工业互联网、智能制造、泛在物联网等领域都有极为广泛的应用。嵌入式系统由于其成本,尺寸等各方面限制,对硬件资源是非常敏感的,例如硬件的串口设备、网口设备的个数都是很有限的。同时,在通用的Linux系统中,SDIO设备驱动是一类字符设备驱动,ETH是网络设备,它们在Linux内核中有归属于各自的驱动程序及数据传输协议,两类数据传输路径完全不同。
而嵌入式系统中硬件资源紧张,特别是网口紧张是急待改善的现状,在通用的Linux系统中,各类设备驱动依赖不同的硬件资源。
发明内容
针对现有技术中的上述不足,本发明提供的一种嵌入式环境下数据通讯装置及方法解决了SDIO指令和ETH数据两类数据接收不兼容的问题。
为了达到上述发明目的,本发明采用的技术方案为:
提供一种嵌入式环境下数据通讯装置,其包括SDIO控制器和从设备,SDIO控制器通过时钟线、命令线、至少4根数据线和至少2根GPIO中断线与从设备相连;其中:
SDIO控制器,用于解析待接收的数据包,并根据待接收数据包的第二个字节获取待接收数据包的类型;用于将SDIO类型的待接收数据包通过SDIO数据接收流程发送至用户态SDIO应用程序;用于将ETH类型的待接收数据包报文头中设备类型和数据类型两个字节去掉,并用于将剩余数据通过ETH驱动层和ETH协议层发送至用户态ETH 应用程序;用于将待发送的字符数据按照同时兼容SDIO指令和ETH数据的数据帧格式进行帧包重构,用于将重构的帧包发送至从设备;
一根GPIO中断线用于在从设备上电完成时通知SDIO控制器建立SDIO连接;
另一根GPIO中断线用于通知SDIO控制器读取从设备上的可读数据。
提供一种嵌入式环境下数据通讯方法,其包括以下步骤:
S1、判断SDIO控制器是否收到GPIO引脚发来的中断信号,若是则进入步骤S2;否则进入步骤S4;
S2、通过SDIO控制器的SDIO驱动层解析待接收的数据包,并根据待接收数据包的第二个字节获取待接收数据包的类型;其中数据类型包括SDIO类型和ETH类型;
S3、将SDIO类型的待接收数据包通过SDIO数据接收流程发送至用户态SDIO应用程序,完成数据接收;将ETH类型的待接收数据包报文头中设备类型和数据类型两个字节去掉,并将剩余数据通过ETH驱动层和ETH协议层发送至用户态ETH 应用程序,完成数据接收;
S4、判断是否存在待发送的字符数据,若是则进入步骤S5;否则结束当前轮次的数据通讯;
S5、构建同时兼容SDIO指令和ETH数据的数据帧格式;其中数据帧格式的第一个字节为设备类型,第二个字节为数据类型,剩余字节为有效数据;
S6、基于待发送的字符数据,根据构建的数据帧格式重构帧包;
S7、通过SDIO控制器的SDIO驱动层将重构的帧包发送至从设备,完成数据发送。
进一步地,步骤S3中设备类型包括父设备类型和子设备类型,其中父设备类型采用高4bit表示,子设备类型采用低4bit表示。
进一步地,步骤S5中有效数据采用传输块,每个传输块的大小相同且为固定字节,每个传输块记录一个数据帧,若数据帧的数量小于传输块的大小,则将传输块中多余字节补零。
进一步地,SDIO类型采用字符0x01表示,ETH类型采用字符0x00表示。
本发明的有益效果为:本发明采用嵌入式Linux设备硬件环境,设计通过同一个装置同时兼容接收SDIO数据和ETH数据的方法,达到了节省网口、减小嵌入式环境下设备硬件尺寸的效果。
附图说明
图1为本装置的结构框图;
图2为本方法的流程示意图;
图3为数据帧格式示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,该嵌入式环境下数据通讯装置包括SDIO控制器和从设备,SDIO控制器通过时钟线、命令线、至少4根数据线和至少2根GPIO中断线与从设备相连;图1中HOST为SDIO控制器,SLAVE为与SDIO控制器相连的从设备,CLK为SDIO接口所需的时钟线,CMD为SDIO接口所需的命令线,DATA0-3为SDIO接口所需的4根数据线;一根GPIO中断线用于在从设备上电完成时通知SDIO控制器建立SDIO连接;另一根GPIO中断线用于通知SDIO控制器读取从设备上的可读数据。
SDIO控制器,用于解析待接收的数据包,并根据待接收数据包的第二个字节获取待接收数据包的类型;用于将SDIO类型的待接收数据包通过SDIO数据接收流程发送至用户态SDIO应用程序;用于将ETH类型的待接收数据包报文头中设备类型和数据类型两个字节去掉,并用于将剩余数据通过ETH驱动层和ETH协议层发送至用户态ETH 应用程序;用于将待发送的字符数据按照同时兼容SDIO指令和ETH数据的数据帧格式进行帧包重构,用于将重构的帧包发送至从设备。
如图2所示,该嵌入式环境下数据通讯方法包括以下步骤:
S1、判断SDIO控制器是否收到GPIO引脚发来的中断信号,若是则进入步骤S2;否则进入步骤S4;
S2、通过SDIO控制器的SDIO驱动层解析待接收的数据包,并根据待接收数据包的第二个字节获取待接收数据包的类型;其中数据类型包括SDIO类型和ETH类型;
S3、将SDIO类型的待接收数据包通过SDIO数据接收流程发送至用户态SDIO应用程序,完成数据接收;将ETH类型的待接收数据包报文头中设备类型和数据类型两个字节去掉,并将剩余数据通过ETH驱动层和ETH协议层发送至用户态ETH 应用程序,完成数据接收;
S4、判断是否存在待发送的字符数据,若是则进入步骤S5;否则结束当前轮次的数据通讯;
S5、构建同时兼容SDIO指令和ETH数据的数据帧格式;其中数据帧格式的第一个字节为设备类型,第二个字节为数据类型,剩余字节为有效数据;
S6、基于待发送的字符数据,根据构建的数据帧格式重构帧包;
S7、通过SDIO控制器的SDIO驱动层将重构的帧包发送至从设备,完成数据发送。
在本发明的一个实施例中,如图3所示,步骤S3中设备类型包括父设备类型和子设备类型,其中父设备类型采用高4bit表示,子设备类型采用低4bit表示。以网口设备为例,其类型编号为0x10,当有两个网口设备时,其对应的设备类型分别为0x10和0x11。
步骤S5中有效数据采用传输块(block),每个传输块的大小相同且为固定字节,每个传输块记录一个数据帧,每次读写一个传输块或多个传输块;若数据帧的数量小于传输块的大小,则将传输块中多余字节补零。SDIO类型采用字符0x01表示,ETH类型采用字符0x00表示。若数据类型为ETH类型,则数据帧的其余字节存储数据;若数据类型为SDIO类型,则接下来的1个字节存储命令类型,剩余字节存储命令内容。
综上所述,本发明采用嵌入式Linux设备硬件环境,设计通过同一个装置同时兼容接收SDIO数据和ETH数据的方法,达到了节省网口、减小嵌入式环境下设备硬件尺寸的效果。
Claims (5)
1.一种嵌入式环境下数据通讯装置,其特征在于,包括SDIO控制器和从设备,SDIO控制器通过时钟线、命令线、至少4根数据线和至少2根GPIO中断线与从设备相连;其中:
SDIO控制器,用于解析待接收的数据包,并根据待接收数据包的第二个字节获取待接收数据包的类型;用于将SDIO类型的待接收数据包通过SDIO数据接收流程发送至用户态SDIO应用程序;用于将ETH类型的待接收数据包报文头中设备类型和数据类型两个字节去掉,并用于将剩余数据通过ETH驱动层和ETH协议层发送至用户态ETH 应用程序;用于将待发送的字符数据按照同时兼容SDIO指令和ETH数据的数据帧格式进行帧包重构,用于将重构的帧包发送至从设备;其中待接收数据包的类型包括SDIO类型和ETH类型;同时兼容SDIO指令和ETH数据的数据帧格式的第一个字节为设备类型,第二个字节为数据类型,剩余字节为有效数据;
一根GPIO中断线用于在从设备上电完成时通知SDIO控制器建立SDIO连接;
另一根GPIO中断线用于通知SDIO控制器读取从设备上的可读数据。
2.一种嵌入式环境下数据通讯方法,其特征在于,包括以下步骤:
S1、判断SDIO控制器是否收到GPIO引脚发来的中断信号,若是则进入步骤S2;否则进入步骤S4;
S2、通过SDIO控制器的SDIO驱动层解析待接收的数据包,并根据待接收数据包的第二个字节获取待接收数据包的类型;其中数据类型包括SDIO类型和ETH类型;
S3、将SDIO类型的待接收数据包通过SDIO数据接收流程发送至用户态SDIO应用程序,完成数据接收;将ETH类型的待接收数据包报文头中设备类型和数据类型两个字节去掉,并将剩余数据通过ETH驱动层和ETH协议层发送至用户态ETH 应用程序,完成数据接收;
S4、判断是否存在待发送的字符数据,若是则进入步骤S5;否则结束当前轮次的数据通讯;
S5、构建同时兼容SDIO指令和ETH数据的数据帧格式;其中数据帧格式的第一个字节为设备类型,第二个字节为数据类型,剩余字节为有效数据;
S6、基于待发送的字符数据,根据构建的数据帧格式重构帧包;
S7、通过SDIO控制器的SDIO驱动层将重构的帧包发送至从设备,完成数据发送。
3.根据权利要求2所述的嵌入式环境下数据通讯方法,其特征在于,步骤S3中设备类型包括父设备类型和子设备类型,其中父设备类型采用高4bit表示,子设备类型采用低4bit表示。
4.根据权利要求2所述的嵌入式环境下数据通讯方法,其特征在于,步骤S5中有效数据采用传输块,每个传输块的大小相同且为固定字节,每个传输块记录一个数据帧,若数据帧的数量小于传输块的大小,则将传输块中多余字节补零。
5.根据权利要求2所述的嵌入式环境下数据通讯方法,其特征在于,SDIO类型采用字符0x01表示,ETH类型采用字符0x00表示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110754594.5A CN113259395B (zh) | 2021-07-05 | 2021-07-05 | 一种嵌入式环境下数据通讯装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110754594.5A CN113259395B (zh) | 2021-07-05 | 2021-07-05 | 一种嵌入式环境下数据通讯装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113259395A CN113259395A (zh) | 2021-08-13 |
CN113259395B true CN113259395B (zh) | 2021-09-21 |
Family
ID=77190637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110754594.5A Active CN113259395B (zh) | 2021-07-05 | 2021-07-05 | 一种嵌入式环境下数据通讯装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113259395B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338567B (zh) * | 2021-12-27 | 2023-09-05 | 锐迪科创微电子(北京)有限公司 | Sdio接口数据传输方法及装置、sdio接口设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3118738A1 (en) * | 2015-07-16 | 2017-01-18 | Nxp B.V. | Method and system for processing interruptible instructions in a microcontroller |
CN206930997U (zh) * | 2017-06-30 | 2018-01-26 | 龙芯中科技术有限公司 | COM‑Express计算机模块和计算机 |
CN107741915A (zh) * | 2017-10-25 | 2018-02-27 | 武汉精测电子集团股份有限公司 | 一种基于sdio接口的fpga板级通信装置及通信方法 |
CN108418600A (zh) * | 2018-05-15 | 2018-08-17 | 广州致远电子有限公司 | 嵌入式无线通讯板及其设备 |
CN108667541A (zh) * | 2018-04-11 | 2018-10-16 | 大连理工大学 | 一种基于HomePlug的列车数字广播控制器 |
CN110109406A (zh) * | 2019-06-25 | 2019-08-09 | 河南亚控科技有限公司 | 一种嵌入式可编程智能调控系统 |
CN210469376U (zh) * | 2019-09-20 | 2020-05-05 | 西安瑞思凯微电子科技有限公司 | 一种基于zynq7020和安全芯片的数据加解密设备 |
CN112636931A (zh) * | 2020-12-29 | 2021-04-09 | 广东高云半导体科技股份有限公司 | 一种以太网接口电路 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110971621B (zh) * | 2020-01-09 | 2023-07-11 | 成都三零嘉微电子有限公司 | 基于sdio接口的嵌入式多cpu互联电路、互联方法及驱动方法 |
-
2021
- 2021-07-05 CN CN202110754594.5A patent/CN113259395B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3118738A1 (en) * | 2015-07-16 | 2017-01-18 | Nxp B.V. | Method and system for processing interruptible instructions in a microcontroller |
CN206930997U (zh) * | 2017-06-30 | 2018-01-26 | 龙芯中科技术有限公司 | COM‑Express计算机模块和计算机 |
CN107741915A (zh) * | 2017-10-25 | 2018-02-27 | 武汉精测电子集团股份有限公司 | 一种基于sdio接口的fpga板级通信装置及通信方法 |
CN108667541A (zh) * | 2018-04-11 | 2018-10-16 | 大连理工大学 | 一种基于HomePlug的列车数字广播控制器 |
CN108418600A (zh) * | 2018-05-15 | 2018-08-17 | 广州致远电子有限公司 | 嵌入式无线通讯板及其设备 |
CN110109406A (zh) * | 2019-06-25 | 2019-08-09 | 河南亚控科技有限公司 | 一种嵌入式可编程智能调控系统 |
CN210469376U (zh) * | 2019-09-20 | 2020-05-05 | 西安瑞思凯微电子科技有限公司 | 一种基于zynq7020和安全芯片的数据加解密设备 |
CN112636931A (zh) * | 2020-12-29 | 2021-04-09 | 广东高云半导体科技股份有限公司 | 一种以太网接口电路 |
Non-Patent Citations (2)
Title |
---|
《SDIO主控制器设计》;谌葵;《中国优秀硕士学位论文全文数据库》;20120731;全文 * |
《SDIO总线(一)》;liuhan33025;《CSDN-https://blog.csdn.net/liuhan33025/article/details/51131848》;20160412;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113259395A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6651107B1 (en) | Reduced hardware network adapter and communication | |
US20180357195A1 (en) | Pci express tunneling over a multi-protocol i/o interconnect | |
US4688035A (en) | End user data stream syntax | |
TWI251540B (en) | System, method and device for autonegotiation | |
US5958024A (en) | System having a receive data register for storing at least nine data bits of frame and status bits indicating the status of asynchronous serial receiver | |
CN1894906A (zh) | 串行以太网器件到器件互连 | |
JPS63296540A (ja) | 単一集積回路マイクロ制御器におけるマルチプロトコル通信制御器 | |
CN113259395B (zh) | 一种嵌入式环境下数据通讯装置及方法 | |
KR20150096495A (ko) | Mdio를 sgmii 송신들로 인코딩하기 위한 장치 및 방법 | |
TWI445374B (zh) | 遠端管理系統及遠端管理方法 | |
GB2314745A (en) | Improved serial infrared asynchronous communication | |
US6567859B1 (en) | Device for translating medium access control dependent descriptors for a high performance network | |
CN113498597A (zh) | 一种基于PCIe的数据传输方法及装置 | |
CN113794713B (zh) | Fc-ae-1553协议桥接mil-std-1553和uart的通讯处理方法 | |
CN115794701A (zh) | 一种dma功能虚拟串口的bmc芯片及方法 | |
CN108614786B (zh) | 基于消息业务类型的通道管理电路 | |
CN112637027B (zh) | 基于uart的帧边界界定装置及发送方法和接收方法 | |
US11636061B2 (en) | On-demand packetization for a chip-to-chip interface | |
CN113051204B (zh) | 串行背板总线通信方法及系统 | |
US5870631A (en) | System for operating system software providing input buffer for receiving variable-length bit stream with a header containing synchronization data recognized by universal serial controller | |
CN115086192A (zh) | 一种数据处理方法、装置、系统及监控卡 | |
CN114201419A (zh) | 控制设备、控制设备的数据透传方法及数据透传系统 | |
CN118210749A (zh) | 基于SerDes的AXI3总线片间桥接方法及系统 | |
CN113949490A (zh) | 一种继电保护装置板间通信方法 | |
CN117857247A (zh) | 一种基于FPGA的EtherCAT从站设计系统及方法 |
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 |