|
If you can't view the Datasheet, Please click here to try to view without PDF Reader . |
|
Datasheet File OCR Text: |
ccd signal processor with precision timing? generator AD9929 rev. a information furnished by analog devices is believed to be a ccurate and reliable. however, no responsibility is assumed by analog devices for its use, nor for any infringements of patents or other rights of third parties that may result from its use. specifications subject to chan ge without notice. no license is granted by implication or otherwise under any patent or patent ri ghts of analog devices. trademarks and registered trademarks are the prop erty of their respective owners. one technology way, p.o. box 9106, norwood, ma 02062-9106, u.s.a. tel: 781.329.4700 www.analog.com fax: 781.326.8703 ? 2004 analog devices, inc. all rights reserved. features 36 msps correlated double sampler (cds) 12-bit 36 mhz a/d converter on-chip vertical driver for ccd image sensor on-chip horizontal driver for ccd image sensor 6 db to 40 db variable gain amplifier (vga) black level clamp with variable level control complete on-chip timing generator precision timing core with 0.58 ns resolution 2-phase h-clock modes 4-phase vertical transfer clocks electronic and mechanical shutter modes on-chip sync generator with external sync option 64-lead, plastic ball, 9 9 grid array pb-free package application digital still cameras digital video camcorders product description the AD9929 is a highly integrated ccd signal processor for digital still camera and digital video camera applications. it includes a complete analog front end with a/d conversion, combined with a full-function, programmable timing generator. the AD9929 also includes horizontal and vertical clock drivers, which allow direct connection to the ccd image sensor. the AD9929 is specified at pixel rates of up to 36 mhz. the analog front end includes black level clamping, a cds, a vga, and a 12-bit a/d converter. the timing generator provides all the necessary ccd clocks: rg-clock, h-clocks, v-clocks, sensor gate pulses, a substrate clock, and a substrate bias pulse. oper- ation is programmed using a 3-wire serial interface. the AD9929 is packaged in a 64-lead cspbga. it is specified over an operating temperature range of ? 25c to +85c. functional block diagram AD9929 cds vga clamp 12 dclk1 fd/dclk2 mshut strobe cli dout vref 6db to 40db vertical drivers 2 4 rg h1, h2 v1, v2, v3, v4 reft refb precision timing generator sync generator internal clocks subck hd vd sync internal registers sl scks di vsub ccdin 04593-0-001 horizontal drivers adc figure 1.
AD9929 rev. a | page 2 of 64 table of contents specifications..................................................................................... 3 digital specifications ................................................................... 4 analog specifications................................................................... 4 timing specifications .................................................................. 5 vertical driver specifications ..................................................... 5 terminology ...................................................................................... 7 absolute maximum ratings............................................................ 8 pin configuration and functional descriptions.......................... 9 equivalent input circuits .............................................................. 10 system overview ............................................................................ 18 theory of operation ...................................................................... 19 modes of operation ................................................................... 19 horizontal and vertical counters ............................................ 19 cli input clock divider............................................................ 19 gray code registers................................................................... 19 serial interface timing .............................................................. 20 analog front end description and operation....................... 22 precision timing, high speed timing generation ............... 23 h driver and rg outputs ......................................................... 23 digital data outputs.................................................................. 26 external synchronization (master mode)................................... 27 horizontal and vertical synchronous timing............................ 28 special note about the hdlen register ................................ 28 horizontal clamping and blanking ............................................. 29 controlling clpob clamp pulse timing .............................. 29 controlling clpob clamp pulse outputs ............................. 30 h1 and h2 blanking .................................................................. 31 vgate masking of xv1 to xv4 and clpob outputs............ 33 vertical timing generation .......................................................... 34 creating vertical sequences...................................................... 34 special vertical sweep mode operation ................................. 39 special vertical timing (spats).............................................. 40 v1 to v4 and subck output polarities ..................................... 43 timing control............................................................................... 46 electronic shutter timing control .......................................... 46 vsg timing ................................................................................ 48 vsub timing.............................................................................. 49 mshut timing ......................................................................... 50 strobe timing ............................................................................. 52 digital i/o states for different operating conditions.............. 53 power supply sequencing ............................................................. 54 recommended power-up supply sequencing....................... 54 recommended power-down supply sequencing ................. 54 initial start-up sequence .......................................................... 55 standby mode operation .......................................................... 56 shut-down mode operation.................................................... 57 applications where the cli clock frequency changes during operation....................................................................... 58 circuit layout information........................................................... 60 outline dimensions ....................................................................... 62 ordering guide .......................................................................... 62 revision history revision a 2/04data sheet changed from rev. 0 to rev. a replaced figure....................................................................................21 1/04revision 0: initial version AD9929 rev. a | page 3 of 64 specifications table 1. parameter min typ max unit temperature range operating ?25 +85 c storage ?65 +150 c power supply voltage avdd (afe analog supply) 2.7 3.0 3.6 v tcvdd (timing core analog supply) 2.7 3.0 3.6 v rgvdd (rg driver) 2.7 3.0 3.6 v hvdd (h1 to h2 drivers) 2.7 3.0 3.6 v drvdd (data output drivers) 2.7 3.0 3.6 v dvdd (digital) 2.7 3.0 3.6 v vertical driver supply voltage vdd (vertical driver input logic supply) 2.7 3.0 3.6 v vh1, vh2 (vertical driver high supply) 11.5 15.0 16.0 v vm1, vm2 (vertical driver mid supply) ?1.0 0.0 1.0 v vl (vertical driver low supply for 3 level and 2 level) ?9.0 ?7.5 ?5.0 v afetg power dissipation 36 mhz, typ supply levels, 100 pf h1 to h2 loading 180 mw power from hvdd only 1 36 mw power-down mode (afe and digital in standby operation) 1 mw vertical driver power dissipation 2 (6000 pf v1 to v4 loading, 1000 pf subck loading) power from vdd <1.0 mw power from vh1 23.0 mw power from vh2 15.0 mw power from vl 42.0 mw maximum clock rate (cli) AD9929 36 mhz 1 the total power dissipated by the hvdd supply may be approximated by using the equation: total hvdd power = [ c load hvdd pixel frequency ] hvdd number of h-outputs used. actual hvdd power may be slightly different than the calculated value because of the stray capacitance inherent in the pcb layo ut/routing. 2 vertical driver loads used when characte rizing power consumptio n. note: actual power depends on the v1 to v4 timing and number of subcks. 04593-0-002 v1, v2, v3, v4 6000 pf subck 1000 pf 500mv typ reset transient 100mv max optical black pixel 1v max input signal range input signal characteristics defined as follows: AD9929 rev. a | page 4 of 64 digital specifications table 2. rgvdd = hvdd = 2.7 v to 3.6 v, dvdd = drvdd = 2.7 v to 3.6 v, c l = 20 pf, t min to t max , unless otherwise noted. parameter symbol min typ max unit logic inputs high level input voltage v ih 2.1 v low level input voltage v il 0.6 v high level input current i ih 10 a low level input current i il 10 a input capacitance c in 10 pf logic outputs (except h and rg) high level output voltage @ i oh = 2 ma v oh 2.2 v low level output voltage @ i ol = 2 ma v ol 0.5 v rg and h-driver outputs (h1 to h2) high level output voltage @ max current v oh vdd ? 0.5 v low level output voltage @ max current v ol 0.5 v rg maximum output current (programmable) 15 ma h1 and h2 maximum output current (programmable) 30 ma maximum load capacitance 100 pf analog specifications table 3. avdd = 3.0 v, f cli = 36 mhz, t min to t max , unless otherwise noted. parameter min typ max unit notes cds allowable ccd reset transient 500 mv see input signal characteristics in table 1. max input range before saturation 1.0 v pCp max ccd black pixel amplitude 100 mv variable gain amplifier (vga) max output range 2.0 v pCp gain control resolution 1024 steps gain monotonicity guaranteed gain range low gain 6 db max gain 40 db black level clamp clamp level resolution 255 steps clamp level lsb lsb measured at adc output. min clamp level 0 lsb max clamp level 255 lsb a/d converter resolution 10 bits differential nonlinearity (dnl) 0.5 lsb no missing codes guaranteed full-scale input voltage 2.0 v voltage reference reference top voltage (reft) 2.0 v reference bottom voltage (refb) 1.0 v system performance includes entire signal chain. gain accuracy low gain (vga code = 22) 6 db gain = (0.035 code) + 5.2 db. max gain (vga code = 994) 40 db peak nonlinearity, 500 mv input signal 0.1 % 12 db gain applied. total output noise 0.3 lsb rms ac grounded input, 6 db gain applied. power supply rejection (psr) 40 db measured with step change on supply. AD9929 rev. a | page 5 of 64 timing specifications table 4. c l = 20 pf, avdd = dvdd = drvdd = 3.0 v, f cli = 36 mhz, unless otherwise noted. parameter symbol min typ max unit master clock, cli cli clock period t conv 27.8 ns cli high/low pulse width 13.9 ns delay from cli rising edge to internal pixel position 0 t clidly 6 ns afe clamp pulses 1 clpob pulse width 4 10 pixels afe sample location 1 (see figure 17) shp sample edge to shd sample edge t s1 20 25 pixels data outputs output delay from dclk1 rising edge (see figure 19) t od 9 ns pipeline delay from shp/shd sampli ng (see figure 70) 9 cycles serial interface (see figure 10 and figure 11) t dv maximum sck frequency f sclk 10 mhz sl to sck setup time t ls 10 ns sck to sl hold time t lh 10 ns sdata valid to sck rising edge setup t ds 10 ns sck falling edge to sdata valid hold t dh 10 ns sck falling edge to sdata valid read t od 10 ns 1 parameter is programmable. vertical driver specifications table 5. v1 to v4 load = no load, subck load = no load, vdd = 3.0 v, vl = ?7.5 v, vh1 = vh2 = +15.0 v, vm1 = vm2 = gnd, f cli = 36 mhz, unless otherwise noted. parameter symbol min typ max unit logic inputs high level input voltage v ih 0.8 (vdd) vdd v low level input voltage v il 0 0.3 (vdd) v propagation delays, rise/fall times and output currents v1 and v3 outputs (see figure 43) delay times vl to vm1 t plm1 100 ns vm1 to vh1 t pmh 100 ns vh1 to vm1 t phm 50 ns vm1 to vl t pml1 50 ns rise times vl to vm1 t r1 500 ns vm1 to vh1 t r2 500 ns fall times vh1 to vm1 t f1 500 ns vm1 to vl t f2 500 ns output currents v1 or v3 @ vl = ?7.25 v 10.0 ma v1 or v3 @ vm1 = ?0.25 v ?5.0 ma v1 or v3 @ vm1 = +0.25 v 5.0 ma v1 or v3 @ vh1 = +14.75 v ?7.2 ma AD9929 rev. a | page 6 of 64 parameter symbol min typ max unit v2 and v4 outputs (see figure 43) delay times vl to vm2 t plm2 100 ns vm2 to vl t pml2 50 ns rise times vl to vm2 t r3 500 ns fall times vm2 to vl t f3 500 ns output currents v2 or v2 @ vl =?7.25 v 10.0 ma v2 or v4 @ vm2 = ?0.25 v ?5.0 ma subck output (see figu re 44) delay times vl to vh2 t plh 100 ns vh2 to vl t phl 50 ns rise times vl to vh2 t r4 90 ns fall times vh2 to vl t f4 90 ns output currents subck @ vl = ?7.25 v 5.4 ma subck @ vh2 = 14.75 v ?4.0 ma AD9929 rev. a | page 7 of 64 terminology differential nonlinearity (dnl) an ideal adc exhibits code transitions that are exactly 1 lsb apart. dnl is the deviation from this ideal value. thus every code must have a finite width. no missing codes guaranteed to 12-bit resolution indicates that all 4096 codes, respectively, must be present over all operating conditions. peak nonlinearity peak nonlinearity, a full signal-chain specification, refers to the peak deviation of the output of the AD9929 from a true straight line. the point used as zero scale occurs 1/2 lsb before the first code transition. positive full scale is defined as a level 1 and 1/2 lsb beyond the last code transition. the deviation is mea- sured from the middle of each particular output code to the true straight line. the error is then expressed as a percentage of the 2 v adc full-scale signal. the input signal is always appro- priately gained up to fill the adcs full-scale range. total output noise the rms output noise is measured using histogram techniques. the standard deviation of the adc output codes is calculated in lsbs, and represents the rms noise level of the total signal chain at the specified gain setting. the output noise can be converted to an equivalent voltage, using the relationship 1 lsb = ( adc full scale /2 n codes) when n is the bit resolution of the adc. for the AD9929, 1 lsb is 0.5 mv. power supply rejection (psr) the psr is measured with a step change applied to the supply pins. the psr specification is calculated from the change in the data outputs for a given step change in the supply voltage. AD9929 rev. a | page 8 of 64 absolute maximum ratings table 6. parameter with respect to min max unit vdd vdvss vdvss ? 0.3 vdvss + 4.0 v vl vdvss vdvss ? 10.0 vdvss + 0.3 v vh1, vh2 vdvss vl C0.3 vl + 27.0 v vm1, vm2 vdvss vl C 0.3 vl + 27.0 v avdd avss ?0.3 +3.9 v tcvdd tcvss ?0.3 +3.9 v hvdd hvss ?0.3 +3.9 v rgvdd rgvss ?0.3 +3.9 v dvdd dvss ?0.3 +3.9 v drvdd drvss ?0.3 +3.9 v rg output rgvss ?0.3 rgvdd + 0.3 v h1 to h2 output hvss ?0.3 hvdd + 0.3 v digital outputs dvss ?0.3 dvdd + 0.3 v digital inputs dvss ?0.3 dvdd + 0.3 v sck, sl, sdata dvss ?0.3 dvdd + 0.3 v reft, refb avss ?0.3 avdd + 0.3 v ccdin avss ?0.3 avdd + 0.3 v stresses above those listed under absolute maximum ratings may cause permanent damage to the device. this is a stress rating on ly; functional operation of the device at these or any other conditions above those listed in the operational sections of this spec ification is not implied. exposure to absolute maximum rating conditions for extended periods may affect device reliability. package thermal resistance ja = 61.0 c/w esd caution esd (electrostatic discharge) sensitive device. electros tatic charges as high as 4000 v readily accumulates on the human body and test equipment and can discharge wi thout detection. although this product features proprietary esd protection circuitry, permanent dama ge may occur on devices subjected to high energy electrostatic discharges. therefore, proper esd precautions are recommended to avoid performance degradation or loss of functionality. AD9929 rev. a | page 9 of 64 pin configuration and fu nctional descriptions a b c d e f g h j k AD9929 top view (not to scale) 12345678910 a 1 corne r index are a 04593-0-003 figure 2. pin configuration table 7. pin function descriptions pin mnemonic type 1 description d1 vd dio vertical sync pulse (input for slave mode, output for master mode) d2 hd dio horizontal sync pulse (input for slave mode, output for master mode) b8 d0 do data output a8 d1 do data output a7 d2 do data output b7 d3 do data output a6 d4 do data output b6 d5 do data output b5 d6 do data output a4 d7 do data output b3 d8 do data output a3 d9 do data output b2 d10 do data output a2 d11 do data output a1 dclk1 do data clock output b4 drvss p data output driver ground a5 drvdd p data output driver supply g9 subck do ccd substrate clock (2 level: vh2, vl) d10 v1 do ccd vertical transfer clock (3 level: vh1, vm1, vl) e9 v2 do ccd vertical transfer clock (2 level: vm2, vl) g10 v3 do ccd vertical transfer clock (3 level: vh1, vm1, vl) h9 v4 do ccd vertical transfer clock (2 level: vm2, vl) h10 vh1 p vertical driver high supply (high supply for v1 and v3) c10 vm1 p vertical driver midsupply (midsupply for v1 and v3) f10 vm2 p vertical driver midsupply (midsupply for v2 and v4) f9 vl p vertical driver low supply e10 vh2 p vertical driver high supply for subck 1 ai = analog input, ao = analog output, di = digital input, do = digital output, dio = dig ital input/output, p = power. pin mnemonic type 1 description b10 vdd p vertical driver input logic supply j9 vdvss p vertical driver ground a9 vsub do ccd substrate bias g1 h1 do ccd horizontal clock f1 h2 do ccd horizontal clock e1 hvdd p h1 and h2 driver supply e2 hvss p h1 and h2 driver ground f2 hvss p h1 and h2 driver ground g2 hvss p h1 and h2 driver ground h1 rg do ccd reset gate clock j1 rgvdd p rg driver supply h2 rgvss p rg driver ground c9 sync or vgate di di external system sync input vgate input c1 fd or dclk2 do do field designator output dclk2 output k3 avdd p analog supply for afe j3 avss p analog ground for afe j4 avss p analog ground for afe j5 avss p analog ground for afe j6 avss p analog ground for afe j7 avss p analog ground for afe j8 avss p analog ground for afe k4 avss p analog ground for afe k6 avss p analog ground for afe j2 cli di reference clock input k2 tcvdd p analog supply for timing core k1 tcvss p analog ground for timing core k5 ccdin ai ccd input signal k7 reft ao voltage reference top bypass k8 refb ao voltage reference bottom bypass k9 sdata di 3-wire serial data input k10 sl di 3-wire serial load pulse j10 sck di 3-wire serial clock d9 outcont di output control b1 mshut do mechanical shutter pulse c2 strobe do strobe pulse a10 dvdd p digital supply b9 dvss p digital ground AD9929 rev. a | page 10 of 64 equivalent input circuits r avdd avss avss 04593-0-004 figure 3. circuit 1. ccdin dvdd dvss drvss drvdd t hree- state data dout 04593-0-005 figure 4. circuit 2. digital data output 330 ? dvdd dvss 04593-0-006 figure 5. circuit 3. digital inputs hvdd or rgvdd hvss or rgvss output rg, h1 h2 enable 04593-0-007 figure 6. circuit 4. h1 to h2, rg drivers AD9929 rev. a | page 11 of 64 table 8. control register address map address content bit width default value register name register description 0x00 (23:0) 24 000000 sw_reset software re set = 000000 (reset all registers to default ) 0x01 23 1 0 unused (22:21) 2 xsubcksuppress suppress xsubck (00 = no suppression, 01 = suppress first xsubck after last vsg line pulse, 10 = su ppress all xsubcks, except final xsubck, 11 = no suppression) (20:18) 3 0 unused test mode. should be set = 0 17 1 1 hblkmask masking polarity for h1 during blanking period (0 = low, 1 = high) 16 1 0 syncpol external sync active polarity (0 = active low) (15:14) 2 0 unused 13 1 0 xsubckmode_hp high precision shutter mode operation (0 = single pulse, 1 = multiple pulse) (12:10) 3 0 unused (9:8) 2 0 mshutpat selects mshut pattern. (see figure 51) (0 = mshutpat0,1 = mshutpat1,2 = mshutpat2, 3 = mshutpat3) 7 1 0 mshut/vgate_en mshut masking of vgate input (0 = mshut does not mask vgate, 1 = mshut does mask vgate) 6 1 0 unused 5 1 1 clpob_cont clpob control (0 = clpob off, 1 = clpob on) 4 1 1 clpob_mode clpob ccd region control (see table 19) (3:1) 3 0 unused 0 1 0 vdmode vd synchronous/asynchronous mode setting (0 = vd synchronous, 1 = vd asynchronous ) 0x02 (23:22) 2 0 unused (21:16) 6 0x34 shdloc shd sample location (15:14) 2 0 unused (13:8) 6 0x18 shploc shp sample location (7:6) 2 0 dclkphase dclk pulse adjustment (5:0) 6 0x0b doutphase data output [11:0] phase adjustment 0x03 (23:17) 7 0x00 unused 16 1 0 h1blkretime retimes the h1 hblk to internal clock (15:14) 2 0 unused (13:8) 6 0x00 h1posloc h1 positive edge location (7:6) 2 0 unused (5:0) 6 0x10 rgnegloc rg negative edge location 0x04 (23:16) 8 0x80 refblack black level clamp 15 1 C unused (14:12) 3 5 h2drv h2 drive strength (0 = off, 1 = 4.3 ma, 2 = 8.6 ma, 3 = 12.9 ma, 4 = 17.2 ma, 5 = 21.5 ma, 6 = 25.8 ma, 7 = 30.1 ma) 11 1 0 unused (10:8) 3 5 h1drv h1 drive strength (0 = off, 1 = 4.3 ma, 2 = 8.6 ma, 3 = 12.9 ma, 4 = 17.2 ma, 5 = 21.5 ma, 6 = 25.8 ma, 7 = 30.1 ma) (7:3) 5 0x00 unused (2:0) 3 2 rgdrv rg drive strength (0 = off, 1 = 2.15 ma, 2 = 4.2 ma, 3 = 6.45 ma, 4 = 8.6 ma, 5 = 10.75 ma, 6 = 12.9 ma, 7 = 15.05 ma) 0x05 (23:10) 14 0x0000 unused 9 1 0 afestby afe standby (0 = standby, 1 = normal operation) 8 1 0 digstby digital standby (0 = standby, 1 = normal operation) (7:2) 6 00 unused 1 1 0 outcont_reg internal outcont signal control (0 = digital outputs held at fixed dc level, 1 = normal operation) 0 1 1 outcont_enb external outcont sign al input pin 43 control (0 = pin enabled, 1 = pin disabled) AD9929 rev. a | page 12 of 64 address content bit width default value register name register description 0x0a 23 1 0 unused 22 1 0 fdpol fd polarity control (0 = low, 1 = high) (21:16) 6 0x00 xvsgmask xvsg masking (see table 25) (vd (15:12) 4 0 synccnt external sync setting syncreg) 1 (11:10) 2 0 svrep_mode super vertical repetition mode 9 1 0 hblkext h pulse blanking extend control 8 1 0 hpulsecnt h pulse control during blanking (7:4) 4 c spatlogic spat logic setting (see table 27) (3:2) 2 3 svos second v output setting (10 = ouput repetition 1) 1 1 0 spat_en spat control (0 = spat disable, 1 = spat enable) 0 1 0 mode mode contro l bit (0 = mode_a, 1 = mode_b) 0x0b (23:22) 2 0 unused 21 1 1 xsubck_en xsubck output enab le control (0 = disable, 1 = enable) 20 1 1 xvsg_en xvsg output enable control (0 = disable, 1 = enable) (vd (19:17) 3 0 unused syncreg) 1 16 1 0 strobe_en strobe output control (0 = strobe output held low, 1 = strobe output enabled) 15 1 0 unused (14:12) 3 0 xsubcknum_hp high prec ision shutter xsubclk pulse position/number 11 1 0 unused (10:0) 11 0x7ff xsubcknum to tal number of xsubcks per field 0x0c (23:21) 3 0 unused 20 1 0 mshutinit mshut init ialize (1 = forces mshut low) (19:18) 2 0 unused (vd 17 1 0 unused syncreg) 1 16 1 0 mshuten mshut control (0 = mshut held at last state, 1 = mshut output) 15 1 0 unused (14:12) 3 0 mshutpos_hp mshut posi tion during high precision operation 11 1 0 unused (10:0) 11 0x000 mshutpos mshut position during normal operation 0x0d (23:17) 7 C unused 16 1 0 vsubpol vsub active polarity (0 = low, 1 = high) (vd (15:11) 5 C unused syncreg) 1 (10:0) 11 0x000 vsubtog vsub toggle posi tion. active starting line in any field. 0x0e (23:22) 2 0 unused (21:20) 2 0 testmode1 this re gister should always be set = 0. (19:18) 2 0 unused (vd 17 1 0 testmode2 this regi ster should always be set = 0. syncreg) 1 16 1 0 testmode3 this regist er should always be set = 0. (15:10) 6 0x00 unused (9:0) 10 0x000 vgagain vga gain 0x0f (23:8) 16 0 unused (7:0) 8 60 xvsglen_1 xvsgtog_1 pulse width 0x17 (23:13) 11 C unused (12:0) 13 0x1fff xv1spat_tog1 xv1spat toggle position #1 (mode_a active) 0x18 (23:13) 11 C unused (12:0) 13 0x1fff xv1spat_tog2 xv1spat toggle position #2 (mode_a active) 0x19 (23:13) 11 C unused (12:0) 13 0x1fff xv2spat_tog1 xv2spat toggle position #1 (mode_a active) 0x1a (23:13) 11 C unused (12:0) 13 0x1fff xv2spat_tog2 xv2spat toggle position #2 (mode_a active) AD9929 rev. a | page 13 of 64 address content bit width default value register name register description 0x1b (23:13) 11 C unused (12:0) 13 0x1fff xv3spat_tog1 xv3spat toggle position #1 (mode_a active) 0x1c (23:13)) 11 C unused (12:0 13 0x1fff xv3spat_tog2 xv3spat toggle position #2 (mode_a active) 0x1d (23:13) 11 C unused (12:0) 13 0x1fff xv4spat_tog1 xv4spat toggle position #1 (mode_a active) 0x1e (23:13) 11 C unused (12:0) 13 0x1fff xv4spat_tog2 xv4spat toggle position #2 (mode_a active) 0x1f (23:13) 11 C unused (12:0) 13 0x1fff xv1spat_tog1 xv1spat toggle position #1 (mode_a active) 0x20 (23:13) 11 C unused (12:0) 13 0x1fff xv1spat_tog2 xv1spat toggle position #2 (mode_b active) 0x21 (23:13) 11 C unused (12:0) 13 0x1fff xv2spat_tog1 xv2spat toggle position #1 (mode_b active) 0x22 (23:13) 11 C unused (12:0) 13 0x1fff xv2spat_tog2 xv2spat toggle position #2 (mode_b active) 0x23 (23:13) 11 C unused (12:0) 13 0x1fff xv3spat_tog1 xv3spat toggle position #1 (mode_b active) 0x24 (23:13) 11 C unused (12:0) 13 0x1fff xv3spat_tog2 xv3spat toggle position #2 (mode_b active) 0x25 (23:13) 11 C unused (12:0) 13 0x1fff xv4spat_tog1 xv4spat toggle position #1 (mode_b active) 0x26 (23:13) 11 C unused (12:0) 13 0x1fff xv4spat_tog2 xv4spat toggle position #2 (mode_b active) 0xd5 (23:4) 20 0x00000 unused 3 1 1 dclk2sel dclk2 selector (0 = select intern al fd signal to be output on fd/dclk2 pin 16, 1 = select cli to be output on fd/dclk2 pin 16) 2 1 0 dclk1sel dclk1 selector (0 = select dll version for dclk1 output, 1 = select cli for dclk1 output) (1:0) 2 0 clkdiv input clock divider (0 = no division, 1 = 1/2, 2 = 1/3, 3 = 1/4) 0xd6 (23:1) 23 0x000000 unused 0 1 1 slave_mode operating mode ( 0 = master mode, 1 = slave mode) 1 this register defaults to vd synchronous mode type at power-up. vd sync type registers do not get updated until the first fall ing edge of vd is asserted after the register has been programmed. vd sync type registers can be programmed to be asynchro nous registers by setting vdmode = 1 (addr ess 0x01). AD9929 rev. a | page 14 of 64 table 9. system register address map (address 0x14) register content bit width default (decimal) register name register description sys_reg(0) (31:24) 8 na syst em_reg_addr system register address is (address 0x14) (23:0) 24 na system_number_n number n register writes (0x000000 = write all registers) sys_reg(1) (31:23) 9 37 vtplen0 vertical sequence #0: length between repetitions 22 1 0 xv1startpol0 vertical sequence #0: xv1 start polarity 21 1 0 xv2startpol0 vertical sequence #0: xv2 start polarity 20 1 1 xv3startpol0 vertical sequence #0: xv3 start polarity 19 1 1 xv4startpol0 vertical sequence #0: xv4 start polarity (18:10) 9 0 xv1tog1pos0 vertical se quence #0: xv1 toggle position 1 (9:1) 9 19 xv1tog2pos0 vertical sequence #0: xv1 toggle position 2 0 1 0 xv2tog1pos0 [8] sys_reg(2) (31:24) 8 12 xv2tog1pos0 [7:0] vert ical sequence #0: xv2 toggle position 1 (23:15) 9 31 xv2tog2pos0 vertical se quence #0: xv2 toggle position 2 (14:6) 9 0 xv3tog1pos0 vertical se quence #0: xv3 toggle position 1 (5:0) 6 xv3tog2pos0 [8:3] sys_reg(3) (31:29) 3 19 xv3tog2pos0 [2:0] vert ical sequence #0: xv3 toggle position 2 (28:20) 9 12 xv4tog1pos0 vertical se quence #0: xv4 toggle position 1 (19:11) 9 31 xv4tog2pos0 vertical se quence #0: xv4 toggle position 2 (10:2) 9 104 vtplen1 vertical sequen ce #1: length between repetitions 1 1 0 xv1startpol1 vertical sequence #1: xv1 start polarity 0 1 0 xv2startpol1 vertical sequence #1: xv2 start polarity sys_reg(4) 31 1 1 xv3startpol1 vertic al sequence #1: xv3 start polarity 30 1 1 xv4startpol1 vertical sequence #1: xv4 start polarity (29:21) 9 18 xv1tog1pos1 vertical se quence #1: xv1 toggle position 1 (20:12) 9 58 xv1tog2pos1 vertical se quence #1: xv1 toggle position 2 (11:3) 9 47 xv2tog1pos1 vertical se quence #1: xv2 toggle position 1 (2:0) 3 xv2tog2pos1 [8:6] sys_reg(5) (31:26) 6 96 xv2tog2pos1 [5:0] ve rtical sequence #1: xv2toggle position 2 (25:17) 9 0 xv3tog1pos1 vertical se quence #1: xv3 toggle position 1 (16:8) 9 76 xv3tog2pos1 vertical se quence #1: xv3 toggle position 2 (7:0) 8 xv4tog1pos1 [8:1] sys_reg(6) 31 1 38 xv4tog1pos1 [0] vertical sequ ence #1: xv4 toggle position 1 (30:22) 9 105 xv4tog2pos1 vertical se quence #1: xv4 toggle position 2 (21:13) 9 57 vtplen2 vertical sequen ce #2: length between repetitions 12 1 0 xv1startpol2 vertical sequence #2: xv1 start polarity 11 1 0 xv2startpol2 vertical sequence #2: xv2 start polarity 10 1 1 xv3startpol2 vertical sequence #2: xv3 start polarity 9 1 1 xv4startpol2 vertical sequence #2: xv4 start polarity (8:0) 9 0 xv1tog1pos2 vertical sequ ence #2: xv1 toggle position 1 sys_reg(7) (31:23) 9 29 xv1tog2pos2 vertic al sequence #2: xv1 toggle position 2 (22:14) 9 19 xv2tog1pos2 vertical se quence #2: xv2 toggle position 1 (13:5) 9 48 xv2tog2pos2 vertical se quence #2: xv2 toggle position 2 (4:0) 5 xv3tog1pos2 [8:4] sys_reg(8) (31:28) 4 0 xv3tog1pos2 [3:0] vert ical sequence #2: xv3 toggle position 1 (27:19) 9 29 xv3tog2pos2 vertical se quence #2: xv3 toggle position 2 (18:10) 9 19 xv4tog1pos2 vertical se quence #2: xv4 toggle position 1 (9:1) 9 48 xv4tog2pos2 vertical sequ ence #2: xv4 toggle position 2 0 1 C unused AD9929 rev. a | page 15 of 64 register content bit width default (decimal) register name register description sys_reg(9) (31:23) 9 89 vtplen3 vertical sequence #3: length between repetitions 22 1 0 xv1startpol3 vertical sequence #3: xv1 start polarity 21 1 0 xv2startpol3 vertical sequence #3: xv2 start polarity 20 1 1 xv3startpol3 vertical sequence #3: xv3 start polarity 19 1 1 xv4startpol3 vertical sequence #3: xv4 start polarity (18:10) 9 0 xv1tog1pos3 vertical se quence #3: xv1 toggle position 1 (9:1) 9 60 xv1tog2pos3 vertical sequ ence #3: xv1 toggle position 2 0 1 xv2tog1pos3 [8] sys_reg(10) (31:24) 8 30 xv2tog1pos3 [7:0] vert ical sequence #3: xv2 toggle position 1 (23:15) 9 90 xv2tog2pos3 vertical se quence #3: xv2 toggle position 2 (14:6) 9 0 xv3tog1pos3 vertical se quence #3: xv3 toggle position 1 (5:0) 6 xv3tog2pos3 [8:3] sys_reg(11) (31:29) 3 60 xv3tog2pos3 [2:0] vert ical sequence #3: xv3 toggle position 2 (28:20) 9 30 xv4tog1pos3 vertical se quence #3: xv4 toggle position 1 (19:11) 9 90 xv4tog2pos3 vertical se quence #3: xv4 toggle position 2 (10:1) 10 0 hblkhpos h1 pulse on po sition during blanking period 0 1 C unused sys_reg(12) (31:20) 12 2283 hdlen 1 12-bit gray code hd counter value (gray code number) (19:10) 10 130 hlen 10-bit hl counter values (9:1) 9 100 olen 9-bit ol counter value 0 1 bllen [8] sys_reg(13) (31:24) 8 0 bllen [7:0] 9-bit bl counter value (23:16) 8 118 mshutlen mshut sequence length (15:5) 11 1048 xvsgtog_0 xvsgtog_0 toggle position (4:0) 5 xvsgtog_1 [10:6] sys_reg(14) (31:26) 6 1198 xvsgtog_1 [5:0] xvsg tog_1 toggle position (25:18) 8 60 xvsglen_0 xvsgtog_0 pulse width (17:9) 9 19 xsubck1tog1 xs ubck1 1st toggle position (8:0) 9 88 xsubck1tog2 xsub ck1 2nd toggle position sys_reg(15) (31:23) 9 19 xsubck2t og1 xsubck2 1st toggle position (22:14:) 9 88 xsubck2tog2 xs ubck2 2nd toggle position (13:2) 12 2243 clptog1 1 clpob toggle position 1 (gray code number) (1:0) 2 clptog2 [11] 1 sys_reg(16) (31:22) 10 2278 clptog2 [10:0] 1 clpob toggle position 2 (gray code number) (21:18) 4 9 vdrise vd toggle position 1 (17:8) 10 120 hdrise hd toggle position 2 (7:0) 8 C unused 1 register value must be a gray code number (see gray code registers section). AD9929 rev. a | page 16 of 64 table 10. mode_a register map (address 0x15) register content bit width default (decimal) register name register description mode_reg(0) (31:24) 8 na mode_a_addr mode_a address is (address 0x15) (23:0) 24 na mode_a_number_n number n reg ister writes (0x000000 = write all registers ) mode_reg(1) (31:21) 11 262 vdlen vd counter value (20:9) 12 1139 hdlastlen 1 number of pixels in last line (gray code number) 8 1 1 xvsgsel1 xvsg1 sequence selector (see table 35 ) 7 1 0 xvsgsel2 xvsg2 sequence selector (see table 35 ) (6:0) 7 0 xvsgactline xvsg active line mode_reg(2) 31 1 0 subcksel select one of two subck patterns (30:28) 3 0 vtpseqptr0 vertical transfer sequence region 0 (27:25) 3 0 vtpseqptr1 vertical transfer sequence region 1 (24:22) 3 0 vtpseqptr2 vertical transfer sequence region 2 (21:19) 3 0 vtpseqptr3 vertical transfer sequence region 3 (18:16) 3 0 vtpseqptr4 vertical transfer sequence region 4 15 1 1 clpen0 clpob output control 1 14 1 0 clpen1 clpob output control 2 13 1 0 clpen2 clpob output control 3 12 1 0 clpen3 clpob output control 4 11 1 0 clpen4 clpob output control 5 (10:3) 8 0 scp1 sequence change position 1 (2:0) 3 scp2 mode_reg(3) (31:27) 5 0 scp2 sequence change position 2 (26:19) 8 0 scp3 sequence change position 3 (18:11) 8 0 scp4 sequence change position 4 (10:9) 2 0 vtpsel0 vertical pattern selection 0 (8:7) 2 0 vtpsel1 vertical pattern selection 1 (6:5) 2 0 vtpsel2 vertical pattern selection 2 (4:3) 2 0 vtpsel3 vertical pattern selection 3 (2:0) 3 3 vtprep0 number of vertical pulse repetitions for pattern 0 mode_reg(4) (31:29) 3 0 vtprep1 number of vertical pulse repetitions for pattern 1 (28:26) 3 0 vtprep2 number of vert ical pulse repetitions for pattern 2 (25:23) 3 0 vtprep3 number of vert ical pulse repetitions for pattern 3 (22:12) 11 0 svrep0 vertical sweep repetition number for ccd region 0 (11:1) 11 0 svrep3 vertical sweep repetition number for ccd region 3 0 1 C unused mode_reg(5) (31:19) 13 988 xv1spat_tog3 xv1spat toggle position 3 (18:6) 13 1138 xv1spat_tog4 xv1spat toggle position 4 (5:0) 6 xv2spat_tog3 mode_reg(6) (31:25) 7 1078 xv2spat_tog3 xv2spat toggle position 3 (24:12) 13 1168 xv2spat_tog xv2spat toggle position 4 (11:0) 12 xv3spat_tog3 mode_reg(7) 31 1 958 xv3spat_tog3 xv3spat toggle position 3 (30:18) 13 1138 xv3spat_tog4 xv3spat toggle position 4 (17:5) 13 988 xv4spat_tog3 xv4spat toggle position 3 (4:0) 5 xv4spat_tog4 mode_reg(8) (31:24) 8 1228 xv4spat_tog4 xv4spat toggle position 4 (23:11) 13 1392 secondvpos second v pattern output position (10:9) 2 3 vpatsecond selected second v-pattern group for vsg active line (8:0) 9 C unused 1 register value must be a gray code number (see gray code registers section). AD9929 rev. a | page 17 of 64 table 11. mode_b register map (address 0x16) register content bit width default (decimal) register name register description mode_reg(0) (31:24) 8 na mode_b_addr mode_b address is (address 0x16) (23:0) 24 na mode_b_number_n number n regi ster writes (0x000000 = write all registers) mode_reg(1) (31:21) 11 262 vdlen vd counter value (20:9) 12 1139 hdlastlen 1 number of pixels in last line (gray code number) 8 1 1 xvsgsel1 xvsg1 sequence selector (see table 35) 7 1 0 xvsgsel2 xvsg2 sequence selector (see table 35) (6:0) 7 0 xvsgactline xvsg active line mode_reg(2) 31 1 0 subcksel select one of two subck patterns (30:28) 3 0 vtpseqptr0 vertical transfer sequence region 0 (27:25) 3 0 vtpseqptr1 vertical transfer sequence region 1 (24:22) 3 0 vtpseqptr2 vertical transfer sequence region 2 (21:19) 3 0 vtpseqptr3 vertical transfer sequence region 3 (18:16) 3 0 vtpseqptr4 vertical transfer sequence region 4 15 1 1 clpen0 clpob output control 1 14 1 0 clpen1 clpob output control 2 13 1 0 clpen2 clpob output control 3 12 1 0 clpen3 clpob output control 4 11 1 0 clpen4 clpob output control 5 (10:3) 8 0 scp1 sequence change position 1 (2:0) 3 scp2 mode_reg(3) (31:27) 5 0 scp2 sequence change position 2 (26:19) 8 0 scp3 sequence change position 3 (18:11) 8 0 scp4 sequence change position 4 (10:9) 2 0 vtpsel0 vertical pattern selection 0 (8:7) 2 0 vtpsel1 vertical pattern selection 1 (6:5) 2 0 vtpsel2 vertical pattern selection 2 (4:3) 2 0 vtpsel3 vertical pattern selection 3 (2:0) 3 3 vtprep0 number of vtp0 pulse repetitions for pattern 0 mode_reg(4) (31:29) 3 0 vtprep1 number of vtp1 pulse repetitions for pattern 1 (28:26) 3 0 vtprep2 number of vtp2 pulse repetitions for pattern 2 (25:23) 3 0 vtprep3 number of vtp0 pulse repetitions for pattern 3 (22:12) 11 0 svrep0 vertical sweep repetition number for ccd region 0 (11:1) 11 0 svrep3 vertical sweep repetition number for ccd region 3 0 1 C unused mode_reg(5) (31:19) 13 988 xv1spat_tog3 xv1spat toggle position 3 (18:6) 13 1138 xv1spat_tog4 xv1spat toggle position 4 (5:0) 6 xv2spat_tog3 mode_reg(6) (31:25) 7 1078 xv2spat_tog3 xv2spat toggle position 3 (24:12) 13 xv2spat_tog4 xv2spat toggle position 4 (11:0) 12 xv3spat_tog3 mode_reg(7) 31 1 958 xv3spat_tog3 xv3spat toggle position 3 (30:18) 13 1138 xv3spat_tog4 xv3spat toggle position 4 (17:5) 13 988 xv4spat_tog3 xv4spat toggle position 3 (4:0) 5 xv4spat_tog4 mode_reg(8) (31:24) 8 1228 xv4spat_tog4 xv4spat toggle position 4 (23:11) 13 1392 secondvpos seco nd v pattern output position (10:9) 2 3 vpatsecond selected second v-pattern group for vsg active line (8:0) 9 C unused 1 register value must be a gray code number (see gray code registers section). AD9929 rev. a | page 18 of 64 system overview figure 7 shows the typical system block diagram for the AD9929. the ccd output is processed by the AD9929s afe circuitry, which consists of a cds, vga, black level clamp, and an a/d converter. the digitized pixel information is sent to the digital image processor chip, which performs post-processing and compression. to operate the ccd, all ccd timing para- meters are programmed into the AD9929 from the system microprocessor through the 3-wire serial interface. from the system master clock, cli, provided by the image processor or external crystal, the AD9929 generates all of the ccds hori- zontal and vertical clocks and all internal afe clocks. external synchronization is provided by a sync pulse from the microprocessor, which resets internal counters and resyn- chronizes the vd and hd outputs. the h-drivers for h1 to h2, and rg are included in the AD9929, allowing these clocks to be directly connected to the ccd. an h-drive voltage of up to 3.6 v is supported. the AD9929 also includes the ccd vertical driver circuits for creating the v1 to v4, and subck outputs that allow direct connection to the ccd. the AD9929 also provides program- mable mshut and strobe outputs, which may be used to trigger mechanical shutter and strobe (flash) circuitry. ccdin mshut strobe ccd AD9929 dclk1 fd hd, vd cli serial interface sync outcont p dout [11:0] vgate xv1 xv2 xv3 xv4 xvsg1 xsubck timing generator vertical driver v1 v2 v3 v4 subck h1 h2 rg vsub xvsg2 04593-0-008 digital image processing asic figure 7. typical system block diagram, master mode AD9929 rev. a | page 19 of 64 theory of operation modes of operation slave and master mode operation the AD9929 can be operated in either slave or master mode. it defaults to slave mode operation at power-up. the slave_mode register (address 0xd6) can be used to configure the AD9929 into master mode by setting slave_mode = 0. slave mode operation while operating in slave mode, vd, hd, and vgate are pro- vided externally from the image processor. vgate is input active high on pin 45. unlike master mode operation, there is a 7 cli clock cycle delay from the falling edge of hd to when the 12-bit gray code h counter is reset to 0 (see figure 62). master mode operation while operating in master mode, vd and hd are outputs and the sync/vgate pin is configured for an external sync input. master mode is selected by setting register slave_mode (address 0x06) = 0. horizontal and vertical counters figure 8 and figure 9 show the horizontal and vertical counter dimensions for the AD9929. all internal horizontal and vertical clocking is programmed using these dimensions to specify line and pixel locations. cli input clock divider the AD9929 provides the capability of dividing the cli input clock using register clkdiv (address 0xd5). the following procedure must be followed to reset the afe and digital circuits when clkdiv is reprogrammed back to 0 from clkdiv = 1, 2, or 3. the dclk1 output becomes unstable if this procedure isnt followed. step 1 : clkdiv = 1, 2, or 3 (cli divided by setting value) step 2: clkdiv = 0 (cli reprogrammed for no division) step 3: digstby = afestby = 0 step 4: digstby = afestby = 1 12-bit horizontal counter = 4096 pixels max 11-bit vertical counter = 2048 lines max maximum field dimensions 04593-0-009 figure 8. horizontal and vertical counters gray code registers see table 12 for a list of the AD9929 registers requiring gray code values. the following is an example of applying a gray code number for hdlen using a line length of 1560 pixels: hdlen = (1560C4) = 1556 10 (see special note about the hdlen register section). where 1556 10 = address 0x51e the gray code value of address 0x51e would be programmed in the 12-bit hdlen register. table 12. AD9929 gray code registers register name register type hdlen system_reg(12) clpobtog1 system_reg(15) clpobtog2 system_reg(16) hdlastlen mode_reg(1) vd hd max vd length is 2048 lines max hd length is 4095 pixels cli 04593-0-010 figure 9. maximum vd/hd dimensions AD9929 rev. a | page 20 of 64 serial interface timing all of the internal registers of the AD9929 are accessed through a 3-wire serial interface. the 3-wire interface consists of a clock (sck), serial load (sl), and serial data (sdata). the AD9929 has three different register types that are confi- gured by the 3-wire serial interface. as described in table 13, the three register types are control registers, system registers, and mode registers. table 13. types of serial interface registers register address number of registers control 0x00 to 0xd6 24-bit registers at each address. not all addresses are used. see table 8. system 0x14 seventeen 32-bit system registers at address 0x14. see table 9. mode_a 0x15 eight 32-bit mode_a registers at address 0x15. see table 10. mode_b 0x16 eight 32-bit mode_b registers at address 0x16. see table 11. registers control register serial interface the control register 3-wire interface timing requirements are shown in figure 10. control data must be written into the device one address at a time due to the noncontiguous address spacing for the control registers. this requires writing 8 bits of address data followed by 24 bits of configuration data between each active low period of sl for each address. the sl signal must be kept high for at least one full sck cycle between successive writes to control registers. system register serial interface there are seventeen 32-bit system registers that are accessed sequentially at address 0x14, beginning with sys_reg [0]. when writing to the system registers, sdata contains the 8-bit address 0x14, followed by number writes n [23:0], followed by the sys_reg [31:0] data, as shown in figure 5. the system register map is listed in table 9. the value of the number writes n [23:0] word determines one of two options when writing to the system registers. if number writes n[23:0] = 0x000000, the device enters a mode where it expects all 17 sys_reg [31:0] data-words to be clocked in before sl is asserted high. if the number writes n [23:0] is decoded as some number n other than 0x000000, then the device expects n number of registers to be programmed, where n equals the value of number writes n [23:0]. for example: if number writes n[23:0] = 0x000004, the device would expect data to be provided for sys_reg [3:0]. in all cases, the system registers are written beginning with sys_reg [0], regardless of the value of number writes n [23:0]. note that sl can be brought high or low during access to system registers, as shown in figure 11. mode_a and mode_b register serial interface there are eight 32-bit mode_a and eight 32-bit mode_b registers that get accessed sequentially at address 0x15 and address 0x16, respectively. mode_a and mode_b registers are written to in exactly the same way as the system registers, as explained previously. the mode registers are listed in table 10 and table 11. to change operation between mode_a and mode_b, set the 1-bit mode register (address 0x0a). the desired mode_a (address 0x15) or mode_b (address 0x16) data must be programmed into the mode_a or mode_b registers before changing the mode bit. s dat a sck sl a5 a6 d22 d21 d3 d2 d1 t ds t dh t ls t lh notes 1. sdata bits are internally latched on the rising edges of sck. 2. system update of loaded registers occurs on sl rising edge. 3. this timing pattern must be written for each register write with sl remaining high for at least one full sck period before asserting sl low again for the next register write. a7 a4 a3 a2 a1 a0 d23 .... .... d0 1234567 891011 29303132 04593-0-011 figure 10. 3-wire serial interface timing for control registers AD9929 rev. a | page 21 of 64 sdata sck sl a7 a6 a5 a4 a3 a2 a1 a0 n23 n22 n21 n20 n0 n1 n2 n3 d31 d30 d29 d3 d2 d1 d0 d31 d30 d29 8 bit address number of 32 bit data writes (n) data 1 [31:0] d3 d2 d1 d0 d31 d30 d29 data 2 [31:0] d3 d2 d1 d0 data n [31:0] data 1 [31:0] number writes n [23:0] address [7:0] data 2 [31:0] data n [31:0] 1 1 12 notes 1. sl pulses are ignored until the lsb bit of the last data n word is clocked in. 2. valid sl pulse. sl must be asserted high when all sdi data transmissions have been finished. 04539-0-012 figure 11. system and mode register writes 04539-0-013 vd hd cli operation of vd synchronous type register writes begin at the next vd falling edge. programming vd synchronous type registers must be completed at least 4 cli cycles before the falling edge of vd figure 12. vd synchronous type register writes vd synchronous and asynchronous register operation there are two types of control registers, vd synchronous and vd asynchronous, as indicated in the address column of table 8. register writes to synchronous and asynchronous registers operate differently, as described in the following sections. all writes to system mode_a and mode_b registers occur asynchronously. asynchronous register operation for vd asynchronous register writes, sdata data is stored directly into the serial register at the rising edge of sl. as a result, register operation begins immediately after the rising edge of sl. vd synchronous register operation for vd synchronous registers, sdata data is temporarily stored in a buffer register at the rising edge of sl. this data is held in the buffer register until the next falling edge of vd is applied. once the next falling edge of vd occurs, the buffered sdata data is loaded into the serial register, at which time the register operation begins. see figure 12. all control registers at the following addresses are vd synchro- nous type registers: addresses 0x0a, 0x0b, 0x0c, 0x0d, and 0x0e. also see table 8, the control register address map. AD9929 rev. a | page 22 of 64 analog front end description and operation the AD9929 afe signal processing chain is shown in figure 13. each processing step is essential in achieving a high quality image from the raw ccd pixel data. registers for the AD9929 afe section are listed in table 14. table 14. afe registers register name bit width register type description vgagain 10 control (address 0x0e) vga gain refblack 6 control (address 0x04) black clamp level afestby 1 control (address 0x05) afe standby dc restore to reduce the large dc offset of the ccd output signal, a dc- restore circuit is used with an external 0.1 f series coupling capacitor. this restores the dc level of the ccd signal to approximately 1.5 v, to be compatible with the 3 v analog supply of the AD9929. correlated double sampler the cds circuit samples each ccd pixel twice to extract the video information and reject low frequency noise. the timing shown in figure 16 illustrates how the two internally generated cds clocks, shp and shd, are used to sample the reference and data levels, respectively, of the ccd signal. the placement of the shp and shd sampling edges is determined by the setting of the shploc (address 0x02) and shdloc (address 0x02) registers. placement of these two clock edges is critical in achieving the best performance from the ccd. 6db to 40db ccdin digital filter clpob dc restore optical black clamp adc vga 8-bit dac clamp level register vga gain register 10 cds internal v ref 2v full scale 12 precision timing generation v-h timing generation shp shd 1.5v output data latch reft refb dout phase shp shd dout phase clpob 1.0v 2.0v dout 8 1.0 f 1.0 f 0.1 f 04593-0-014 figure 13. afe block diagram AD9929 rev. a | page 23 of 64 variable gain amplifier the vga provides a gain range of 6 db to 40 db, programmable with 10-bit resolution through the serial digital interface. the minimum gain of 6 db is needed to match a 1 v input signal with the adc full-scale range of 2 v. the vga gain curve follows a linear-in-db characteristic. the exact vga gain can be calculated for any gain register value by using the equation gain = ( 0.035 code) + 5.2 where the code range is 0 to 1023. figure 14 shows a typical AD9929 vga gain curve. vga gain register code 42 0 vga gain (db) 127 255 383 511 639 767 895 1023 36 30 24 18 12 6 04593-0-015 figure 14. vga gain curve optical black clamp the optical black clamp loop is used to remove residual offsets in the signal chain and to track low frequency variations in the ccds black level. during the optical black (shielded) pixel interval on each line, the adc output is compared with a fixed black level reference selected by the user in the clamp level register. any value between 0 lsb and 255 lsb may be pro- grammed with 8-bit resolution. the resulting error signal is filtered to reduce noise, and the correction value is applied to the adc input through a d/a converter. normally, the optical black clamp loop is turned on once per horizontal line, but this loop can be updated more slowly to suit a particular application. the optical black clamp is controlled by the clpob signal, which is fully programmable (see horizontal clamping and blanking section). system timing examples are shown in the horizontal and vertical synchronous timing section. the clpob pulse should be placed during the ccds optical black pixels. it is recommended that the clpob pulse duration be at least 20 pixels wide. shorter pulse widths may be used, but the ability to track low frequency variations in the black level is reduced. a/d converter the AD9929 uses high-performance 12-bit adc architecture, optimized for high speed and low power. differential non- linearity (dnl) performance is typically better than 0.5 lsb. the adc uses a 2 v input range. better noise performance results from using a larger adc full-scale range. precision timing, high speed timing generation the AD9929 generates flexible, high speed timing signals using the precision timing core. this core is the foundation for gener- ating the timing used for both the ccd and the afe: the reset gate rg, horizontal drivers h1 to h2, and the cds sample clocks. a unique architecture makes it routine for the system designer to optimize image quality by providing precise control over the horizontal ccd readout and the afe correlated double sampling. timing resolution the precision timing core uses the master clock input (cli) as a reference. this clock should be the same as the ccd pixel clock frequency. figure 15 illustrates how the internal timing core divides the master clock period into 48 steps or edge positions. using a 36 mhz cli frequency, the edge resolution of the precision timing core is 0.58 ns. a 72 mhz cli frequency can be applied to the AD9929, where the AD9929 will internally divide the cli frequency by two. division by 1/3 and 1/4 are also provided. cli frequency division is controlled by using clkdiv (address 0x05) register. high speed clock programmability figure 17 shows how the high speed clocks rg, h1 to h2, shp, and shd are generated. the rg pulse has a fixed rising edge and a programmable falling edge. the horizontal clock h1 has a programmable rising and a fixed falling edge occurring at h1posloc + 24 steps. the h2 clock is always the inverse of h1. table 14 summarizes the high speed timing registers and the parameters for the high speed clocks. each register is 6 bits wide with the 2 msb bits used to select the quadrant region, as outlined in table 16. figure 17 shows the range and default locations of the high speed clock signals. h driver and rg outputs in addition to the programmable timing positions, the AD9929 features on-chip output drivers for the rg and h1 to h2 out- puts. these drivers are powerful enough to directly drive the ccd inputs. the h-driver current can be adjusted for optimum rise/fall time into a particular load by using the h1drv and h2drv registers (address 0x04). the rg drive current is adjustable using the rgdrv register (address 0x04). the h1drv and h2drv register is adjustable in 4.3 ma incre- ments. the rgdrv register is adjustable in 2.15 ma incre- ments. all drv registers have settings of 0 equal to off or three-state, and a maximum setting of 7. AD9929 rev. a | page 24 of 64 as shown in figure 17, the h2 output is the inverse of h1. the internal propagation delay resulting from the signal inversion is less than 1 ns, which is significantly less than the typical rise time driving the ccd load. this results in a h1/h2 crossover voltage at approximately 50% of the output swing. the crossover voltage is not programmable. notes 1. pixel clock period is divided into 48 positions, providing fine edge resolution for high speed clocks. 2. there is a fixed delay from the cli input to the internal pixel period positions ( t clidly = 6ns typ). p[0] p[48] = p[0] p[12] p[24] p[36] 1 pixel period cli t clidly position 04593-0-016 figure 15. high speed clock resolu tion from cli master clock input h1 h2 ccd signal rg programmable clock positions 1. rg rising edge (fixed edge at 000000) 2. rg falling edge (rgnegloc (address 0x03)) 3. shp sample location (shploc (address 0x02)) 4. shd sample location (shdloc (address 0x02)) 5. h1 rising edge location (h1posloc (address 0x03)) 6. h1 negative edge location (fixed at (h1posloc + 24 steps)) 7. h2 is always the inverse of h1 3 4 12 56 cds (internal) 04593-0-017 figure 16. high speed clock programmable locations table 15. rg, h1, shp, shd, dclk, and doutphase timing parameters register name bit width register type range description rgnegloc 1 6b control (address 0x03) 0 to 47 edge lo cation falling edge location for rg h1posloc 1 6b control (address 0x03) 0 to 47 edge lo cation positive edge location for h1 shploc 1 6b control (address 0x02) 0 to 47 edge location sample location for shp shdloc 1 6b control (address 0x02) 0 to 47 edge location sample location for shd doutphase 1 6b control (address 0x02) 0 to 47 edge loca tion phase location of data output [9:0] dclkphase 6b control (address 0x02) 0 to 47 edge location positive edge of dclk 1 1 the two msb bits are used to select the quadrant AD9929 rev. a | page 25 of 64 table 16. precision timing edge locations for rg, h1, shp, shd, dclk, and doutphase rg rising edge rg falling edge signal name quadrant (not programmable) rgnegloc quadrant range rg i fixed at 00 0000 00 0000 to 00 1011 p[0] to p[11] ii fixed at 00 0000 01 0000 to 01 1011 p[12] to p[23] iii fixed at 00 0000 10 0000 to 10 1011 p[24] to p[35] iv fixed at 00 0000 p[36] to p[47] h1 rising edge h1 falling edge signal name quadrant h1posloc quadrant range (not programmable) h1 i 00 0000 to 00 1011 p[0] to p[11] h1posloc + 24 steps ii 01 0000 to 01 1011 p[12] to p[23] h1posloc + 24 steps iii 10 0000 to 10 1011 p[24] to p[35] h1posloc + 24 steps iv 11 0000 to 11 1011 p[36] to p[47] h1posloc + 24 steps cds rising edge cds falling edge signal name quadrant shploc quadrant range shdloc quadrant range cds i 00 0000 to 00 1011 p[0] to p[11] 00 0000 to 00 1011 p[0] to p[11] ii 01 0000 to 01 1011 p[12] to p[23] 01 0000 to 01 1011 p[12] to p[23] iii 10 0000 to 10 1011 p[24] to p[35] 10 0000 to 10 1011 p[24] to p[35] iv 11 0000 to 11 1011 p[36] to p[47] 11 0000 to 11 1011 p[36] to p[47] data output[9:0] rising edge data output[9:0] falling edge signal name quadrant doutphase quadrant range (not programmable) data output [9:0] i 00 0000 to 00 1011 p[0] to p[11] doutphase + 24 steps ii 01 0000 to 01 1011 p[12] to p[23] doutphase + 24 steps iii 10 0000 to 10 1011 p[24] to p[35] doutphase + 24 steps iv 11 0000 to 11 1011 p[36] to p[47] doutphase + 24 steps signal name dclkphase value dclk phase rising edge dclkphase falling edge dclk1 00 p[6] p[26] 01 p[16] p[36] 10 p[26] p[06] 11 p[36] p[16] AD9929 rev. a | page 26 of 64 p[0] pixel period rg h1 rgf[12] p[48] = p[0] hf[24] shp[20] ccd signal p[24] p[12] p[36] hr[0] rgr[0] shd[40] position notes 1. all signal edges are fully programmable to any of the 48 positions within one pixel period. 2. default positions for each signal are shown. cds (internal) t s1 04593-0-018 figure 17. high speed clock de fault and programmable locations fixed crossover voltage h1 h2 t pd t rise t pd < t rise h2 h1 04593-0-019 figure 18. h-clock inverse phase relationship notes 1. dclk1 phase is adjusted by setting the dclkphase register (address 0x02) 2. dout phase can be adjusted by setting the doutphase register (address 0x02) p[0] p[48] = p[0] pixel period p[12] p[24] p[36] dout dclk1 t od 04593-0-020 figure 19. digital output phase adjustment digital data outputs the AD9929 dout[11:0] and dclk phases are independently programmable using the doutphase register (address 0x02) and dclkphase register (address 0x02). refer to figure 19. AD9929 rev. a | page 27 of 64 external synchronization (master mode) external synchronization can be applied to synchronize the vd and hd signals by applying an external pulse on the sync/gate (pin 45) pin for master mode operation. the sync/gate pin is configured as an external sync input for master mode operation by setting the slave_mode register (address 0xd6) = 0 (the AD9929 defaults to slave mode at power-up). synccnt (address 0x0a) and syncpol (address 0x01) are the only two registers used for configuring the AD9929 for external synchronization. the syncpol is a 1-bit register used for configuring the sync input as either active low or active high. the AD9929 defaults to active low at power-up. the function of the synccnt register is described in table 17. figure 20 and figure 21 provide two examples of external synchronization with syncpol = 0. table 17. external synchronization (master mode) synccnt external synchronization options 0 disable external synchronization 1 vd sync at every sync pulse 2 vd sync after 2nd applied sync pulse 3 vd sync after 3rd applied sync pulse 4 vd sync after 4th applied sync pulse 5 vd sync after 5th applied sync pulse 6 vd sync after 6th applied sync pulse 7 vd sync after 7th applied sync pulse 8 vd sync after 8th applied sync pulse 9 vd sync after 9th applied sync pulse 10 vd sync after 10th applied sync pulse 11 vd sync after 11th applied sync pulse 12 vd sync after 12th applied sync pulse 13 vd sync after 13th applied sync pulse 14 vd sync after 14th applied sync pulse 15 vd sync after 1st applied sync pulse only vd sync 4 cli 2 cli min 4 cli 4 cli mode a mode b serial writes change to mode b operation mode 04593-0-021 figure 20. example of synchronization with syncpol = 0 and synccnt = 1 vd sync 4 cli 2 cli min 4 cli 4 cli 04593-0-022 figure 21. example of synchronization with syncpol = 0 and cynccnt = 3 AD9929 rev. a | page 28 of 64 horizontal and vertical synchronous timing the hd and vd output pulses are programmable using the registers listed in table 18. the hd output is asserted low at the start of the horizontal line shift. the vd output is asserted low at the start of each line. as shown in figure 22, the 11-bit vd counter is used to count the number of lines set by the vdlen register. the 12-bit hd counter is used to count the number of pixels in each line set by the hdlen register. for example, if the ccd array size is 2000 lines by 2100 pixels per line, vdlen = 2000 and hdlen = 0xc28. the hdlen register sets hl as a reference for the rising edge of the hd pulse. special note about the hdlen register the 12-bit hd counter value must be programmed using a gray code number. there is also a 4-clock cycle, set up period that must be considered when determining the hdlen register value, as shown in figure 22. as a result of the 4-clock cycle, setup period, the value of hdlen is always equal to the actual number of pixels per line minus 4. for example, if there are 2100 pixels per line, hdlen equals (2100 C 4) = 2096. the gray code value of 2096 is 0xc28, which is what would be program- med in the hdlen register. table 18. hd and vd registers register name bit width register type reference counter range description hdlen 1 12 sys_reg(12) C 0C4095 pixels 12-bit gray code counter value hlen 10 sys_reg(12) C 0C1023 pixels 10-bit hl-counter value hdrise 10 sys_reg(16) hl 0C1023 pixels hd rise position hdlastlen 1 12 mode_reg(1) hd 0C4095 pixels hd last line length vdlen 11 mode_reg(1) C 0C2047 lines vd counter value vdrise 4 sys_reg(16) vd 0C15 lines vd rise position 1 register value must be a gray code number (see gray code registers section). vd hdlastlen vdlen 000 001 002 11-bit vd counter 12-bit g ray counte r + set- up set-up hdlen 10-bit hl counter hd 2 notes 1. the set-up delay is 4 cli cycles. the actual length of one line is 4 more cycles than value set in hdlen and hdlastlen due to set-up delay. 2. vdrise references the 11-bit vd-counter. 3. hdrise references the 10-bit hl-conter. 1 programmable clock positions 1. hdrise (sys_reg(16)) 2. vdrise (sys_reg(16)) n _ < 2048 hlen line length = hdlen + 4 04593-0-023 figure 22. vd and hd horizontal timing AD9929 rev. a | page 29 of 64 horizontal clamping and blanking the AD9929s horizontal clamping and blanking pulses are programmable to suit a variety of applications. as with the vertical timing generation, individual sequences are defined for each signal, which are then organized into multiple regions during image readout. this allows the dark pixel clamping and blanking patterns to be changed at each stage of the readout, in order to accommodate different image transfer timing and high speed line shifts. controlling clpob clamp pulse timing the afe horizontal clpob pulse is generated based on the 12-bit gray code counter. once the length of the 12-bit gray code counter is set using the hdlen register (sys_reg(12)), the clptog1 and clptog2 registers (sys_reg(15 and 16)) can be used to place the clpob pulse location, as shown in figure 25. table 19 lists all clpob registers that are used to configure and control the placement and output of the clpob pulse. the length of the last hd line is set using the hdlastlen register (sys_reg(1)). figure 23 shows how no clpob pulse is asserted when the last hd length set by hdlastlen is shorter than the regular hd length set by hdlen. figure 24 shows how no clpob pulse is applied when the last hd length set by hdlastlen is longer than the regular hd length. note that the clpob pulse is applied in the last line only when hdlastlen = hdlen. hd clpob last line 04593-0-024 figure 23. last hd shorter than regular hd hd c lpob last line 04953-0-025 figure 24. last hd longer than regular hd table 19. clpob registers register name bit width register type counter reference range description clpob_cont 1 control (0x01) C c lpob control (0=clpob off, 1 =clpob on) clpob_mode 1 control (0x01) C clpob ccd region control (0 = enable clpenx register settings, 1 = disable clpenx register settings) clptog1 12 sys_reg (15) hd 0 to 4095 pixel locations clpob toggle position 1 (gray code number) clptog2 12 sys_reg (15 and 16) hd 0 to 4095 pixel locations clpob toggle position 2 (gray code number) clpen0 1 mode_reg (2) C clpob control for ccd region 0 (0 = clpob disabled, 1 = clpob enabled) clpen1 1 mode_reg (2) C clpob control for ccd region 1 (0 = clpob disabled, 1 = clpob enabled) clpen2 1 mode_reg (2) C clpob control for ccd region 2 (0 = clpob disabled, 1 = clpob enabled) clpen3 1 mode_reg (2) C clpob control for ccd region 3 (0 = clpob disabled, 1 = clpob enabled) clpen4 1 mode_reg (2) C clpob control for ccd region 4 (0 = clpob disabled, 1 = clpob enabled) AD9929 rev. a | page 30 of 64 vd 12 clpob hd 12-bit gray counter + set-up programmable clock positions 1. clptog1 (sys_reg (15)) 2. clptog2 (sys_reg (15 and 16)) 04593-0-026 figure 25. location of clpob using clptog1 and clptog2 registers. vd hd 0 1 2 3 4 5 6 7 8 9 10 11 12 clpob clpmask (internal) a b programming positions 1. scp0 = 0 (fixed), clpen0 = 1 2. scp1 = 3, clpen1 = 0 3. scp2 = 4, clpen2 = 1 4. scp3 = 5, clpen3 = 0 5. scp4 = 1, clpen4 = 1 notes 1. the internal clpmask signal extends one extra hd cycle from when the clpmask period changes from low to high. as a result, one additional clpob pulse is masked as shown at positions a and b. 13 14 15 16 12 3 45 04593-0-027 figure 26. clpob outputs with clpmode = 0 controlling clpob clamp pulse outputs the registers in table 19 are used for programming the clpob pulse. the clpob pulse is disabled in all ccd regions by setting clpcnt = 0. the clptogx (x = 0, 1) are used to set the clpob toggle positions. the clpenx (x = 0, 1, 2, 3, and 4) are used to enable or disable the clpob pulse separately in each ccd region when clpmode = 0. the clpen registers have no effect if clpmode = 1. in this case, the clpob pulse is asserted in all ccd regions, regardless of the value set in the clpenx registers. figure 26 shows an example of the clpob pulse being disabled in ccd regions 1 and 3 by setting clpen1 = 1 and clpen3 =1. note that the clpob pulse remains disabled in the first line of the following ccd region. table 20. scp and clpen scp[4:1] 1 clpen[4:0] scp0 clpen0 scp1 clpen1 scp2 clpen2 scp3 clpen3 scp4 clpen4 1 scp0 is not a programmable register and therefore no t listed in the register map tables. scp0 is a fixed sequence and always starts at the falling edge of vd. although this register is not progr ammable, the clpen0 register is still used to set whether the clpob pulse is enabled or disabled for this scp0 region. AD9929 rev. a | page 31 of 64 h1 and h2 blanking the AD9929 provides three options for controlling the period where h1 and h2 pulses get blanked. these options are normal h blanking, selective positioning for 2 h1 and h2 outputs, and extended blanking. in all cases, hblkmask is used to set the polarity of h1 during the blanking period. table 21 describes the registers used to control h blanking. normal h-blanking for normal h-blanking operation, hpulsecnt = 0 and blkmask = 0 or 1. the hblkpos register isnt used in this mode. figure 27 shows one example where hblkmask = 0 and h1 and h2 are blanked while hd is low. selective positioning for two h1 and h2 outputs for selective positioning operation, hpulsecnt = 1 and hblkmask = 0 or 1. in this mode, two h1 pulses are output during the blanking period. the location of these two pulse is set using the hblkpos register, as shown in figure 28. extended blanking extended blanking is enabled by setting hblkext = 1. the hblkext register uses the 9-bit bl counter to suspend operation of the hd and hl counters. this delays the blanking period by the length set in the bllen register, as shown in figure 29. table 21. h1 blanking registers register name bit width register type description hblkmask 1 control (0x01) masking polarity for h1 during blanking period 1 (0 = low, 1 = high) hpulsecnt 1 control (0x0a) h pulse control during blanking period hblkext 1 control (0x0a) (0 = no output during blanking,1 = output during blanking ) h pulse blanking extends control 2 (0 = extended blanking disabled, 1 = extended blanking enabled) h1blkretime 1 control (0x03) retimes the h1 hblk to internal clock (0 = retiming disabled, 1 = retiming enabled) hblkhpos 10 sys_reg(11) h1 pulse on position during blanking period 1 h2 is always the opposite polarity of h1. 2 the hblkext extend control extends the blanking period by the nu mber of counts set in the bllen register for the 9-bit bl coun ter. hd hblk (internal) rg h1 h2 hdrise 1 notes 1. the rising edge of hblk is always the same as hdrise 04593-0-028 figure 27. normal h-blanking operation hblkmask = 0, hpulsecnt = 0, hblkhpos = xxx AD9929 rev. a | page 32 of 64 hd hblk (internal) h12 (internal) rg h1 notes 1. h2 is the opposite polarity of h1 04593-0-029 figure 28. selective h-blanking operation hblkmask = 0, hpulsecnt = 1, hblkhpos = 003. hd vd h1 clpob 1 2 34 notes 1. positions 1, 2, 3 and 4 are delayed by the value of bl counter 2. vsg1, vsg2, v1-4 and subck pulses are not delayed by bl counter 9-bit bl counter bllen 04593-0-030 figure 29. vd, hd, h1 and h2 extended blanking operation hblkext = 1. AD9929 rev. a | page 33 of 64 vgate masking of xv1 to xv4 and clpob outputs during slave mode operation, the sync/vgate pin 45 is configured as an input for an external vgate signal. while operating in this mode, the external vgate signal can be used to mask the xv1 to xv4 and clpob outputs. there are two options available for masking the xv1 to xv4 and clpob outputs. these options are determined by the setting of the mshut/vgate_en register located at control address 0x01. examples of these two options are shown in figure 30 and figure 31. figure 30 shows mshut/vgate_en = 0. in this example, the vgate signal is internally latched on the falling edge of hd, resulting with the xv1 to xv4 and clpob outputs being masked when the internally latched vgate signal is high. figure 31 shows mshut/vgate_en = 1. in this example, the preprogrammed mshut signal blocks the vgate input from masking xv1 to xv4 and clpob outputs while mshut is low. the internally latched vgate signal only masks xv1 to xv4 and clpob when mshut is high, while operating in this mode. vd hd vgate vgate (internal) (pin #45) xv1?xv4 clpob xv1?xv4 and clpob masked xv1?xv4 and clpob masked 04590-0-031 figure 30. example of vgate input masking v1 to v4 and clpob outputs with mshut/vgate_en = 0 vd hd vgate vgate (pin #45) xv1?xv4 (internal) clpob mshut xv1?xv4 and clpob masked 04590-0-032 figure 31. example of vgate input masking v1to v4 and clpob outputs with mshut/vgate_en = 1 AD9929 rev. a | page 34 of 64 vertical timing generation the AD9929 provides a very flexible solution for generating vertical ccd timing and can support multiple ccds and different system architectures. the 4-phase vertical transfer clocks xv1 to xv4 are used to shift each line of pixels into the horizontal output register of the ccd. the AD9929 vertical outputs can be individually programmed into four different vertical pulse patterns identified as vtp0, vtp1, vtp2, and vtp3. each vertical pulse pattern is a unique set of precon- figured xv1 to xv4 sequences. once the vertical patterns have been configured using the registers shown in table 24, pointer registers are used to select in which region of the ccd a particular vertical pattern is output. the pointer registers are described in table 22. up to five unique ccd regions may be specified. finally, the readout of the entire field is constructed by combining one or more of the individual regions sequentially. with up to five regions available, different steps of the readout such as high speed line shifts and vertical image transfer can be supported. creating vertical sequences figure 32 through figure 34 provide an overview of how the vertical timing is generated in four basic steps. step 1 : create the individual pulses for patterns vtp0, vtp1, vtp2, and vtp3 (see figure 32 ). the registers shown in table 22 are used to generate the individual vertical timing pulses, as shown in figure 32. the vtplenx determines the number of pixels between pulse repetitions. the start polarity (xvxstartpolx) sets the starting polarity of the vertical sequence and can be program- med high or low. the first toggle position (xvxtog1posx) and second toggle position (xvxtog2posx) are the pixel locations within the line where the pulse transitions. step 2 : create the individual vertical sequences (see figure 33). create the individual vertical sequences by assigning pulse repetitions to patterns vtp0, vtp1, vtp2, and vtp3 using the vtprepx registers as shown in table 25. the number of repeti- tions (vtprepx) determines the number of pulse repetitions desired within a single line. programming 1 for vtprepx gives a single pulse, and setting to 0 provides a fixed dc output based on the start polarity value. figure 33 shows an example of a vtpx sequence of two vtpx patterns by setting vtprepx = 2. step 3 : output vertical sequences into ccd regions (see figure 34 ). the AD9929 arranges individual sequences into ccd regions through the use of sequence pointers (vtpseqptrx) and vertical transfer pattern select (vtpselx) registers, as described in table 23. the vtpseqptrx registers are used to point to a desired vtpselx register whose value determines what vtpx pattern is output on the xv1 to xv4 signals. for example, if vtpseqptr0 = 1 and vtpsel1 = 2, the vtp2 pulse pattern would output while operating in region 0 of the ccd. step 4 : combining ccd regions (see figure 34 ). build the entire field readout by combining multiple regions by using mode registers scp0, scp1, scp2, scp3, and scp4. the individual ccd regions are combined into a complete field readout by using sequence change position (scpx) pointers as described in table 23. figure 34 shows how each field is divided into multiple regions. this allows the user to change vertical timing during various stages of the image readout. the boun- daries of each region are defined by the sequence change position (scp). each scp is a 8-bit value representing the line number boundary region. a total of four scps allow up to five different region areas in the field to be defined. the first scp0 is always hard-coded to line 0, and the remaining four scps are register programmable. AD9929 rev. a | page 35 of 64 x v1 12 3 x v2 45 6 x v3 789 x v4 10 11 12 0 100 200 hd vtplenx [8:0] = 210 300 400 50 150 250 350 1. xv1startpolx = 0 2. xv1tog1x [8:0] = 50 3. xv1tog2x [8:0] = 130 4. xv2startpolx = 1 5. xv2tog1x [8:0] = 30 6. xv2tog2x [8:0] = 150 7. xv3startpolx = 1 8. xv3tog1x [8:0] = 110 9. xv3tog2x [8:0] = 180 10. xv4startpolx = 0 11. xv4tog1x [8:0] = 20 12. xv4tog2x [8:0] = 160 04593-0-033 figure 32. step 1: create individual vertical pulses for vtp0, vtp1, vtp2, and vtp3 patterns. xv1 12 3 xv2 45 6 xv3 789 xv4 10 11 12 0 100 200 hd vtplenx [8:0] = 210 300 400 50 150 250 350 04593-0-034 figure 33. step 2: create individual sequences for xv1 to xv4 outputs by assigning pulse repetitions to vtp0, vtp1, vtp2 and vt p3 patterns. this example shows vtprepx = 2 AD9929 rev. a | page 36 of 64 xv1 xv2 xv3 xv4 vtp0 xv1 xv2 xv3 xv4 vtp1 xv1 xv2 xv3 xv4 { {{ { vtp2 xv1 xv2 xv3 xv4 vtp3 scp0 (fixed at line 0) scp1 [7:0] scp4 [7:0] scp3 [7:0] scp2 [7:0] ccd region 0 ccd region 1 ccd region 2 ccd region 3 ccd region 4 vertical t ransfer pulses vd hd xv1 xv2 xv3 xv4 scp 0 region 0 (fixed at line 0) scp 1 region 1 (line #4) scp 2 region 2 (line #7) scp 4 region 4 (line # (n + 7)) vtp0 vtprep0 = 2 vtp0 vtprep0 = 1 vtp2 vtprep2 = 2 vtp1 vtprep1 = 1 04593-0-035 figure 34. steps 3 and 4: an example of building an entire field readout by assigning sequences to multiple ccd regions AD9929 rev. a | page 37 of 64 table 22. xv1 to xv4 registers to configure xxv1 to xxv4 pulses for each vtp pattern register name bit width register type reference counter range description vtp pattern vtplen0 9 sys_reg(1) v counter 0C511 length between repetitions xv1startpol0 1 sys_reg(1) high/low xv1 starting polarity for vtp0 (0 = low, 1 = high) xv2startpol0 1 sys_reg(1) high/low xv2 starting polarity for vtp0 (0 = low, 1 = high) xv3startpol0 1 sys_reg(1) high/low xv3 starting polarity for vtp0 (0 = low, 1 = high) xv4startpol0 1 sys_reg(1) high/low xv4 starting polarity for vtp0 (0 = low, 1 = high) xv1tog1pos0 9 sys_reg(1) v counter 0C511 xv1 toggle position 1 for vtp0 xv1tog2pos0 9 sys_reg(1) v counter 0C511 xv1 toggle position 2 for vtp0 xv2tog1pos0 9 sys_reg(1 & 2) v counte r 0C511 xv2 toggle position 1 for vtp0 xv2tog2pos0 9 sys_reg(2) v counter 0C511 xv2 toggle position 2 for vtp0 xv3tog1pos0 9 sys_reg(2) v counter 0C511 xv3 toggle position 1 for vtp0 xv3tog2pos0 9 sys_reg(2 & 3) v counte r 0C511 xv3 toggle position 2 for vtp0 xv4tog1pos0 9 sys_reg(3) v counter 0C511 xv3 toggle position 1 for vtp0 xv4tog2pos0 9 sys_reg(3) v counter 0C511 xv3 toggle position 2 for vtp0 vtp0 vtplen1 9 sys_reg(3) v counter 0C512 length between repetitions xv1startpol1 1 sys_reg(3) high/low xv1 starting polarity for vtp1 (0 = low, 1 = high) xv2startpol1 1 sys_reg(3) high/low xv2 starting polarity for vtp1 (0 = low, 1 = high) xv3startpol1 1 sys_reg(4) high/low xv3 starting polarity for vtp1 (0 = low, 1 = high) xv4startpol1 1 sys_reg(4) high/low xv4 starting polarity for vtp1 (0 = low, 1 = high) xv1tog1pos1 9 sys_reg(4) v counter 0C511 xv1 toggle position 1 for vtp1 xv1tog2pos1 9 sys_reg(4) v counter 0C511 xv1 toggle position 2 for vtp1 xv2tog1pos1 9 sys_reg(4 v counter 0C 511 xv2 toggle position 1 for vtp1 xv2tog2pos1 9 sys_reg(4 & 5) v counte r 0C511 xv2 toggle position 2 for vtp1 xv3tog1pos1 9 sys_reg(5) v counter 0C511 xv3 toggle position 1 for vtp1 xv3tog2pos1 9 sys_reg(5) v counter 0C511 xv3 toggle position 2 for vtp1 xv4tog1pos1 9 sys_reg(5 & 6) v counte r 0C511 xv3 toggle position 1 for vtp1 xv4tog2pos1 9 sys_reg(6) v counter 0C511 xv3 toggle position 2 for vtp1 vtp1 vtplen2 9 sys_reg(6) v counter 0C512 length between repetitions xv1startpol2 1 sys_reg(6) high/low xv1 starting polarity for vtp2 (0 = low, 1 = high) xv2startpol2 1 sys_reg(6) high/low xv2 starting polarity for vtp2 (0 = low, 1 = high) xv3startpol2 1 sys_reg(6) high/low xv3 starting polarity for vtp2 (0 = low, 1 = high) xv4startpol2 1 sys_reg(6) high/low xv4 starting polarity for vtp2 (0 = low, 1 = high) xv1tog1pos2 9 sys_reg(6) v counter 0C511 xv1 toggle position 1 for vtp2 xv1tog1pos2 9 sys_reg(7) v counter 0C511 xv1 toggle position 1 for vtp2 xv1tog2pos2 9 sys_reg(7) v counter 0C511 xv1 toggle position 2 for vtp2 xv2tog1pos2 9 sys_reg(7) v counter 0C511 xv2 toggle position 1 for vtp2 xv3tog1pos2 9 sys_reg(7 & 8) v counte r 0C511 xv3 toggle position 1 for vtp2 xv3tog2pos2 9 sys_reg(8) v counter 0C511 xv3 toggle position 2 for vtp2 xv4tog1pos2 9 sys_reg(8) v counter 0C511 xv3 toggle position 1 for vtp2 xv4tog2pos2 9 sys_reg(8) v counter 0C511 xv3 toggle position 2 for vtp2 vtp2 AD9929 rev. a | page 38 of 64 register name bit width register type reference counter range description vtp pattern vtplen3 9 sys_reg(9) v counter 0C512 length between repetitions xv1startpol3 1 sys_reg(9) high/low xv1 starting polarity for vtp3 (0 = low, 1 = high) xv2startpol3 1 sys_reg(9) high/low xv1 starting polarity for vtp3 (0 = low, 1 = high) xv3startpol3 1 sys_reg(9) high/low xv1 starting polarity for vtp3 (0 = low, 1 = high) xv4startpol3 1 sys_reg(9) high/low xv1 starting polarity for vtp3 (0 = low, 1 = high) xv1tog1pos3 9 sys_reg(9) v counter 0C511 xv1 toggle position 1 for vtp3 xv1tog2pos3 9 sys_reg(9) v counter 0C511 xv1 toggle position 2 for vtp3 xv2tog1pos3 9 sys_reg(9 &10) v counte r 0C511 xv2 toggle position 1 for vtp3 xv2tog2pos3 9 sys_reg(10) v counter 0C511 xv2 toggle position 2 for vtp3 xv3tog1pos3 9 sys_reg(10) v counter 0C511 xv3 toggle position 1 for vtp3 xv3tog2pos3 9 sys_reg(10&11) v counter 0C511 xv3 toggle position 2 for vtp3 xv4tog1pos3 9 sys_reg(11) v counter 0C511 xv3 toggle position 1 for vtp3 xv4tog2pos3 9 sys_reg(11) v counter 0C511 xv3 toggle position 2 for vtp3 vtp3 table 23. mode_a and mode_b registers for vtpx selection register name bit width register type range description vtpseqptr0 1 3 mode_reg(2) vertical transfer pulse pointer used in ccd region 0 (0 = vtpsel0, 1 = vtpsel1, 2 = vtpsel2, 3 = vtpsel3, 4 = vtpsel0 for even line and vtpsel1 for odd line, 5 = vtpsel2 for even li ne and vtpsel3 for odd line) vtpseqptr1 1 3 mode_reg(2) vertical transfer pulse pointer used in ccd region 1 (0 = vtpsel0, 1 = vtpsel1, 2 = vtpsel2, 3 = vtpsel3, 4 = vtpsel0 for even line and vtpsel1 for odd line, 5 = vtpsel2 for even li ne and vtpsel3 for odd line) vtpseqptr2 1 3 mode_reg(2) vertical transfer pulse pointer used in ccd region 2 (0 = vtpsel0, 1 = vtpsel1, 2 = vtpsel2, 3 = vtpsel3, 4 = vtpsel0 for even line and vtpsel1 for odd line, 5 = vtpsel2 for even li ne and vtpsel3 for odd line) vtpseqptr3 1 3 mode_reg(2) vertical transfer pulse pointer used in ccd region 3 (0 = vtpsel0, 1 = vtpsel1, 2 = vtpsel2, 3 = vtpsel3, 4 = vtpsel0 for even line and vtpsel1 for odd line, 5 = vtpsel2 for even li ne and vtpsel3 for odd line) vtpseqptr4 1 3 mode_reg(2) vertical transfer pulse pointer used in ccd region 4 (0 = vtpsel0, 1 = vtpsel1, 2 = vtpsel2, 3 = vtpsel3, 4 = vtpsel0 for even line and vtpsel1 for odd line, 5 = vtpsel2 for even li ne and vtpsel3 for odd line) vtpsel0 2 mode_reg(3) 0 = vtp0, 1 = vtp1, 2 = vtp2, 3 = vtp3 vtpsel1 2 mode_reg(3) 0 = vtp0, 1 = vtp1, 2 = vtp2, 3 = vtp3 vtpsel2 2 mode_reg(3) 0 = vtp0, 1 = vtp1, 2 = vtp2, 3 = vtp3 vtpsel3 2 mode_reg(3) 0 = vtp0, 1 = vtp1, 2 = vtp2, 3 = vtp3 vtprep0 3 mode_reg(3) 0C7 number of vtp0 pulse repetitions within a line vtprep1 3 mode_reg(4) 0C7 number of vtp1 pulse repetitions within a line vtprep2 3 mode_reg(4) 0C7 number of vtp2 pulse repetitions within a line vtprep3 3 mode_reg(4) 0C7 number of vtp3 pulse repetitions within a line 1 register settings 6 and 7 are not used. table 24. mode_a and mode_b registers for ccd region selection register name bit width register type range description scp1 8 mode_reg(2) 0C255 lines sequence change position 1 scp2 8 mode_reg(2) 0C255 lines sequence change position 2 scp3 8 mode_reg(2) 0C255 lines sequence change position 3 scp4 8 mode_reg(2) 0C255 lines sequence change position 4 AD9929 rev. a | page 39 of 64 special vertical sweep mode operation the AD9929 contains a special mode of vertical timing oper- ation called sweep mode. this mode is used to generate a continuous number of repetitive vertical pulses that span multiple hd lines. one example of where this mode may be needed is at the start of the ccd readout operation. at the end of the image exposure, but before the image is transferred by the sensor gate pulses, the vertical interline ccd registers should be clean of all charge. this can be accomplished by quickly shifting out any charge with a long series of pulses on the v1 to v4 outputs. this operation spans multiple hd line lengths. normally the sequences are contained within one hd line length but with the sweep mode enabled, the hd boundaries will be ignored until the region is finished. the special vertical sweep mode operation is only output in ccd region 0 and ccd region 3 (see figure 34), as shown in figure 37 and figure 38. the svrep_mode register located at control address 0x0a is used to enable and configure the special sweep mode operation, as described in table 25. the maximum number of repeats in each region is 2048 while operating in this mode using the svrep0 and svrep3 mode_reg(4) registers. table 25. description of svrep_mode register svrep_mode description of sweep mode operation 0 0 normal vertical timing operation in all ccd regions 0 1 special vertical sweep mode timing output in ccd region 0 only 1 0 special vertical sweep mode timing output in ccd region 3 only 1 1 special vertical sweep mode timing output in ccd region0 and ccd region 3 hd xv1?xv4 04593-0-036 figure 35. nonoverlapping example while operating in normal vertical timing operation svrep_mode = 0 and vtprepx = 4 hd xv1?xv4 not output because the 8th repetition overlaps with hd 04593-0-037 figure 36. overlapping example while operating in normal vertical timing operation svrep_mode = 0 and vtprepx = 8 hd xv1?xv4 ccd region 0 scp0 scp1 = 3 01 2 0 04593-0-038 figure 37. sweep mode timing example with svrep_mode = 1 and svrep0 = 28 hd x v1?xv4 scp3 scp4 = 3 01 2 0 04593-0-039 ccd region 3 figure 38. sweep mode timing example with svrep_mode = 2 and svrep3 = 28 AD9929 rev. a | page 40 of 64 special vertical timing (spats) the AD9929 provides additional special vertical timing gen- eration (spats), which is applied in the same line as the vsg pulse. the spat timing allows for an additional vertical output pulse in the vsg line. the additional vertical output pulse can be applied to either xv1, xv2, xv3 or xv4, according to the value of the spatlogic register. table 26 lists the registers used to generate the spats, and table 27 describes the spatlogic settings and operation. figure 39 and figure 40 show and and or spat pulse examples using four spat toggle positions. as shown in these figures, the internal spat timing for the and case initially starts high and then goes low at the first xvxspat_tog1 position. in the or case, the internal spat timing initially starts low and then toggles high at the first xvxspat_tog1 position. this provides the ability to output the second vertical pulse when the internal xvx pulse is in both high and low states. note that although figure 39 and figure 40 show four spat toggle positions, two spat toggle positions can be applied by setting xvxspat_tog3 = xvxspat_tog4 = 0x1fff. table 26. hd and vd registers register name bit width register type reference counter range (pixels) description spat_en 1 control (address 0x01) C spat enable control (0 = spat disabled, 1 = spat enabled) spatlogic 4 control (address 0x0a) C spat logic setting xv1spat_tog1 13 control (address 0x17) st 0C8192 xv1spat toggle position #1 (mode_a active) xv1spat_tog2 13 control (address 0x18) st 0C8192 xv1spat toggle position #2 (mode_a active) xv1spat_tog3 13 mode_a_reg(5) st 0C8192 xv1spat toggle position #3 (mode_a active) xv1spat_tog4 13 mode_a_reg(5) st 0C8192 xv1spat toggle position #4 (mode_a active) xv2spat_tog1 13 control (address 0x19) st 0C8192 xv2spat toggle position #1 (mode_a active) xv2spat_tog2 13 control (address 0x1a) st 0C8192 xv2spat toggle position #2 (mode_a active) xv2spat_tog3 13 mode_a_reg(5) st 0C8192 xv2spat toggle position #3 (mode_a active) xv2spat_tog4 13 mode_a_reg(5) st 0C8192 xv2spat toggle position #4 (mode_a active) xv3spat_tog1 13 control (address 0x1b) st 0C8192 xv3spat toggle position #1 (mode_a active) xv3spat_tog2 13 control (address 0x1c) st 0C8192 xv3spat toggle position #2 (mode_a active) xv3spat_tog3 13 mode_a_reg(5) st 0C8192 xv3spat toggle position #3 (mode_a active) xv3spat_tog4 13 mode_a_reg(5) st 0C8192 xv3spat toggle position #4 (mode_a active) xv4spat_tog1 13 control (address 0x1d) st 0C8192 xv4spat toggle position #1 (mode_a active) xv4spat_tog2 13 control (address 0x1e) st 0C8192 xv4spat toggle position #2 (mode_a active) xv4spat_tog3 13 mode_a_reg(5) st 0C8192 xv4spat toggle position #3 (mode_a active) xv4spat_tog4 13 mode_a_reg(5) st 0C8192 xv4spat toggle position #4 (mode_a active) xv1spat_tog1 13 control (address 0x1f) st 0C8192 xv1spat toggle position #1 (mode_b active) xv1spat_tog2 13 control (address 0x20) st 0C8192 xv1spat toggle position #2 (mode_b active) xv1spat_tog3 13 mode_b_reg(5) st 0C8192 xv1spat toggle position #3 (mode_b active) xv1spat_tog4 13 mode_b_reg(5) st 0C8192 xv1spat toggle position #4 (mode_b active) AD9929 rev. a | page 41 of 64 register name bit width register type reference counter range (pixels) description xv2spat_tog1 13 control (address 0x21) st 0C8192 xv2spat toggle position #1 (mode_b active) xv2spat_tog2 13 control (address 0x22) st 0C8192 xv2spat toggle position #2 (mode_b active) xv2spat_tog3 13 mode_b_reg(5) st 0C8192 xv2spat toggle position #3 (mode_b active) xv2spat_tog4 13 mode_b_reg(5) st 0C8192 xv2spat toggle position #4 (mode_b active) xv3spat_tog1 13 control (address 0x23) st 0C8192 xv3spat toggle position #1 (mode_b active) xv3spat_tog2 13 control (address 0x24) st 0C8192 xv3spat toggle position #2 (mode_b active) xv3spat_tog3 13 mode_b_reg(5) st 0C8192 xv3spat toggle position #3 (mode_b active) xv3spat_tog4 13 mode_b_reg(5) st 0C8192 xv3spat toggle position #4 (mode_b active) xv4spat_tog1 13 control (address 0x25) st 0C8192 xv4spat toggle position #1 (mode_b active) xv4spat_tog2 13 control (address 0x26) st 0C8192 xv4spat toggle position #2 (mode_b active) xv4spat_tog3 13 mode_b_reg(5) st 0C8192 xv4spat toggle position #3 (mode_b active) xv4spat_tog4 13 mode_b_reg(5) st 0C8192 xv4spat toggle position #4 (mode_b active) table 27. spatlocic register (address 0x0a) spatlogic[3:0] spat description 3 2 1 0 xv4 xv3 xv2 xv1 0 = or, 1 = and AD9929 rev. a | page 42 of 64 vd hd notes 1. the xvxspat_tog1 and xvxspat_tog2 registers reference the 13-bit st counter. 2. the internal spat timing is applied in the same line as the xvsgx pulse. programmable clock positions 1. xvxspat_tog1 (programmable at control regs) 2. xvxspat_tog2 (programmable at control regs) 3. xvxspat_tog3 (programmable at mode_regs) 4. xvxspat_tog4 (programmable at mode_regs) xvsgx 13-bit st counter (fixed) internal spat timing for xv2 with spatlogic = 1 12 xv2 output with spat applied internal xv2 without spat applied 34 500 540 600 640 vsg line 04593-0-040 figure 39. spat example for xv2 with xv2spat_tog1 = 500, xv2spat_tog2 = 540, xv2spat_tog3 = 600, xv2spat_tog4 = 640, and spatlo gic = xx1x vd hd notes 1. the xvxspat_tog1 and xvxspat_tog2 registers reference the 13-bit st counter. 2. the internal spat timing is applied in the same line as the xvsgx pulse. xvsgx 13-bit st counter (fixed) internal xv1 without spat applied internal spat timing for xv1 with spatlogic = 0 12 xv1 output with spat applied vsg line 34 500 540 600 640 programmable clock positions 1. xvxspat_tog1 (programmable at control regs) 2. xvxspat_tog2 (programmable at control regs) 3. xvxspat_tog3 (programmable at mode_regs) 4. xvxspat_tog4 (programmable at mode_regs) 04593-0-041 figure 40. spat (or) example for xv1 with xv1spat_tog1 = 500, xv1spat_tog2 = 540, xv1spat_tog3 = 600, xv1spat_tog4 = 640, and s patlogic = xxx0 AD9929 rev. a | page 43 of 64 v1 to v4 and subck output polarities as shown in figure 41, the xv1 to xv4 and xsubck are output signals from the AD9929 timing generator, whereas the v1 to v1 and subck are output signals from the AD9929 vertical driver. the v1 to v4 and subck polarities are not the same as the internal xv1 to xv4 and xsubck polarities configured by the AD9929 registers. table 28 through table 32 describe the output polarities for these signals versus their input levels. these tables must be referred to when determining the register settings for the desired output levels. figure 46 shows an example of the v3 output. table 28. v1 output polarity v-driver input v1 output xv1 xvsg1 l l vh1 l h vm1 h l vl h h vl table 29. v2 output polarity v-driver input v2 output xv2 l vm2 h vl table 30. subck output polarity v-driver input subck output xsubck l vh2 h vl timing generator xv1 xv2 xv3 xv4 xvsg1 xsubck v1 v2 v3 v4 subck xvsg2 v-driver logic v-driver buffers v-driver 04593-0-042 figure 41. internal xv1 to xv4 and xsubck signals table 31. v3 output polarity v-driver input v3 output xv3 xvsg2 l l vh1 l h vm1 h l vl h h vl table 32. v4 output polarity v-driver input v4 output xv4 l vm2 h vl v1 v3 xvsg1 x vsg3 vh1 vm1 t pmh t r2 t phm t f1 50% 50% 10% 90% 10% 90% 50% 50% xv1 xv3 t plm1 t r1 10% 90% t pml1 t f2 10% 90% vl 04593-0-043 figure 42. v1 and v3 transmission delays and rise times AD9929 rev. a | page 44 of 64 x v2 x v4 v2 v4 vl 04593-0-044 vm2 t pml2 t f3 50% 10% 90% t plm2 t r3 50% 10% 90% figure 43. v2 and v4 transmission delays and rise times subck xsubck vh2 vl t plh t r4 t phl t f4 50% 50% 10% 90% 10% 90% 04593-0-045 figure 44. subck transmission delays and rise times xv1 v1 xvsg1 vh1 vm1 vl 04593-0-046 figure 45. example showing v1 output versus xv1 and xvsg1 signals xv3 v 3 xvsg2 vh1 vm1 vl 04593-0-047 figure 46. example showing v3 output versus xv3 and xvsg2 signals AD9929 rev. a | page 45 of 64 xv2 xv4 04593-0-048 v 2 v 4 vm2 vl figure 47. example showing v2 and v4 outputs versus xv2 and xv4 signals xsubck subck vh2 vl 04593-0-049 figure 48. example showing subck output versus xsubck signal AD9929 rev. a | page 46 of 64 timing control electronic shutter timing control ccd image exposure time is controlled through the use of the ccd substrate clock signal (xsubck), which pulses the ccd substrate to clear out accumulated charges prior to the exposure period. the AD9929 supports three types of electronic shut- tering: normal shutter mode, suppression shutter mode, and high speed shutter mode. table 34 contains the registers required for programming of xsubck pulses for each mode. normal shutter mode figure 49 shows the vd and xsubck output for normal shutter mode. the xsubck pulses once per line. the number of xsubck pulses per field can be programmed by setting register xsubcknum (address 0x0b). as shown in figure 49, the xsubck pulses always begin on the line after the sensor gate, as specified by xvsgactline (mode_reg(1)). subck suppression mode normally, the xsubcks begin to pulse on the line following the last sensor gate line (vsg). with some ccds, the first xsubck following the vsg line needs to be suppressed. the xsubcksuppress register allows for this suppression. the first xsubck following the last vsg pulse is suppressed when xsubcksuppress = 1, as shown in figure 50. high precision shutter mode the high speed shutter mode can be operated in two different modes, known as single pulse mode and multiple pulse mode. these modes are set up by programming the xsubcknum_hp register and xsubckmode_hp register, as described in table 28, table 33, and shown in figure 52 and figure 54. single pulse mode in addition to the normal operating xsubck pulse, one addi- tional xsubck pulse can be applied within the hd line while operating in this mode. as shown in figure 49, the location of the additional xsubck pulse is adjustable by setting the xsubck_hpnum register as described in table 33. finer resolution of the exposure time is possible using this mode by adding an additional xsubck pulse in the line, as shown in figure 54. multiple pulse mode in addition to the normal operating xsubck pulse, up to seven sequential xsubck pulses can be applied within the same line while operating in this mode. as shown in figure 54, the num- ber of additional xsubck pulses is selectable by setting xsubckmode_hp = 1, and the xsubck_hpnum registers as described in table 33. table 33. single and multiple pulse mode xsubcknum_hp xsubckmode_hp 0 1 single pulse mode multiple pulse mode 0 normal shutter mode operation normal shutter mode operation 1 position #1 1 additional pulse 2 position #2 2 additional pulses 3 position #3 3 additional pulses 4 position #4 4 additional pulses 5 position #5 5 additional pulses 6 position #6 6 additional pulses 7 position #7 7 additional pulses table 34. xsubck registers register name bit width register type reference counter range description xsubcknum 11 control (address 0x0b) C 0C2047 number of pulses number of xsubck pulses per field. xsubcksuppress 1 control (address 0x01) C 0C1 number of pulses suppress first xsubck after last xvsg line pulse xsubck_en 1 control (address 0x0b) C C xsubck output enable control (0 = disable, 1 = enable) xsubckmode_hp 1 control (address 0x01) C C high speed shutter mode operation xsubcknum_hp 3 control (address 0x0b) C 0C7 number of pulses high speed shutter xsubclk position/number xsubck1tog1 9 system_reg(14) ol counter 0C511 pixel location xsubclk1 1st toggle position xsubck1tog2 9 system_reg(14) ol counter 0C511 pixel location xsubclk1 2nd toggle position xsubck2tog1 9 system_reg(15) ol counter 0C511 pixel location xsubclk2 1st toggle position xsubck2tog2 9 system_reg(15) ol counter 0C511 pixel location xsubclk2 2nd toggle position xsubcksel 1 mode_reg(2) C C (0 = xsubck1, 1 = xsubck2) AD9929 rev. a | page 47 of 64 vd x subck subck programmable settings 1. xsubck starting polarity is always high. 2. falling edge of xsubck is set using the xsubck1tog1 or xsubck2tog1 registers. 3. rising edge of xsubck is set using the xsubck1tog2 or xsubck2tog2 registers. number of xsubck pulses within the field is set by using the xsubcknum register. in this example, xsubcknum = 2. t exp xvsg1- xvsg2 hd t exp 23 1 04593-0-050 figure 49. normal shutter mode vd x subck xsubck programmable settings 1. setting xsubcksuppress register = 1 supresses this first xsubck following xvsg pulse. t exp xvsg1- xvsg2 hd t exp 04593-0-051 1 figure 50. xsubck suppression mode hd xsubck normal shutter mode pulse always output 13 24567 9-bit 0l-counter olen 04593-0-052 figure 51. electronic shutter timing hd xsubck 1 9-bit ol-counter 04593-0-053 figure 52. electronic shutter timing example with xsubckmode_hp = 0 and xsubcknum_hp = 1 AD9929 rev. a | page 48 of 64 vsg timing the vsg timing is controlled using the registers in table 35. two unique preprogrammed vsg pulses can be configured using the xvsgtog_x (x = 0, 1) registers. as shown in figure 55, the period of the vsg pulse is set by programming the xvsglen_x registers. the xvsgselx (x = 1, 2) can then be used to select the xvsgtog_0 or xvsgtog_1 pulse. figure 55 also shows an example of the xvsg pulse being output in the fourth line by setting the xvsgactline = 3. the xvsg pulses references the 13-bit fixed st counter, which starts counting from the line set in the xvsgactline register. the 13-bit counter allows for overlapping of the xvsg pulse into the next line if needed. figure 53 describes the xvsg1 and xvsg2 mux operation using the xvsgselx registers. xvsgtog_0 xvsgtog_1 xvsgsel1 xvsg1 xvsgtog_0 xvsgtog_1 xvsgsel2 xvsg2 (applied to xv1) (applied to xv3) 04593-0-055 figure 53. xvsgselx registers hd xsubck 123 9-bit ol-counter 04593-0-054 figure 54. electronic shutter timing example with xsubckmode_hp = 1 and xsubcknum_hp = 3. table 35. vsg registers register name bit width register type reference counter range description xvsgmask 6 control (address 0x0a) C C vsg mask control (00 = xvsg1 masked, xvsg2 masked) (02 = xvsg1 not masked, xvsg2 masked) (08 = xvsg1 masked, xvsg2 not masked) (0a= xvsg1 not masked, xvsg2 not masked) xvsg_en 1 control (address 0x0b) C high/low xvsg output enable control (0 = disable xvsg outputs, 1 = enable xvsg outputs) xvsgtog_0 11 sys_reg(13) st 0C 8191 pixels xvsgtog_0 toggle position xvsgtog_1 11 sys_reg(13) st 0C8191 pixels xvsg tog_1 toggle position xvsglen_0 8 sys_reg(14) st 0C255 pixels xvsgtog_0 pulse width xvsglen_1 8 control (address 0x0f) st 0C255 pixels xvsgtog_1 pulse width xvsgsel1 1 mode_reg(1) C high/low xvsg1 selector (0 = xvsgtog_0 applied on xvsg1, 1 = xvsgtog_1 applied on xvsg1) xvsgsel2 1 mode_reg(1) C high/low xvsg2 selector (0 = xvsgtog_0 applied on xvsg2, 1 = xvsgtog_1 applied on xvsg2 ) xvsgactline 7 mode_reg(1) 0C128 lines vsg active line AD9929 rev. a | page 49 of 64 vd xvsglen_0 xvsgactline hd notes 1. xvsgtog_x (x = 0, 1) references the 13-bit st counter 2. xvsgactline (programmable at mode_reg(1)) 3. xvsglen (programmable at sys_reg(14)) programmable clock positions 1. xvsgtog_0 (programmable at sys_reg(13)) 2. xvsgtog_1 (programmable at sys_reg(13)) 1 13-bit st counter (fixed) 0123 xvsgtog_0 xvsglen_1 04593-0-056 2 xvsgtog_1 figure 55. example of vsg pulse vd hd vsub 1 2 3 4 5 6 serial writes 2 lines 3 lines 04593-0-058 figure 56. vsub timing example vsub timing the ccd readout bias (vsub) can be programmed to accom- modate different ccds. vsub on and off toggle positions and polarity are controlled using vsubtog (address 0x0d) and vsubpol (address 0x0d) registers, respectively, as described in table 36. since the vsubtog is an 11-bit register, the vsub on position is programmable within any line. figure 56 shows an example of controlling vsub using these registers. table 36. vsub registers register name bit width register type range (lines) description vsubpol 1 control C vsubtog 11 control 0C2048 (0 = low, 1 = high) vsub toggle position vsub placement and polarity figure 56 shows the sequence of events for programming the vsub on and off toggle positions and polarity. 1. program vsubtog = 2 and vsubpol = 1. 2. since the vsubtog and vsubpol are vd synchronous type registers, the falling edge of vd updates the serial writes from step 1. 3. vsub is asserted high after two hd cycles. 4. program vsubtog = 3 and vsubpol = 0. 5. since the vsubtog and vsubpol are vd synchronous type registers, the falling edge of vd updates the serial writes from step 4. 6. vsub is asserted low after three hd cycles. AD9929 rev. a | page 50 of 64 mshut timing mshut basic operation the AD9929 provides an mshut output pulse that can be con- figured to control the mechanical shutter of the camera. the registers used to control the mshut pulse are listed in table 37. the mshut pulse can be placed at the start of any line by using the 11-bit mshutpos register. the mshut pulse width is controlled by using the mshutlen register. the AD9929 offers four preprogrammed mshut patterns that are selectable using the mshutpat register. the preprogrammed length is the same for all patterns set by the mshutlen register, but the active on period of the mshut pulse is different for each pattern, as shown in figure 57. figure 58 shows an example of selecting mshutpat0 positioned to start 3 lines after the falling edge of vd, with mshutlen = 5. table 37. mshut and strobe registers register name bit width register type description mshutpat 2 control (address 0x01) selects mshut pattern. (0 = mshutpat0, 1 = mshutpat1, 2 = mshutpat2, 3 = mshutpat3) mshutinit 1 control (address 0x0c) mshut initialize (1 = mshut output held low, 0 = normal operation resumes) mshuten 1 control (address 0x0c) mshut control (0 = mshut held at last state, 1 = mshut output enabled for normal operation) mshutpos 11 control (address 0x0c) ms hut position during normal operation mshutpos_hp 3 control (address 0x0c) mshut position during high precision operation mshutlen 8 sys_reg(13) mshut pattern length. strobe_en 1 control (address 0x0b) strobe output enable control (0 = strobe output held low, 1 = enable strobe output) hd mshutpat0 mshutpat1 mshutpat2 mshutpat3 mshutlen + 1 04593-0-059 figure 57. mshut patterns availabl e by setting mshutpat register vd xsubck t exp xvsg1- xvsg2 hd mshutpos = 3 mshutpat = 0, mshutlen = 5 mshut 12312345 04593-0-060 figure 58. example of mshut timing with mshuten = 1 and mshutpos_hp = 0 AD9929 rev. a | page 51 of 64 mshut high precision operation the mshutpos_hp register allows fine precision control of the mshut position within a line. under normal mshut operation when mshutpos_hp = 0, the mshut polarity changes from high to low on the negative edge of the hd pulse, as shown in figure 53. by using the mshutpos_hp register, the rising and falling edges of mshut can be delayed by multiples of the ol counter length that has been set in the olen register. for example, if mshutpos_hp = 3, the mshut rising and falling edges are delayed by three ol counter cycles after the falling edge of hd, as shown in figure 56. figure 56 provides an example of high precision mshut and subck timing. in this example, the length of the ol counter is shorter. this provides finer precision control of the placement of the mshut pulse within a line. vd xsubck t exp xvsg1- xvsg2 hd mshutpos = 3 mshutpat = 0, mshutlen = 5 mshut ol counter ol counter ol counter ol counter 12 3 1 2 3 45 04593-0-061 figure 59. example of mshut high precision timing mshuten = 1 and mshutpos_hp = 3 xsubck t exp xvsg1- xvsg2 mshutpos = 3 mshutpat = 0, mshutlen = 5 mshut1 vd hd delay = 3 ol counter lengths mshut2 notes 1 mshut output in normal operation with mshutpos_hp = 0 2 mshut output in high precision operation with mshutpos_hp = 3 04593-0-062 12 312345 figure 60. example of mshut high precision timing mshuten = 1, mshutpos_hp = 3, with xsubckmode_hp = 1, xsubcknum_hp = 3 AD9929 rev. a | page 52 of 64 strobe timing the AD9929 provides a strobe output pulse that can be used to trigger the camera flash circuit. strobe operation is set by only one register, as described in table 32. the strobe output is held low when strobe_en (address 0x0b) is set to 0 and enabled when set to 1. providing strobe_en = 1, the strobe output pulse is asserted high on the rising edge of the last xsubck pulse in the field, as shown in figure 61. also shown in figure 61, the strobe pulse is asserted low again on the rising edge of vsg. vd x subc k t exp xvsg1- xvsg2 strobe 1 2 set strobe_en (address 0x0b) = 1 notes 1. strobe output asserted high on rising edge of last xsubck pulse 2. strobe output asserted low on negative edge of xvsg pulse 04593-0-063 figure 61. strobe output timing vd notes 1. internal 12-bit h-gray code counter is reset 7 clock cycles after the hd falling edge. hd cli 0123 45678910111213140123 xx xxxx x x x h-gray code counter (pixel counter) 3ns min 4 h-counter reset h-counter reset 04593-0-064 figure 62. external vd/hd and internal 12-bit h-gray code counter synchronization, slave mode AD9929 rev. a | page 53 of 64 digital i/o states for different operating conditions table 38 describes the state of the digital i/os for different operating conditions. table 38. i/o levels i/o ocont_reg 1 = 0 digstby dclk1 active h dclk2 active active vd 2 h h hd 2 h h rg l l h1 h h h2 l l v1 vl vl v2 vl vl v3 vl vl v4 vl vl subck subvdd vl strobe l l mshut l l fd h l 1 outcont_reg is a register setting located at address 0x05. it defaults to 0 at power-up. 2 vd and hd operate in master mode. AD9929 rev. a | page 54 of 64 power supply sequencing the recommended power-up and power-down sequences are shown in figure 64 and figure 65, respectively. as shown, the vm1 and vm2 voltage level should never exceed the vh1 and vh2 voltage level during power-up or power-down. excessive current results if this requirement is not met due to a pn junction diode turning on between the vm1/2 and vh supply pins. figure 63 describes the AD9929 afetg and v-driver supplies associated with vertical driver outputs. timing generator xv1 v-driver logic xv2 xv3 xv4 xvsg1 xsubck v1 (vh1, vm1, vl) v2 (vm2, vl) v3 (vh1, vm1, vl) v4 (vm2, vl) subck (vh2, vl) vdd vh1 vm1 vm2 vl avdd,tcvdd, hvdd,rgvdd, dvdd,drvdd xvsg2 vh2 04593-0-065 figure 63. block diagram of AD9929 showing timing generator and vertical driver recommended power-up supply sequencing when the AD9929 is powered up, the following power supply sequence is recommended. refer to figure 64. 1. turn on: vdd, dvdd, drvdd, hvdd, rgvdd, tcvdd, and avdd. 2. turn on: vh1 vh2, vm1,vm2, and vl. caution : there is a pn junction diode from vm1 and vm2 to vh. excessive current occurs if the vm1 and vm2 supply level is greater than vh1 and vh2 supplies. recommended power-down supply sequencing when the AD9929 is powered down, the following power supply sequence is recommended. refer to figure 65. 1. turn off: vh1, vh2, vm1, vm2, and vl. 2. turn off: vdd, dvdd, drvdd, hvdd, rgvdd, tcvdd, and avdd. 0v 12 vh1 = vh2 = 15.0v vdd = dvdd = drvdd = hvdd = rgvdd = tcvdd = avdd = 3v vm1 = vm2 = ?0.5v vl = ?7.5v same time as vm and vh or earlier, but not before vdd reaches 3v. 04593-0-066 figure 64. power-up supply sequencing 0v 2 1 vh1 = vh2 = 15.0v vdd = dvdd = drvdd = hvdd = rgvdd = tcvdd = avdd = 3v vm1 = vm2 = ?0.5v vl = ?7.5v same time as vm and vh or earlier, but not after vdd. 04593-0-067 figure 65. power-down supply sequencing AD9929 rev. a | page 55 of 64 initial start-up sequence recommended start-up sequence for master mode when the AD9929 is powered up, the following sequence is recommended (refer to figure 66 for each step). 1. turn on power supplies as described in the power supply sequencing section. 2. apply the cli master clock input. cli is output on dclk2 pin 16 at this time. 3. reset the internal AD9929 registers. write a 0x000000 to the sw_reset register (address 0x00). this sets all internal register values to their default values. (this step is optional because there is an internal power-on reset circuit that is applied at power-up.) 4. program digstby and afestby registers (address 0x05) = 1 and all other necessary control registers. 5. program system registers (address 0x20). 6. program mode_a registers (address 0x21). 7. program mode_b registers (address 0x22). 8. program outcont_reg register (address 0x05) = 1. (the internal outcont signal is asserted high at this time. this enables the digital outputs.) 9. program control register mode (address 0x0a) = 0. this selects mode_a operation. (this step is optional because the AD9929 defaults to mode_a at power-up.) 10. program control register mode (address 0x0a) = 1. this selects mode_b operation. note: complete this write at least 4 cli cycles before the start of the next field. AD9929 power-up sequence serial writes vd (output) 1 h odd field even field digital (outputs) h2, rg, mshut, strobe h1, vsub, fd hd (output) 1 v outcont 1 (internal signal) dclk1 (output) 3 57 notes 1 outcont is an internal signal that is controlled using register outcont_reg (address 0x05). 2 dclk2 will be output on the fd/dclk2 pin 16 providing register dclk2sel (address 0xd5) = 1. the dclk2sel register defaults to 1 at power-up. 3 it takes 11 cli clocks from when ocont goes high until vd, hd, and digital output data is valid. 4 there is a 500 s settling time from when the digstby register is set to when the dclk1 is stable. odd field t settling 4 cli (input) dclk2 2 (output) 04593-0-068 t delay 3 t pwr figure 66. recommended start-up sequence and synchronization, master mode AD9929 rev. a | page 56 of 64 standby mode operation recommended standby mode sequence when the AD9929 is going into standby operation, the follow- ing sequence is recommended (refer to figure 67 for each step). 1. program outcont_reg (address 0x05) = 0. this asserts the internal outcont signal low, causing all digital outputs to become disabled. 2. program registers afestby (address 0x05) = 0 and digstby (address 0x05) = 0. the AD9929 is now in standby operation. 3. when ready to come out of standby operation, program register digstby (address 0x05) = 1 and register afestby (address 0x05) = 1. 4. program necessary control registers. 5. program control register mode (address 0x0a) = 0. this selects mode_a operation. 6. program register outcont_reg (address 0x05) = 1. this asserts the internal outcont signal high, causing all digital outputs to become active. serial writes vd (output) digital outputs h2, rg, mshut, strobe, fd h1, vsub cli (input) hd (output) outcont (internal signal) afestby (register) digstby (register) dclk1 and dclk2 1 3 1 notes 1 dclk2 will be output on the fd/dclk2 pin 16 providing register dclk2sel (address 0xd5) = 1. 2 it takes 11 cli clocks from when ocont goes high until vd, hd, and digital output data is valid. 5 6 2 AD9929 supplies 04593-0-069 t delay 2 figure 67. recommended standby sequence AD9929 rev. a | page 57 of 64 shut-down mode operation recommended power-down sequence when the AD9929 is going to be powered down, the following sequence is recommended (refer to figure 68 for each step). 1. program outcont_reg (address 0x05) = 0. 2. program registers afestby (address 0x05) = 0 and digstby (address 0x05) = 0. 3. remove power from AD9929. vdd (input) serial writes vd (output) digital outputs h2, rg, mshut, strobe h1, vsub cli (input) hd (output) outcont (internal) odd field even field odd field afestby (register) digstby (register) 4 dclk1 note 1 dclk2 will be output on the fd/dclk2 pin 16 providing register dclk2sel (address 0xd5) = 1. dclk2 1 04593-0-070 figure 68. recommended shut-down sequence AD9929 rev. a | page 58 of 64 applications where the cli clock fr equency changes during operation the AD9929 must be reset, as described in figure 69, if the cli clock frequency is changed during operation. the dclk1 output can become unstable if this reset sequence is not applied after any changes in the cli clock frequency. 3 12 t delay * vd (output) outputs cl outcont (internal signal) dig_stby (register) serial writes dclk1i t 1 hd, vd, h1, (subck = vh2) 04593-0-071 fast fast slow hd (output) 4 (v1, v2, v3, v4 = vl), h2, strobe, mshut region b region a region c serial programming steps must be followed when the cli clock frequency changes 1. outcont_reg = 0 2. dig_stby = 0 3. dig_stby = 1 4. outcont_reg = 1 notes about regions a, b, and c 1 digital outputs may become invalid in region a 2 digital outputs are output as shown in region b 3 dclk1 output may become invalid in region c 4 applications should not use output signals in region c t 1 = minimum of 2 cli clock cycles *it takes 4 cli clock cycles from when outcont goes high until vd, hd and digital output data is valid. figure 69. reset sequence that must be applied when changing the cli clock frequency during operation AD9929 rev. a | page 59 of 64 n n + 1 n + 2 n + 4 n + 5 n ? 10 n ? 9 n ? 8 n ? 7 n ? 6 n ? 5 n ? 4 n ? 3 n ? 2 n ? 1 notes 1. recommended placement for cli rising edge is between the shd rising edge and next shp falling edge. 2. ccd signal is sampled at shp and shd rising edges. 3. output data latency is nine cycles. shp shd cli o utput data ccd signal n + 7 n + 8 n + 10 n n + 3 n + 6 n + 9 cycle 1 cycle 2 cycle 3 cycle 4 cycle 5 cycle 6 cycle 7 cycle 8 cycle 9 t s1 ( t od + t vclidly ) t id t id n + 11 04593-0-075 figure 70. output data pipeline delay AD9929 rev. a | page 60 of 64 circuit layout information the AD9929 typical circuit connection is shown in figure 71. the pcb layout is critical in achieving good image quality from the AD9929 product. all of the supply pins must be decoupled to ground with good quality, high frequency chip capacitors. the 0.1 f decoupling capacitors should be located as close as possible to the supply pins, and should have a very low induc- tance path to a continuous ground plane. there should also be a 4.7 f or larger capacitor for each main supply, although it is not necessary for each individual pin. in most applications it is easier and recommended to share the same supply for avdd, dvdd, tcvdd, rgvdd, and hvdd, as long as the individual supply pins are separately bypassed at each supply pin. a separate 3 v supply should be used for drvdd with this supply pin decoupled to the same ground plane as the rest of the chip. a separate ground for drvss is not recommended. the vertical driver vm supply pins can be connected to indi- vidual supplies or to the same supply, depending on the appli- cation requirement for the mid-level voltage on the vertical outputs. these pins may also be directly connected to the common ground plane, as shown in figure 71. the analog bypass pins, refb, reft, should also be carefully decoupled to ground as close as possible to their respective pins. the analog input, ccdin, capacitor should also be located close to the pin. the h1, h2, and rg printed circuit board traces should be designed to have low inductance to avoid excessive distortion of the signals. heavier traces are recommended because of the large transient current demand by the ccd on h1 and h2. if possible, physically locate the AD9929 close to the ccd to reduce the inductance on these lines. as always, the routing path should be as direct as possible from the AD9929 to the ccd. careful trace impedance considerations must also be made with applications using a flex printed circuit (fpc) con- necting the ccd to the AD9929. fpc trace impedances can be controlled by applying a solid uniform ground plane under the h1, h2, and rg traces. this helps minimize the amount of overshoot and ringing on these signals at the ccd inputs. AD9929 rev. a | page 61 of 64 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 data outputs d10 d11 3v driver supply drvdd drvss 0.1 f dclk1 dclk1 pin 1 identifier outcont 3v analog supply 10k ? outcont 3v analog supply 4.7 f ccd signal refb reft sck sdata sl 3 serial interface hvdd hvss mshut strobe fd/dclk2 v2 v3 v4 subck v1 fd/dclk2 hd vd h2 h1 rg rgvss vh supply to mechanical shutter circuit to strobe circuit hd to asic/dsp vd to asic/dsp hvss hvss 3 h1, h2 and rg to ccd 3v analog supply rgvdd cli m a ster clock input b1 c2 c1 d1 d2 e1 e2 f2 g2 f1 g1 h1 h2 j1 j2 k1 tcvss tcvdd avdd avss avss avss avss ccdin vdvss a10 b10 b9 c9 c10 d9 d10 e9 e10 f9 f10 g9 g10 h9 h10 j10 5 v1-v4, subck to ccd vh1 vm2 vl vh2 vl supply 0.1 f vm1 sync/vgate sync/vgate 3v analog supply 0.1 f dvss vdd dvdd 0.1 f vsub vsub to ccd 12 4.7 f b8 a8 a7 b7 a6 b6 b5 a5 b4 a4 b3 a3 b2 a2 a1 a9 k2 k3 j3 k4 j4 j5 k5 j6 k6 j7 j8 k7 k8 j9 k9 k10 top view (not to scale) AD9929 0.1 f 0.1 f 0.1 f 0.1 f 4.7 f 4.7 f 04593-0-072 avss avss avss avss 0.1 f 0.1 f 1.0 f 1.0 f figure 71. AD9929 typical circuit configuration AD9929 rev. a | page 62 of 64 outline dimensions a b c d e f g h j k bottom view top view 1.40 max seating plane detail a ball diameter 0.25 min 10 9 8 7 65 43 21 9.00 bsc sq 7.20 bsc 0.90 ref sq 0.55 0.50 0.45 0.12 max coplanarity 0.80 bsc ball a1 indicator detail a a1 corner index area 1.00 0.85 compliant to jedec standards mo-205-ab figure 72. 64-lead chip scale ball grid array [cspbga] (bc-64) dimensions shown in millimeters ordering guide model temperature range package description package option AD9929bbcz 1 ?25c to +85c 64-lead plastic ball grid array bc-64 1 z = pb-free part. AD9929 rev. a | page 63 of 64 notes AD9929 rev. a | page 64 of 64 notes ? 2004 analog devices, inc. all rights reserved. trademarks and registered trademarks are the prop erty of their respective owners. d04593-0-1/04(a) |
Price & Availability of AD9929 |
|
|
All Rights Reserved © IC-ON-LINE 2003 - 2022 |
[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy] |
Mirror Sites : [www.datasheet.hk]
[www.maxim4u.com] [www.ic-on-line.cn]
[www.ic-on-line.com] [www.ic-on-line.net]
[www.alldatasheet.com.cn]
[www.gdcy.com]
[www.gdcy.net] |