一种基于单载波的串行数据通信方法、装置及系统的制作方法_2

文档序号:9818362阅读:来源:国知局
脉冲的宽度 都是固定的。如果发送装置向发送端信号驱动芯片发送的二进制数据中包括连续的两个或 者以上传号,会导致Home Bus上的AMI码矩形脉冲宽度不一致的情况。这种情况下,发送 装置所发送的数据不能被接收装置正确接收。
[0029] 本实施例中通过对原始串行数据进行分段编码,即将原始串行数据分为N个原始 数据段,并对N个原始数据段进行分别编码,使得编码后的数据中不包括连续的传号,因此 接收装置可以正确接收通过Home Bus发送的编码后所得数据,并通过解码还原得到原始串 行数据。
[0030] 编码的具体过程将在步骤302中进行说明,此处就对原始串行数据进行分段进行 说明。具体的,将原始串行数据分为N个原始数据段,其中N为大于等于2的整数。
[0031] 可选的,将原始串行数据平均分为N段,得到N个原始数据段。例如,在以MCU发 送串行数据的应用场景中,原始串行数据可以为8位二进制码,将原始串行数据平均分为 两段,得到两个原始数据段,即原始串行数据的高4位和低4位。
[0032] 可选的,对于原始串行数据不能N等分的情况下,可以对原始串行数据增加若干 填充位,使得原始串行数据能够被均分为N段。然后对N个原始数据段进行编码并发送至 接收装置,接收装置解码后将填充位丢弃即可得到原始串行数据。其中,填充位可以是连续 的空号。
[0033] 302、根据编码对应关系,获取N个原始数据段所对应的N个数据编码。
[0034] 其中,N个原始数据段与N个数据编码一一对应,N个原始数据段中取值相同的原 始数据段所对应的数据编码取值相同,N个原始数据段中取值不同的原始数据段所对应的 数据编码取值不同,且N个数据编码中任一数据编码中均不包含连续的传号,传号用于使 AMI双极性码产生交替翻转。
[0035] 可选的,N个原始数据段中每个原始数据段由4位二进制码组成,N个数据编码中 每个数据编码由8位二进制码组成。
[0036] 具体的,以发送装置为MCU的情况为例,MCU通过UART (Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)向接收端发送串行数据。通常,MCU的数据 中贞包括起始位、停止位、校验位以及数据位,其中起始位、停止位及校验位均为1位二进制 码,数据位包括8位二进制码,即原始串行数据为8位二进制码。
[0037] 结合步骤301,将原始串行数据的8位二进制码分为高4位和低4位两个原始数据 段,并对两个原始数据段分别进行编码,得到两个原始数据段所对应的两个数据编码,且 任一数据编码中不包括连续的传号。另外,考虑到与数据编码相邻的起始位为传号以及校 验位为传号的情况,数据编码的8位二进制码的首位和末位也应该都为空号。
[0038] 本实施例中将满足不包括连续的传号且首位和末位也都为空号的8位二进制码 称为UART-HomeBus码,以下简称U-H码。可选的,在一种应用场景中,0为传号,1为空号, 则在00000000-111 111 11之间,共有20个U-H码,从这20个U-H码中任选16个U-H码,分 别对应0000-1111之间的16个4位二进制数。这种原始数据段与数据编码之间的对应关 系即编码对应关系,其中,原始数据段与数据编码按照取值一一对应,一个取值的原始数据 段对应一个取值的数据编码,并且只对应一个取值的数据编码。一种16个四位二进制数与 16个U-H码的具体编码对应关系如表1所示。
[0039] 表 1

[0042] 结合表1,当原始串行数据为10010110时,对低4位数据0110进行编码所得的低4 位数据编码为10111101,对高4位数据1001进行编码所得的高4位数据编码为11010111。
[0043] 303、按照预设的顺序,将N个数据编码发送至信号驱动芯片。
[0044] 其中,信号驱动芯片用于将N个数据编码分别转换为AMI码后输出,由于N个数 据编码中任一数据编码中均不包含连续的传号,因此N个数据编码中的任一数据编码转换 为AMI后,AMI码的每一个矩形脉冲的宽度相同,进而能够通过单一载波的数据总线进行传 输。具体的,信号驱动芯片可以是丽1192。
[0045] 可选的,发送装置按照由低位到高位的顺序,依次将N个原始数据段所对应的N个 数据编码发送至发送端信号驱动芯片。例如,MCU先发送低4位数据编码,再发送高4位数 据编码。具体的,MCU将低4位数据编码发送至发送端信号驱动芯片,并通过发送端信号驱 动芯片发送至接收装置,接收装置将收到的低4位数据编码通过发送端信号驱动芯片发送 至接收装置,发送装置接收到发送端信号驱动芯片发回的低4位数据编码后,如果向发送 端信号驱动芯片发送的低4位数据编码与发送端信号驱动芯片发回的低4位数据编码不 同,则重新向发送端信号驱动芯片发送低4位数据编码。如果向发送端信号驱动芯片发送 的低4位数据编码与发送端信号驱动芯片发回的低4位数据编码相同,则向发送端信号驱 动芯片发送高4位数据编码。
[0046] 结合步骤302,当原始串行数据为10010110时,发送装置向接收装置发送数据编 码的过程中,数据编码及AMI码的波形如图4所示。MCU向发送端信号驱动芯片发送的数据 为10111101和11010111。发送端信号驱动芯片将接收到的数据编码分别转换为AMI码后 向Home Bus输出,并通过Home Bus向接收装置发送。
[0047] 可选的,MCU对原始串行数据进行编码并发送数据编码的过程如图5所示。首先, 初始化通信端口,并设置起始位、校验位以及停止位,再设置串口波特率。其中,串口波特率 可以与信号驱动芯片向Home Bus输出AMI码的波特率相等。串口波特率设定后,就可以 对原始串行数据进行分段编码并向发送装置信号驱动芯片发送数据编码。具体的,对Home Bus状态进行检测,当Home Bus被占用时,贝U等待后再次检测Home Bus状态,当Home Bus 空闲时,发送数据编码,即U-H码。数据编码发出后,如果接收到接收装置通过发送端信号 驱动芯片发回的数据编码与向发送端信号驱动芯片发送的数据编码不一致时,则重发该数 据编码。如果接收到接收装置通过发送端信号驱动芯片发回的数据编码与向发送端信号驱 动芯片发送的数据编码一致时,说明接收装置正确接收到该数据编码,此时发送装置继续 发送下一数据编码,直到接收装置正确接收全部数据编码。
[0048] 基于图3所对应的实施例,本发明的实施例提供一种基于单载波的串行数据通信 方法,应用于接收装置,参照图6,具体包括以下步骤:
[0049] 601、接收装置从接收端信号驱动芯片接收N个数据编码。
[0050] 其中,N为大于等于2的整数,接收端信号驱动芯片用于将接收到的AMI双极性码 转换为数据编码,并将数据编码发送至接收装置,AMI码的每一个矩形脉冲的宽度相同。接 收装置可以是MClKMicro Control Unit,微控制单元),或者其它能够进行串行数据通信的 装置。
[0051] 可选的,N个数据编码中的每个数据编码由8位二进制码组成,N个数据编码中每 个数据编码所对应的原始数据段由4位二进制码组成。结合图3所对应的实施例,本实施 例以从接收装置接收到两个数据编码的情况为例,对接收装置接收数据并进行解码的过程 进行举例说明。具体的,两个数据编码分别为高4位数据编码和低4位数据编码,且均由8 位二进制码组成的。
[0052] 接收装置将收到的低4位数据编码向发送装置发回,以便于发送装置确定接收装 置收到的低4位数据编码是否正确,如果不正确时发送装置将重新发送低4位数据编码,直 到接收装置发回的低4位数据编码与发送装置发送的低4位数据编码一致时,再向接收装 置发送高4位数据编码。
[0053] 602、根据解码对应关系,获取N个数据编码所对应的N个原始数据段。
[0054] 其中,N个数据编码与N个原始数据段一一对应,N个数据编码中取值相同的数据 编码所对应的原始数据段取值相同,N个数据编码中取值不同的数据编码所对应的原始数 据段取值不同。
[0055] 解码对应关系,即数据编码与原始数据段之间的对应关系,数据编码与原始数据 段按照取值一一对应,一个取值的数据编码对应一个取值的原始数据段,并且只对应一
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1