一种基于CPLD的异步串行信号采样译码方法转让专利

申请号 : CN202111283751.5

文献号 : CN113824501B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张叶梅涂开辉温士魁王彬林伟王雄儒

申请人 : 山东芯慧微电子科技有限公司

摘要 :

本发明涉及一种基于CPLD的异步串行信号采样译码方法,属于通信技术领域。该方法执行如下步骤:1)采样,得采样信号si;2)接收端CPLD的时钟的下降沿对采样信号si的数据延迟一个周期,得到求补信号si_neg;3)以一帧为间隔切换采样信号si和求补信号si_neg进行判断解析;4)进行帧头检测;5)SDA译码;6)SCL译码;7)5v译码;8)切换处理数据源。该发明以异步串行信号采样译码方法,能够正确的对异步的采样信号译码,使得相关设备正常运行。

权利要求 :

1.一种基于CPLD的异步串行信号采样译码方法,其特征在于执行如下步骤:

1) 接收端CPLD对发送端CPLD发出的串行信号进行采样,得采样信号si;

2) 接收端CPLD的时钟的下降沿对采样信号si的数据延迟一个周期,得到求补信号si_neg;

3) 以一帧为间隔交替使用采样信号si和求补信号si_neg进行判断解析;

4) 进行帧头检测,当时钟的上升沿检测到7个高电平时,第8个时钟上升沿跳转到步骤

5),否则清零高电平检测计数,继续帧头检测;

5) SDA译码,译码成功跳转到步骤6),否则跳转步骤4);

所述SDA译码,每位bit占25ns,0编码为0101,1编码为1010,0101或者1010占用8个clk,在clk的上升沿采样,判断第2、4、6、8个clk的采样数据若为0101则SDA译码为0,若1010则SDA译码为1;

6) SCL译码,译码成功跳转到步骤7),否则跳转步骤4);

所述SCL译码,每位bit占50ns,0101或者1010占用8个clk,在clk的上升沿采样,判断第

2、4、6、8个clk的采样数据若为0101则SCL译码为0,若1010则SCL译码为1;

7) 5v译码,译码成功跳转到步骤8),否则跳转步骤4);

所述5v译码,每位bit占比50ns,0101或者1010占用8个clk,在clk的上升沿采样,判断第2、4、6、8个clk的采样数据若为0101则5v信号译码为0,若1010则5v信号译码为1;

8) 切换处理数据源,若当前使用信号为采样信号si,切换为求补信号si_neg;反之亦然;切换完成跳转步骤4)。

说明书 :

一种基于CPLD的异步串行信号采样译码方法

技术领域

[0001] 本发明涉及一种基于CPLD的异步串行信号采样译码方法,属于通信技术领域。

背景技术

[0002] 有线电通讯的传输距离最多30米,无法满足长距离传输。光纤通讯是利用光纤进行传输的通讯方式,传输距离最高可达300米。利用光纤的方式进行信号传输的时候,在传输频率满足的情况下,将多路信号编码为串行信号输出来传输,接收设备对收到的串行输入信号进行译码,发送设备和接收设备时钟频率相当(同为80mhz时钟,但实际不完全一致),对于接收设备来说输入信号是异步串行信号。编码格式要求为帧头(1111),帧尾(0000),数据(1010代表1,0101代表0),每位(0/1)是2个时钟,25ns时间。对近似频率的异步串行信号进行采样译码,由于输入频率与采样频率只是近似,无法达到完全一致,会出现输入信号相对于采样频率漂移的现象,即输入信号帧头的上升沿会出现在接收设备时钟周期内的任一时刻,在输入信号帧头上升沿与接收设备时钟的上升沿接近重合的时刻,按常理方法解析数据译码失败,导致连接设备无法正常工作。

发明内容

[0003] 本发明要解决的技术问题是:提供一种用于主从双机设备的FPGA设备控制器的译码方法。
[0004] 为了解决上述技术问题,本发明提出的技术方案是:一种基于CPLD的异步串行信号采样译码方法,执行如下步骤:
[0005] 1)接收端CPLD对发送端CPLD发出的串行信号进行采样,得采样信号si;
[0006] 2)接收端CPLD的时钟的下降沿对采样信号si的数据延迟一个周期,得到求补信号si_neg;
[0007] 3)以一帧为间隔交替使用采样信号si和求补信号si_neg进行判断解析;
[0008] 4)进行帧头检测,当时钟的上升沿检测到7个高电平时,第8个时钟的上升沿跳转到步骤5),否则清零继续帧头检测;
[0009] 5)SDA译码,译码成功跳转到步骤6),否则跳转步骤4);
[0010] 6)SCL译码,译码成功跳转到步骤7),否则跳转步骤4);
[0011] 7)5v译码,译码成功跳转到步骤8),否则跳转步骤4);
[0012] 8)切换处理数据源,若当前使用信号为采样信号si,切换为求补信号si_neg;反之亦然;切换完成跳转步骤4)。
[0013] 本发明的有益效果是:本发明以异步串行信号采样译码方法,能够正确的对异步的采样信号译码,使得相关设备正常运行。

附图说明

[0014] 图1是本发明实施例的一种基于CPLD的异步串行信号采样译码方法的流程示意图。

具体实施方式

[0015] 实施例一
[0016] 本实施例的一种基于CPLD的异步串行信号采样译码方法,如图1所示,执行如下步骤:
[0017] 1)接收端CPLD对发送端CPLD发出的串行信号进行采样,得采样信号si;
[0018] 2)接收端CPLD的时钟的下降沿对采样信号si的数据延迟一个周期,得到求补信号si_neg;
[0019] 3)以一帧为间隔交替使用采样信号si和求补信号si_neg进行判断解析;
[0020] 4)进行帧头检测,当时钟的上升沿检测到7个高电平时,第8个时钟的上升沿跳转到步骤5),否则清零继续帧头检测;
[0021] 5)SDA译码,译码成功跳转到步骤6),否则跳转步骤4);
[0022] 6)SCL译码,译码成功跳转到步骤7),否则跳转步骤4);
[0023] 7)5v译码,译码成功跳转到步骤8),否则跳转步骤4);
[0024] 8)切换处理数据源,若当前使用信号为采样信号si,切换为求补信号si_neg;反之亦然;切换完成跳转步骤4)。
[0025] 本实施例的时钟频率80M,SDA译码,每位bit占25ns,0编码为0101,1编码为1010,0101或者1010占用8个clk,在clk的上升沿采样,判断第2、4、6、8个clk的采样数据若为0101则SDA译码为0,若1010则SDA译码为1。
[0026] SCL译码,每位bit占50ns,0101或者1010占用8个clk,在clk的上升沿采样,判断第2、4、6、8个clk的采样数据若为0101则SCL译码为0,若1010则SCL译码为1。
[0027] 5v译码,每位bit占比50ns,0101或者1010占用8个clk,在clk的上升沿采样,判断第2、4、6、8个clk的采样数据若为0101则5v信号译码为0,若1010则5v信号译码为1。
[0028] 上述译码以CPLD引脚命名,以便实际使用时方便操作。
[0029] 本发明不局限于上述实施例所述的具体技术方案,除上述实施例外,本发明还可以有其他实施方式。对于本领域的技术人员来说,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等形成的技术方案,均应包含在本发明的保护范围之内。