ICS1523型高性能可编程行同步时钟发生器的原理及应用
1 引言
ics1523是一款高性能、低功耗的同步信号发生器,它广泛应用于要求行同步、同步锁相的视频应用领域,由于采用低电压cmos混合模式技术,使得它能够为视频工程及分辨率从vga到uxga的显示提供有效的时钟解决方案。ics1523能够提供差分(高达250mhz)或者单路格式(高达125mhz)的像素时钟。动态相位调整电路可以控制像素时钟相对hysnc的相位,先进的锁相环技术可以选择内部可编程分频或外部分频,所有的功能都可以通过行业标准的i2c总线以它的硬件接口进行配置。
本文引用地址:https://www.eepw.com.cn/article/21341.htm2 主要特点和引脚功能
ics1523的引脚排列如图1所示,它采用24引脚的soic封装,表1所列的是引脚功能。ics1523的主要特点如下:
像素频率高达250mhz;
频率抖动非常小;
动态调整输出时钟相位;
单终端sstl_3时钟输出;
双缓冲的pll/dpa控制寄存器;
可以分别对pll和pda软件复位;

可选择内部或者外部环路滤波器;
3.3v工作电压,输入耐压高达5v;
i2c串行接口即可以100khz工作,也可以400khz工作。

3 工作原理和内部寄存器
3.1 工作原理
ics1523的内部组成框图如图2所示。

ics1523的锁相环是针对行同步应用优化设计的,内部高性能施密特触发器在很短时间内对输入的hsinc信号进行预处理,并将处理后的hsync作为干净的参考信号,预处理后的hsync信号或者hsync的恢复信号会在func引脚上出现,这个输出信号与像素时钟的边界对齐。
ics1523内部具有自动上电复位检测电路。如果输入电压值低于它的门限值会自动复位,因而没有必要连接外部复位信号。
动态相位调整功能使得它能够输出相关的hsync信号,并且延时于像素时钟的输出信号,延迟的大小可以通过编程的方式设置,增加延时功能在多个视频源要求必须同步时显得非常有用。
ics1523使用行业标准的i2c串行总线接口进行编程。通过该接口能够访问内部的12个寄存器:1个只写寄存器、8个读写寄存器和3个只读寄存器。根据引脚i2cadr的状况可分别访问2个ics1523,当此引脚为低电平时,读地址是4dh,写地址是4ch,如果是高电平,则它的读地址是4fh,写地址是4eh,i2c总线接口既可以低速(100khz)工作,也可以高速(400khz)工作,并且有5v耐压。
3.2 内部寄存器
ics1523有12个控制寄存器,分别为输入控制寄存器、锁相控制寄存器、反馈分配0和1寄存器,dpa偏移寄存器、dpa控制寄存器、输出使能寄存器、晶体振荡器分配寄存器、复位寄存器、电路版本寄存器和状态寄存器。下面介绍几个重要的寄存器。
(1)状态寄存器(status register)

dpa_lock:动态相位调整锁定标志,0=没有锁定,1=锁定。
pll_lock:锁相环锁定标志,同上。
d2-d7:reserved。
(2)复位寄存器(reset register)

dpa reset:复位动态相位调整工作寄存器,写xah表示复位dpa工作寄存器。
pll reset:复位锁相环工作寄存器,写5xh表示复位pll工作寄存器。
其中,写5ah而表示同时复位2个工作寄存器。
(3)晶体振荡器分频寄存器

osc_div:osc(12引脚)/设置的系数(设置的数值+2)。
in_sel:选择相位/频率检测器的输入信号,0=hsync,1=osc分频器。
(4)输出使能寄存器(output enable register)

oe_pck:clk(pech)输出使能,0=高阻,1=使能。
oe_tck:clk(sstl_3)时钟输出使能,0=高阻,1=使能。
oe_p2:chk/2(pecl)输出使能,0=高阻,1=使能。
oe_t2:chk/2(sstl_3)输出使能,0=高阻,1=使能。
oe_f:func输出使能,0=高阻,1=使能。
cl2_inv:clk/2反转使能,0=不反转,1=反转。
out_scl:clk分频系列。
(5)dpa控制寄存器

pa_res0:动态相位调整精度选择。
(6)dpa偏移寄存器

dpa_os:动态相位调整偏移。
fil_sel:锁相环路选择,0=外部,1=内部。
(7)锁相环路寄存器

pfd0-2相位/频率检测增益。
psd0-1:后分频系数。
(8)输入控制寄存器

endls:使能dpa锁存状态输出到lock/ref脚。
enpls:使能pll锁存状态输出到lock/ref脚。
func_sel:功能输出选择,0=恢复的hsync,1=外部的hsync。
fbk_sel:反馈选择,0=内部反馈,1=外部反馈。
4 典型应用
4.1 硬件电路
ics1523的典型应用电路如图3所示,该电路为sid13806型显示控制器供视频同步信号。这些信号是sid13806连接lcd时所需要的。ics1523输入时钟是50mhz(引脚12)、输出clk1(25mhz)、clk2(12.5mhz)和clk3(387.6khz)分别接s1d13806的busclk(60引脚)、clk1(66引脚)、clk12(64引脚)和clk13(引脚)。

4.2 软件配置
软件配置流程如图4所示,详细配置过程见下文给出的部分配置程序。结合典型应用还给出相关寄存器的具体配置数值,如表2所示(这些值可通过ics1523专用软件获取)。

配置程序:
//ics 1523 initialisation
ack=ics1523_writebyte((unsigned char)ics_icr,(unsigned char)0)
error status |=ack;
ack=ics1523_writebyte((unsigned
char)ics_oe,(unsigned char)ox1a);
error status |=ack:

ack=ics1523_writebyte((unsigned char) ics_od,0xff)
error_status |=ack;
ack=icsl523_writebyte((unsigned char) ics_dpao,(unsigned char)0)
error_status |=ack;
nb_trial=0;
d0
{nb_trial++;
ack=ics1523_writebyte((unsigned char)ics_icr,0xc1);
error status |=ack;
ack=ics1523_writebyte((unsigned char)ics_lcr,0x37);
error_status |=ack;
ack=ics1523_writebyte((unsigned char)ics_fd0,0x39);
error_status |=ack;
ack=ics1523_writebyte((unsigned char)ics_fd1,ox00);
error_status |=ack;
ack=ics1523_writebyte((unsigned char)ics_swrst,ox50);
error_status |=ack;
//program l ms temporizing period initial_timeout=gettickcount();
while(gettickcount()<(initial_timeout+timeout_0f_1000 us));
ics1523_readbyte((unsigned char)ics_sr,status);
}while(!((unsigned int)*status&(unsigned int)ics_plllock)&&(nb_trial<10));
ack=ics1523_writebyte((unsigned char)ics_dpac,0x03);
error_status |=ack;
ack=ics1523_writebyte((unsigned char)ics_swrst,oxoa);
error_status |=ack;
initial_timeout=gettickcount();
while(gettickcount()<(initial_timeout+timeout_of_1000us));
ack=ics1523_writebyte((unsigned char) ics_dpao,ox00);
error_status |=ack;
return error_status;
5 结束语
本文提供的硬件电路及寄存器配置值已经在实际应用中得到验证,是完全正确的。ics1523为视频领域提供了一种很好的视频时钟解决方案。
评论