公开/公告号CN102207922A
专利类型发明专利
公开/公告日2011-10-05
原文格式PDF
申请/专利权人 新唐科技股份有限公司;
申请/专利号CN201010158763.0
发明设计人 陈志铭;
申请日2010-03-30
分类号G06F13/40(20060101);G06F1/04(20060101);
代理机构11127 北京三友知识产权代理有限公司;
代理人任默闻
地址 中国台湾新竹科学工业园区
入库时间 2023-12-18 03:26:04
法律状态公告日
法律状态信息
法律状态
2014-07-30
授权
授权
2011-11-23
实质审查的生效 IPC(主分类):G06F13/40 申请日:20100330
实质审查的生效
2011-10-05
公开
公开
技术领域
本发明涉及一种时钟控制装置,尤其涉及一种产生串行总线所需时钟信号的时钟控制装置。
背景技术
串行总线接口(Serial Peripheral Interface;SPI)为广泛应用于元件与元件之间的一种从/主架构连接接口。在传统的串行总线接口当中,所输出的串行传输时钟均为单一频率,换句话说,无论所传送的资料为命令或数据,均采用单一的传输速率进行传输。对于日渐新颖的系统应用,单一频率的串行传输时钟已经无法满足系统上的需求。
因此需要一种新的时钟控制装置,能够依照各系统的需要,即时且迅速地调整传输时钟的频率。
发明内容
本发明实施例提供一种总线接口与总线接口的时钟频率控制方法,能够依照系统对时钟频率的要求,即时且弹性地调整传输时钟信号的频率。
依据本发明的一实施例,总线接口耦接于一第一装置,此总线接口内含一芯片选择端、一第一传输总线端、一第二传输总线端以及一时钟控制装置。芯片选择端用以传输一芯片选择信号,藉此启动数据的传输。当数据传输启动时,第一传输总线端将数据传送至一第二装置,第二传输总线端将数据自第二装置传输至第一装置。时钟控制装置含有一频率处理单元以及一传输时钟产生单元。当一频率设定值发生变化时,频率处理单元输出一时钟控制信号,传输时钟产生单元接收时钟控制信号并依据频率设定值产生一传输时钟信号。
依据本发明的另一实施例,总线接口耦接于一第一装置,此总线接口含有一芯片选择端、一第一传输总线端、一第二传输总线端以及一时钟控制装置。芯片选择端用以传输一芯片选择信号,藉此启动数据的传输。当数据传输启动时,第一传输总线端将数据传送至第二装置,第二传输总线端将数据自第二装置传输至第一装置。时钟控制装置含有一频率处理单元以及一传输时钟产生单元。频率处理单元产生一频率控制位来调整一传输时钟信号的频率,传输时钟产生单元接收频率控制位,并依据频率控制位产生一传输时钟信号。
依据本发明的再一实施例,总线接口的时钟频率控制方法可调变一传输时钟信号的频率,此时钟频率控制方法判断一总线是否开始传输命令或是数据,当总线开始传输命令或是数据,检测一频率设定值是否发生变化。当频率设定值发生变化,判断一封包群是否完成传输。当封包群完成传输,则载入新的频率设定值,依据所载入的频率设定值调整传输时钟信号的频率,并输出频率调整后的传输时钟信号。
依据本发明的又一实施例,总线接口的时钟频率控制方法,可在一封包群传输进行当中调变一传输时钟信号的频率,此时钟频率控制方法可判断一总线是否开始传输命令或是数据,当总线开始传输命令或是数据,判断一可变异时序输出信号是否被确立。当可变异时序输出信号确立,则依据一频率控制位的数值,自多个频率设定值当中择一,并使传输时钟信号的频率调整为被选中的频率设定值所对应的频率。
附图说明
为让本发明的上述和其他目的、特征、优点与实施例能更明显易懂,所附图式的说明如下:
图1为绘示总线系统的方块示意图;
图2A为绘示本发明一实施方式总线接口时钟控制装置的方块图;
图2B为绘示本发明一实施方式总线接口时钟频率控制方法的流程图;
图2C为绘示本发明一实施方式总线接口时钟控制装置的波形图;
图3A为绘示本发明另一实施方式总线接口时钟控制装置的方块图;
图3B为绘示本发明另一实施方式总线接口时序控制方法的流程图;
图3C为绘示本发明一实施方式总线接口时钟控制装置的之波形图。
附图标号:
101:串行总线接口 103:串行总线接口
200:时钟控制装置 201:频率检测单元
203:传输周期控制器 203:传输周期控制器
204:传输时钟产生单元 205:传输周期缓存器
207:第一逻辑运算器 209:逻辑比较器
211:频率设定值缓存器 213:运算数值缓存器
215:时钟计数器 217:传输周期计数器
221~229:步骤 300:时钟控制装置
301:可变异频率控制单元 303:第二逻辑运算器
305:多工选择器 321~329:步骤
307:频率控制位缓存器
309、311:频率设定值缓存器
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
以下实施例的总线接口及其时钟频率控制方法,能够依照需要即时调整串行传输时钟信号的频率,可使串行总线接口(Serial Peripheral Interface;SPI)上的装置能够即时反应数据变化,或可收集更多的数据。
请参照图1,其为绘示本发明一实施方式总线系统的方块示意图。在此总线系统当中,总线接口,例如串行总线接口101,可耦接于第一装置105,串行总线接口103可耦接于第二装置107。第一装置105可为串行总线主装置,第二装置107可为串行总线从装置,串行总线接口101可具有芯片选择端(Slave Select)SS、第一传输总线端如主出从入(Master Output SlaveInput)MOSI、第二传输总线端如主入从出(Master Input Slave Output)MISO,以及时钟控制装置109。
芯片选择端SS可用来传输芯片选择信号,藉此启动数据的传输。当数据传输启动时,第一传输总线端MOSI将数据以例如串行(Serial)型式传送至第二装置107,第二传输总线端MISO则将数据以例如串行(Serial)型式自第二装置107传输至第一装置105。时钟控制装置109可产生时钟信号来控制数据的传输速度。
请参照图2A,其为绘示本发明一实施方式总线接口时钟控制装置的方块图。时钟控制装置200,用来产生频率可调变的传输时钟信号,例如可为设置于串行总线接口(Serial Peripheral Interface)主装置(Master)或是从装置(Slave)当中来控制数据(Data)以及命令(Command)传输的时钟控制装置。时钟控制装置200可具有频率处理单元202以及传输时钟产生单元204。当一频率设定值发生变化时,频率处理单元202输出时钟控制信号。传输时钟产生单元204接收此时钟控制信号,并依据频率设定值来产生传输时钟信号。
频率处理单元202可含频率检测单元201以及频率设定值缓存器211。频率设定值缓存器211接收并储存频率设定值,以供频率检测单元201进行检测。频率检测单元201耦接频率设定值缓存器211,以检测频率设定值是否发生变化。当频率检测单元201检测到频率设定值发生变化时,频率变化旗标将被确立(Assert),频率设定值缓存器211中的频率设定值可被输出至运算数值缓存器213,前述的确立可为使频率变化旗标具有一特定逻辑准位,例如0或1。
在图2A当中,传输时钟产生单元204含有时钟计数器215、逻辑比较器209、传输周期计数器217、传输周期控制器203、第一逻辑运算器207、运算数值缓存器213。
前述的时钟计数器215可用以计数系统时钟信号的周期(cycle)数目,此系统时钟信号的频率通常高于传输时钟信号的频率,以利时钟计数器215以系统时钟信号为基础进行计算,来调整传输时钟信号的频率。逻辑比较器209可用以接收并比较频率设定值以及已累计的系统时钟信号的周期数目,当频率设定值与系统时钟信号的周期数目相等时,逻辑比较器209会确立时钟使能信号,促使传输周期计数器217输出传输时钟信号。前述的频率设定值与系统时钟信号的周期数目相等时的情形可以下列具体例子进行说明。若频率设定值为0x15F(16进位),则当时钟计数器215由0上数至0x15F或是由0xFFF下数至0x15F时,传输周期计数器217将输出传输时钟信号,并重新计数。当前述频率设定值与极大值或是极小值之间的差距越大,代表计数时间越长,在此情形下,传输时钟信号的频率将越低。
当时钟计数器215采用由0往上数的方式时,前述的频率设定值的内容例如可为一个“除数”。举例来说,当系统时钟为24MHz,若希望输出的时钟为2MHz,这时候就可将频率设定值缓存器211的内容设定为“12”,则时钟计数器215计数12个系统时钟信号周期之后,即可输出时钟为2MHz的传输时钟信号。
本实施例当中,传输时钟信号的频率可在数据封包(Data Packet)或命令封包(Command packet)传输完成之后才会进行调变,可不在同一数据封包群或是同一命令封包群的传输当中进行调变,在此情形下,可透过传输周期控制器203来判断封包群是否完成传输。当频率设定值发生变化且封包群完成传输之时,第一逻辑运算器207会确立频率变化旗标,表示传输时钟信号的频率需要转换;若传输时钟信号的频率完成变化,则第一逻辑运算器207会反确立(De-assert)频率变化旗标。运算数值缓存器213可在频率变化旗标确立时,自频率设定值缓存器211载入(Load)频率设定值,并输出频率设定值至逻辑比较器209。在另一实施例中,频率设定值可由频率设定值缓存器211直接输出至逻辑比较器209。
时钟控制装置200可更含有传输周期缓存器205,以供储存所欲产生的传输时钟信号的脉冲数目。前述的传输周期控制器203可用以比较所欲产生的脉冲数目以及已产生的脉冲数目,当此两数目相等,代表总线上的封包群已经完成传输,时钟控制装置200可以在此时对传输时钟信号的频率进行调整。
请参照图2B,其为绘示本发明一实施方式总线接口时钟频率控制方法的流程图。时钟频率控制方法可调变传输时钟信号的频率,此时钟频率控制方法首先判断总线是否开始传输命令或是数据(步骤221)。当总线开始传输命令或是数据,则检测频率设定值是否发生变化(步骤223),若传输尚未开始,则继续停留在步骤221来检测总线的状态。若在步骤223当中发现频率设定值发生变化,则继续判断一封包群是否完成传输(步骤225);若频率设定值未产生变化,则继续停留在步骤223中检测频率设定值。当封包群完成传输,则载入新的频率设定值,并依据所载入的频率设定值调整传输时钟信号的频率(步骤227),接着再输出频率经调整后的传输时钟信号(步骤229);若封包群尚未完成传输,则继续检测封包群。
请参照图2C,其绘示本发明一实施方式总线接口时钟控制装置的波形图。在图2C所绘示的信号当中,芯片选择信号、传输时钟以及主出从入等信号可由主装置输出至从装置,而主入从出信号则可由从装置输出至主装置,其中主出从入与主入从出信号负责携带命令与数据,传输时钟信号则可用来负责控制命令与数据的传输速度。图2C的传输时钟信号上绘示了三个封包群,分别是封包群1、封包群2以及封包群3,频率则在一封包群与另一封包群之间进行调整。
由此图2C可以看出,当频率设定值由0x7F(16进位)调整至0x15F时,会先引发频率变化旗标确立,接着传输时钟信号的频率才会跟着调整。当时钟控制装置发现传输时钟信号的频率已经依照新的频率设定值完成调整,会反确立频率变化旗标,以待下次频率变化时再将之确立。
当需进行命令传输如配置位址(Configuration)时,可以加快传输速度,故可增加所采用的传输时钟信号的频率;在命令传输完成之后才是数据资料的传输,此数据由反应较慢的装置如模拟数字转换器产生,传输速度慢,故可降低传输时钟信号的频率。
请参照图3A,其绘示本发明另一实施方式总线接口时钟控制装置的方块图。此一实施方式的时钟控制装置300可在同一封包群传输进行当中且封包群尚未完成传输之时,调整传输时钟信号的频率。时钟控制装置300时序装置含有频率处理单元302以及传输时钟产生单元304。频率处理单元302产生频率控制位来调整传输时钟信号的频率,传输时钟产生单元304接收频率控制位,并依据频率控制位的数值产生传输时钟信号。
频率处理单元302可含频率控制位缓存器307、可变异频率控制单元301、频率设定值缓存器309以及频率设定值缓存器311。频率控制位缓存器307用以储存频率控制位,使用者可透过一外部控制器(未绘示)将此频率控制位储存于频率控制位缓存器307中。频率控制位可进一步被载入可变异频率控制单元301中,可变异频率控制单元301中可具有一移位计数指标(未绘示),此移位计数指标可将其接收的频率控制位依序输出至传输时钟产生单元304中的第二逻辑运算器303。举例来说,如图3C所示,可变异频率控制单元301可依据移位计数指标依序将其所储存的数值00000000011输出至第二逻辑运算器303。
在图3A当中,频率设定值缓存器309与频率设定值缓存器311接收并储存数个不同数值的频率设定值,例如0x80与0x15F,并透过传输时钟产生单元304的多工选择器305,将被选中的频率设定值提供给运算数值缓存器213,藉此改变传输时钟信号的频率。
传输时钟产生单元304含有多工选择器305、第二逻辑运算器303、运算数值缓存器213、时钟计数器215、逻辑比较器209以及传输周期计数器217,其中运算数值缓存器213、时钟计数器215、逻辑比较器209以及传输周期计数器217的运作则已载于图2A的实施方式当中。
当使用者使可变异时序输出信号确立时(数值为1),第二逻辑运算器303会将频率控制位提供给多工选择器305,再由多工选择器305依据频率控制位的数值,从数个频率设定值当中择一来当作传输时钟信号的频率,并可透过运算数值缓存器213储存多工选择器305所选中的频率设定值。
时钟计数器215计数系统时钟信号所产生的周期数目,逻辑比较器209则比较系统时钟信号的周期数目与频率设定值,当系统时钟信号的周期数目与频率设定值相等时,时钟计数器215会确立时钟使能信号,致使传输周期计数器217输出传输时钟信号。
时钟控制装置另外还具有传输周期控制器203以及传输周期缓存器205。传输周期缓存器205储存所欲产生的传输时钟脉冲数目,传输周期控制器203则比较所欲产生的时钟周期数目以及已产生的时钟周期数目两者是否相等,来判断封包群是否已经完成传输,当此两数目相等代表封包群已经完成传输,可再次考虑是否须要在此时调整传输时钟信号的频率。
请参照图3B,其为绘示本发明另一实施方式总线接口时钟频率控制方法的流程图,此时钟频率控制方法是在封包群传输进行当中来调变传输时钟信号的频率,此方法首先判断总线是否开始传输命令或是数据(步骤321),当总线开始传输命令或是数据,继续判断可变异时序输出信号是否被确立(步骤323),若总线闲置则停留在步骤321,继续检测总线的状态。若在步骤323中发现可变异时序输出信号被确立,则依据频率控制位的数值,自数个频率设定值当中择一(步骤325),并使传输时钟信号的频率调整为被选中的频率设定值所对应的频率(步骤327)。另一方面,若在步骤323中发现可变异时序输出信号没有被确立,代表在封包群传输结束之后才会考虑是否调整传输时钟信号的频率,传输当中不会调整频率。
请参照图3C,其绘示本发明一实施方式总线接口时序控制方法的波形图。在图3C的波形当中,芯片选择信号、传输时钟以及主出从入等信号由主装置输出至从装置,而主入从出信号则由从装置输出至主装置,其中主出从入与主入从出信号负责携带命令与数据。
当可变异时序输出信号确立时,代表需要在同一封包群传输进行当中调变传输时钟信号的频率,此时若可变异频率控制位的数值为0,代表选择第一个频率设定值缓存器所储存的频率设定值1(0x80)所对应的频率作为传输时钟信号的新频率;若可变异频率控制位的数值为1,代表选择第二个频率设定值缓存器所储存的频率设定值2(0x15F)所对应的频率作为传输时钟信号的新频率。
在此实施方式的同一封包群的传输当中,前面5个位属于缓存器设定的命令部分,传输速度可以提升至例如2MHZ(传输时间为0.5μs),接着是数据的部分,传输速度降低至例如400K(传输时间为2.5μs)。举例来说,在原先传输时钟信号的频率无法调整而仅有单一传输频率(例如400KHz)的状态之下,16位的传输需要16×2.5us=40us。经由此一实施方式来调整传输时钟信号的频率,16位的传输仅须要5×0.5us+11×2.5us=30us,节省了25%的时间。
以上实施例的时钟控制装置或方法,能够依照系统对时钟频率的要求,在命令或数据的两封包群之间,亦或是命令或数据的同一封包群传输进行当中,即时地且弹性地调整传输时钟信号的频率,来接收更多数量的数据或命令,以有效地缩短资料的传送时间。
虽然本发明已以实施方式揭露如上,然其并非用以限定本发明,任何在本发明所属技术领域的技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视权利要求范围所界定者为准。
机译: 总线接口和总线接口的时钟频率控制方法
机译: I / O总线接口恢复计数器取决于最小总线时钟,以防止溢出和执行核心时钟频率与系统总线时钟频率之比
机译: Asic总线接口,具有一个主状态机和多个同步状态机,用于控制以不同时钟频率运行的子系统