CN102668378B - 信息处理装置和信息处理方法 - Google Patents
信息处理装置和信息处理方法 Download PDFInfo
- Publication number
- CN102668378B CN102668378B CN200980163122.XA CN200980163122A CN102668378B CN 102668378 B CN102668378 B CN 102668378B CN 200980163122 A CN200980163122 A CN 200980163122A CN 102668378 B CN102668378 B CN 102668378B
- Authority
- CN
- China
- Prior art keywords
- data
- clock
- receiving
- external device
- device controller
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 12
- 238000003672 processing method Methods 0.000 title claims description 9
- 230000004087 circulation Effects 0.000 claims description 86
- 230000008676 import Effects 0.000 claims description 20
- 238000012937 correction Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 10
- 230000008878 coupling Effects 0.000 claims description 9
- 238000010168 coupling process Methods 0.000 claims description 9
- 238000005859 coupling reaction Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 7
- 230000005012 migration Effects 0.000 claims description 7
- 238000013508 migration Methods 0.000 claims description 7
- 230000010355 oscillation Effects 0.000 claims 1
- 238000009790 rate-determining step (RDS) Methods 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 41
- 230000008569 process Effects 0.000 abstract description 40
- 230000003111 delayed effect Effects 0.000 abstract description 17
- 230000001934 delay Effects 0.000 abstract 2
- 230000010363 phase shift Effects 0.000 abstract 2
- 230000005540 biological transmission Effects 0.000 description 25
- 238000012546 transfer Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 101000651958 Crotalus durissus terrificus Snaclec crotocetin-1 Proteins 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/003—Modifications for increasing the reliability for protection
- H03K19/00323—Delay compensation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/07—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop using several loops, e.g. for redundant clock signal generation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/0805—Details of the phase-locked loop the loop being adapted to provide an additional control signal for use outside the loop
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/081—Details of the phase-locked loop provided with an additional controlled phase shifter
- H03L7/0812—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Information Transfer Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
在外部器件控制器的从外部器件接收的数据相对于外部器件控制器的输出时钟被延迟一个或更多个循环时的情况下,用于停止向外部器件的时钟供给的控制信号在没有任何调整的状态下被用于外部器件控制器内停止从外部器件接收数据的控制,作为结果,数据将被丢掉。并且,调整用于停止(或重新开始)外部器件控制器的数据引入的定时将延长处理调整所需要的时间。因此,为了解决这些问题,所公开的信息处理装置延迟并校正通过外部器件控制器接收的数据的相位偏移,并且以循环为单位延迟用于控制外部器件控制器侧的数据引入的控制信号。并且,信息处理装置在调整相位偏移后调整控制信号。
Description
技术领域
本发明涉及诸如外部器件控制器的信息处理装置向外部器件供给时钟并在其中加载与时钟同步地从外部器件输出的外部器件数据的信息处理装置或信息处理方法。
背景技术
如PTL 1中公开的那样,存在用于包括外部器件控制器的信息处理装置的技术,其中,当外部器件与信息处理装置连接以能够与其通信时,从信息处理装置的外部器件控制器向外部器件供给操作时钟。这里,一般地,外部器件被设定以与从外部器件控制器供给的时钟同步地输出数据,并且,外部器件控制器被配置为在其中加载从外部器件输出的数据。
通过使用该方法,外部器件控制器暂时停止向外部器件供给时钟(与时钟门控对应),由此允许暂时停止从外部器件向外部器件控制器的数据供给。例如,当数据被积累直至外部器件控制器中的接收缓冲器的允许容量时,外部器件控制器可停止时钟的供给以停止数据的供给,由此,即使缓冲器的容量小也如希望的那样防止缓冲器的溢出。
引文列表
专利文献
PTL 1:日本专利公开No.59-173839
发明内容
技术问题
当由外部器件控制器从外部器件接收的数据相对于外部器件控制器的输出时钟被延迟一个循环或更多时,由于对于停止从外部器件的数据接收的控制直接在外部器件控制器中使用用于停止向外部器件的时钟供给的控制信号,因此出现加载数据的失败。
另外,如果要调整导致外部器件控制器停止在其中加载数据(或解除该停止)的定时,那么调整处理所需要的时间长。
问题的解决方案
为了解决以上的问题,根据本发明的信息处理装置包括:
供给部件,用于向外部器件供给时钟;
控制部件,用于向供给部件传送用于停止时钟供给的控制信号;
接收部件,用于接收同步于时钟从外部器件输出的数据,并用于根据所述控制信号停止加载数据;
第一延迟部件,用于校正由接收部件接收的数据的相位偏移;以及
第二延迟部件,用于校正控制信号的周期到周期偏移。
并且,为了解决以上的问题,根据本发明的信息处理方法是信息处理装置中的信息处理方法,所述信息处理装置包括向外部器件供给时钟并且接收同步于时钟从外部器件输出的数据的外部器件控制器,所述信息处理方法包括:
第一延迟步骤,调整由外部器件控制器接收的数据的相位偏移;以及
第二延迟步骤,在第一延迟步骤之后调整用于使外部器件控制器停止加载数据的控制的偏移。
发明的有利效果
根据本发明,即使由信息处理装置从外部器件接收的数据相对于信息处理装置的时钟被延迟一个循环或更多,也防止了信息处理装置侧的加载数据的失败。
并且,根据本发明,在要调整导致外部器件控制器停止在其中加载数据(或解除该停止)的定时的情况下,防止了调整处理所需要的时间增加。
附图说明
图1是本发明的示例性实施例中的外部器件控制器的配置图。
图2示出参考例中的偏斜控制单元的配置图和时序图。
图3包括循环控制单元的配置图和时序图。
图4包括校准处理的流程图和输出时钟控制单元的配置图。
图5是校准图案接收期间基于门控图案的输出时钟的门控的时序图。
图6是示出循环指标与接收的校准图案之间的相关性的时序图。
图7是示出循环指标与接收的校准图案之间的相关性的时序图。
图8是示出门控循环数与接收的校准图案之间的相关性的时序图。
图9是示出门控循环数与接收的校准图案之间的相关性的时序图。
图10是示出门控循环数与接收的校准图案之间的相关性的时序图。
图11是示出门控操作间的循环数与接收的校准图案之间的相关性的时序图。
图12是示出门控操作间的循环数与接收的校准图案之间的相关性的时序图。
图13是示出门控操作间的循环数与接收的校准图案之间的相关性的时序图。
图14是示出门控操作间的循环数与接收的校准图案之间的相关性的时序图。
图15是示出门控开始位置、门控结束位置和接收的校准图案之间的相关性的时序图。
图16是示出门控开始位置、门控结束位置和接收的校准图案之间的相关性的时序图。
图17是示出门控开始位置、门控结束位置和接收的校准图案之间的相关性的时序图。
图18是当使用正确的循环设定时由外部器件控制器和外部器件操控的信号的时序图。
图19是包括外部器件控制器的系统配置的示意图。
图20示出实际接收的校准图案与实际循环数之间的差异的关系的例子。
图21示出参考例中的外部器件控制器的配置、以及示出命令或数据的格式的时序图。
图22是参考例中的校准处理的流程图。
图23是参考例中的校准处理的时序图。
图24是参考例中的外部器件控制器所操控的信号的时序图。
具体实施方式
以下将参照附图描述本发明的示例性实施例。首先,下面将描述用于解决当由外部器件控制器从外部器件接收的数据相对于外部器件控制器的输出时钟被延迟一个循环或更多时导致的问题的示例性实施例。
图19是包括与外部器件107通信的信息处理装置的系统的框图。作为具有用于与外部器件107通信的功能的LSI的ASIC 100包括CPU 101、DRAM控制器104、DMA控制器102、外部器件控制器103和CLOCK产生器105。(ASIC是专用集成电路的缩写,并且DMA是直接存储器存取的缩写。)并且,用作振荡部件的CLOCK产生器105产生并供给被CPU 101、DMA控制器102、外部器件控制器103和DRAM控制器104使用的时钟(cpu_clock 113、dmac_clock 114、host_clock 115、dram_clock 116)。CPU 101经由CPU I/F 110对于外部器件控制器103、DMA控制器102和DRAM控制器104执行寄存器存取。DMA控制器102经由CPU I/F 110执行至DRAM控制器104的数据传输以及来自DRAM控制器104的数据传输。DRAM控制器104经由DRAM I/F 117执行至DRAM 106的数据传输以及来自DRAM 106的数据传输。外部器件控制器103经由DMA I/F 111执行 至DMA控制器102的数据传输以及来自DMA控制器102的数据传输。并且,外部器件控制器103经由外部器件I/F 112执行至外部器件107的数据传输以及来自外部器件107的数据传输。
接下来,将描述外部器件控制器。图1示出本发明的示例性实施例中的外部器件控制器103的配置。
外部器件控制器103从CLOCK产生器105接收主时钟115(在图中,为host_clock)。主时钟115与外部器件控制器103中的各块连接,并且,外部器件控制器103的各块与主时钟115同步地操作。
在接受要从CPU 101传送到卡的数据或命令以及寄存器存取的同时,CPU I/F控制单元201将从卡接收的命令或数据传送到CPU 101。DMA I/F控制单元111从DMA控制器102接受要被传送到外部器件107的数据,并且,另一方面,将从外部器件107接收的数据传送到DMA控制器102。
外部器件控制器103经由传送命令并行至串行转换单元125和接收命令串行至并行转换单元126与外部器件107交换命令。首先,CPUI/F控制单元201将经由CPU I/F 110从CPU 101接收的并行格式传送命令223(s_cmd)传送到传送命令并行至串行转换单元125(以下,为传送命令PS转换单元)。传送命令PS转换单元125将接收的并行格式传送命令223转换成串行格式传送命令224(s_cmd_data),并且将串行格式传送命令224传送到外部器件107。
外部器件107将接收的串行格式传送命令224解码并且检测传送命令。并且,外部器件107将表示传送命令的检测结果的检测信息作为串行格式接收命令226(r_cmd_data)传送到外部器件控制器103。
接收命令串行至并行转换单元126(以下,为接收命令SP转换单元)接收从外部器件107输出的串行格式接收命令226,将串行格式接收命令226转换成并行格式接收命令225(r_cmd_reg),并且经由CPU I/F控制单元201和CPU I/F 110将并行格式接收命令225传送到CPU 101。
并且,外部器件控制器103经由传送缓冲器207、传送数据并行 至串行转换单元208、偏斜控制单元211、接收数据串行至并行转换单元210和接收缓冲器209与外部器件107交换数据。为了将输出时钟244解除断言以停止从外部器件107的数据供给,外部器件控制器103还包括输出时钟控制单元213和输出时钟门控单元214。为了有效的循环调整,外部器件控制器103还包括门控模式设定寄存器605和门控图案设定寄存器606。
为了偏斜调整(校正),外部器件控制器103还包括偏斜控制单元211和偏斜设定寄存器212。这里,术语偏斜调整(校正)指的是:通过使用(相对于主时钟115)一个循环内的延迟来调整(校正)要输入到接收数据串行至并行转换单元210(以下,为接收数据SP转换单元)的数据或外部器件控制器103(偏斜控制单元211)的数据加载定时(锁存定时)。
为了循环调整(校正),外部器件控制器103还包括循环设定寄存器601、循环计算单元602、循环控制单元603和期望值设定寄存器604。这里,术语循环调整(校正)指的是:通过(相对于主时钟115)逐个循环地延迟作为接收数据SP转换单元210的控制信号的接收使能信号250(rcv_en),调整(校正)接收数据SP转换单元210的数据加载停止定时和数据加载重新开始定时。
偏斜设定寄存器212从CPU I/F控制单元201接收偏斜设定值227(skewreg),并且保持偏斜设定值227。偏斜控制单元211从偏斜设定寄存器212接收偏斜选择值238(skew_sel),并且根据设定值延迟从外部器件107接收的串行格式接收数据236(d2h_data,以下,有时简称为接收数据236)。
循环设定寄存器601从CPU I/F控制单元201接收循环设定值256(cycle_reg),并且保持循环设定值256。期望值设定寄存器604从CPU I/F控制单元201接收期望值设定值253(exp_reg),并且保持期望值设定值253。在图20中示出期望值设定值253的例子。与实际循环数的差异为0时接收的图案与真值(从外部器件107输出的图案)匹配,而通过外部器件控制器103接收的图案根据执行校准时获 得的循环设定值与正确的循环设定值之间的差异(与下面描述的循环延迟量对应)而改变。循环计算单元602从循环设定寄存器601接收循环设定值255(cycle_val)并从期望值设定寄存器604接收期望值254(exp_pattern),并且计算希望的循环设定值。具体而言,接收的校准图案与期望值相比较以确定是否找到匹配。与找到匹配时获得的期望值对应的循环设定值和正确的循环设定值之间的差异被确定。之后,确定的差异被加到执行校准时获得的循环设定值以计算正确的循环设定值。循环控制单元603从循环计算单元602接收正确的循环选择值249(cycle_sel)。循环控制单元603还从输出时钟控制单元213接收输出时钟使能信号243(时钟控制信号)。
[数据接收处理]
接下来,将描述外部器件控制器103从外部器件107接收数据(外部器件数据)的处理。
当外部器件控制器103开始数据接收时,首先,外部器件控制器103执行上述的命令传送/接收处理,以将用于指示从外部器件107接收数据的命令传送到外部器件107。并且,外部器件107将对于传送的命令的响应作为接收命令传送到外部器件控制器103,并且进一步传送数据。
如下执行数据的接收。首先,从外部器件107传送的串行格式接收数据236(d2h_data)被偏斜控制单元211接收。
偏斜控制单元211执行串行格式接收数据236与外部器件控制器的时钟115(host_clk)之间的偏斜调整(将在下面描述其细节)。偏斜调整接收数据235被输入到接收数据SP转换单元210。
接收数据SP转换单元210被配置为能够接收通过由将在下面描述的循环控制单元603延迟从输出时钟控制单元213输出的输出时钟使能信号243所获得的接收使能信号250(将在下面描述其细节)。然后,如果接收使能信号250已被断言,那么接收数据SP转换单元210接收输入的偏斜调整接收数据235,并且将接收的数据235转换成并行格式接收数据234(r_data_buf)。
接收数据SP转换单元210包含被配置为作为K位并行格式数据发送以串行格式接收的数据的K级的移位寄存器(串行输入/并行输出触发器)(未示出)。因此,如果接收使能信号继续被断言,那么接收数据SP转换单元210对于K个循环一次发送并行格式数据。这里,接收数据SP转换单元210在其中加载来自外部器件107的数据(外部器件数据)的定时可与(从外部器件107侧观看的)第一级(0位)的触发器的锁存定时对应。
用作保持部件的接收缓冲器209被配置为能够通过使用接收缓冲器满信号241通知不能保持比当前保持在其中的数据多的数据。因此,如果接收使能信号250已被断言并且接收缓冲器209的接收缓冲器满信号241(r_buff_full)已被解除断言,那么接收数据SP转换单元210将并行格式接收数据234传送到接收缓冲器209。另一方面,如果接收使能信号250还没有被断言,那么接收数据SP转换单元210停止接收偏斜调整接收数据235。
在开始数据的接收时,接收数据SP转换单元210断言接收状态信号239(rcv_status)。接收数据SP转换单元210继续断言接收状态信号239,直到最后的数据从外部器件107被接收为止,并且,在检测到偏斜调整接收数据235的结束位时,将接收状态信号239解除断言。当接收数据SP转换单元210将并行格式接收数据234传送到接收缓冲器209时,接收缓冲器209将接收缓冲器空信号233(r_buff_emp)解除断言。
接收缓冲器209从接收数据SP转换单元210接收被转换成并行格式的接收数据234(r_data_buff),并且保持接收数据234。这里,当接收缓冲器209变满时,接收缓冲器209向输出时钟控制单元213和接收数据SP转换单元210断言接收缓冲器满信号241。另一方面,当接收缓冲器209变空时,接收缓冲器209向DMA I/F控制单元206断言接收缓冲器空信号233。
响应于接收缓冲器209的接收缓冲器空信号233的解除断言,DMA I/F控制单元206检测来自外部器件107的接收数据留在接收缓 冲器209中。然后,保持在接收缓冲器209中的并行格式接收数据232(r_data_dma)从接收缓冲器209被接收,并且被传送到DMA I/F111。但是,当接收缓冲器209变空时,数据的接收停止。如果数据的接收不停止,那么可出现接收缓冲器209的缓冲器欠载运行。因此,当接收缓冲器209的接收缓冲器空信号233已被断言时,DMA I/F控制单元206停止接收并行格式接收数据232,并且停止向DMA I/F 111传送数据。
如果接收缓冲器209的接收缓冲器空信号233被解除断言,那么DMA I/F控制单元206重新开始接收并行格式接收数据232,并且重新开始向DMA I/F 111传送接收数据。
另一方面,如果当接收缓冲器209处于满状态时新出现到接收缓冲器中的写入,那么出现接收缓冲器209的缓冲器过载运行并因此停止数据的接收。当接收数据SP转换单元210当前正接收数据时并且当接收缓冲器209满时,输出时钟控制单元213将输出时钟使能信号243解除断言。
接收数据SP转换单元210中的数据接收进行中通过接收状态信号239的断言被检测。在接收到第一条接收数据时,接收数据SP转换单元210断言接收状态信号239,继续断言它直到最后一条数据被接收为止,并且,在接收到最后一条数据时将其解除断言。因此,输出时钟使能信号243在等待要被接收的数据的状态(等待要被检测的开始位的状态)中不被解除断言。
响应于输出时钟244(dev_clk)的解除断言,外部器件107停止接收数据237(d2h_data′)的传送。数据的接收持续地停止,直到接收缓冲器209的接收缓冲器满信号241(r_buff_full)被解除断言为止。当接收缓冲器209的接收缓冲器满信号241(r_buff_full)被解除断言时,接收数据SP转换单元210重新开始接收数据。然后,输出时钟门控单元214解除输出时钟244的门控,并且,外部器件107重新开始接收数据237的传送。
[偏斜校正配置]
接下来,将描述用于偏斜校正的配置的细节。
图2(a)是偏斜控制单元211的框图。偏斜控制单元211从CLOCK产生器105(图19)接收主时钟115(host_clk)。主时钟115通过使用输入和输出被串联连接的数量为N1的延迟元件216(第一延迟部件)被延迟。各延迟元件216的输出被输入到延迟选择单元217,并且,用于输出的延迟元件216基于偏斜选择值238(skew_sel)的值被选择。
所选择的具有延迟的时钟信号246(clk_with_skew)作为时钟被输入到触发器218。另一方面,从外部器件传送的串行格式接收数据236(d2h_data)被触发器218接收,并且通过触发器218与具有延迟的时钟信号246(clk_with_skew)同步化。同步化的串行格式接收数据作为偏斜调整串行格式接收数据235(d2h_data_1d,以下称为偏斜调整接收数据235)从偏斜控制单元211被输出到接收数据SP转换单元210。
优选地,偏斜控制单元211中的N1个延迟元件导致等于(主时钟115的)一个时钟的1/N1的持续时间的延迟(其被等分成N1段)或稍小的延迟。
图2(b)示出当偏斜设定值被设为0、1和2时由偏斜控制单元211操控的信号的时序图。如果图2(b)中的信号与图1和图2(a)中的符号对应,那么从顶部依次绘制host_clk 115、dh2_data 236、clk_with_skew 246(skew_sel 238=0、1、2)和d2h_data_1d 235(skew_sel 238=0、1、2)。
在图2(b)的时序图中,当偏斜选择值238(skew_sel)为0和1时,d2h_data 236在clk_with_skew 246的上升沿处是可变的。因此,也使得在触发器218中加载的数据d2h_data_1d 235可变,并且,未实现正常的数据加载。另一方面,当偏斜选择值238为2时,d2h_data236在clk_with_skew 246的上升沿处展示出稳定的输出数据。因此,在触发器218中加载的数据d2h_data_1d 235也正常。通过使用下面描述的校准序列执行偏斜选择值238的调整。
[循环校正配置]
接下来,将描述用于校正循环延迟的配置的细节。
图3(a)示出循环控制单元603的示意性配置。循环控制单元603包含输入和输出被串联连接的数量为N2的触发器701(第二延迟部件),并且,触发器701中的每一个将输出时钟使能信号243延迟一个时钟。循环控制单元603导致触发器701将输入的输出时钟使能信号243延迟由循环设定值256指示的循环数。延迟的输出时钟使能信号243作为接收使能信号250被输入到接收数据SP转换单元210。
图3(b)示出由循环控制单元603操控的各种信号的波形。在与图1中的符号对应的图3(b)中的信号的描述中,从顶部依次绘制host_clk 115、dev_clk_en 243和rcv_en 250。循环控制单元603根据循环选择值249(cycle_sel=0、1、2、3)的值延迟输入的输出时钟使能信号243,并且作为接收使能信号250输出延迟的输出时钟使能信号243。如果由循环选择值249指示的值被假定为2,那么循环控制单元603通过使用选择器702选择已通过两个触发器701的输出,使得输出时钟使能信号243被延迟两个循环,并且作为接收使能信号250被输出。在图3的配置中,由于存在N2个触发器701,因此,输出时钟使能信号243可被延迟一个循环的整数倍(最多N2个循环)。
在本示例性实施例中,接收数据SP转换单元210基于接收使能信号250的解除断言确定数据加载停止定时,并且当接收使能信号250被再次断言时确定数据加载重新开始定时。
门控模式设定寄存器605从CPU I/F控制单元201接收门控模式寄存器设定值(247gate_reg),并且保持门控模式寄存器设定值。并且,门控模式设定寄存器605将接收的门控模式寄存器设定值247作为门控模式设定值(251gate_mode)输出到输出时钟控制单元213。
这里,本示例性实施例中的外部器件控制器103的门控模式包含两个模式:校准模式和正常数据传输模式。门控图案设定寄存器606从CPU I/F控制单元201接收门控图案寄存器设定值(248pattern_reg),并且保持门控图案寄存器设定值。并且,门控图案设 定寄存器606将接收的门控图案寄存器设定值248作为门控图案设定值(252gate_pattern)输出到输出时钟控制单元213。
门控图案寄存器设定值248是用于产生时钟门控图案的信息(门控信息),并且指示如何执行时钟门控。(更具体而言,该信息是指示下面在图5中描述的L、N、S和E的信息)。
图4(b)示出本示例性实施例中用作选择部件的输出时钟控制单元213的配置。第一时钟控制单元221(第一控制单元)接收接收缓冲器满信号241和接收状态信号239,并且执行与PTL 1或参考例(参见图21)中类似的时钟控制(第三时钟控制模式)。另一方面,第二时钟控制单元222(第二控制单元)基于接收状态信号239和门控图案252执行下面描述的时钟控制(第一时钟控制模式)。并且,第三时钟控制单元223(第三控制单元)执行控制,以产生用于执行控制以在不停止主时钟115的情况下输出外部器件控制器的主时钟115的输出时钟使能信号243(第二时钟控制模式)。
首先,接收数据SP转换单元210将指示诸如到目前为止接收了接收数据236中的多少位的接收状态的信息加到接收状态信号239,并且将得到的接收状态信号239传送到输出时钟控制单元213。第二时钟控制单元222基于加到接收状态信号239的接收信息确定接收数据SP转换单元210已接收多少位。然后,如果门控图案252不满足指示执行门控的条件,那么输出时钟使能信号243被产生。
时钟控制选择单元220是选择器,并且根据由来自门控模式设定寄存器的门控模式251所指示的设定值,导致第一时钟控制单元221、第二时钟控制单元222和第三时钟控制单元223中的一个选择性地起作用。
[命令/数据格式]
这里,将描述用于在外部器件控制器103与外部器件107之间发送和接收命令和数据的信号的格式。
外部器件控制器103和外部器件107以图21(b)所示的格式相互交换串行格式命令或串行格式数据。在以下的描述中,假定并行格 式命令和并行格式数据都具有类似的格式。
首先,将参照图21(b)描述在传送和接收串行格式传送命令224和串行格式接收命令226时操控的信号。传送命令224包括1位开始位、N位传送命令、M位CRC(循环冗余检查信号)和1位结束位。在检测到并行格式传送命令223的接收时,首先,传送命令PS转换单元125传送1位开始位。随后,N位并行格式传送命令223被转换成串行格式传送命令224,并且,串行格式传送命令224被传送。除了串行格式传送命令的传送以外,传送命令PS转换单元125还计算CRC。然后,在串行格式传送命令224被传送之后,计算的M位CRC被传送。最后,传送1位结束位,并且完成命令传送。
串行格式接收命令226也具有如图21(b)所示的格式。但是,由于接收命令和传送命令不需要相互匹配,因此,接收命令和传送命令可具有不同的命令长度或CRC长度。
接收命令SP转换单元126检测1位开始位,并且开始接收命令。随后,N位串行格式接收命令被接收并被转换成并行格式接收命令。除了串行格式接收命令的接收以外,接收命令SP转换单元126还计算CRC。然后,在接收串行格式接收命令之后,将计算的CRC与要被传递的M位CRC相比较(循环冗余检查),并且,检测CRC误差。最后,接收1位结束位,并且完成命令接收。
在从传送缓冲器207接收到并行格式传送数据230(s_data_buf)时,与传送命令PS转换单元125同样,传送数据PS转换单元208将并行格式传送数据转换成串行格式传送数据231,并且将串行格式传送数据231传送到外部器件107。但是,传送数据的长度或CRC的长度可与传送命令中的那些不同。
接收数据具有如图21(b)所示的格式。但是,接收数据的长度和CRC的长度可与传送命令中的那些不同。
在检测到1位开始位时,接收数据SP转换单元210开始接收数据。然后,接收数据SP转换单元210以与接收命令SP转换单元126类似的方式执行处理,以将串行格式偏斜调整接收数据235转换成并 行格式接收数据234,并且将并行格式接收数据234传送到接收缓冲器209。传送数据PS转换单元208和接收数据SP转换单元210的CRC计算处理和比较处理与传送命令PS转换单元和接收命令SP转换单元的处理类似,并且被省略。
[校准]
接下来,将描述用于调整各种参数(偏斜设定值、循环设定值)使得外部器件控制器103可正确地在其中加载数据的校准处理。
首先,将通过使用图22描述具有图21所示的配置的参考例中的外部器件控制器103中的校准流程。
首先,在步骤S101中,响应于来自CPU 101的用于开始校准的指令,外部器件控制器103向外部器件107传送用于导致外部器件107输出校准图案的传送命令。然后,外部器件107响应于用于校准的传送命令向外部器件控制器103传送接收命令。并且,作为串行格式接收数据237的替代,外部器件107向外部器件控制器103传送预定校准图案。外部器件控制器103根据以上描述的数据接收流程接收校准图案。接收的校准图案通过DMA控制器102和DRAM控制器104被写入在DRAM 106中。
在所有的校准图案已被写入在DRAM 106中之后,在步骤S102中,CPU 101将实际接收的校准图案与事先作为期望值存储于DRAM等中的校准图案相比较。如果CPU 101确定两者匹配,那么认为偏斜设定是正确的。因此,完成校准序列。另一方面,如果两者不匹配,那么认为偏斜设定是错误的。因此,在步骤S103中,CPU 101在外部器件控制器103中设定不同的偏斜设定值227,并且再次执行校准序列(S101、S102)。以上的处理被重复执行,直到校准成功为止。
这里,假定校准图案被事先存储于外部器件107侧,并且外部器件107在接收到用于开始校准的命令时传送存储的校准图案。
这里,将描述当完成偏斜调整时在步骤S101中操控的信号的波形。图23示出接收数据236具有一个循环或更多的延迟时参考例中的校准序列中的波形。(这里,接收数据236具有一个循环或更多的延 迟的情况与在外部器件控制器103和外部器件107之间已出现1/2个循环或更多的配线延迟的情况对应。)在与图21和图2中的符号对应的图23中的信号的描述中,从顶部依次绘制dev_clk 244、dev_clk_en243、d2h_data 236、clk_with_skew 246、d2h_data_1d 235、host_clk115、r_data_buff 234、dev_clk′245和d2h_data′237。在加载时钟和加载数据之间存在定时差,这指示着在以时钟的边沿为基准在实际的电路中加载的情况下直到在触发器中加载数据为止的延迟。该延迟是在不与本发明要解决的问题直接相关的部分中导致的延迟,并且,延迟量小。因此,如果接收数据被延迟一个循环或更多,那么该延迟可被忽略(排除)。并且,在图23中,校准的后半期间的波形的一部分被省略。
在图23的例子中,被输入到外部器件107的时钟245(dev_clk′)相对于从外部器件控制器103输出的输出时钟244(dev_clk)被延迟1/2循环。并且,通过外部器件控制器接收的接收数据236(d2h_data)相对于从外部器件传送的接收数据237(d2h_data′)被延迟1/2循环。
以上的延迟被视为由外部器件107与外部器件控制器103之间的基板上的往复延迟、外部器件107中的输出延迟、或外部器件控制器103中的延迟等导致。结果,在图23的例子中,作为响应于外部器件控制器103的输出时钟244从外部器件107输出的数据在外部器件控制器103中加载的接收数据236包含一个循环的延迟。
校准图案的大小一般比接收缓冲器209的大小要小得多。因此,参照例中的外部器件控制器103在校准期间不停止输出时钟。(最初,即使校准图案的大小比接收缓冲器209的大小要大,是否停止输出时钟也依赖于DMA控制器102的传输速率等。因此,也许不太可能出现输出时钟244在校准期间被停止的情形。)
参照图23,由于r_data_buff(0)234的内容与输入的串行格式接收数据d2h_data 236的内容一致,因此,完成校准处理。但是,如图24所示,当实际接收数据时,可出现数据等的加载的失败。
图24的时序图示出在如图23那样接收数据236具有一个循环的 延迟的情况下外部器件控制器103从外部器件107实际接收数据时的信号的波形。由于图21和图2中的各信号之间的对应关系与图23中的类似,因此将省略其描述。
在图24中,在接收到串行格式接收数据236中的“D0”的时间,出现断言接收缓冲器209的接收缓冲器满信号241(图24中未示出)的情形。然后,根据接收缓冲器满信号241的断言,输出时钟控制单元213将输出时钟使能信号243(dev_clk_en)解除断言。响应于输出时钟使能信号243的解除断言,输出时钟门控单元214对输出时钟244进行门控。虽然输出时钟244被输出时钟门控单元214门控,但是,从外部器件107传送串行格式接收数据“D1”和“D2”。
初始地,输入到接收缓冲器209的数据(基于其发出接收缓冲器满信号241)在数据从外部器件107向外部器件控制器103被输入时被延迟1/2循环。然后,在接收缓冲器满信号241被断言之后,除了直到输出时钟244被门控为止的延迟以外,在外部器件107能够识别出输出时钟244已被门控之前,还出现1/2循环的延迟。因此,直到外部器件107识别出外部器件控制器103已请求停止数据传送为止,存在等于以上延迟的和的延迟,并因此传送“D1”和“D2”。
响应于输出时钟使能信号243的解除断言,接收数据SP转换单元210立即停止接收串行格式接收数据236。因此,接收数据SP转换单元210不能接收串行格式接收数据“D1”。(如图所示,通过接收数据SP转换单元210被接收并被传送到接收缓冲器209的并行格式接收数据234不包含“D1”。)
并且,在接收缓冲器209的接收缓冲器满信号241被解除断言之后,输出时钟使能信号243被断言并且输出时钟244的门控被解除。由于基于下降沿执行门控,因此,输出时钟244在门控解除之后的1/2循环处上升。然而,虽然输出时钟244的门控已被解除,但是,由于外部器件107与外部器件控制器之间的延迟,因此,继续从外部器件107传送串行格式接收数据“D2”。
同时,响应于输出时钟使能信号243的断言,接收数据SP转换 单元210立即重新开始接收串行格式接收数据。这导致接收数据SP转换单元210两次接收串行格式接收数据“D2”。从并行格式接收数据234可以看出D2已被接收两次。
以这种方式,如果在外部器件控制器103与外部器件107之间存在一个循环或更多的往复延迟,那么参考例中的配置可允许完成校准(图23),但是可导致实际数据接收的失败(图24)。
从以上可以看出,参考例中的外部器件控制器103有时可能无法检测到校准序列中在接收数据236中出现的一个循环或更多的延迟的存在。
图24中的时间标尺是基于这样的假定:即,为了便于描述,从接收缓冲器满信号241被断言时到接收缓冲器满信号241被解除断言时的时段极短,并且接收缓冲器极小,以易于描述。
接下来,将通过使用图4(a)描述本示例性实施例的校准流程。在本示例性实施例的校准流程中,首先,在导致第三时钟控制单元223起作用的同时执行偏斜调整,并且然后在导致第二时钟控制单元222起作用的同时执行循环调整。如果已知校准图案的大小比接收缓冲器的大小足够小并且在校准图案的接收期间决不出现时钟门控,那么,作为第三时钟控制部件的替代,可以使用第一时钟控制部件。
这里,术语偏斜调整意味着通过使用图2所示的配置校正主时钟115与接收数据236之间的相位的偏移(相位偏移)的调整。另一方面,术语循环调整意味着通过使用图3所示的配置校正主时钟115与接收数据236之间的周期到周期偏移的调整。在以下的描述中,循环偏移(与数据加载定时的偏移或数据加载重新开始定时的偏移对应)被简称为延迟循环数(循环延迟量)。
首先,将描述偏斜调整流程。在步骤S1201中,CPU 101将外部器件控制器103的时钟门控模式设为不停止时钟的校准模式(使用第三时钟控制单元的模式)。在步骤S1202中,CPU 101指示外部器件控制器103获取校准图案。由外部器件控制器103执行的校准图案获取处理与参考例中的类似。当完成校准图案的获取时,在步骤S1203 中,CPU 101比较实际接收的校准图案与作为将被接收的校准图案从ROM或RAM读取的校准图案。如果作为比较结果找到匹配,那么认为偏斜设定是正确的。因此,偏斜调整流程结束。
另一方面,如果作为比较结果没有找到匹配,那么认为偏斜设定是错误的。在这种情况下,在步骤S1204中,CPU 101改变偏斜设定寄存器212的值以改变偏斜设定,并然后前进到步骤S1202。偏斜设定被改变,并且,步骤S1202和S1203的处理被重复执行,直到在步骤S1203中图案匹配为止。
随后,将描述循环调整流程。在步骤S1205中,CPU 101根据由接收状态信号239指示的值和门控图案252将外部器件控制器103的时钟门控模式设为停止时钟的校准模式(用于导致第二时钟控制部件起作用的模式)。并且,CPU 101在外部器件控制器103中设定门控图案寄存器设定值248。在步骤S1206中,CPU 101指示外部器件控制器103获取校准图案。通过外部器件控制器103执行的校准图案获取处理的概要与参考例中的类似。
但是,示例性实施例1的输出时钟控制单元213根据门控图案252发出输出时钟使能信号243。然后,输出时钟门控单元214在校准图案的接收期间根据输出时钟使能信号243对输出时钟244进行门控。当循环计算单元602在步骤S1206中完成校准图案的获取时,处理前进到步骤S1207。然后,在步骤S1207中,循环计算单元602将实际接收的校准图案与作为要被接收的校准图案从DRAM 106等由CPU101读取并且被存储于期望值设定寄存器604中的期望值相比较。实际接收的校准图案依赖于门控图案、校准图案(期望值)、以及当前循环设定值与实际延迟循环之间的差异而不同。(将在下面描述细节。)
图20示出使用“01010101”作为校准图案的例子。虽然将在下面描述细节,但是,如果当前循环设定值与实际延迟循环数匹配,那么外部器件控制器103可接收像“01010101”那样的校准图案。但是,如果实际延迟循环数比当前校准图案大一个循环,那么接收像“01011101”那样的校准图案。在这种情况下,循环计算单元602比 较通过上述处理接收的校准图案与要被接收的校准图案(期望值),并且检测延迟的存在。如果存在延迟,那么检测当出现延迟时获得的校准图案(参见图20)实际延迟循环数。在S1208中,循环计算单元602(或CPU 101)将检测到的实际延迟循环设为循环设定值,并且完成循环调整流程。当终止校准序列时,输出时钟控制单元213将模式切换到第三时钟控制模式以准备数据的传送和接收。
如上所述,如果使得校准图案的大小比接收缓冲器209的大小要小,那么接收缓冲器209在校准序列期间不变满。但是,本示例性实施例1的外部器件控制器103根据门控图案对输出时钟244进行门控,而不管接收缓冲器满信号241的断言。如果循环设定或偏斜设定是错误的,那么错误的校准图案被原样获取(以确定校准尚未成功)。在通过使用图4(a)所示的流程完成校准之后,为了将模式切换到使用第一时钟控制单元221的模式,CPU 101执行设定,以导致门控模式设定寄存器605在时钟控制选择单元中存储“0”,并且准备数据的传送和接收。
通过以上的处理,即使在接收数据236中出现一个时钟循环或更多的延迟,本示例性实施例的外部器件控制器103也可检测到延迟的存在。因此,可以设定用于传送和接收数据而没有数据加载失败的各种参数(偏斜设定、循环设定)。
并且,如图4(a)所示,在不执行时钟门控的情况下通过使用偏斜调整来调整循环中的延迟之后,在基于门控图案执行时钟门控的同时调整循环之间的延迟,由此允许有效的校准。以这种方式,如果偏斜调整和循环调整不分离,那么必须以轮转方式(最多N1×N2次)接收和比较校准图案,直到期望值和接收数据236匹配为止,并且,对于校准处理需要相当多的时间量。
并且,如果校准图案的大小与接收缓冲器209的大小相比足够小,那么可在图4(a)的步骤S1201至S1204中通过第一时钟控制单元221执行偏斜调整,而不使用第三时钟控制单元223。(这是由于,即使在校准图案的接收期间使用第一时钟控制单元221,也决不出现时 钟门控。)即使在这种情况下,通过步骤S1205至S1208的处理,与图21(a)所示的参考例中相比,校准也更容易成功(可减少次数)。
[关于校准图案和门控图案]
这里,将描述校准图案与门控图案之间的相关性。当完成校准处理时,假定由循环设定值256指示的循环数与实际延迟的循环数一致。在图24的例子中,由于循环延迟是一个循环,因此,要被设定的正确的循环设定值256所指示的值是“1”。(图24所示的波形与循环设定值256不经受循环调整时的波形对应。)
输出时钟244的门控图案和校准图案的适当设定提高校准处理的精度。例如,在图24的例子中,接收数据“D1”不能被接收,而接收数据“D2”已被接收两次。以这种方式,出现数据的替换。因此,如果通过使用不希望的校准图案(不考虑以下描述的观点的图案)执行与接收数据236的比较,那么执行校准图案的接收和比较的次数增加,或者,降低处理精度的风险增大。例如,在偏斜调整和循环调整中,必须以轮转方式(最多N1+N2次)执行比较,直到期望值和接收数据236匹配为止。
以下,将参照四个观点描述输出时钟244的门控图案和校准图案之间的相关性。通过使用考虑了这些观点的校准图案,可以减少校准处理中的比较时间(最多N1+1次)。
根据校准图案和以下的四个观点设定门控图案。通过使用用于校准的门控图案,如果用于停止接收数据SP转换单元210的数据加载控制的控制信号(输出时钟使能信号243)不被延迟循环延迟量,那么可能导致被外部器件控制器103实际接收的数据(接收数据234)的加载失败或冗余接收。图20示出设定优选的门控图案(作为例子,为“01010101”)的情形下循环延迟量与由接收数据SP转换单元210接收的图案(接收数据234)之间的相关性。
(1)实际延迟量和循环设定值间的差异(以下,为延迟指标M)与接收的校准图案之间的相关性
将描述延迟指标M与接收的校准图案之间的相关性,这里,假定 延迟指标M=(实际延迟量)-(循环设定值)。这里,术语实际延迟量是在循环设定值是“0”时(与已执行偏斜调整并且未执行循环调整的情况对应)接收数据236相对于输出时钟244被延迟的循环数。
图6和图7示出当接收使能信号250的改变定时被固定于没有任何延迟的定时并且实际延迟量被改变时的并行格式接收数据234的波形。如果图6和图7中的信号从顶部依次与图1中的符号对应,那么,绘制了dev_clk 244、dev clk_en 243、dh2_data 236、host_clk 115、rcv_en 250、和r_data_buff 234。并且,图6和图7示出延迟指标M为0、1、2和3时的四个组。
在图6和图7中,在接收D3时的时间执行输出时钟使能信号243的门控,并且,输出时钟244被解除断言。如图6和图7所示,接收的校准图案(与dh2_data 236对应)依赖于延迟指标M而不同。当延迟指标满足M>1时,相对于开始门控时的时间所接收的数据(在图6和图7的例子中,为D3)从一个循环之后的数据到M个循环之后的数据的范围被M+1个循环之后的数据替换。另一方面,当M=0时,实际延迟量匹配循环设定值,并且,已接收正确的图案。
(2)门控量(N)与接收的图案之间的相关性
将描述(在已执行偏斜调整并且循环调整不正确的情况下)N与接收的校准图案之间的相关性,这里,输出时钟244的门控继续期间的循环数由门控量N表示(对于N的定义,参见图5)。
图8、图9和图10示出N为1、2和3时的校准期间的波形。参照图8、图9和图10中的r_data_buff 234的波形,可以看出,不管N的值是什么,用于M个循环的数据已被替换。但是,数据被什么数据替换依赖于N的值。例如,当N=3时,D1至D3被D4替换,当N=2时,D1被D3替换并且D2和D3被D4替换。并且,当N=1时,D1、D2和D3分别被D2、D3和D4替换。
(3)门控操作间的循环(L)与接收的图案之间的相关性
当多次执行门控时,将描述(在已执行偏斜调整并且循环调整不正确的情况下)L与接收的校准图案之间的相关性,这里,L是从在 先的门控时间到随后的门控时间的循环。(对于L的定义,参见图5)。图11、图12、图13和图14示出L为1至4时的校准期间的波形。如果L>=M,那么可作为独立的门控操作来操控多个门控操作。即,以执行门控的次数出现对于M个循环的数据的替换。否则,多个门控操作相互具有相关性,并且,{M*(执行门控的次数)-(M-L)}条数据被连续替换。
(4)门控开始位置(S)、门控结束位置(E)与接收的图案之间的相关性
将描述(在已执行偏斜调整并且循环调整不正确的情况下)S、E和接收的校准图案之间的相关性,这里,S是门控开始位置,E是门控结束位置(对于S和E的定义,参见图5)。
图15、图16和图17示出S与开始位之间的位置关系以及E与结束位之间的位置关系改变时的校准期间的波形。图15示出当门控开始位置S置于检测到开始位之后并且门控结束位置E置于检测到结束位之前时的波形。图16示出当门控开始位置S置于检测到开始位之前并且门控结束位置E置于检测到结束位之后时的波形。图17示出当门控开始位置S置于检测到开始位之后并且是门控结束位置E时的波形。
如图16中那样,当时钟门控被周期性地执行以与主时钟115的一个循环同步时,如果不满足L>M并且S置于开始位之前的位置而E置于结束位之后的位置,那么图案不适于校准。这是由于,虽然循环调整不正确,但是,可正确地接收数据。
另一方面,如果S置于开始位之后或者E置于结束位之后,那么在循环调整不正确的情形下数据不能被正确地接收。因此,可以看出,该门控图案适于校准。因此,必须在校准图案的接收期间仅布置S和E中的一个或者考虑门控操作之间的循环L。
并且,虽然图15、图16或图17中没有直接示出,但是,门控图案需要被设定,使得门控开始位置S或门控结束位置E可置于由接收数据SP转换单元210接收的校准图案的值变动时的定时(输入下面 描述的预定数量的不同值的时段中)。即,门控图案被设定,使得在校准图案的值变动的定时之一处输出时钟244开始停止或者其停止被解除。例如,值变动的定时是“01”(或“10”)的情况,并且,门控图案被设定,使得门控开始位置S置于“01”中的“1”(或者“10”中的“0”)处,并且门控结束位置E置于“01”中的“0”(或“10”中的“1”)处。
如上所述,校准图案和门控图案具有(1)至(4)所示的相关性。在图6和图7的例子中,在接收校准图案中的“D3”的循环随后的循环期间执行门控。在该例子的情况下,由于循环设定值与实际延迟之间的关系,“D4至D6”可能被“D5至D7”替换。出于这种原因,即使校准图案中的“D4至D7”全部具有相同的值,替换之前的值和替换之后的值也相同,这对于延迟(循环延迟)的检测不是优选的。在图6和图7的例子中,优选地,按照相关性(1)至(4),校准图案中的“D4至D7”被变为以下的图案:
“D4至D7=0101”
以上基于(1)至(4)中的相关性被设定。当然,即使“1”和“0”相反,也可设定这种情况下的相应期望值。
并且,在图20中示出使用以上的校准图案(期望值)时的在与实际循环数的差异和接收的图案(接收数据236)之间的关系。可以基于指示接收的图案与图20所示的延迟量之间的关系的信息来确定与实际循环数的差异。注意,必须设定图案,使得可根据M以1:1接收不同的校准图案。因此,当使用根据相关性(1)至(4)的门控图案时,如果校准图案中的连续值(位,“1”或“0”等)是与更早地输入到外部器件控制器103的值不同的预定数量的连续值,那么可以检测到直至预定数量的循环的延迟。即,优选地,数量大于或等于可检测的延迟循环数的与更早地输入(到接收数据SP转换单元210)的值不同的值是连续的。在上述的“D4至D7=0101”的情况下,可以保证“101”部分包含与先前输入值不同的连续值。
指示以上关系的延迟信息(诸如如图20所示的查找表或简单序 列)可被事先测试并被存储于CPU 101可参照的DRAM 106或任何其它存储器件中,并且可在循环延迟量被确定时被CPU 101参照。
接下来,在图18中示出在通过使用正确的参数(偏斜设定值、循环设定值)导致图1的配置操作时在数据接收期间由外部器件控制器103和外部器件107操控的信号的行为。与图24的例子类似,图18的例子示出虽然循环延迟是一个循环、但完成校准并且设定与一个循环对应的循环选择值249(循环设定值256)时的波形。(注意,当在接收数据236中导致的延迟是一个循环时,由正确的循环选择值249(循环设定值256)指示的设定是1。由于由循环选择值249指示的设定是1,因此,通过使用循环控制单元603,接收使能信号250相对于输出时钟使能信号243被延迟一个循环。)
在图18的例子中,在串行格式接收数据236的“D0”被接收时的时间,输出时钟使能信号243被解除断言并且输出时钟244被门控。虽然输出时钟244被门控,但是,串行格式接收数据237的“D1”和“D2”从外部器件107被传送。在输出时钟使能信号243开始被解除断言之后的一个循环处,接收使能信号250也被解除断言。响应于接收使能信号250的解除断言,接收数据SP转换单元210立即停止接收串行格式接收数据。
因此,在偏斜调整接收数据235的“D1”已被接收时,数据的接收被停止。当观看并行格式接收数据234的第一位的数据时可以看出,“D1”已被成功接收,并且,接收数据SP转换单元210的数据加载停止定时已被成功调整以应对循环延迟。
并且,输出时钟使能信号243在其被解除断言之后的一个循环处被再次断言,并且,响应于断言,输出时钟244的门控被解除。这里,即使当输出时钟244的门控被解除时,由于上述的接收数据236中的一个循环或更多的延迟,串行格式接收数据236的“D2”也从外部器件107被持续地传送。
基于由循环设定值256指示的延迟量(一个循环),接收使能信号250在输出时钟使能信号243的断言之后的一个循环处也被断言。 响应于接收使能信号250的断言,接收数据SP转换单元210立即重新开始接收串行格式接收数据。因此,串行格式接收数据236的“D2”可被正确地接收。当观看并行格式接收数据234的第一位时可以看出,“D2”已被成功地正确接收,并且,接收数据SP转换单元210的数据加载重新开始定时已被成功调整以应对循环延迟。
如上面那样,本示例性实施例可抑制以不正确的设定完成校准。因此,即使当接收数据236具有一个循环或更多的延迟时,也可正确地检测接收数据236。
并且,根据本示例性实施例的循环控制单元603,一旦设定正确的循环设定值256,接收数据SP转换单元210的数据加载停止定时和数据加载重新开始定时就可被延迟以与在外部器件控制器103与外部器件107之间出现的循环延迟量对应。这抑制如图24所示的数据加载的失败的出现。
并且,虽然在以上的示例性实施例中偏斜控制单元211和循环控制单元603被单独地配置,但是,偏斜调整和循环调整可被组合成单个配置,或者可被组合成接收数据SP转换单元210。并且,在偏斜调整中,通过输入偏移已被校正的时钟来执行调整。但是,用于偏斜调整或循环调整的延迟配置(延迟元件、触发器)可被直接布置于用于供给数据的系统中,并且,可通过使用选择器等选择延迟量。
并且,在以上的示例性实施例中,未讨论执行校准处理的机会。但是,可以以与公知的外部器件控制器类似的机会执行校准,由此实现本发明的效果。例如,当启动ASIC 100时、当外部器件控制器103被初始化时、以预定时间的间隔(例如,以诸如SDXC的标准中定义的208MHz处的10msec的间隔)或者以预定数量的循环的间隔、或者当ASIC 100检测到与外部器件107的连接时,可以实施校准。
并且,在以上的示例性实施例中,循环计算单元602、循环设定寄存器601和期望值设定寄存器604已被描述为硬件,但是,作为替代,也可通过使用CPU 101在软件中被实现。在这种情况下,CPU 101从DRAM 106等读取并执行用于实施循环计算单元602的功能的程 序。在CPU 101的高速缓存器(或DRAM 106)中保留与各种寄存器对应的存储区域,并且,在存储区域中存储被存储于上述的各种寄存器中的值。
如果外部器件107被配置为可去除地附接于外部器件IF 112,那么外部器件107与外部器件控制器103之间的上述布线延迟可假定具有大的延迟量的变动。实际上,可假定包括由诸如接触失败的除布线的长度或材料以及温度升高以外的各种因素所导致的延迟。
在以上的示例性实施例中,没有作为例子示出主时钟115正在哪个频率操作。但是,随着操作频率增大,更难以检测通过图21(a)所示的配置在接收数据236中导致的一个循环或更多的延迟,并且,更可能出现校准失败。可假定增大主时钟115的频率,以便更迅速地在外部器件控制器103与外部器件107之间交换数据。因此,可以说,本发明还有助于高速和高可靠性数据通信的实现。
并且,在以上的示例性实施例中,循环计算单元602通过比较校准图案(接收数据234)与期望值来执行循环调整。但是,如偏斜调整中那样,CPU 101可读取期望值并执行比较处理。
并且,在以上的示例性实施例中,接收数据236的数据部分(图21b中的D0、D1、…)被用于比较。但是,可对于比较使用通过用作计算部件的接收数据SP转换单元210计算的CRC部分(图21b中的CRC0、CRC1、…)。在这种情况下,必须对于事先存储的校准图案事先计算并存储当偏斜设定和循环设定正常时接收的CRC。
虽然图1示出使用1位宽度的总线的外部器件控制器103与外部器件107之间的通信,但是,也可使用4位宽度的总线或8位宽度的总线等,并且,本发明可在不限于总线宽度的情况下被应用。但是,例如,当使用4位宽度(8位)的总线等时,偏斜控制单元211可具有四个触发器218和四个延迟选择单元217,使得可对于每个1位宽度执行偏斜调整。在这种情况下,接收数据SP转换单元210仅需要合并4位序列,并且,接收数据SP转换单元210或接收缓冲器209等需要用于重新排序4位数据以匹配要从外部器件107输出的数据的 配置。
并且,在以上的示例性实施例中,仅已描述了主时钟115具有单个操作频率的例子。但是,可通过识别外部器件107来切换操作频率。例如,用于分割主时钟的频率的分频器电路或倍增器电路等可被设置在CLOCK产生器105与外部器件控制器103之间,以切换要被输入到外部器件控制器103的主时钟的频率。在这种情况下,除CLOCK产生器105以外,分频器电路或倍增器电路还用作振荡部件的一部分。
在这种情况下,当上述的校准不成功时,被输入到外部器件107的主时钟115可降低到较低频率,使得与外部器件的通信可被稳定化。校准不成功的情况的例子可包括每单位时间出现预定次数或更多的上述校准的情况、以及校准所需要的时间需要预定时间或更多(例如,轮转操作所需要的次数或更多)的情况。并且,在外部器件IF 112的物理连接器形状被设计为配合在标准中规定的特定类型的外部器件107的情况下,标准的特定类型中规定的频率可被用作要在分割器电路或倍增器电路中切换的频率。(例如,如果校准在208MHz不成功,那么频率被切换到100MHz等。)这确保可在相同类型的外部器件取决于版本而具有不同的操作频率时维持外部器件控制器103的向后兼容性。
当在SDXC(SD eXtended Capacity)标准的外部器件107中利用本发明时,可以在数据的传送和接收之前识别外部器件107的标准(或外部器件107与控制器之间的通信的类型)。在这种情况下,CPU101执行上述的命令的传送和接收,以指示返回指示外部器件107的类型(或通信类型)的识别信息。然后,根据识别信息,取决于识别的标准,CPU 101可导致上述的振荡部件对于SDXC切换到高频率(208MHz)或者要不然切换到低频率(50Hz或20Hz)。如果可以确定正在使用以低得以至于如上面描述的那样一个循环或更多的延迟不影响数据接收的频率进行的通信,那么可以停止用于校准的循环调整功能。
这里,在本发明被应用于SDXC标准的外部器件107的情况下, 外部器件107被配置为向外部器件控制器103传送64字节校准图案。在这种情况下,外部器件控制器103可操控用于64字节的校准图案。但是,可关注于64字节内的包含按照可检测的延迟循环量的与较早地输入的值不同的连续值的部分。在这种情况下,在通过外部器件控制器103接收的64字节校准图案被写入到DRAM 106之后,CPU 101可只读取被关注的部分的地址。并且,一些标准限定可在外部器件107与外部器件控制器103之间允许的最大延迟量。因此,可基于允许的延迟量设定相互连续的不同值的数量(上述的预定数量)。在这种情况下,优选地,作为上述的预定数量,事先设定比与允许的延迟量对应的数量大的数量。
并且,以上的示例性实施例中的传送缓冲器207或接收缓冲器209可具有FIFO结构。在这种情况下,可基于指示FIFO的可用容量的信息(剩余容量信息)创建缓冲器满信号或缓冲器空信号,或者,作为替代,可直接使用剩余容量信息。在这种情况下,如果可被存储于接收缓冲器209的FIFO中的数据量大于或等于校准图案的数据量,那么校准图案可被暂时写入FIFO中,然后,CPU 101可直接使用校准图案用于比较。但是,如果可被存储于接收缓冲器的FIFO中的数据量比校准图案的小,那么,优选地,依次地(对于每个预定的循环)比较校准图案的小于或等于FIFO容量的每个数据量。作为替代方案,可获得在校准期间数据被依次地比较而不被加载在接收缓冲器209的FIFO中的分支配置。(作为比较部件,可以设置用于预定循环的数据的比较器,其具有与CPU 101分开的配置并用寄存器来配置,还以相同数据量的单位从该寄存器读取期望值。)否则,如果第三时钟控制部件223被设计为不在偏斜调整中停止时钟,那么接收缓冲器209有可能溢出。
并且,以上的示例性实施例中的诸如输出时钟使能信号243的控制信号可被配置,使得禁用信号在使能信号被解除断言时的定时被断言。
在以上的示例性实施例中,已在包含外部器件控制器103的信息 处理装置的背景下描述了本发明。但是,本发明也可被应用于信息处理装置在其中包括上述的外部器件107的配置的情况,因此,可以说,可应用于器件控制器。并且,应用本发明的信息处理装置可包括诸如图像处理装置和计算处理装置的各种装置。
并且,还通过执行以下的处理实现本发明。即,处理是用于实现以上示例性实施例的功能的软件(程序)经由网络或各种存储介质被供给到系统或装置、并且系统或装置的计算机(或者CPU或MPU等)读取并执行程序的处理。
Claims (19)
1.一种信息处理装置,包括:
供给部件,用于向外部器件供给时钟;
控制部件,用于向供给部件传送用于停止时钟供给的控制信号;
接收部件,用于接收同步于时钟从外部器件输出的数据,并用于根据所述控制信号停止加载数据;
第一延迟部件,用于校正由接收部件接收的数据的相位偏移;以及
第二延迟部件,用于延迟用于对接收数据停止加载的所述控制信号,从而校正接收数据的周期到周期偏移。
2.根据权利要求1的信息处理装置,还包括用于使时钟振荡的振荡部件,
其中,第一延迟部件通过将由接收部件接收的数据延迟比由振荡部件振荡的时钟的一个循环小的量来校正相位偏移,以及
其中,第二延迟部件通过以等于由振荡部件振荡的时钟的一个循环的整数倍的延迟向接收部件输入所述控制信号,来校正接收部件的数据加载定时的周期到周期偏移。
3.根据权利要求1或2的信息处理装置,还包括:
指示部件,用于指示外部器件传送由接收部件接收的校准图案;以及
选择部件,用于根据指示在什么定时停止时钟的门控信息,使停止供给部件的时钟供给的第一时钟控制模式和不停止时钟供给的第二时钟控制模式选择性地起作用,
其中,选择部件在校准图案的相位偏移被调整时使第二时钟控制模式起作用,并且在校准图案的循环延迟被调整时使第一时钟控制模式起作用。
4.根据权利要求3的信息处理装置,还包括:
存储部件,用于保持被接收的校准图案的期望值;以及
确定部件,用于比较在通过选择部件使控制部件起作用的状态下由接收部件接收的校准图案与保持于存储部件中的期望值,并用于确定是否找到匹配。
5.根据权利要求4的信息处理装置,其中,确定部件确定由接收部件接收的校准图案匹配期望值,并且确定已完成接收部件的数据加载定时的调整。
6.根据权利要求3的信息处理装置,其中,校准图案通过使用多个值被配置,并且所述多个值中的预定数量的连续值中的每一个与在前的值不同。
7.根据权利要求6的信息处理装置,其中,所述预定数量大于或等于能在信息处理装置与外部器件之间出现的延迟量所对应的循环数。
8.根据权利要求3的信息处理装置,还包括:保持部件,用于保持由接收部件接收的数据,并用于通知保持部件何时不能保持数据,
其中,选择部件在基于校准图案的数据加载定时的调整被完成时,使响应于来自保持部件的通知而停止供给部件的时钟供给的第三时钟控制模式起作用。
9.根据权利要求8的信息处理装置,其中,保持部件具有FIFO结构,并且通知是基于指示FIFO的剩余容量信息的信号。
10.根据权利要求8的信息处理装置,还包括用于确定与外部器件的通信的类型的识别部件,其中,当能确定外部器件不是预定类型时,选择部件在接收部件的数据加载定时被调整时使第三时钟控制模式起作用。
11.根据权利要求1的信息处理装置,其中,第二延迟部件包含其输入和输出被串联连接的多个触发器,并且其中,当控制信号被逐个周期地延迟时,所述多个触发器之一的输出被选择性地输出。
12.根据权利要求3的信息处理装置,其中,门控信息包含指示供给部件在周期性的定时停止时钟的信息。
13.根据权利要求3的信息处理装置,其中,门控信息指示开始通过控制部件停止时钟的定时、取消时钟的停止的定时、以及停止时钟的周期之中的至少一个。
14.根据权利要求3的信息处理装置,还包括用于确定与外部器件的通信的类型的识别部件,其中,当能确定外部器件为预定类型时,选择部件在接收部件的数据加载定时被调整时使第一时钟控制模式起作用。
15.根据权利要求1的信息处理装置,其中,控制部件在已由接收部件接收的校准图案的值变动的定时中的至少一个定时开始停止时钟。
16.根据权利要求1的信息处理装置,其中,控制部件在已由接收部件接收的校准图案的值变动的定时中的至少一个定时取消时钟的停止。
17.一种信息处理装置,包括向外部器件供给时钟并且接收同步于时钟从外部器件输出的数据的外部器件控制器,信息处理装置包括:
第一延迟部件,用于校正由外部器件控制器接收的数据的相位偏移;以及
第二延迟部件,用于延迟用于使外部器件控制器停止在其中加载数据的控制信号,从而校正接收数据的周期到周期偏移。
18.一种信息处理方法,包括:
供给步骤,向外部器件供给时钟;
控制步骤,传送用于停止供给步骤中的时钟供给的控制信号;
接收步骤,接收同步于时钟从外部器件输出的数据并根据所述控制信号停止加载数据;
第一延迟步骤,校正在接收步骤中接收的数据的相位偏移;以及
第二延迟步骤,延迟用于对接收数据停止加载的所述控制信号,从而校正接收数据的周期到周期偏移。
19.一种信息处理装置中的信息处理方法,所述信息处理装置包括向外部器件供给时钟并且接收同步于时钟从外部器件输出的数据的外部器件控制器,信息处理方法包括:
第一延迟步骤,调整由外部器件控制器接收的数据的相位偏移;以及
第二延迟步骤,在第一延迟步骤之后延迟用于使外部器件控制器停止在其中加载数据的控制信号,从而校正接收数据的周期到周期偏移。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/071656 WO2011077563A1 (ja) | 2009-12-25 | 2009-12-25 | 情報処理装置又は情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102668378A CN102668378A (zh) | 2012-09-12 |
CN102668378B true CN102668378B (zh) | 2015-01-07 |
Family
ID=44188941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980163122.XA Active CN102668378B (zh) | 2009-12-25 | 2009-12-25 | 信息处理装置和信息处理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9054691B2 (zh) |
JP (1) | JP5501378B2 (zh) |
CN (1) | CN102668378B (zh) |
WO (1) | WO2011077563A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9360915B1 (en) * | 2012-04-26 | 2016-06-07 | Marvell International Ltd. | Dynamically controlling clocking rate of a processor based on user defined rule |
CN108538311B (zh) * | 2018-04-13 | 2020-09-15 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频分类方法、装置及计算机可读存储介质 |
CN112188181B (zh) * | 2019-07-02 | 2023-07-04 | 中强光电股份有限公司 | 图像显示设备、立体图像处理电路及其同步信号校正方法 |
CN114691556A (zh) * | 2020-12-29 | 2022-07-01 | 马来西亚瑞天芯私人有限公司 | 一种提供与外部存储设备连接的通用物理层及其连接方法 |
JP2024048776A (ja) * | 2022-09-28 | 2024-04-09 | ラピステクノロジー株式会社 | データ受信回路、表示ドライバ及び表示装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6346837B1 (en) * | 1997-09-03 | 2002-02-12 | Nec Corporation | Digital delay-locked loop circuit having two kinds of variable delay circuits |
CN1956336A (zh) * | 2005-10-27 | 2007-05-02 | 联发科技股份有限公司 | 延迟锁定回路系统与相关方法 |
US7343511B2 (en) * | 2003-07-08 | 2008-03-11 | Ricoh Company, Limited | Method and apparatus for data transfer, image forming apparatus, and computer product |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59173839A (ja) | 1983-03-22 | 1984-10-02 | Matsushita Electric Ind Co Ltd | 直列デ−タ転送回路 |
JPS6368959A (ja) * | 1986-09-11 | 1988-03-28 | Mitsubishi Electric Corp | 情報転送方式 |
US4833695A (en) * | 1987-09-08 | 1989-05-23 | Tektronix, Inc. | Apparatus for skew compensating signals |
JPH04105412A (ja) * | 1990-08-27 | 1992-04-07 | Nec Ibaraki Ltd | フリップフロップ |
JP2965049B2 (ja) | 1991-07-31 | 1999-10-18 | 株式会社アドバンテスト | タイミング発生装置 |
JPH08223003A (ja) * | 1995-02-16 | 1996-08-30 | Kawasaki Steel Corp | クロック逓倍回路 |
JP3367009B2 (ja) | 1995-08-31 | 2003-01-14 | 京セラ株式会社 | プリンタ装置における同期式データ伝送方式 |
JP3973308B2 (ja) * | 1998-11-27 | 2007-09-12 | 富士通株式会社 | セルフタイミング制御回路を内蔵する集積回路装置 |
JP4831899B2 (ja) * | 2001-08-28 | 2011-12-07 | 富士通セミコンダクター株式会社 | 半導体集積回路及びクロック制御方法 |
JP2005286467A (ja) * | 2004-03-29 | 2005-10-13 | Fujitsu Ltd | デジタルdll装置、デジタルdll制御方法、デジタルdll制御プログラム |
JP4667196B2 (ja) * | 2005-10-12 | 2011-04-06 | パナソニック株式会社 | 位相調整回路 |
US7746134B1 (en) * | 2007-04-18 | 2010-06-29 | Altera Corporation | Digitally controlled delay-locked loops |
JP5579373B2 (ja) * | 2008-05-22 | 2014-08-27 | ピーエスフォー ルクスコ エスエイアールエル | Dll回路 |
US8036614B2 (en) * | 2008-11-13 | 2011-10-11 | Seiko Epson Corporation | Replica DLL for phase resetting |
-
2009
- 2009-12-25 CN CN200980163122.XA patent/CN102668378B/zh active Active
- 2009-12-25 WO PCT/JP2009/071656 patent/WO2011077563A1/ja active Application Filing
- 2009-12-25 JP JP2011547172A patent/JP5501378B2/ja not_active Expired - Fee Related
-
2010
- 2010-12-17 US US12/971,684 patent/US9054691B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6346837B1 (en) * | 1997-09-03 | 2002-02-12 | Nec Corporation | Digital delay-locked loop circuit having two kinds of variable delay circuits |
US7343511B2 (en) * | 2003-07-08 | 2008-03-11 | Ricoh Company, Limited | Method and apparatus for data transfer, image forming apparatus, and computer product |
CN1956336A (zh) * | 2005-10-27 | 2007-05-02 | 联发科技股份有限公司 | 延迟锁定回路系统与相关方法 |
Non-Patent Citations (4)
Title |
---|
JP平4-105412A 1992.04.07 * |
JP昭63-68959A 1988.03.28 * |
JP昭64-72641A 1989.03.17 * |
JP特开平8-223003A 1996.08.30 * |
Also Published As
Publication number | Publication date |
---|---|
US20110161715A1 (en) | 2011-06-30 |
JPWO2011077563A1 (ja) | 2013-05-02 |
JP5501378B2 (ja) | 2014-05-21 |
WO2011077563A1 (ja) | 2011-06-30 |
CN102668378A (zh) | 2012-09-12 |
US9054691B2 (en) | 2015-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102668378B (zh) | 信息处理装置和信息处理方法 | |
US11151066B2 (en) | Link width scaling across multiple retimer devices | |
CN100399312C (zh) | 自动硬件数据链路初始化方法和系统 | |
US10129012B2 (en) | Tuning circuitry and operations for non-source-synchronous systems | |
US20040068682A1 (en) | Deskew circuit and disk array control device using the deskew circuit, and deskew method | |
CN108874686B (zh) | 内存参数调节方法、装置及设备 | |
US10572438B1 (en) | Dynamic optimal data sampling time on a multi-drop bus | |
US11805026B2 (en) | Channel training using a replica lane | |
CN102668444B (zh) | 信息处理装置或信息处理方法 | |
US20130290768A1 (en) | Arithmetic processing device, method for controlling arithmetic processing device, and system | |
CN102696196B (zh) | 信息处理设备或信息处理方法 | |
JP2012124716A (ja) | データ受信装置、データ送信装置、制御方法 | |
JP5717897B2 (ja) | 情報処理装置又は情報処理方法 | |
JP4290067B2 (ja) | シリアル通信システムにおけるデータ同期方法及びそのためのプログラム | |
EP3260983A1 (en) | Channel training using a replica lane | |
WO2020002259A1 (en) | Precision timing between systems | |
CN112534411A (zh) | Cpu单元、cpu单元的控制方法、信息处理程序以及记录介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |