CN104579575B - 一种嵌入式控制器安全通讯的方法及装置 - Google Patents
一种嵌入式控制器安全通讯的方法及装置 Download PDFInfo
- Publication number
- CN104579575B CN104579575B CN201510036498.1A CN201510036498A CN104579575B CN 104579575 B CN104579575 B CN 104579575B CN 201510036498 A CN201510036498 A CN 201510036498A CN 104579575 B CN104579575 B CN 104579575B
- Authority
- CN
- China
- Prior art keywords
- data
- pattern
- embedded controller
- received
- external
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
Abstract
本发明公开了一种嵌入式控制器安全通讯的方法及装置,涉及嵌入式控制器,所述方法包括:嵌入式控制器在收到外部发送的数据时,根据所述数据的数据量,确定数据接收模式;若所述数据量大于或等于阈值,则将数据接收模式确定为大数据接收模式,并通过大数据接收模式接收外部发送的数据;若所述数据量小于阈值,则将数据接收模式确定为常规数据接收模式,并通过常规数据接收模式接收外部发送的数据。本发明能够通过提供一种利用EC中的固件程序接收大批量数据的方法,提高EC传输数据的可靠性,从而实现大批量数据的传输。
Description
技术领域
本发明涉及嵌入式控制器,特别涉及一种嵌入式控制器安全通讯的方法及装置。
背景技术
循环冗余校验码(CRC:Cyclic Redundancy Check)是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。
目前所有与嵌入式控制器(EC:Embedded Controller)通讯的协议都是利用输入/输出(I/O:Input/Output)端口0x60,0x64及0x62,0x66发送键盘命令,从而实现通讯的。但是,这种通讯方式存在两个问题:一是不能保证数据传输的可靠性。二是传输数据量有限,不能传输大批量数据。
发明内容
本发明的目的在于提供一种嵌入式控制器安全通讯的方法及装置,能够解决EC传输数据可靠性差,以及传输数据量受限的问题。
根据本发明的一个方面,提供了一种嵌入式控制器安全通讯的方法,包括:
嵌入式控制器在收到外部发送的数据时,根据所述数据的数据量,确定数据接收模式;
若所述数据量大于或等于阈值,则将数据接收模式确定为大数据接收模式,并通过大数据接收模式接收外部发送的数据;
若所述数据量小于阈值,则将数据接收模式确定为常规数据接收模式,并通过常规数据接收模式接收外部发送的数据。
优选地,所述大数据接收模式是指,所述嵌入式控制器接收来自第三方应用程序的数据。
优选地,所述的若所述数据量大于阈值,则将数据接收模式确定为大数据接收模式,并通过大数据接收模式接收外部发送的数据的步骤包括:
若确定所述数据量大于或等于阈值,则启动所述嵌入式控制器的接收固件;
利用所启动的接收固件,通过大数据接收模式接收外部发送的数据。
优选地,所述的通过大数据接收模式接收外部发送的数据的步骤之后还包括:
对所接收到的数据进行可靠性校验;
若校验通过,则根据所述数据进行相应操作,反之,则告知第三方应用程序重新发送所述数据。
优选地,所述的可靠性校验是指循环冗余校验码CRC校验。
优选地,所述的对所接收到的数据进行可靠性校验的步骤包括:
若所接收到的包含CRC信息的数据除以预置的生成多项式,得到的余数为零,则校验通过,反之,则校验失败。
优选地,所述常规数据接收模式是指,所述嵌入式控制器直接接收来自键盘的数据。
根据本发明的另一方面,提供了一种嵌入式控制器安全通讯的装置,包括:
确定模块,用于嵌入式控制器在收到外部发送的数据时,根据所述数据的数据量,确定数据接收模式;
大数据模块,用于若所述数据量大于或等于阈值,则将数据接收模式确定为大数据接收模式,并通过大数据接收模式接收外部发送的数据;
常规数据模块,用于若所述数据量小于阈值,则将数据接收模式确定为常规数据接收模式,并通过常规数据接收模式接收外部发送的数据。
优选地,所述大数据模块进一步包括:
启动子模块,用于若确定所述数据量大于或等于阈值,则启动所述嵌入式控制器的接收固件;
固件子模块,用于利用所启动的接收固件,通过大数据接收模式接收外部发送的数据。
优选地,所述大数据模块进一步还包括:
可靠性子模块,用于对所接收到的数据进行可靠性校验;
校验子模块,用于若校验通过,则根据所述数据进行相应操作,反之,则告知第三方应用程序重新发送所述数据。
与现有技术相比较,本发明的有益效果在于:通过提供一种利用EC中的固件程序接收大批量数据的方法,提高EC传输数据的可靠性,从而实现大批量数据的传输。
附图说明
图1是本发明实施例提供的嵌入式控制器安全通讯的方法原理图;
图2是本发明实施例提供的嵌入式控制器安全通讯的装置结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是本发明实施例提供的嵌入式控制器安全通讯的方法原理图,如图1所示,具体步骤如下:
步骤S1:嵌入式控制器在收到外部发送的数据时,根据所述数据的数据量,确定数据接收模式。
步骤S2:若所述数据量大于或等于阈值,则将数据接收模式确定为大数据接收模式,并通过大数据接收模式接收外部发送的数据。
在步骤S2中,所述大数据接收模式是指,所述嵌入式控制器接收来自第三方应用程序的数据。
进一步地,所述的若所述数据量大于阈值,则将数据接收模式确定为大数据接收模式,并通过大数据接收模式接收外部发送的数据的步骤包括:
若确定所述数据量大于或等于阈值,则启动所述嵌入式控制器的接收固件;
利用所启动的接收固件,通过大数据接收模式接收外部发送的数据。
进一步地,所述的通过大数据接收模式接收外部发送的数据的步骤之后还包括:
对所接收到的数据进行可靠性校验;
若校验通过,则根据所述数据进行相应操作,反之,则告知第三方应用程序重新发送所述数据。
进一步地,所述的可靠性校验是指循环冗余校验码CRC校验。
进一步地,所述的对所接收到的数据进行可靠性校验的步骤包括:
若所接收到的包含CRC信息的数据除以预置的生成多项式,得到的余数为零,则校验通过,反之,则校验失败。
步骤S3:若所述数据量小于阈值,则将数据接收模式确定为常规数据接收模式,并通过常规数据接收模式接收外部发送的数据。
在步骤S3中,所述常规数据接收模式是指,所述嵌入式控制器直接接收来自键盘的数据。
图2是本发明实施例提供的嵌入式控制器安全通讯的装置结构图,如图2所示,包括:确定模块、大数据模块和常规数据模块。
所述确定模块用于嵌入式控制器在收到外部发送的数据时,根据所述数据的数据量,确定数据接收模式。
所述大数据模块用于若所述数据量大于或等于阈值,则将数据接收模式确定为大数据接收模式,并通过大数据接收模式接收外部发送的数据。其中,所述大数据模块的启动子模块用于若确定所述数据量大于或等于阈值,则启动所述嵌入式控制器的接收固件。所述大数据模块的固件子模块用于利用所启动的接收固件,通过大数据接收模式接收外部发送的数据。所述大数据模块的可靠性子模块用于对所接收到的数据进行可靠性校验。所述大数据模块的校验子模块用于若校验通过,则根据所述数据进行相应操作,反之,则告知第三方应用程序重新发送所述数据。
所述常规数据模块用于若所述数据量小于阈值,则将数据接收模式确定为常规数据接收模式,并通过常规数据接收模式接收外部发送的数据。
关于CRC算法,在代数编码理论中,一个码组表示一个多项式,码组中各码元作为多项式的系数。例如1100101表示为1*x6+1*x5+0*x4+0*x3+1*x2+0*x+1,即x6+x5+x2+1。设编码前的原始信息多项式为P(x),P(x)的最高次幂加1等于k,生成多项式为G(x),G(x)的最高次幂等于r;CRC多项式为R(x),编码后的带CRC的信息多项式为T(x)。
发送方的编码方法为:将P(x)乘以xr(即对应的二进制码序列左移r位),再除以G(x),所得余式即为R(x)。用公式表示为T(x)=xrP(x)+R(x)。
接收方的解码方法为:将T(x)除以G(x),得到一个余数,如果这个余数为0,则说明传输中无错误发生,否则说明传输有误。
举例来说,设信息编码为1100,生成多项式为1011,即P(x)=x3+x2,G(x)=x3+x+1,计算CRC的过程为:xrP(x)=x3(x3+x2)=x6+x5,G(x)=x3+x+1即R(x)=x。其中,G(x)的最高次幂r=3,得出CRC为010。
如果用竖式除法,计算机的模二,计算过程为:1110----1011/1100000(1100左移3位)1011----11101011-----10101011-----00100000----010因此,T(x)=(x6+x5)+(x)=x6+x5+x,即1100000+010=1100010。如果传输无误,T(x)=(x6+x5+x)/G(x)=x3+x2+x,G(x)=x3+x+1无余式。因此,在上述的竖式除法中,如果被除数是1100010,显然在商第三个1时,就能整除。
上述推算过程即为CRC算法,但是通过直接编程来实现上述算法不仅繁琐,效率也不高。实际上,在工程中不会直接这样去计算和验证CRC。
下表中列出了一些常见标准的CRC资料:
备注:简记式*,生成多项式的最高次幂项系数是固定的1,故在简记式中,将最高的1统一去掉了,如04C11DB7实际上是104C11DB7。
CRC-ITU**,前身为CRC-CCITT,ITU的前身为CCITT。
此外,生成多项式是标准规定的,应用举例均为标准引用。CRC是基于将位串看作是系数为0或1的多项式,一个k位的数据流可以看作是关于x的从k-1阶到0阶的k-1次多项式的系数序列。采用此编码,发送方和接收方必须事先商定一个生成多项式G(x),其高位和低位必须是1。要计算m位的帧M(x)的校验和,基本思想是将校验和加在帧的末尾,使这个带校验和的帧的多项式能被G(x)除尽。当接收方收到加有校验和的帧时,用G(x)去除帧,如果有余数,则CRC校验错误,只有没有余数的CRC校验才是正确的。
在实际的工作流程中,具体的实现流程如下:
(1)在给EC发送大批量数据时,比如传输K位数据,那么依据CRC算法加入R位校验码,总共传输K+R位数据。
(2)EC处固件程序在接收到K位数据后,根据收到的R位校验码对K位数据进行CRC校验,如果校验出错,即可认为数据传输有误,需通知外部的第三方应用程序,重新发送数据,以确保数据的可靠性。
综上所述,本发明具有以下技术效果:通过提供一种利用EC中的固件程序接收大批量数据的方法,提高EC传输数据的可靠性,从而实现大批量数据的传输。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (6)
1.一种嵌入式控制器安全通讯的方法,其特征在于,包括:
嵌入式控制器在收到外部发送的数据时,根据所述数据的数据量,确定数据接收模式;
若所述数据量大于或等于阈值,则将数据接收模式确定为大数据接收模式,并通过大数据接收模式接收外部发送的数据,其中,所述大数据接收模式是指所述嵌入式控制器接收来自第三方应用程序的数据;
若所述数据量小于阈值,则将数据接收模式确定为常规数据接收模式,并通过常规数据接收模式接收外部发送的数据,其中,所述常规数据接收模式是指所述嵌入式控制器直接接收来自键盘的数据;
其中所述的若所述数据量大于或等于阈值,则将数据接收模式确定为大数据接收模式,并通过大数据接收模式接收外部发送的数据的步骤包括:
若确定所述数据量大于或等于阈值,则启动所述嵌入式控制器的接收固件;
利用所启动的接收固件,通过大数据接收模式接收外部发送的数据。
2.根据权利要求1所述的方法,其特征在于,所述的通过大数据接收模式接收外部发送的数据的步骤之后还包括:
对所接收到的数据进行可靠性校验;
若校验通过,则根据所述数据进行相应操作,反之,则告知第三方应用程序重新发送所述数据。
3.根据权利要求2所述的方法,其特征在于,所述的可靠性校验是指循环冗余校验码CRC校验。
4.根据权利要求3所述的方法,其特征在于,所述的对所接收到的数据进行可靠性校验的步骤包括:
若所接收到的包含CRC信息的数据除以预置的生成多项式,得到的余数为零,则校验通过,反之,则校验失败。
5.一种嵌入式控制器安全通讯的装置,其特征在于,包括:
确定模块,用于嵌入式控制器在收到外部发送的数据时,根据所述数据的数据量,确定数据接收模式;
大数据模块,用于若所述数据量大于或等于阈值,则将数据接收模式确定为大数据接收模式,并通过大数据接收模式接收外部发送的数据,其中,所述大数据接收模式是指所述嵌入式控制器接收来自第三方应用程序的数据;
常规数据模块,用于若所述数据量小于阈值,则将数据接收模式确定为常规数据接收模式,并通过常规数据接收模式接收外部发送的数据,其中,所述常规数据接收模式是指所述嵌入式控制器直接接收来自键盘的数据;
其中,所述大数据模块进一步包括:
启动子模块,用于若确定所述数据量大于或等于阈值,则启动所述嵌入式控制器的接收固件;
固件子模块,用于利用所启动的接收固件,通过大数据接收模式接收外部发送的数据。
6.根据权利要求5所述的装置,其特征在于,所述大数据模块进一步还包括:
可靠性子模块,用于对所接收到的数据进行可靠性校验;
校验子模块,用于若校验通过,则根据所述数据进行相应操作,反之,则告知第三方应用程序重新发送所述数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510036498.1A CN104579575B (zh) | 2015-01-23 | 2015-01-23 | 一种嵌入式控制器安全通讯的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510036498.1A CN104579575B (zh) | 2015-01-23 | 2015-01-23 | 一种嵌入式控制器安全通讯的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104579575A CN104579575A (zh) | 2015-04-29 |
CN104579575B true CN104579575B (zh) | 2018-09-14 |
Family
ID=53094880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510036498.1A Active CN104579575B (zh) | 2015-01-23 | 2015-01-23 | 一种嵌入式控制器安全通讯的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104579575B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101796479A (zh) * | 2007-08-31 | 2010-08-04 | 汤姆森特许公司 | 具有改善缓冲器容量的使用的大容量存储系统 |
CN103368857A (zh) * | 2012-03-26 | 2013-10-23 | 北大方正集团有限公司 | 一种发送数据信息的方法及系统 |
CN103733206A (zh) * | 2011-07-01 | 2014-04-16 | 英特尔公司 | 保护从在包含嵌入式控制器的平台中的键盘接收到的击键 |
CN203630782U (zh) * | 2013-12-31 | 2014-06-04 | 山东华芯半导体有限公司 | 一种面向嵌入式应用的usb接口芯片 |
-
2015
- 2015-01-23 CN CN201510036498.1A patent/CN104579575B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101796479A (zh) * | 2007-08-31 | 2010-08-04 | 汤姆森特许公司 | 具有改善缓冲器容量的使用的大容量存储系统 |
CN103733206A (zh) * | 2011-07-01 | 2014-04-16 | 英特尔公司 | 保护从在包含嵌入式控制器的平台中的键盘接收到的击键 |
CN103368857A (zh) * | 2012-03-26 | 2013-10-23 | 北大方正集团有限公司 | 一种发送数据信息的方法及系统 |
CN203630782U (zh) * | 2013-12-31 | 2014-06-04 | 山东华芯半导体有限公司 | 一种面向嵌入式应用的usb接口芯片 |
Non-Patent Citations (1)
Title |
---|
嵌入式系统CRC 循环冗余校验算法设计研究;彭伟;《南京信息工程大学学报(自然科学版)》;20120628;258-265 * |
Also Published As
Publication number | Publication date |
---|---|
CN104579575A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170294990A1 (en) | Data transmission method and device | |
US20150117468A1 (en) | Apparatus and method for transmitting data | |
RU2009129948A (ru) | Выбор кода прямой коррекции ошибок и кодовой скорости на основании размера пакета | |
CN102624403A (zh) | 用于对级联纠错码的有效解码的方法和系统 | |
CN104539739A (zh) | 一种文件上传的系统、方法及装置 | |
JP2018510570A5 (zh) | ||
KR20080099243A (ko) | 랩터 코드의 디코딩 | |
CN108631792B (zh) | 一种极化码编译码方法及装置 | |
CN108282259B (zh) | 一种编码方法及装置 | |
CN105471545A (zh) | 一种数据包处理方法及装置 | |
CN103533045A (zh) | 一种用于pcie数据链路层高性能容错的方法 | |
EP3469714A1 (en) | Polar code encoding with puncturing, shortening and extending | |
US20230283346A1 (en) | Channel state information encoding method and apparatus, storage medium and processor | |
CN110233698B (zh) | 极化码的编码及译码方法、发送设备、接收设备、介质 | |
CN103312458A (zh) | 混合编码方法 | |
CN107209713B (zh) | 按需文件修复的方法和系统 | |
CN109412999B (zh) | 一种概率成型的映射方法及装置 | |
WO2018028682A1 (zh) | 一种数据传输方法、装置和系统 | |
CN102427398B (zh) | 一种基于双向奇偶校验的纠检错方法和系统及装置 | |
CN102098130A (zh) | 具有高速度和高可靠性的高效动态传输 | |
CN104579575B (zh) | 一种嵌入式控制器安全通讯的方法及装置 | |
CN108988990A (zh) | 一种处理链路层数据错误的方法 | |
CN109756307A (zh) | 数据重传方法及装置 | |
CN103138881B (zh) | 编解码方法和设备 | |
Gelles et al. | Interactive coding resilient to an unknown number of erasures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |