一种高速串行数据接收模块的制作方法

    专利2025-04-23  22


    本发明涉及通讯芯片,具体是涉及一种高速串行数据接收模块。


    背景技术:

    1、目前通用的微控制器的外设中,有多种串行通讯接口,比如uart、spi、i2c等通讯接口,可供微控制器的外设与其他设备进行相互之间的信息交互。

    2、不过目前这些串行通讯接口中,都有一些各自的特性和不足。比如这些通讯口的通讯速率都不高,针对某些瞬时高速的串行数据,就无法进行正确采样保持。另外uart、i2c这两个通讯接口一般只支持8位一个字节作为整体的传输方式。某些微控制器的spi接口可以支持非固定8位一个字节的传输方式,但也存在着不满设定字长时的最新数据无法获取等问题。最主要的缺陷,是这些串行通讯接口都不支持同时接收驱动时钟的上升沿采样数据和下降沿采样数据。

    3、因此,需要一种新的技术方案和设计,来解决输入时钟的上升沿和下降沿采样数据同时接收,并能解决一定长度内任意位数数据接收这样的高速串行数据传输的技术问题。


    技术实现思路

    1、针对现有技术存在的不足,本发明实施例的目的在于提供一种高速串行数据接收模块,以解决上述背景技术中的问题。

    2、为实现上述目的,本发明提供如下技术方案:

    3、一种高速串行数据接收模块,包括总线接口,还包括:

    4、n位上升沿采样寄存器,所述n位上升沿采样寄存器连接n位上升沿数据寄存器,所述n位上升沿数据寄存器连接m位上升沿计数器;

    5、n位下降沿采样寄存器,所述n位下降沿采样寄存器连接n位下降沿数据寄存器,所述n位下降沿数据寄存器连接m位下降沿计数器;以及

    6、2n位数据排序模块,所述2n位数据排序模块设置有两个,一个2n位数据排序模块连接所述n位上升沿采样寄存器和n位下降沿采样寄存器,另一个2n位数据排序模块连接n位上升沿数据寄存器和n位下降沿数据寄存器。

    7、作为本发明进一步的方案,所述总线接口用于接收mcu内核或者其他主控模块的读写和数据信号,用于对数据接收模块的控制。

    8、作为本发明进一步的方案,所述n位上升沿采样寄存器用于时钟信号sclk的上升沿对数据信号sda进行采样移位存储,采样使能由总线接口接收到的配置控制。

    9、作为本发明进一步的方案,所述m位上升沿计数器用于时钟信号sclk的上升沿的计数,记录接收的上升沿数据个数,同时提供计数状态和控制依据。

    10、作为本发明进一步的方案,所述n位上升沿数据寄存器通过m位上升沿计数器的计数状态控制,在计数满n的倍数时,将n位上升沿采样寄存器的数据,锁存到该n位上升沿数据寄存器中。

    11、作为本发明进一步的方案,所述n位下降沿采样寄存器用于时钟信号sclk的下降沿对数据信号sda进行采样移位存储,采样使能由总线接口接收到的配置控制。

    12、作为本发明进一步的方案,所述m位下降沿计数器用于时钟信号sclk的下降沿的计数,记录接收的下降沿数据个数,同时提供计数状态和控制依据。

    13、作为本发明进一步的方案,所述n位下降沿数据寄存器通过m位下降沿计数器的计数状态控制,在计数满n的倍数时,将n位下降沿采样寄存器的数据,锁存到该n位下降沿数据寄存器中。

    14、作为本发明进一步的方案,一个所述2n位数据排序模块用于将n位上升沿采样寄存器和n位下降沿采样寄存器的2n位数据进行排序输出,另一个2n位数据排序模块用于将n位上升沿数据寄存器和n位下降沿数据寄存器的2n位数据进行排序输出。

    15、综上所述,本发明实施例与现有技术相比具有以下有益效果:

    16、本模块只支持被动模式,外部输入的sclk用于作为输入信号采样的时钟。因此其通讯速率不受内部mcu的时钟的限制,可以实现高速数据通讯。

    17、本模块同时支持sclk时钟的上升沿采样和下降沿数据采样,同时支持两种数据输出格式,即按时钟沿分开输出数据和按时钟沿连续方式输出数据。方便后续对数据的处理。

    18、本模块支持2^m位以内的任意长度通讯,没有数据长度的限制。完整的n位数据,可以通过n位数据寄存器访问获得,非完整的n位数据,可以通过n位采样寄存器访问获得。

    19、本模块可以支持对不满设定字长时的最新数据的读取,同时可以获取有效的数据位数信息。即设定需要读取10位数据,实际只接收到9位,本模块可以支持对该9位数据的读取,目前的串行通讯模块均无该功能。

    20、本模块可以方便的扩展对多个数据输入的高速数据接收,只需要扩展沿数据寄存器和沿采样寄存器即可。其他控制逻辑无须改变或者微小改变。

    21、为更清楚地阐述本发明的结构特征和功效,下面结合附图与具体实施例来对本发明进行详细说明。



    技术特征:

    1.一种高速串行数据接收模块,包括总线接口,其特征在于,还包括:

    2.根据权利要求1所述的高速串行数据接收模块,其特征在于,所述总线接口用于接收mcu内核或者其他主控模块的读写和数据信号,用于对数据接收模块的控制。

    3.根据权利要求2所述的高速串行数据接收模块,其特征在于,所述n位上升沿采样寄存器用于时钟信号sclk的上升沿对数据信号sda进行采样移位存储,采样使能由总线接口接收到的配置控制。

    4.根据权利要求3所述的高速串行数据接收模块,其特征在于,所述m位上升沿计数器用于时钟信号sclk的上升沿的计数,记录接收的上升沿数据个数,同时提供计数状态和控制依据。

    5.根据权利要求4所述的高速串行数据接收模块,其特征在于,所述n位上升沿数据寄存器通过m位上升沿计数器的计数状态控制,在计数满n的倍数时,将n位上升沿采样寄存器的数据,锁存到该n位上升沿数据寄存器中。

    6.根据权利要求5所述的高速串行数据接收模块,其特征在于,所述n位下降沿采样寄存器用于时钟信号sclk的下降沿对数据信号sda进行采样移位存储,采样使能由总线接口接收到的配置控制。

    7.根据权利要求6所述的高速串行数据接收模块,其特征在于,所述m位下降沿计数器用于时钟信号sclk的下降沿的计数,记录接收的下降沿数据个数,同时提供计数状态和控制依据。

    8.根据权利要求7所述的高速串行数据接收模块,其特征在于,所述n位下降沿数据寄存器通过m位下降沿计数器的计数状态控制,在计数满n的倍数时,将n位下降沿采样寄存器的数据,锁存到该n位下降沿数据寄存器中。

    9.根据权利要求8所述的高速串行数据接收模块,其特征在于,一个所述2n位数据排序模块用于将n位上升沿采样寄存器和n位下降沿采样寄存器的2n位数据进行排序输出,另一个2n位数据排序模块用于将n位上升沿数据寄存器和n位下降沿数据寄存器的2n位数据进行排序输出。


    技术总结
    本发明公开了一种高速串行数据接收模块,属于通讯芯片技术领域,其技术要点是:包括总线接口,还包括:n位上升沿采样寄存器,所述n位上升沿采样寄存器连接n位上升沿数据寄存器,所述n位上升沿数据寄存器连接m位上升沿计数器;n位下降沿采样寄存器,所述n位下降沿采样寄存器连接n位下降沿数据寄存器,所述n位下降沿数据寄存器连接m位下降沿计数器;以及2n位数据排序模块,所述2n位数据排序模块设置有两个,一个2n位数据排序模块连接所述n位上升沿采样寄存器和n位下降沿采样寄存器,另一个2n位数据排序模块连接n位上升沿数据寄存器和n位下降沿数据寄存器,具有方便的扩展对多个数据输入的高速数据接收的优点。

    技术研发人员:请求不公布姓名,请求不公布姓名
    受保护的技术使用者:上海坚芯电子科技有限公司
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-85933.html

    最新回复(0)