一种用于电磁炉通信的编码系统及其应用方法

文档序号:7946399阅读:285来源:国知局
专利名称:一种用于电磁炉通信的编码系统及其应用方法
技术领域
本发明是涉及电磁炉数据通信,特别是电磁炉数据通信的编码系统及其应用方法。
背景技术
目前微控制器(MCU)的通讯方式有SPI, UART, I2C, CAN等方式,但用于电磁炉上 面的通讯受所选用的单片机所支持的通讯方式、资源的分配等方面因素的影响,通讯的可 靠性要依靠硬件的支持,若要用软件模拟这些标准的通讯方式,需要占用微控制器的中断 和大量的时间,对实时控制有影响,而且通讯的可靠性只能采取软件校验方式。

发明内容
本发明提供一种用于电磁炉数据通信的编码系统及其应用方法,以解决现有技术 的不足,以增强数据传输中的容错能力,提高通信的可靠性。
本发明的另一 目的在于提供一种该编码系统的应用方法。
为了实现第一个目的,采用的技术方案如下 本发明提供了一种用于电磁炉通信的编码系统,包括编码端和解码端,发送数据 的位数为m位, 一个或以上的发送数据组成一个数据帧,该系统还包括有用于在编码端和 解码端进行编解码的第一 m位特征码和第二 m位特征码。 编码端对发送数据的每一个比特位,用第一 m位特征码和第二 m位特征码进行编 码; 解码端把连续解码出的m位比特位组成解码后数据。 作为一种优选方案 第一 m位特征码采用如下方式生成 (21)选择一个大于m/2的自然数nl ; (22)以nl个连续的第一比特和(m-nl)个连续的第二比特组合而成的一个第一m 位特征码; 第二 m位特征码采用如下方式生成
(23)选择一个小于m/2的自然数n2 ; (24)以n2个连续的第一比特和(m-n2)个连续的第二比特组合而成的一个第二m 位特征码。 在编码端对发送数据采用如下规则编码
(31)对于第一比特,采用第一m位特征码替换;
(32)对于第二比特,采用第二m位特征码替换;
(33)把编码后的数据组合成一个数据帧发送到解码端;
在解码端采用如下方式进行解码 (34)对接收到的数据帧中两个相邻的第一比特之间的第二比特进行计数;
(35)假如所述计数小于或等于第一m位特征码中所述第二比特的个数,并且计数 大于0,则解码为第一比特; (36)假如所述计数大于或等于第二m位特征码中所述第二比特的个数,并且计数 小于m,则解码为第二比特。 作为另外一种优选方案,第一m位特征码和第二m位特征码的选择采用与上述方 式相反 第一 m位特征码采用如下方式生成
(41)选择一个小于m/2的自然数nl ; (42)以nl个连续的第一比特和(m_nl)个连续的第二比特组合而成的一个第一m 位特征码; 第二 m位特征码采用如下方式生成
(43)选择一个大于m/2的自然数n2 ; (44)以n2个连续的第一比特和(m_n2)个连续的第二比特组合而成的一个第二 m 位特征码。 相应的,在编码端对发送数据采用如下规则编码
(51)对于第一比特,采用第一m位特征码替换;
(52)对于第二比特,采用第二m位特征码替换;
(53)把编码后的数据组合成一个数据帧发送到解码端;
在解码端采用如下方式进行解码 (54)对接收到的数据帧中两个相邻的第一比特之间的第二比特进行计数;
(55)假如所述计数小于或等于第一m位特征码中所述第二比特的个数,并且计数 大于O,则解码为第二比特; (56)假如所述计数大于或等于第二m位特征码中所述第二比特的个数,并且计数 小于m,则解码为第一比特。 其中解码端也可以采用对第二比特之间的第一比特进行计数,根据编码端采用不 同的m位特征码方案,解码端采用对应的解码方式。 作为更进一步的优选方案第一比特为比特"0",第二比特为比特"1 "。 作为更进一步的优选方案,数据帧的起始端标识两个通信起始位,分别为第一通
信起始位和第二通信起始位。 第一通信起始位是以小于(m/4+1)的n3位连续比特0和(m_n3)位连续比特1组 合而成的m位数据,第二通信起始位是以m/2位连续比特0和m/2位连续比特1组合而成 的m位数据。 作为更进一步的优选方案,发送数据为八位二进制数据。
为了实现第二个发明目的,采用的技术方案如下 本发明提供了一种用于电磁炉数据通信的编码系统的应用方法,包括以下步骤
第一 m位特征码和第二 m位特征码按照如下方式选择
(1001)选择一个大于m/2的自然数nl ; (1002)以nl个连续的第一比特和(m_nl)个连续的第二比特组合而成的第一m位 特征码;
(1003)选择一个小于m/2的自然数n2 ; (1004)以n2个连续的第一比特和(m-n2)个连续的第二比特组合而成的一个第二 m位特征码; 所述编码端对发送数据的每一个比特位,按照以下规则,用第一m位特征码或者 第二m位特征码替换 (1005)对于比特"O",采用第一m位特征码替换;
(1006)对于比特"l",采用第二m位特征码替换;
(1007)把编码后的数据组合成一个数据帧发生到解码端;
解码端对接收到的数据帧,按照以下规则进行解码
(1008)统计两个比特"0"之间的比特"1"的个数; (1009)假如所述计数小于或等于第一m位特征码中的比特"l"的个数,且大于O, 则解码为比特"O"; (1010)假如所述计数大于或等于第二m位特征码中的比特"l"的个数,且小于m, 则解码为比特"l"。 解码端把连续解码出的m位比特位组成解码后数据。 本发明的技术方案主要是在发送数据的时候把要发送的数据进行编码,然后在 数据接收阶段,对接收到的一串数据帧中两个相邻的相同比特(例如0)之间的相反比特 (例如1)的计数来判断通信信息的通信编码方法,这相当于增强了数据传输中的容错能 力,提高了通信的可靠性。


图1为本发明所述编码规则的示意图(假设m = 8)。 图2为本发明所述的通信数据的解码规则即数据接收流程图。 图3为本发明所述的实施例的电磁炉火力档位和显示板系统信息的通信编码示意图。
具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步详细的说明。 如图1所示,本发明提供了一种用于电磁炉通信的编码系统,包括编码端和解码 端,发送数据的位数为m位, 一个或以上的发送数据组成一个数据帧,该系统还包括有用于 在编码端和解码端进行编解码的第一 m位特征码和第二 m位特征码。本实施例中所要编码 的数据位数为8位,即m二 8。 编码端对发送数据的每一个比特位,用第一 m位特征码和第二 m位特征码进行编 码; 解码端把连续解码出的m位比特位组成解码后数据。
第一 m位特征码采用如下方式生成
(21)选择一个大于m/2的自然数nl ; (22)以nl个连续的第一比特和(m_nl)个连续的第二比特组合而成的一个第一m 位特征码;
在本实施例中,第一 比特为0,第二比特为1 ,第一 m位特征码采用03H, 二进制表示
为00000011, m = 8, nl = 6 ; 第二 m位特征码采用如下方式生成 (23)选择一个小于m/2的自然数n2 ; (24)以n2个连续的第一比特和(m-n2)个连续的第二比特组合而成的一个第二m 位特征码。 在本实施例中,第一比特为O,第二比特为1,第二m位特征码采用3FH,二进制表示 为00111111, m = 8, n2 = 2 ; 在编码端对发送数据采用如下规则编码 (31)对于第一比特,采用第一m位特征码替换,在本实施例中,采用03H替换比特
0 ; (32)对于第二比特,采用第二m位特征码替换,在本实施例中,采用3FH替换比特
1 ; (33)把编码后的数据组合成一个数据帧发送到解码端。
在解码端采用如下方式进行解码 (34)对接收到的数据帧中两个相邻的第一比特之间的第二比特进行计数,在本实 施例中,对接受到的数据帧中相邻的0之间的1进行计数; (35)假如计数小于或等于第一m位特征码中第二比特的个数,且大于O,则解码为 第一比特,在本实施例中,第一m位特征码是03H,其中比特1的个数为2,所以假如计数为 2,则解码为0; (36)假如计数大于或等于第二m位特征码中第二比特的个数,且小于m,则解码为 第二比特,在本实施例中,第二 m位特征码是3FH,其中比特1的个数为6,所以假如计数为 6,则解码为1。 以电磁炉的主板与显示板之间的通信为例 —、假设显示板要发送一个火力档位的信息和一个显示板系统的信息给主板,此 两信息代码依次为POWER_MODE为十六进制09H,二进制表示为OOOOIOOIB ;DIS_SYSTEM为 十六进制12H,二进制表示为OOOIOOIOB。第一步,将信息代码P0WER_M0DE = 09H和DIS_SYSTEM = 12H组成数据帧A。
第二步,将数据帧A进一步编码,组成数据帧B,即各位BIT上的0以字节byte = 03H表示,1以字节byte = 3FH表示,编码如图3所示,结果为
bytel' = 03H 03H 03H 03H 3FH 03H 03H 3FH ;
byte2' = 03H 03H 03H 3FH 03H 03H 3FH 03H。 第三步,以FFH和OFH作为数据帧B的起始位,byte2'和bytel'按从低位到高位
的顺序组成要发送的数据帧。 该数据帧的十六进制格式为 FFH FOH 3FH 03H 03H 3FH 03H 03H 03H 03H
03H 3FH 03H 03H 3FH 03H 03H 03H
该数据帧的二进制格式为
llllllllB 00001111B00111111B 00000011B 00000011B 00111111B 00000011B 00000011B
0000001IB 0000001IB00000011B 00111111B 00000011B 00000011B 00111111B 00000011B
00000011B 00000011B 第四步,由低位到高位进行读数并判断数据帧的每一位,若为0则对通信发送端 口 POR乙SEND清零,若为1则对通信发送端口 PORT_SEND置位,其二进制表示为
llllllllB 11110000B 11111100B 11000000B 11000000B 11111100B 11000000B 11000000B
11000000B 11000000B 11000000B 11111100B 11000000B 11000000B 11111100B 11000000B
11000000B 11000000B 二、如图2和图3所示,主板接收显示板上发送过来的数据帧,再解码还原成火力 代码和显示板系统信息代码。 第一步对接收到的数据帧的两个相邻的0之间的1进行计数,该计数BIT1_JS为 12,此值大于8,表明已经接受到数据帧起始位信息,通信开始,并对BIT1_JS清零。
第二步对接收到的数据帧的两个相邻的两个0之间的1进行计数,该计数BIT1_ JS为6,此值在4-8之间,表明接收到的第0位为l,将接收缓存RECV_BUF的第0位置位, RECV_BUF = OOOOOOOIB,并对BIT1_JS清零; 第三步对接收到的数据帧的两个相邻的两个0之间的1进行计数,该计数BIT1_ JS为2,此值在1-3之间,表明接收到的第1位为O,将接收缓存RECV_BUF的第1位清零, RECV_BUF = OOOOOOOIB,并对BIT1_JS清零; 第四步对接收到的数据帧的两个相邻的两个O之间的1进行计数,该计数BIT1— JS为2,此值在1-3之间,表明接收到的第2位为O,将接收缓存RECV_BUF的第2位清零, RECV_BUF = OOOOOOOIB,并对BIT1_JS清零; 第五步对接收到的数据帧的两个相邻的两个O之间的1进行计数,该计数BIT1— JS为6,此值在4-8之间,表明接收到的第3位为l,将接收缓存RECV_BUF的第3位置位, RECV_BUF = OOOOIOOIB,并对BIT1_JS清零; 第六步对接收到的数据帧的两个相邻的两个O之间的1进行计数,该计数BIT1— JS为2,此值在1-3之间,表明接收到的第4位为O,将接收缓存RECV_BUF的第4位清零, RECV_BUF = OOOOIOOIB,并对BIT1_JS清零; 第七步对接收到的数据帧的两个相邻的两个O之间的1进行计数,该计数BIT1— JS为2,此值在1-3之间,表明接收到的第5位为O,将接收缓存RECV_BUF的第5位清零, RECV_BUF = OOOOIOOIB,并对BIT1_JS清零; 第八步对接收到的数据帧的两个相邻的两个O之间的1进行计数,该计数BIT1— JS为2,此值在1-3之间,表明接收到的第6位为O,将接收缓存RECV_BUF的第6位清零, RECV_BUF = OOOOIOOIB,并对BIT1_JS清零; 第九步对接收到的数据帧的两个相邻的两个O之间的1进行计数,该计数BIT1— JS为2,此值在1-3之间,表明接收到的第7位为O,将接收缓存RECV_BUF的第7位清零,RECV_BUF = 00001001B,并对BIT1JS清零。此时完成对火力代码信息的接收,将接收缓存 RECV_BUF中的数据转存如bytel',并对RECV_BUF清零; 第十步对接收到的数据帧的两个相邻的两个O之间的1进行计数,该计数BIT1— JS为2,此值在1-3之间,表明接收到的第0位为O,将接收缓存RECV_BUF的第0位清零, RECV_BUF = OOOOOOOOB,并对BIT1_JS清零; 第十一步对接收到的数据帧的两个相邻的两个0之间的1进行计数,该计数BIT1— JS为6,此值在4-8之间,表明接收到的第l位为1,将接收缓存RECV—BUF的第l位置位, RECV_BUF = 0000001 OB,并对BIT1_JS清零; 第十二步对接收到的数据帧的两个相邻的两个0之间的1进行计数,该计数BIT1— JS为2,此值在1-3之间,表明接收到的第2位为l,将接收缓存RECV_BUF的第3位清零, RECV_BUF = 0000001 OB,并对BIT1_JS清零; 第十三步对接收到的数据帧的两个相邻的两个0之间的1进行计数,该计数BIT1— JS为2,此值在4-8之间,表明接收到的第3位为O,将接收缓存RECV_BUF的第3位清零, RECV_BUF = 0000001 OB,并对BIT1_JS清零; 第十四步对接收到的数据帧的两个相邻的两个0之间的1进行计数,该计数BIT1— JS为6,此值在4-8之间,表明接收到的第4位为1,将接收缓存RECV_BUF的第4位置位, RECV_BUF = 0001001 OB,并对BIT1_JS清零; 第十五步对接收到的数据帧的两个相邻的两个0之间的1进行计数,该计数BIT1— JS为2,此值在1-3之间,表明接收到的第5位为O,将接收缓存RECV_BUF的第5位清零, RECV_BUF = 0001001 OB,并对BIT1_JS清零; 第十六步对接收到的数据帧的两个相邻的两个0之间的1进行计数,该计数BIT1— JS为2,此值在1-3之间,表明接收到的第6位为O,将接收缓存RECV_BUF的第6位清零, RECV_BUF = 0001001 OB,并对BIT1_JS清零; 第十七步对接收到的数据帧的两个相邻的两个0之间的1进行计数,该计数BIT1— JS为2,此值在1-3之间,表明接收到的第7位为O,将接收缓存RECV_BUF的第7位清零, RECV_BUF = OOOIOOIOB,并对BIT1_JS清零,此时完成对显示板系统信息的接收,将接收缓 存RECV_BUF中的数据转存入byte2',并对RECV_BUF清零,完成数据帧的接收;
9
权利要求
一种用于电磁炉通信的编码系统,包括编码端和解码端,发送数据的位数为m位,m为大于0的偶数,一个或以上的发送数据组成一个数据帧,其特征在于,该系统还包括有用于在编码端和解码端进行编解码的第一m位特征码和第二m位特征码,编码端对发送数据的每一个比特位,用第一m位特征码和第二m位特征码进行编码;解码端把连续解码出的m位比特位组成解码后数据。
2. 根据权利要求1所述的编码系统,其特征在于 所述的第一m位特征码采用如下方式生成(21) 选择一个大于m/2的自然数nl ;(22) 以nl个连续的第一比特和(m-nl)个连续的第二比特组合而成的一个第一m位特征码;所述的第二m位特征码采用如下方式生成(23) 选择一个小于m/2的自然数n2 ;(24) 以n2个连续的第一比特和(m-n2)个连续的第二比特组合而成的一个第二m位特 征码。
3. 根据权利要求2所述的编码系统,其特征在于在编码端对发送数据采用如下规则编码(31) 对于第一比特,采用第一m位特征码替换;(32) 对于第二比特,采用第二m位特征码替换;(33) 把编码后的数据组合成一个数据帧发送到解码端; 在解码端采用如下方式进行解码(34) 对接收到的数据帧中两个相邻的第一比特之间的第(35) 假如所述计数小于或等于第一 m位特征码中所述第O,则解码为第一比特;(36) 假如所述计数大于或等于第二 m位特征码中所述第二比特的个数,并且计数小于 m,则解码为第二比特。
4. 根据权利要求1所述的编码系统,其特征在于 所述的第一m位特征码采用如下方式生成(41) 选择一个小于m/2的自然数nl ;(42) 以nl个连续的第一比特和(m-nl)个连续的第二比特组合而成的一个第一m位特征码;所述的第二m位特征码采用如下方式生成(43) 选择一个大于m/2的自然数n2 ;(44) 以n2个连续的第一比特和(m-n2)个连续的第二比特组合而成的一个第二m位特 征码。
5. 根据权利要求4所述的编码系统,其特征在于在编码端对发送数据采用如下规则编码(51) 对于第一比特,采用第一m位特征码替换;(52) 对于第二比特,采用第二m位特征码替换;(53) 把编码后的数据组合成一个数据帧发送到解码端;.比特进行计数; .比特的个数,并且计数大于在解码端采用如下方式进行解码(54) 对接收到的数据帧中两个相邻的第一比特之间的第二比特进行计数;(55) 假如所述计数小于或等于第一 m位特征码中所述第二比特的个数,并且计数大于 O,则解码为第二比特;(56) 假如所述计数大于或等于第二 m位特征码中所述第二比特的个数,并且计数小于 m,则解码为第一比特。
6. 根据权利要求1或2或3或4或5所述的编码系统,其特征在于,所述的第一比特为 比特"0",所述第二比特为比特"1 "。
7. 根据权利要求1所述的编码系统,其特征在于,所述的数据帧的起始端标识两个通 信起始位,分别为第一通信起始位和第二通信起始位。
8. 根据权利要求7所述的编码系统,其特征在于,所述的第一通信起始位是以小于 (m/4+1)的n3位连续比特0和(m-n3)位连续比特1组合而成的m位数据,所述的第二通信 起始位是以m/2位连续比特0和m/2位连续比特1组合而成的m位数据。
9. 根据权利要求1所述的编码系统,其特征在于,所述的发送数据为八位二进制数据。
10. —种权利要求1所述编码系统的应用方法,其特征在于包括以下步骤 第一 m位特征码和第二 m位特征码按照如下方式选择(1001) 选择一个大于m/2的自然数nl ;(1002) 以nl个连续的第一比特和(m-nl)个连续的第二比特组合而成的第一m位特征码;(1003) 选择一个小于m/2的自然数n2 ;(1004) 以n2个连续的第一比特和(m-n2)个连续的第二比特组合而成的一个第二m位 特征码;所述编码端对发送数据的每一个比特位,按照以下规则,用第一 m位特征码或者第二 m 位特征码替换(1005) 对于比特"O",采用第一m位特征码替换;(1006) 对于比特"l",采用第二m位特征码替换;(1007) 把编码后的数据组合成一个数据帧发生到解码端;解码端对接收到的数据帧,按照以下规则进行解码(1008) 统计两个比特"0"之间的比特"1"的个数;(1009) 假如所述计数小于或等于第一m位特征码中的比特"l"的个数,且大于O,则解码为比特"0";(1010) 假如所述计数大于或等于第二m位特征码中的比特"l"的个数,且小于m,则解 码为比特"l"。解码端把连续解码出的m位比特位组成解码后数据。
全文摘要
本发明是涉及电磁炉数据通信,特别是电磁炉数据通信的编码系统及其应用方法。本发明提供了一种用于电磁炉通信的编码系统,包括编码端和解码端,发送数据的位数为m位,一个或以上的发送数据组成一个数据帧,还包括有用于在编码端和解码端进行编解码的m位特征码,编码端对发送数据的每一个比特位,用m位特征码进行编码,在解码端对接收到的数据帧中两个相邻的相同的第一比特之间的与第一比特相反的第二比特的计数,通过判断所述计数与m位特征中所述第二比特的个数是否相同来进行解码。这相当于增强了数据传输中的容错能力,提高了通信的可靠性。
文档编号H04L1/00GK101764673SQ20091004138
公开日2010年6月30日 申请日期2009年7月24日 优先权日2009年7月24日
发明者毛宏建, 蓝纯 申请人:美的集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1