可编程时钟发生器及其应用
在数据采集系统中,所设计的系统应具有通用性,可根据不同的数据采集对象,产生不同的采样频率;或者系统处于不同的运行情况时,能够动态改变采样频率,即数据采集系统应当具有改变采样频率的能力。传统的数据采集系统,一般都是固定频率的数据采集,很难应用于其它采样频率的场合。为了使所设计的系统适用于不同的场合,具有广泛的适应性,系统必须具有在线改变采样频率的方法。可编程时钟发生器芯片ICD2053B提供了系统动态改变频率的方法,其动态时钟输出频率范围从391kHz到100MHz(TTL电平)或391kHz到90MHz(CMOS电平),具有较宽的频率范围,在系统中采用ICD2053B能很好地解决上述问题。ICD2053B提供完全用户可编程的锁相环特性,锁相环振荡器输入由外部参考时钟(1MHz~25MHz)或外部晶振(2MHz~24MHz)提供。其二线串行接口便于对输出频率进行编程控制,具有三态输出控制使能。5V供电、低功耗、小体积又使其适宜于功耗和空间要求高的应用场合。它所具有的动态改变输出频率的能力,给设计者提供了灵活的设计自由度。
1 ICD2053B的结构及工作原理
1.1 引脚功能表及内部结构图
ICD2053B的内部结构如图1所示,引脚功能如表1所示。
1.2 ICD2053B的寄存器
ICD2053B包含两个寄存器:控制寄存器和编程寄存器。
这两个寄存器使用协议字011110来区分是控制寄存器数据还是编程寄存器数据。所有要发送的其它数据(除协议字外)在连续3个1之后,不论原来其后的数值是1还是0必须插入一个0,来区分是协议字还是数据。所有要编程的串行字从最低位开始串行地移入,当SCLK从低到高跳变时,将数据移入到可编程寄存器中。一旦协议字检出后,前面已移入的8位数据就传递到控制寄存器中,然后控制命令立刻被执行。
1.2.1 控制寄存器
当要写入的数据写入到控制寄存器时,必须包含协议字011110,用来识别所写入的数据为控制寄存器数据。
控制寄存器用来控制ICD2053B的非频率特性设置,它是一个8位的寄存器,其含义如图2所示。
控制寄存器数据的写入从控制字的低位(位0)开始,一直到控制字的高位(位7),然后是6位的协议字写入到寄存器中,故控制寄存器的设置共需14位数据。
在上电时,控制寄存器装入缺省值00000100,即MUXREF控制位设置为1,强制CLKOUT输出为参考频率fREF,编程寄存器禁止装入,芯片管脚7是输出使能管脚。
1.2.2 编程寄存器
按照所需要的输出频率,将22位的编程字装入到编程寄存器,用以实现输出频率的更改。由于协议字为011110,在传送编程数据时,凡连续出现3个1,在其后便添一个"虚"0,以避免混淆;在接收端凡连续收到3个1,就将其后的零丢掉,故装入的数据要完成"位填充"功能。由于这个原因,实际的编程字的长度可以为22到27位。编程寄存器各字段含义如表2所示。
可编程振荡器的频率fVCO由下式确定:
fVCO=2×fREF×(P+3)/(Q+2)
式中,fREF为参考频率(1MHz~25MHz)。
fVCO的频率值必须保证处在50MHz和150MHz之间。因此对于输出频率低于50MHz,fVCO必须设法处于上述限制之内,可通过复用(M)字段的设置来实现该功能,M初值为000。首先将所希望的输出频率倍频,作为新的输出频率,M值增1,若仍未处于上述范围,循环直至满足要求为止(M≤7)。由于倍频所希望的输出频率,实际的输出频率就要进行相应的分频,最大的分频值为128,即输出频率fout由下式确定:
fOUT=fVCO/2M
指针(I)字段用来使压控振荡器VCO预置到适当的频率范围。若fVCO在50~80MHz内,I为0000;若fVCO在80~150MHz内,I为1000。注意,此处仅指压控振荡器频率fVCO,而非所希望的输出频率。
如果压控振荡器的频率正好处在80MHz,则推荐使用对应高频率范围的设置,即I为1000。
1.2.3 VCO编程的限制
编程时有以下3个主要的限制:
(1) 50MHz≤fVCO≤150MHz
(2) 1≤P≤127
(3) 1≤Q≤127
对于上述限制,要在最优速度、最低噪声和VCO稳定性等因素中,折衷考虑。
2 频率调整过程
当改变频率到一个新频率时,由于串行字的变化,输出信号频率会产生频率跳变。为了避免这种情况发生,可以利用控制寄存器中MUXREF的特性。MUXREF使得参考时钟多路复用,无跳变地切换,作为输出时钟,即当VCO寻求新的编程值时,它使输出时钟频率维持在固定的参考时钟频率上。
ICD2053B初始化或调整新频率的步骤如下:
(1)装入控制寄存器控制字,允许编程寄存器装入数据,使能MUXREF功能,使输出频率稳定在参考频率上,且这个过程保证无跳变。控制字如下:
控制字 011110 0000X101 --- LSB
协议字 要写入的控制寄存器控制字
管脚7的用法由用户定义,用X表示。
注意:
- GPS时钟发生器技术方案(08-15)
- 时钟电路-计算机的心脏(11-13)
- 基于ARM-Linux平台的电子油门控制(04-09)