CN108255231A - 一种数据采样方法和芯片 - Google Patents
一种数据采样方法和芯片 Download PDFInfo
- Publication number
- CN108255231A CN108255231A CN201611239614.0A CN201611239614A CN108255231A CN 108255231 A CN108255231 A CN 108255231A CN 201611239614 A CN201611239614 A CN 201611239614A CN 108255231 A CN108255231 A CN 108255231A
- Authority
- CN
- China
- Prior art keywords
- module
- selection
- delay
- submodule
- output
- 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.)
- Granted
Links
- 238000005070 sampling Methods 0.000 title claims abstract description 167
- 238000000034 method Methods 0.000 title claims description 42
- 239000002245 particle Substances 0.000 claims abstract description 12
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 29
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 239000008187 granular material Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pulse Circuits (AREA)
Abstract
本发明实施例公开了一种芯片,包括控制器、与控制器连接的SPI,控制器包括:时钟产生模块、输入输出模块、配置获取模块、时钟延时模块和采样模块。时钟产生模块获取当前时钟信号,根据当前时钟信号生成输出时钟信号,输出输出时钟信号至输入输出模块;输入输出模块将输出时钟信号由SPI输出至SPI Flash颗粒,将输出时钟信号输出至时钟延时模块;配置获取模块获取配置参数和延时使能信号,将配置参数和延时使能信号输出至时钟延时模块;时钟延时模块根据延时使能信号、输出时钟信号和配置参数,生成采样时钟信号,将采样时钟信号输出至采样模块;采样模块由SPI接收SPI数据,由采样时钟信号对SPI数据进行采样。
Description
技术领域
本发明涉及电子技术,尤其涉及一种数据采样方法和芯片。
背景技术
串行外设接口(Serial Peripheral Interface,SPI)是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便。由于SPI具有简单易用的特性,越来越多的芯片集成了这种通信协议。随着SPI Flash越来越广泛的应用,速度越来越高,原有的芯片的设计已经无法满足高速采样数据的需求,需要增加对高速的支持,这是由于SPI FLASH颗粒只有输入时钟,没有输出时钟,输出的数据送给控制器采样,控制器通过内部的时钟采样,因为不同的Flash厂家输出延时不一样,PCB板级引入延时,可能还有桥接芯片引入更大延时,会降低芯片中控制器进行数据采样的稳定性。图1为芯片与SPI Flash颗粒的时钟、数据路径延时示意图,如图1所示,芯片与SPI Flash颗粒的数据路径延时主要包括:芯片时钟输出延时、PCB时钟走线延时、颗粒时钟输入延时、颗粒数据输出延时、PCB数据走线延时、芯片输入延时。现有的解决方案主要有以下两种:
(1)在芯片外部增加环路时钟输入,从而补偿芯片内部输出延时和输入延时。
(2)在芯片内部增加高频时钟去采样。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
(1)在芯片外部增加环路时钟仅仅能补偿芯片内部输出延时和输入延时,但是不能补偿PCB延时和外接电平转换芯片延时,另一方面,每个Flash厂家颗粒延时范围都不一致,因此也无法进行准确补偿。
(2)在芯片内部增加高频时钟,通过高频时钟的不同周期去采样。但是,高频时钟给时钟树带来麻烦,使采样操作变得繁琐。
发明内容
本发明实施例提供一种数据采样方法和芯片,可以根据当前时钟信号获取采样时钟信号,然后通过采样时钟信号对SPI数据进行采样,从而获得采样数据。满足对不同速率的SPI数据进行采样的需求,实现数据的稳定采样,具有兼容性强,软件可控的特点。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种数据采样方法和芯片,包括:
本发明实施例提供了一种芯片,所述芯片包括:控制器及与所述控制器连接的串行外设接口SPI,所述控制器包括:时钟产生模块、输入输出模块、配置获取模块、时钟延时模块以及采样模块,所述输入输出模块与所述SPI连接,其中,
所述时钟产生模块,用于获取当前时钟信号,根据所述当前时钟信号生成输出时钟信号,输出所述输出时钟信号至所述输入输出模块;
所述输入输出模块,用于将所述输出时钟信号通过所述SPI输出至SPIFlash颗粒,以及将所述输出时钟信号输出至所述时钟延时模块;
所述配置获取模块,用于获取配置参数和延时使能信号,将所述配置参数和所述延时使能信号输出至所述时钟延时模块;
所述时钟延时模块,用于根据所述延时使能信号、所述输出时钟信号和所述配置参数,生成采样时钟信号,将所述采样时钟信号输出至所述采样模块;
所述采样模块,用于通过所述SPI接收SPI数据,根据所述采样时钟信号对所述SPI数据进行采样。
进一步地,所述配置获取模块,具体用于配置延时线级数M、延时单元级数N和所述延时使能信号,将所述延时线级数M、所述延时单元级数N以及所述延时使能信号输出至所述时钟延时模块;其中,M和N均为大于等于1的自然数。
进一步地,所述时钟延时模块包括:第一选择模块、第二选择模块和延时模块;其中,
所述时钟延时模块,具体用于根据所述延时线级数M配置所述第二选择模块的级数,以及所述延时模块的级数;
所述第一选择模块的第一输入端与所述输入输出模块连接,所述第一选择模块的第二输入端与所述第二选择模块连接,所述第一选择模块的第三输入端与所述配置获取模块连接,所述第一选择模块的输出端与所述采样模块连接;
所述第二选择模块由M级第一选择子模块构成;其中,第k级中有2M-k个第一选择子模块;其中,k为大于等于1且小于等于M的自然数;
所述延时模块由2M级延时子模块构成。
进一步地,所述时钟延时模块具体包括:
如果M等于1,所述第二选择模块中的第一选择子模块的第一输入端与第1级延时子模块连接;所述第一选择子模块的第二输入端与第2级延时子模块连接;所述第一选择子模块的输出端与所述第一选择模块连接。
进一步地,所述时钟延时模块具体包括:
如果M大于1,对于所述第二选择模块中的第k级第一选择子模块:
当k等于1时,第一级中的第i个第一选择子模块的第一输入端与所述2M级延时子模块中的第2i-1级延时子模块连接;所述第i个第一选择子模块的第二输入端与所述2M级延时子模块中的第2i级延时子模块连接;当i为偶数时,所述第i个第一选择子模块的输出端与第2级的第i/2个第一选择子模块连接,或者当i为奇数时,所述第i个第一选择子模块的输出端与第2级的第(i+1)/2个第一选择子模块连接;其中,i为大于等于1且小于等于2M的自然数;
当k大于1且小于M时,第k级中的第j个第一选择子模块的第一输入端与第k-1级中的第2j-1个第一选择子模块连接;所述第j个第一选择子模块的第二输入端与第k-1级中的第2j个第一选择子模块连接;当j为偶数时,所述第j个第一选择子模块的输出端与第k+1级中的第j/2个第一选择子模块连接,或者当j为奇数时,所述第j个第一选择子模块的输出端与第k+1级的第(j+1)/2个第一选择子模块连接;其中j为大于等于1且小于等于2M-k的自然数;
当k等于M时,第M级中的第一选择子模块的第一输入端与第M-1级中的第一个第一选择子模块连接;所述第一选择子模块的第二输入端与第M-1级中的第二个第一选择子模块连接;所述第一选择子模块的输出端与所述第一选择模块连接。
进一步地,所述延时子模块包括:第三选择模块和寄存模块;其中,
所述时钟延时模块,具体用于根据所述延时单元级数N配置所述第三选择模块的级数,以及所述寄存模块的级数;
所述第三选择模块由N级第二选择子模块构成;其中,第h级中有2M-h个第二选择子模块;其中,h为大于等于1且小于等于N的自然数;
所述寄存模块由2N级寄存子模块构成。
进一步地,如果N等于1,所述第三选择模块中的第二选择子模块的第一输入端与第一级寄存子模块连接;所述第二选择子模块的第二输入端与第二级寄存子模块连接;所述第二选择子模块的输出端与所述第二选择模块连接;
进一步地,如果N大于1,对于所述第三选择模块中的第h级第二选择子模块:
当h等于1时,所述第一级中的第p个第二选择子模块的第一输入端与所述2N级寄存子模块中的第2p-1级寄存子模块连接;所述第p个第二选择子模块的第二输入端与所述2N级寄存子模块中的第2p级寄存子模块连接;当p为偶数时,所述第p个第二选择子模块的输出端与第二级的第p/2个第二选择模块,或者当p为奇数时,所述第p个第二选择子模块的输出端与第二级的第(p+1)/2个第二选择子模块连接;其中,p为大于等于1且小于等于2N的自然数;
当h大于1且小于N时,第h级中的第q个第二选择子模块的第一输入端与第h-1级中的第2q-1个第二选择子模块连接;所述第q个第二选择子模块的第二输入端与第h-1级中的第2q个第二选择子模块连接;当q为偶数时,所述第q个第二选择子模块的输出端与第h+1级中的第q/2个第二选择子模块,或者当q为奇数时,所述第q个第二选择子模块的输出端与第h+1级中的第(q+1)/2个第二选择子模块连接;其中,q为大于等于1且小于等于2N-h的自然数;
当h等于N时,第N级中的第二选择子模块的第一输入端与第N-1级中的第一个第二选择子模块连接;所述第二选择子模块的第二输入端与第N-1级中的第二个第二选择子模块连接;所述第二选择子模块的输出端与所述第二选择模块连接。
进一步地,所述第一选择子模块和第二选择子模块为选择器;
所述寄存子模块为寄存器。
本发明实施例提供了一种数据采样方法,所述方法包括:
获取当前时钟信号,根据所述当前时钟信号生成输出时钟信号;
获取配置参数和延时使能信号,根据所述延时使能信号、所述输出时钟信号和所述配置参数,生成采样时钟信号;
接收SPI数据,通过所述采样时钟信号对所述SPI数据进行采样。
进一步地,所述配置参数包括延时线级数M、延时单元级数N;其中,M和N均为大于等于1的自然数。
进一步地,所述接收SPI数据之前,所述方法还包括:
获取预设校验数据,通过所述采样时钟信号对所述预设校验数据进行采样,获得校验采样数据;
根据所述采样数据和所述校验采样数据判断所述配置参数是否满足预设规则,如果所述配置参数满足所述预设规则,则对所述SPI数据进行采样。
进一步地,所述根据所述采样数据和所述校验采样数据判断所述配置参数是否满足预设规则,还包括:
如果所述配置参数不满足所述预设规则,则对所述配置参数进行调整,直到调整后的配置参数满足所述预设规则。
进一步地,所述对所述配置参数进行调整,包括:
根据预设方法对所述延时线级数M和所述延时单元级数N进行调整。
进一步地,所述获得采样数据之后,所述方法还包括:
将所述采样数据输出至寄存器;
当获取读取请求时,将所述采样数据按照预设时钟域进行读取,获得更新的采样数据;
使用所述更新的采样数据。
由此可见,在本发明实施例的技术方案中,获取当前时钟信号,根据当前时钟信号生成输出时钟信号;获取配置参数和延时使能信号,根据延时使能信号、输出时钟信号和配置参数,生成采样时钟信号;接收SPI数据,通过采样时钟信号对SPI数据进行采样,获得采样数据。也就是说,在本发明提出的技术方案中,可以根据当前时钟信号获取采样时钟信号,然后通过采样时钟信号对SPI数据进行采样,从而获得采样数据。显然,和现有技术相比,本发明实施例提出的一种数据采样方法和芯片,能够满足对不同速率的SPI数据进行采样的需求,实现数据的稳定采样,具有兼容性强,软件可控的特点。
附图说明
图1为芯片与SPI Flash颗粒的时钟、数据路径延时示意图;
图2为本发明实施例中本发明实施例中芯片的第一组成结构示意图;
图3为本发明实施例中芯片时钟信号传输示意图;
图4为本发明实施例中芯片的第二组成结构示意图;
图5为本发明实施例中时钟延时模块的第一连接结构示意图
图6为本发明实施例中时钟延时模块的第二连接结构示意图;
图7为本发明实施例中芯片的第三组成结构示意图;
图8为本发明实施例中延时子模块的第一连接结构示意图;
图9为本发明实施例中数据采样方法的实现流程示意图;
图10为本发明实施例中校验配置参数方法的实现流程示意图;
图11为本发明实施例中采样时钟信号延时示意图。
具体实施方式
下面结合附图对本发明实施例提供的一种数据采样方法和芯片进行详细地描述。
实施例一
本发明实施例公开了一种芯片1,图2为本发明实施例中芯片的第一组成结构示意图,如图2所示,芯片1包括:控制器10及与控制器10连接的SPI11,其中,上述控制器10可以通过单根数据线、双根数据线以及四根数据线中的任意一种产生输出时钟。
在本发明的具体实施例中,控制器10包括:时钟产生模块100、输入输出模块101、配置获取模块102、时钟延时模块103以及采样模块104,其中,输入输出模块101与SPI11连接。
时钟产生模块100,用于获取当前时钟信号,根据当前时钟信号生成输出时钟信号,输出上述输出时钟信号至输入输出模块101。
在本发明的具体实施例中,时钟产生模块100可以获取当前工作时钟域的当前时钟信号,然后根据当前时钟信号生成输出时钟信号,将上述输出时钟信号至输入输出模块101。
进一步地,在本发明的具体实施例中,由于当前工作时钟域的频率为输出时钟信号的两倍,时钟产生模块100需要对获取的当前时钟信号进行转换,获得输出时钟信号。
进一步地,在本发明的具体实施例中,时钟产生模块100可以通过单根数据线、双根数据线以及四根数据线中的任意一种将上述输出时钟信号输出至输入输出模块101。
进一步地,在本发明的具体实施例中,时钟产生模块100在将上述输出时钟信号至输入输出模块101的同时,还向输入输出模块101输出预设使能信号,该预设使能信号用于控制输入输出模块101是否对上述输出时钟信号进行输出。
输入输出模块101,用于将输出时钟信号通过SPI11输出至SPI Flash颗粒,以及将输出时钟信号输出至时钟延时模块103。
在本发明的具体实施例中,输入输出模块101接收到时钟产生模块100发送的输出时钟信号后,可以将该输出时钟信号同时输出至SPI Flash颗粒以及时钟延时模块103。其中,输入输出模块101通过SPI11将输出时钟信号进行输出。
进一步地,在本发明的具体实施例中,输入输出模块101接收到时钟产生模块100发送的输出时钟信号的同时,输入输出模块101还接收到时钟产生模块100发送的预设使能信号,该预设使能信号用于控制输入输出模块101是否对上述输出时钟信号进行输出。
进一步地,在本发明的具体实施例中,当预设使能信号对应的为预设的开启信号时,输入输出模块101将该输出时钟信号同时输出至SPI Flash颗粒以及时钟延时模块103;当预设使能信号对应的为预设的关闭信号时,输入输出模块101将不对该输出时钟信号进行输出。
配置获取模块102,用于获取配置参数和延时使能信号,将配置参数和延时使能信号输出至时钟延时模块103。
在本发明的具体实施例中,配置获取模块102获取配置参数和延时使能信号之后,将配置参数和延时使能信号输出至时钟延时模块103。其中,配置参数和延时使能信号可以预先存储在芯片中的寄存器中,然后由寄存器发送给配置获取模块102。
进一步地,在本发明的具体实施例中,配置获取模块102具体用于配置配置参数和延时使能信号,将配置参数和延时使能信号输出至时钟延时模块103。其中,配置参数包括:延时线级数M、延时单元级数N;其中,M和N均为大于等于1的自然数。
进一步地,在本发明的具体实施例中,配置参数用于配置时钟延时模块103的组成结构,延时使能信号用于控制时钟延时模块103是否输出采样时钟信号。
时钟延时模块103,用于根据延时使能信号、输出时钟信号和配置参数,生成采样时钟信号,将采样时钟信号输出至采样模块104。
在本发明的具体实施例中,时钟延时模块103在接收到由输入输出模块101发送的输出时钟信号、由配置获取模块102发送的配置参数和延时使能信号之后,根据延时使能信号、输出时钟信号和配置参数,生成采样时钟信号,将采样时钟信号输出至采样模块104。
采样模块104,用于通过SPI11接收SPI数据,根据采样时钟信号对SPI数据进行采样。
在本发明的具体实施例中,采样模块104在获取由时钟延时模块103发送的采样时钟信号以后,可以通过SPI11接收SPI数据,然后根据采样时钟信号对SPI数据进行采样,最终得到采样数据。
图3为本发明实施例中芯片时钟信号传输示意图,如图3所示,时钟产生模块100获取当前时钟信号wclk,生成输出时钟信号spi_clk_o以及预设使能信号spi_clk_oe,输出上述输出时钟信号以及预设使能信号至输入输出模块101;输入输出模块101将输出时钟信号spi_clk_o作为通讯同步时钟信号spi_clk通过SPI11输出至SPI Flash颗粒,以及将输出时钟信号spi_clk_o作为输入时钟信号clk_in输出至时钟延时模块103;时钟延时模块103在接收到由输入输出模块101发送的输出时钟信号、由配置获取模块102发送的配置参数M、N和延时使能信号tapdly_en之后,根据延时使能信号、输出时钟信号和配置参数,生成采样时钟信号clk_sample,将采样时钟信号输出至采样模块104;采样模块104可以通过SPI11接收SPI数据spi_dat,然后根据采样时钟信号对SPI数据进行采样,最终得到采样数据,将采样数据输出至先入先出队列fifo。
实施例二
图4为本发明实施例中芯片的第二组成结构示意图,如图4所示,时钟延时模块103包括第一选择模块1030、第二选择模块1031以及延时模块1032,其中,第二选择模块1031包括第一选择子模块10310,延时模块1032包括延时子模块10320。
在本发明的具体实施例中,时钟延时模块103具体用于根据上述延时线级数M配置第二选择模块1031的级数,同时根据上述延时线级数M配置延时模块1032的级数。例如,当延时线级数M为3时,时钟延时模块103配置第二选择模块1031的级数为3,同时配置延时模块1032的级数也为3。
进一步地,在本发明的具体实施例中,第二选择模块1031由M级第一选择子模块10310构成;其中,第k级中有2M-k个第一选择子模块10310;其中,k为大于等于1且小于等于M的自然数;延时模块1032由2M级延时子模块10320构成。
图5为本发明实施例中时钟延时模块的第一连接结构示意图,如图5所示,第一选择模块1030的第一输入端与输入输出模块101连接,第一选择模块1030的第二输入端与第二选择模块1031连接,第一选择模块1030的第三输入端与配置获取模块102连接,第一选择模块1030的输出端与采样模块连接104。
在本发明的具体实施例中,第一选择模块1030获取由输入输出模块101发送的输出时钟信号,且第一选择模块1030获取由第二选择模块1031发送的采样时钟信号,同时,第一选择模块1030获取由配置获取模块102发送的延时使能信号,第一选择模块1030根据延时使能信号选择输出上述输出时钟信号,或者,输出上述采样时钟信号。
进一步地,在本发明的具体实时例中,配置获取模块102发送的延时使能信号用于控制第一选择模块1030的输出,较佳地,延时使能信号是根据输出时钟信号的速率配置的。
进一步地,在本发明的具体实施例中,当输出时钟信号的速率大于预设阈值时,可以将延时使能信号置为1,表示控制第一选择模块1030输出采样时钟信号;当输出时钟信号的速率小于预设阈值时,可以将延时使能信号置为0,表示控制第一选择模块1030输出时钟信号。
图6为本发明实施例中时钟延时模块的第二连接结构示意图。
如图6所示,当M等于1,即第二选择模块1031由1级第一选择子模块10310构成,延时模块1032由2级延时子模块10320构成。第二选择模块1031中的第一选择子模块10310的第一输入端与第一级延时子模块10320连接;第一选择子模块10310的第二输入端与第二级延时子模块10320连接;第一选择子模块10310的输出端与第一选择模块1030连接。
如上述图6所示,当M大于1,即第二选择模块1031由M级第一选择子模块10310构成,延时模块1032由2M级延时子模块10320构成。
在本发明的具体实施例中,对于第二选择模块1031中的第k级第一选择子模块10310:
当k等于1时,第1级中的第i个第一选择子模块10310的第一输入端与2M级延时子模块10320中的第2i-1级延时子模块10320连接;第i个第一选择子模块10310的第二输入端与2M级延时子模块10320中的第2i级延时子模块10320连接;当i为偶数时,第i个第一选择子模块10310的输出端与第2级的第i/2个第一选择子模块10310连接,或者当i为奇数时,第i个第一选择子模块10310的输出端与第2级的第(i+1)/2个第一选择子模块10310连接;其中,i为大于等于1且小于等于2M的自然数;当k大于1且小于M时,第k级中的第j个第一选择子模块10310的第一输入端与第k-1级中的第2j-1个第一选择子模块10310连接;第j个第一选择子模块10310的第二输入端与第k-1级中的第2j个第一选择子模块10310连接;当j为偶数时,第j个第一选择子模块10310的输出端与第k+1级中的第j/2个第一选择子模块10310连接,或者当j为奇数时,第j个第一选择子模块10310的输出端与第k+1级的第(j+1)/2个第一选择子模块10310连接;其中j为大于等于1且小于等于2M-k的自然数;当k等于M时,第M级中的第一选择子模块10310的第一输入端与第M-1级中的第一个第一选择子模块10310连接;第一选择子模块10310的第二输入端与第M-1级中的第二个第一选择子模块10310连接;第一选择子模块10310的输出端与第一选择模块1030连接。
在本发明的具体实施例中,基于上述图6的钟延时模块的第三连接结构示意图,例如,当M=3,i=1,j=2时,第一级中的第一个第一选择子模块10310的第一输入端与8级延时子模块10320中的第一级延时子模块10320连接;第一个第一选择子模块10310的第二输入端与8级延时子模块10320中的第二级延时子模块10320连接;第一个第一选择子模块10310的输出端与第2级的第二个第一选择子模块10310连接;第二级中的第二个第一选择子模块10310的第一输入端与第一级中的第三个第一选择子模块10310连接;第二个第一选择子模块10310的第二输入端与第一级中的第四个第一选择子模块10310连接;第二个第一选择子模块10310的输出端与第三级的第一个第一选择子模块10310连接;第三级中的第一选择子模块10310的第一输入端与第二级中的第一个第一选择子模块10310连接;第一选择子模块10310的第二输入端与第二级中的第二个第一选择子模块10310连接;第一选择子模块10310的输出端与第一选择模块1030连接。
实施例三
图7为本发明实施例中芯片的第三组成结构示意图,如图7所示,延时子模块10320包括第三选择模块103200和寄存模块103201,其中,第三选择模块103200包括第二选择子模块1032000,寄存模块103201包括寄存子模块1032010。
在本发明的具体实施例中,时钟延时模块103具体用于根据上述延时单元级数N配置第三选择模块103200的级数,同时根据上述延时单元级数N配置寄存模块103201的级数。例如,当延时单元级数N为3时,时钟延时模块103配置第三选择模块103200的级数为3,同时配置寄存模块103201的级数也为3。
进一步地,在本发明的具体实施例中,第三选择模块103200由N级第二选择子模块1032000构成;其中,第k级中有2N-k个第二选择子模块1032000;其中,k为大于等于1且小于等于M的自然数;寄存模块103201由2N级寄存子模块1032010构成。
图8为本发明实施例中延时子模块的第一连接结构示意图。
如图8所示,当N等于1,即第三选择模块103200由1级第二选择子模块1032000构成,寄存模块103201由2级寄存子模块1032010构成。第三选择模块103200中的第二选择子模块1032000的第一输入端与第一级寄存子模块1032010连接;第二选择子模块1032000的第二输入端与第二级寄存子模块1032010连接;第二选择子模块1032000的输出端与第二选择模块1031连接;
如上述图8所示,当N大于1,即第三选择模块103200由N级第二选择子模块1032000构成,寄存模块103201由2N级寄存子模块1032010构成。
在本发明的具体实施例中,对于第三选择模块103200中的第h级第二选择子模块1032000:
当h等于1时,第一级中的第p个第二选择子模块1032000的第一输入端与2N级寄存子模块1032010中的第2p-1级寄存子模块1032010连接;第p个第二选择子模块1032000的第二输入端与2N级寄存子模块1032010中的第2p级寄存子模块1032010连接;当p为偶数时,第p个第二选择子模块1032000的输出端与第2级的第p/2个第二选择模块1032000连接,或者当p为奇数时,第p个第二选择子模块1032000的输出端与第2级的第(p+1)/2个第二选择子模块1032000连接;其中,p为大于等于1且小于等于2N的自然数;当h大于1且小于N时,第h级中的第q个第二选择子模块1032000的第一输入端与第h-1级中的第2q-1个第二选择子模块1032000连接;第q个第二选择子模块1032000的第二输入端与第h-1级中的第2q个第二选择子模块1032000连接;当q为偶数时,所述第q个第二选择子模块1032000的输出端与第h+1级中的第q/2个第二选择子模块1032000连接,或者当q为奇数时,所述第q个第二选择子模块1032000的输出端与第h+1级中的第(q+1)/2个第二选择子模块1032000连接;其中,q为大于等于1且小于等于2N-h的自然数;当h等于N时,第N级中的第二选择子模块1032000的第一输入端与第N-1级中的第一个第二选择子模块1032000连接;第二选择子模块1032000的第二输入端与第N-1级中的第二个第二选择子模块1032000连接;第二选择子模块1032000的输出端与第二选择模块1031连接。
在本发明的具体实施例中,基于上述图8的延时子模块的第一连接结构示意图,例如,当N=3,p=1,q=2时,第一级中的第一个第二选择子模块1032000的第一输入端与8级寄存子模块1032010中的第一级寄存子模块1032010连接;第一个第二选择子模块1032000的第二输入端与8级寄存子模块1032010中的第二级寄存子模块1032010连接;第一个第二选择子模块1032000的输出端与第二级的第一个第二选择子模块1032000连接;第二级中的第二个第二选择子模块1032000的第一输入端与第一级中的第三个第二选择子模块1032000连接;第二个第二选择子模块1032000的第二输入端与第一级中的第四个第二选择子模块1032000连接;第二个第二选择子模块1032000的输出端与第三级中的第一个第二选择子模块1032000连接;第三级中的第二选择子模块1032000的第一输入端与第二级中的第一个第二选择子模块1032000连接;第二选择子模块1032000的第二输入端与第二级中的第二个第二选择子模块1032000连接;第二选择子模块1032000的输出端与第二选择模块1031连接。
在本发明的具体实施例中,进一步地,第一选择子模块10310和第二选择子模块1032000可以为选择器,寄存子模块1032010可以为寄存器。
本发明实施例提出的芯片,上述芯片包括:控制器及与控制器连接的SPI,其中,所述控制器包括:时钟产生模块、输入输出模块、配置获取模块、时钟延时模块以及采样模块,输入输出模块与SPI连接。其中,时钟产生模块用于获取当前时钟信号,根据当前时钟信号生成输出时钟信号,输出上述输出时钟信号至输入输出模块;输入输出模块将输出时钟信号通过SPI输出至SPI Flash颗粒,以及将输出时钟信号输出至时钟延时模块;配置获取模块获取配置参数和延时使能信号,将配置参数和延时使能信号输出至时钟延时模块;时钟延时模块根据延时使能信号、输出时钟信号和配置参数,生成采样时钟信号,将采样时钟信号输出至采样模块;采样模块通过SPI接收SPI数据,根据采样时钟信号对SPI数据进行采样。在本发明提出的技术方案中,可以根据当前时钟信号获取采样时钟信号,然后通过采样时钟信号对SPI数据进行采样,从而获得采样数据。显然,和现有技术相比,本发明实施例提出的一种数据采样方法和芯片,能够满足对不同速率的SPI数据进行采样的需求,实现数据的稳定采样,具有兼容性强,软件可控的特点;并且,实现起来简单方便,便于普及,适用范围更广。
实施例四
图9为本发明实施例中数据采样方法的实现流程示意图,如图9所示,本发明具体实施例中,数据采样的方法具体包括以下步骤:
步骤101、获取当前时钟信号,根据所述当前时钟信号生成输出时钟信号。
在本发明的具体实施例中,控制器可以获取当前工作时钟域的当前时钟信号,然后根据当前时钟信号生成输出时钟信号。
进一步地,在本发明的具体实施例中,由于当前工作时钟域的频率为输出时钟信号的两倍,控制器需要对获取的当前时钟信号进行转换,获得输出时钟信号。
进一步地,在本发明的具体实施例中,控制器可以通过单根数据线、双根数据线以及四根数据线中的任意一种将上述输出时钟信号输出。
进一步地,在本发明的具体实施例中,控制器生成上述输出时钟信号的同时,还生产预设使能信号,该预设使能信号用于控制是否对上述输出时钟信号进行输出。
进一步地,在本发明的具体实施例中,当预设使能信号对应的为预设的开启信号时,控制器输出该输出时钟信号;当预设使能信号对应的为预设的关闭信号时,控制器将不对该输出时钟信号进行输出。
步骤102、获取配置参数和延时使能信号,根据延时使能信号、输出时钟信号和配置参数,生成采样时钟信号。
在本发明的具体实施例中,控制器可以获取配置参数和延时使能信号,根据延时使能信号、输出时钟信号和配置参数,生成采样时钟信号。其中,配置参数和延时使能信号可以预先存储在芯片中的寄存器中,然后由寄存器发送给控制器。
进一步地,在本发明的具体实施例中,配置参数包括:延时线级数M、延时单元级数N;其中,M和N均为大于等于1的自然数。
进一步地,在本发明的具体实施例中,配置参数用于配置采样时钟信号的生成,延时使能信号用于控制采样时钟信号的输出。
步骤103、接收SPI数据,通过采样时钟信号对SPI数据进行采样,获得采样数据。
在本发明的具体实施例中,控制器在获取由时钟延时模块103发送的采样时钟信号以后,可以通过SPI接收SPI数据,然后根据采样时钟信号对SPI数据进行采样,最终得到采样数据。
如上述图9所示,在获得采样数据之后,本发明具体实施例提出的数据采样方法还包括以下步骤:
步骤104、将所述采样数据输出至寄存器;
步骤105、当获取读取请求时,将采样数据按照预设时钟域进行读取,获得更新的采样数据;
步骤106、使用更新的采样数据。
在本发明的具体实施例中,控制器可以将对SPI数据采样后得到的采样数据同步到预设时钟域中进行读取,从而获得更新的采样数据,最终可以对更新的采样数据进行下一级的处理和使用。
实施例五
图10为本发明实施例中校验配置参数方法的实现流程示意图,如图10所示,本发明具体实施例中,校验配置参数的方法具体包括以下步骤:
步骤201、获取预设校验数据,通过采样时钟信号对预设校验数据进行采样,获得校验采样数据。
在本发明的具体实施例中,控制器在接收SPI数据之前,获取预设校验数据,通过采样时钟信号对预设校验数据进行采样,获得校验采样数据。
进一步地,在本发明的具体实施例中,控制器在对SPI数据进行采样之前,需要对配置参数进行校验,从而确定上述配置参数是否可以配置满足采样需求的采样信号。其中,控制器对配置参数进行校验的方法可以为获取预设校验数据,通过采样时钟信号对预设校验数据进行采样,获得校验采样数据。
步骤202、根据采样数据和校验采样数据判断配置参数是否满足预设规则,如果配置参数满足预设规则,则对SPI数据进行采样。
在本发明的具体实施例中,控制器在根据配置参数获得校验采样数据之后,可以根据采样数据和校验采样数据判断配置参数是否满足预设规则,如果配置参数满足预设规则,则对SPI数据进行采样。
进一步地,在本发明的具体实施例中,控制器获取校验采样数据后,将校验采样数据与校验数据进行比对获取比对结果,控制器可以根据比对判断是否满足预设规则,如果满足,则可以认为上述配置参数符合数据采样的预设要求,便可以根据上述配置参数配置采样信号。
如上述图10所示,校验配置参数的方法还包括:
步骤203、如果配置参数不满足预设规则,则对配置参数进行调整,直到调整后的配置参数满足预设规则。
在本发明的具体实施例中,如果配置参数不满足预设规则,控制器则对配置参数进行调整,根据调整后的配置参数生成采样信号,然后重新对采样数据进行采样,直到调整后的配置参数满足预设规则。
进一步地,在本发明的具体实施例中,当校验采样数据与校验数据的比对结果不满足预设规则,控制器可以根据预设方法对配置参数进行调整,即控制器可以根据预设方法对延时线级数M和延时单元级数N进行调整。
图11为本发明实施例中采样时钟信号延时示意图,如图11所示,(a)中在不对采样时钟信号进行延时的情况下,采样时钟信号能满足采样的时序关系,在clk_sample上升沿时,刚好能采样到spi_datX(X可以为1,2或4比特)。由于(b)中的spi_datX比(a)的相位往后移动了,此时如果不对clk_in延时,clk_sample上升沿不可能对spi_datX有效采样,因此需要配置延时使能信号tapdly_en和配置参数M、N。(c)中的spi_datX比(b)的相位更往后移动,因此需要对clk_in延时更大。
本发明实施例提出的数据采样方法,获取当前时钟信号,根据当前时钟信号生成输出时钟信号;获取配置参数和延时使能信号,根据延时使能信号、输出时钟信号和配置参数,生成采样时钟信号;接收SPI数据,通过采样时钟信号对SPI数据进行采样,获得采样数据。也就是说,在本发明提出的技术方案中,可以根据当前时钟信号获取采样时钟信号,然后通过采样时钟信号对SPI数据进行采样,从而获得采样数据。显然,和现有技术相比,本发明实施例提出的一种数据采样方法和芯片,能够满足对不同速率的SPI数据进行采样的需求,实现数据的稳定采样,具有兼容性强,软件可控的特点;并且,实现起来简单方便,便于普及,适用范围更广。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (15)
1.一种芯片,所述芯片包括:控制器及与所述控制器连接的串行外设接口SPI,其特征在于,所述控制器包括:时钟产生模块、输入输出模块、配置获取模块、时钟延时模块以及采样模块,所述输入输出模块与所述SPI连接,其中,
所述时钟产生模块,用于获取当前时钟信号,根据所述当前时钟信号生成输出时钟信号,输出所述输出时钟信号至所述输入输出模块;
所述输入输出模块,用于将所述输出时钟信号通过所述SPI输出至SPI Flash颗粒,以及将所述输出时钟信号输出至所述时钟延时模块;
所述配置获取模块,用于获取配置参数和延时使能信号,将所述配置参数和所述延时使能信号输出至所述时钟延时模块;
所述时钟延时模块,用于根据所述延时使能信号、所述输出时钟信号和所述配置参数,生成采样时钟信号,将所述采样时钟信号输出至所述采样模块;
所述采样模块,用于通过所述SPI接收SPI数据,根据所述采样时钟信号对所述SPI数据进行采样。
2.根据权利要求1所述的芯片,其特征在于,
所述配置获取模块,具体用于配置延时线级数M、延时单元级数N和所述延时使能信号,将所述延时线级数M、所述延时单元级数N以及所述延时使能信号输出至所述时钟延时模块;其中,M和N均为大于等于1的自然数。
3.根据权利要求2所述的芯片,其特征在于,所述时钟延时模块包括:第一选择模块、第二选择模块和延时模块;其中,
所述时钟延时模块,具体用于根据所述延时线级数M配置所述第二选择模块的级数,以及所述延时模块的级数;
所述第一选择模块的第一输入端与所述输入输出模块连接,所述第一选择模块的第二输入端与所述第二选择模块连接,所述第一选择模块的第三输入端与所述配置获取模块连接,所述第一选择模块的输出端与所述采样模块连接;
所述第二选择模块由M级第一选择子模块构成;其中,第k级中有2M-k个第一选择子模块;其中,k为大于等于1且小于等于M的自然数;
所述延时模块由2M级延时子模块构成。
4.根据权利要求3所述的芯片,其特征在于,所述时钟延时模块具体包括:
如果M等于1,所述第二选择模块中的第一选择子模块的第一输入端与第1级延时子模块连接;所述第一选择子模块的第二输入端与第2级延时子模块连接;所述第一选择子模块的输出端与所述第一选择模块连接。
5.根据权利要求3所述的芯片,其特征在于,所述时钟延时模块具体包括:
如果M大于1,对于所述第二选择模块中的第k级第一选择子模块:
当k等于1时,第一级中的第i个第一选择子模块的第一输入端与所述2M级延时子模块中的第2i-1级延时子模块连接;所述第i个第一选择子模块的第二输入端与所述2M级延时子模块中的第2i级延时子模块连接;当i为偶数时,所述第i个第一选择子模块的输出端与第2级的第i/2个第一选择子模块连接,或者当i为奇数时,所述第i个第一选择子模块的输出端与第2级的第(i+1)/2个第一选择子模块连接;其中,i为大于等于1且小于等于2M的自然数;
当k大于1且小于M时,第k级中的第j个第一选择子模块的第一输入端与第k-1级中的第2j-1个第一选择子模块连接;所述第j个第一选择子模块的第二输入端与第k-1级中的第2j个第一选择子模块连接;当j为偶数时,所述第j个第一选择子模块的输出端与第k+1级中的第j/2个第一选择子模块连接,或者当j为奇数时,所述第j个第一选择子模块的输出端与第k+1级的第(j+1)/2个第一选择子模块连接;其中j为大于等于1且小于等于2M-k的自然数;
当k等于M时,第M级中的第一选择子模块的第一输入端与第M-1级中的第一个第一选择子模块连接;所述第一选择子模块的第二输入端与第M-1级中的第二个第一选择子模块连接;所述第一选择子模块的输出端与所述第一选择模块连接。
6.根据权利要求3所述的芯片,其特征在于,所述延时子模块包括:第三选择模块和寄存模块;其中,
所述时钟延时模块,具体用于根据所述延时单元级数N配置所述第三选择模块的级数,以及所述寄存模块的级数;
所述第三选择模块由N级第二选择子模块构成;其中,第h级中有2M-h个第二选择子模块;其中,h为大于等于1且小于等于N的自然数;
所述寄存模块由2N级寄存子模块构成。
7.根据权利要求6所述的芯片,其特征在于,
如果N等于1,所述第三选择模块中的第二选择子模块的第一输入端与第一级寄存子模块连接;所述第二选择子模块的第二输入端与第二级寄存子模块连接;所述第二选择子模块的输出端与所述第二选择模块连接。
8.根据权利要求6所述的芯片,其特征在于,
如果N大于1,对于所述第三选择模块中的第h级第二选择子模块:
当h等于1时,所述第一级中的第p个第二选择子模块的第一输入端与所述2N级寄存子模块中的第2p-1级寄存子模块连接;所述第p个第二选择子模块的第二输入端与所述2N级寄存子模块中的第2p级寄存子模块连接;当p为偶数时,所述第p个第二选择子模块的输出端与第二级的第p/2个第二选择模块,或者当p为奇数时,所述第p个第二选择子模块的输出端与第二级的第(p+1)/2个第二选择子模块连接;其中,p为大于等于1且小于等于2N的自然数;
当h大于1且小于N时,第h级中的第q个第二选择子模块的第一输入端与第h-1级中的第2q-1个第二选择子模块连接;所述第q个第二选择子模块的第二输入端与第h-1级中的第2q个第二选择子模块连接;当q为偶数时,所述第q个第二选择子模块的输出端与第h+1级中的第q/2个第二选择子模块,或者当q为奇数时,所述第q个第二选择子模块的输出端与第h+1级中的第(q+1)/2个第二选择子模块连接;其中,q为大于等于1且小于等于2N-h的自然数;
当h等于N时,第N级中的第二选择子模块的第一输入端与第N-1级中的第一个第二选择子模块连接;所述第二选择子模块的第二输入端与第N-1级中的第二个第二选择子模块连接;所述第二选择子模块的输出端与所述第二选择模块连接。
9.根据权利要求3或5所述的芯片,其特征在于,
所述第一选择子模块和第二选择子模块为选择器;
所述寄存子模块为寄存器。
10.一种数据采样方法,其特征在于,所述方法包括:
获取当前时钟信号,根据所述当前时钟信号生成输出时钟信号;
获取配置参数和延时使能信号,根据所述延时使能信号、所述输出时钟信号和所述配置参数,生成采样时钟信号;
接收SPI数据,通过所述采样时钟信号对所述SPI数据进行采样。
11.根据权利要求10所述的方法,其特征在于,所述配置参数包括延时线级数M、延时单元级数N;其中,M和N均为大于等于1的自然数。
12.根据权利要求10所述的方法,其特征在于,所述接收SPI数据之前,所述方法还包括:
获取预设校验数据,通过所述采样时钟信号对所述预设校验数据进行采样,获得校验采样数据;
根据所述采样数据和所述校验采样数据判断所述配置参数是否满足预设规则,如果所述配置参数满足所述预设规则,则对所述SPI数据进行采样。
13.根据权利要求12所述的方法,其特征在于,所述根据所述采样数据和所述校验采样数据判断所述配置参数是否满足预设规则,还包括:
如果所述配置参数不满足所述预设规则,则对所述配置参数进行调整,直到调整后的配置参数满足所述预设规则。
14.根据权利要求13所述的方法,其特征在于,所述对所述配置参数进行调整,包括:
根据预设方法对所述延时线级数M和所述延时单元级数N进行调整。
15.根据权利10所述的方法,其特征在于,所述获得采样数据之后,所述方法还包括:
将所述采样数据输出至寄存器;
当获取读取请求时,将所述采样数据按照预设时钟域进行读取,获得更新的采样数据;
使用所述更新的采样数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611239614.0A CN108255231B (zh) | 2016-12-28 | 2016-12-28 | 一种数据采样方法和芯片 |
PCT/CN2017/085606 WO2018120612A1 (zh) | 2016-12-28 | 2017-05-24 | 一种数据采样方法、芯片和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611239614.0A CN108255231B (zh) | 2016-12-28 | 2016-12-28 | 一种数据采样方法和芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108255231A true CN108255231A (zh) | 2018-07-06 |
CN108255231B CN108255231B (zh) | 2020-10-02 |
Family
ID=62706861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611239614.0A Active CN108255231B (zh) | 2016-12-28 | 2016-12-28 | 一种数据采样方法和芯片 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108255231B (zh) |
WO (1) | WO2018120612A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110673524A (zh) * | 2019-09-27 | 2020-01-10 | 安凯(广州)微电子技术有限公司 | 一种高速spi主模式控制器 |
TWI767234B (zh) * | 2020-05-21 | 2022-06-11 | 大陸商北京集創北方科技股份有限公司 | 串行周邊介面的傳輸速率提升方法、資料傳輸電路及資訊處理裝置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020087227A1 (zh) * | 2018-10-29 | 2020-05-07 | 深圳配天智能技术研究院有限公司 | 机器人控制系统、心跳监测方法及监测模块、存储介质 |
CN111800109B (zh) * | 2020-06-12 | 2022-08-30 | 烽火通信科技股份有限公司 | 一种多通道高速数据对齐的方法及装置 |
CN114048470B (zh) * | 2022-01-13 | 2022-06-24 | 浙江大学 | 基于tdc模块的硬件攻击的防御方法及装置、电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101359237A (zh) * | 2007-08-03 | 2009-02-04 | 上海摩波彼克半导体有限公司 | Soc系统处理器芯片中的高速同步外设时钟相位控制装置 |
CN204423111U (zh) * | 2015-01-26 | 2015-06-24 | 北京神州龙芯集成电路设计有限公司 | 一种应用于智能电网集中器中的片上系统 |
CN105591650A (zh) * | 2015-12-18 | 2016-05-18 | 豪威科技(上海)有限公司 | 模数转换器及其自校正方法 |
CN105634493A (zh) * | 2014-10-29 | 2016-06-01 | 中兴通讯股份有限公司 | 一种数据采样方法及装置 |
CN105975691A (zh) * | 2016-05-05 | 2016-09-28 | 福州瑞芯微电子股份有限公司 | Spi自动调整采样相位的方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866979B (zh) * | 2012-09-05 | 2015-07-15 | 四川省绵阳西南自动化研究所 | 一种同步串行接口信号传感器数据采集装置 |
US20140297922A1 (en) * | 2013-03-29 | 2014-10-02 | Nitin V. Sarangdhar | Method and apparatus for managing serial peripheral interface (spi) flash |
CN104809094B (zh) * | 2015-05-25 | 2017-11-24 | 中国电子科技集团公司第四十七研究所 | Spi控制器及其通信方法 |
CN105335322B (zh) * | 2015-10-28 | 2018-07-24 | 上海斐讯数据通信技术有限公司 | 一种spi接口转换i2c总线接口的方法及转换器 |
CN105550147B (zh) * | 2015-12-11 | 2018-04-24 | 上海仪电楼宇科技有限公司 | 一种spi总线扩展系统及其通讯方法 |
-
2016
- 2016-12-28 CN CN201611239614.0A patent/CN108255231B/zh active Active
-
2017
- 2017-05-24 WO PCT/CN2017/085606 patent/WO2018120612A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101359237A (zh) * | 2007-08-03 | 2009-02-04 | 上海摩波彼克半导体有限公司 | Soc系统处理器芯片中的高速同步外设时钟相位控制装置 |
CN105634493A (zh) * | 2014-10-29 | 2016-06-01 | 中兴通讯股份有限公司 | 一种数据采样方法及装置 |
CN204423111U (zh) * | 2015-01-26 | 2015-06-24 | 北京神州龙芯集成电路设计有限公司 | 一种应用于智能电网集中器中的片上系统 |
CN105591650A (zh) * | 2015-12-18 | 2016-05-18 | 豪威科技(上海)有限公司 | 模数转换器及其自校正方法 |
CN105975691A (zh) * | 2016-05-05 | 2016-09-28 | 福州瑞芯微电子股份有限公司 | Spi自动调整采样相位的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110673524A (zh) * | 2019-09-27 | 2020-01-10 | 安凯(广州)微电子技术有限公司 | 一种高速spi主模式控制器 |
TWI767234B (zh) * | 2020-05-21 | 2022-06-11 | 大陸商北京集創北方科技股份有限公司 | 串行周邊介面的傳輸速率提升方法、資料傳輸電路及資訊處理裝置 |
Also Published As
Publication number | Publication date |
---|---|
CN108255231B (zh) | 2020-10-02 |
WO2018120612A1 (zh) | 2018-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255231B (zh) | 一种数据采样方法和芯片 | |
US7064577B1 (en) | Method and apparatus for supporting variable speed configuration hardware | |
US7508893B1 (en) | Integrated circuits and methods with statistics-based input data signal sample timing | |
US7668022B2 (en) | Integrated circuit for clock generation for memory devices | |
US9319040B2 (en) | Distributing multiplexing logic to remove multiplexor latency on the output path for variable clock cycle, delayed signals | |
US7068086B2 (en) | Phase correction circuit | |
US20170214398A1 (en) | Skew Adjustment Circuit, Semiconductor Device, and Skew Calibration Method | |
US20190372749A1 (en) | Communication device | |
CN115542131A (zh) | 一种芯片测试方法及电路 | |
US7793021B2 (en) | Method for synchronizing a transmission of information and a device having synchronizing capabilities | |
US8578074B2 (en) | First in first out device and method thereof | |
US8941425B2 (en) | Semiconductor device compensating for internal skew and operating method thereof | |
US11402431B2 (en) | Detection circuit and detection method | |
CN115129639B (zh) | Axi总线的延时调整装置 | |
US7454543B2 (en) | Early high speed serializer-deserializer (HSS)internal receive (Rx) interface for data sampling clock signals on parallel bus | |
CN115905067A (zh) | 数据传输控制方法、芯片、装置及存储介质 | |
CN215642687U (zh) | 一种菊花链式数据同步产生系统 | |
KR100601309B1 (ko) | 고속의 데이터를 처리할 수 있는 메모리 제어장치 | |
CN106897233B (zh) | 数据传输接口的源同步电路 | |
WO2022037216A1 (zh) | 检测电路和检测方法 | |
US9378175B2 (en) | Data transfer between a master and slave | |
RU2806240C1 (ru) | Схема обнаружения и способ обнаружения | |
US7193928B2 (en) | Signal output device and method for the same | |
CN111208867B (zh) | 一种基于ddr读数据整数时钟周期的同步电路及同步方法 | |
Romoth et al. | Optimizing inter-FPGA communication by automatic channel adaptation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210527 Address after: Room j4-02, block J, Zhongxing Industrial Park, No.10, Tangyan South Road, high tech Zone, Xi'an City, Shaanxi Province, 710065 Patentee after: Xi'an Chris Semiconductor Technology Co.,Ltd. Address before: 518055 Zhongxing Industrial Park, Liuxian Avenue, Xili street, Nanshan District, Shenzhen City, Guangdong Province Patentee before: Sanechips Technology Co.,Ltd. |