source: PlatformSupport/CustomPeripherals/pcores/w3_ad_controller_v3_00_b/doc/html/api/group__user__functions.html

Last change on this file was 1793, checked in by murphpo, 12 years ago
  • Property svn:mime-type set to text/html
File size: 26.0 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<title>w3_ad_controller Driver: Functions</title>
7<link href="tabs.css" rel="stylesheet" type="text/css"/>
8<script type="text/javascript" src="jquery.js"></script>
9<script type="text/javascript" src="dynsections.js"></script>
10<link href="navtree.css" rel="stylesheet" type="text/css"/>
11<script type="text/javascript" src="resize.js"></script>
12<script type="text/javascript" src="navtree.js"></script>
13<script type="text/javascript">
14  $(document).ready(initResizable);
15</script>
16<link href="warp_docs.css" rel="stylesheet" type="text/css" />
17</head>
18<body>
19<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
20<div id="titlearea">
21<table cellspacing="0" cellpadding="0">
22 <tbody>
23 <tr style="height: 56px;">
24  <td style="padding-left: 0.5em;">
25   <div id="projectname">w3_ad_controller Driver
26   </div>
27   <div id="projectbrief">Driver for WARP v3 AD9963 controller core (w3_ad_controller_v3_00_b)</div>
28  </td>
29 </tr>
30 </tbody>
31</table>
32</div>
33<!-- end header part -->
34<!-- Generated by Doxygen 1.8.2 -->
35  <div id="navrow1" class="tabs">
36    <ul class="tablist">
37      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
38      <li><a href="modules.html"><span>Doc&#160;Sections</span></a></li>
39    </ul>
40  </div>
41</div><!-- top -->
42<div id="side-nav" class="ui-resizable side-nav-resizable">
43  <div id="nav-tree">
44    <div id="nav-tree-contents">
45      <div id="nav-sync" class="sync"></div>
46    </div>
47  </div>
48  <div id="splitbar" style="-moz-user-select:none;" 
49       class="ui-resizable-handle">
50  </div>
51</div>
52<script type="text/javascript">
53$(document).ready(function(){initNavTree('group__user__functions.html','');});
54</script>
55<div id="doc-content">
56<div class="header">
57  <div class="summary">
58<a href="#func-members">Functions</a>  </div>
59  <div class="headertitle">
60<div class="title">Functions</div>  </div>
61</div><!--header-->
62<div class="contents">
63<table class="memberdecls">
64<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
65Functions</h2></td></tr>
66<tr class="memitem:gaf09b205027fe2b4f671914e9e35ca905"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#gaf09b205027fe2b4f671914e9e35ca905">ad_init</a> (u32 baseaddr, u8 clkdiv)</td></tr>
67<tr class="separator:gaf09b205027fe2b4f671914e9e35ca905"><td class="memSeparator" colspan="2">&#160;</td></tr>
68<tr class="memitem:ga52ac3f3cd7dcb8383d639ff4b075163c"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#ga52ac3f3cd7dcb8383d639ff4b075163c">ad_spi_read</a> (u32 baseaddr, u32 csMask, u8 regAddr)</td></tr>
69<tr class="separator:ga52ac3f3cd7dcb8383d639ff4b075163c"><td class="memSeparator" colspan="2">&#160;</td></tr>
70<tr class="memitem:ga9c41e2deee1cd1fbe01a3003975533c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#ga9c41e2deee1cd1fbe01a3003975533c3">ad_spi_write</a> (u32 baseaddr, u32 csMask, u8 regAddr, u8 txByte)</td></tr>
71<tr class="separator:ga9c41e2deee1cd1fbe01a3003975533c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
72<tr class="memitem:ga47d4e102f55175b86411fba886e3051b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#ga47d4e102f55175b86411fba886e3051b">ad_set_TxDCO</a> (u32 baseaddr, u32 csMask, u8 iqSel, u16 dco)</td></tr>
73<tr class="separator:ga47d4e102f55175b86411fba886e3051b"><td class="memSeparator" colspan="2">&#160;</td></tr>
74<tr class="memitem:gadc4e748950ad07677e94703e1401b355"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#gadc4e748950ad07677e94703e1401b355">ad_set_TxGain1</a> (u32 baseaddr, u32 csMask, u8 iqSel, u8 gain)</td></tr>
75<tr class="separator:gadc4e748950ad07677e94703e1401b355"><td class="memSeparator" colspan="2">&#160;</td></tr>
76<tr class="memitem:gacf193dc2e7cc8c6ff1516dc87f832af9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#gacf193dc2e7cc8c6ff1516dc87f832af9">ad_set_TxGain2</a> (u32 baseaddr, u32 csMask, u8 iqSel, u8 gain)</td></tr>
77<tr class="separator:gacf193dc2e7cc8c6ff1516dc87f832af9"><td class="memSeparator" colspan="2">&#160;</td></tr>
78<tr class="memitem:ga8a97fcaffab19007f41f2f7854c257ec"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#ga8a97fcaffab19007f41f2f7854c257ec">ad_config_filters</a> (u32 baseaddr, u32 csMask, u8 interpRate, u8 decimationRate)</td></tr>
79<tr class="separator:ga8a97fcaffab19007f41f2f7854c257ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
80<tr class="memitem:ga2f513d06ee0ab69091478e66cc0f8aac"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#ga2f513d06ee0ab69091478e66cc0f8aac">ad_config_clocks</a> (u32 baseaddr, u32 csMask, u8 DAC_clkSrc, u8 ADC_clkSrc, u8 ADC_clkDiv, u8 ADC_DCS)</td></tr>
81<tr class="separator:ga2f513d06ee0ab69091478e66cc0f8aac"><td class="memSeparator" colspan="2">&#160;</td></tr>
82<tr class="memitem:gae2da5e83993f197ceb0d2df3e1322329"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#gae2da5e83993f197ceb0d2df3e1322329">ad_config_DLL</a> (u32 baseaddr, u32 csMask, u8 DLL_En, u8 DLL_M, u8 DLL_N, u8 DLL_DIV)</td></tr>
83<tr class="separator:gae2da5e83993f197ceb0d2df3e1322329"><td class="memSeparator" colspan="2">&#160;</td></tr>
84<tr class="memitem:gac840fe1081af4ede375fc3accd08f130"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#gac840fe1081af4ede375fc3accd08f130">ad_config_power</a> (u32 baseaddr, u32 csMask, u8 pwrState)</td></tr>
85<tr class="separator:gac840fe1081af4ede375fc3accd08f130"><td class="memSeparator" colspan="2">&#160;</td></tr>
86</table>
87<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
88<p>Example: </p>
89<div class="fragment"><div class="line"><span class="comment">//Assumes user code sets AD_BASEADDR to base address of w3_ad_controller core, as set in xparameters.h</span></div>
90<div class="line"></div>
91<div class="line"><span class="comment">//Initialize the AD9963s</span></div>
92<div class="line"><a class="code" href="group__user__functions.html#gaf09b205027fe2b4f671914e9e35ca905" title="Initializes the AD controller. This function must be called once at boot before any AD or RF operatio...">ad_init</a>(AD_CONTROLLER, 3);</div>
93</div><!-- fragment --> <h2 class="groupheader">Function Documentation</h2>
94<a class="anchor" id="gaf09b205027fe2b4f671914e9e35ca905"></a>
95<div class="memitem">
96<div class="memproto">
97      <table class="memname">
98        <tr>
99          <td class="memname">int ad_init </td>
100          <td>(</td>
101          <td class="paramtype">u32&#160;</td>
102          <td class="paramname"><em>baseaddr</em>, </td>
103        </tr>
104        <tr>
105          <td class="paramkey"></td>
106          <td></td>
107          <td class="paramtype">u8&#160;</td>
108          <td class="paramname"><em>clkdiv</em>&#160;</td>
109        </tr>
110        <tr>
111          <td></td>
112          <td>)</td>
113          <td></td><td></td>
114        </tr>
115      </table>
116</div><div class="memdoc">
117
118<p>Initializes the AD controller. This function must be called once at boot before any AD or RF operations will work. </p>
119<dl class="params"><dt>Parameters</dt><dd>
120  <table class="params">
121    <tr><td class="paramname">baseaddr</td><td>Base memory address of w3_ad_controller pcore </td></tr>
122    <tr><td class="paramname">clkdiv</td><td>Clock divider for SPI serial clock (set to 3 for 160MHz bus) </td></tr>
123  </table>
124  </dd>
125</dl>
126
127</div>
128</div>
129<a class="anchor" id="ga52ac3f3cd7dcb8383d639ff4b075163c"></a>
130<div class="memitem">
131<div class="memproto">
132      <table class="memname">
133        <tr>
134          <td class="memname">u32 ad_spi_read </td>
135          <td>(</td>
136          <td class="paramtype">u32&#160;</td>
137          <td class="paramname"><em>baseaddr</em>, </td>
138        </tr>
139        <tr>
140          <td class="paramkey"></td>
141          <td></td>
142          <td class="paramtype">u32&#160;</td>
143          <td class="paramname"><em>csMask</em>, </td>
144        </tr>
145        <tr>
146          <td class="paramkey"></td>
147          <td></td>
148          <td class="paramtype">u8&#160;</td>
149          <td class="paramname"><em>regAddr</em>&#160;</td>
150        </tr>
151        <tr>
152          <td></td>
153          <td>)</td>
154          <td></td><td></td>
155        </tr>
156      </table>
157</div><div class="memdoc">
158
159<p>Reads the specified register from both AD9963s. </p>
160<dl class="params"><dt>Parameters</dt><dd>
161  <table class="params">
162    <tr><td class="paramname">baseaddr</td><td>Base memory address of w3_ad_controller pcore </td></tr>
163    <tr><td class="paramname">csMask</td><td>OR'd combination of RFA_AD_CS and RFB_AD_CS </td></tr>
164    <tr><td class="paramname">regAddr</td><td>Address of register to read, in [0x00, 0x82] </td></tr>
165  </table>
166  </dd>
167</dl>
168<dl class="section return"><dt>Returns</dt><dd>Returns concatenation of current values of the specified register for both AD9963s; RFA is LSB </dd></dl>
169
170</div>
171</div>
172<a class="anchor" id="ga9c41e2deee1cd1fbe01a3003975533c3"></a>
173<div class="memitem">
174<div class="memproto">
175      <table class="memname">
176        <tr>
177          <td class="memname">void ad_spi_write </td>
178          <td>(</td>
179          <td class="paramtype">u32&#160;</td>
180          <td class="paramname"><em>baseaddr</em>, </td>
181        </tr>
182        <tr>
183          <td class="paramkey"></td>
184          <td></td>
185          <td class="paramtype">u32&#160;</td>
186          <td class="paramname"><em>csMask</em>, </td>
187        </tr>
188        <tr>
189          <td class="paramkey"></td>
190          <td></td>
191          <td class="paramtype">u8&#160;</td>
192          <td class="paramname"><em>regAddr</em>, </td>
193        </tr>
194        <tr>
195          <td class="paramkey"></td>
196          <td></td>
197          <td class="paramtype">u8&#160;</td>
198          <td class="paramname"><em>txByte</em>&#160;</td>
199        </tr>
200        <tr>
201          <td></td>
202          <td>)</td>
203          <td></td><td></td>
204        </tr>
205      </table>
206</div><div class="memdoc">
207
208<p>Writes the specified register in selected AD9963s. Multiple AD9963s can be selected for simultaneous writes. </p>
209<dl class="params"><dt>Parameters</dt><dd>
210  <table class="params">
211    <tr><td class="paramname">baseaddr</td><td>Base memory address of w3_ad_controller pcore </td></tr>
212    <tr><td class="paramname">csMask</td><td>OR'd combination of RFA_AD_CS and RFB_AD_CS </td></tr>
213    <tr><td class="paramname">regAddr</td><td>Address of register to write, in [0x00, 0xFF] </td></tr>
214    <tr><td class="paramname">txByte</td><td>Byte value to write </td></tr>
215  </table>
216  </dd>
217</dl>
218
219</div>
220</div>
221<a class="anchor" id="ga47d4e102f55175b86411fba886e3051b"></a>
222<div class="memitem">
223<div class="memproto">
224      <table class="memname">
225        <tr>
226          <td class="memname">int ad_set_TxDCO </td>
227          <td>(</td>
228          <td class="paramtype">u32&#160;</td>
229          <td class="paramname"><em>baseaddr</em>, </td>
230        </tr>
231        <tr>
232          <td class="paramkey"></td>
233          <td></td>
234          <td class="paramtype">u32&#160;</td>
235          <td class="paramname"><em>csMask</em>, </td>
236        </tr>
237        <tr>
238          <td class="paramkey"></td>
239          <td></td>
240          <td class="paramtype">u8&#160;</td>
241          <td class="paramname"><em>iqSel</em>, </td>
242        </tr>
243        <tr>
244          <td class="paramkey"></td>
245          <td></td>
246          <td class="paramtype">u16&#160;</td>
247          <td class="paramname"><em>dco</em>&#160;</td>
248        </tr>
249        <tr>
250          <td></td>
251          <td>)</td>
252          <td></td><td></td>
253        </tr>
254      </table>
255</div><div class="memdoc">
256
257<p>Sets the DC offset for the selected path (I or Q) in the selected AD9963s. </p>
258<dl class="params"><dt>Parameters</dt><dd>
259  <table class="params">
260    <tr><td class="paramname">baseaddr</td><td>Base memory address of w3_ad_controller pcore </td></tr>
261    <tr><td class="paramname">csMask</td><td>OR'd combination of RFA_AD_CS and RFB_AD_CS </td></tr>
262    <tr><td class="paramname">iqSel</td><td>Select I or Q path; must be AD_CHAN_I or AD_CHAN_Q </td></tr>
263    <tr><td class="paramname">dco</td><td>DC offset to apply, in [0,1024] </td></tr>
264  </table>
265  </dd>
266</dl>
267
268</div>
269</div>
270<a class="anchor" id="gadc4e748950ad07677e94703e1401b355"></a>
271<div class="memitem">
272<div class="memproto">
273      <table class="memname">
274        <tr>
275          <td class="memname">int ad_set_TxGain1 </td>
276          <td>(</td>
277          <td class="paramtype">u32&#160;</td>
278          <td class="paramname"><em>baseaddr</em>, </td>
279        </tr>
280        <tr>
281          <td class="paramkey"></td>
282          <td></td>
283          <td class="paramtype">u32&#160;</td>
284          <td class="paramname"><em>csMask</em>, </td>
285        </tr>
286        <tr>
287          <td class="paramkey"></td>
288          <td></td>
289          <td class="paramtype">u8&#160;</td>
290          <td class="paramname"><em>iqSel</em>, </td>
291        </tr>
292        <tr>
293          <td class="paramkey"></td>
294          <td></td>
295          <td class="paramtype">u8&#160;</td>
296          <td class="paramname"><em>gain</em>&#160;</td>
297        </tr>
298        <tr>
299          <td></td>
300          <td>)</td>
301          <td></td><td></td>
302        </tr>
303      </table>
304</div><div class="memdoc">
305
306<p>Sets the GAIN1 value (linear-in-dB adjustment +/- 6dB) for the selected path (I or Q) in the selected AD9963s. Changing this gain value also changes the common mode voltage and DC offset of the selected path. We recommend leaving this gain setting unchanged for optimal performance. </p>
307<dl class="params"><dt>Parameters</dt><dd>
308  <table class="params">
309    <tr><td class="paramname">baseaddr</td><td>Base memory address of w3_ad_controller pcore </td></tr>
310    <tr><td class="paramname">csMask</td><td>OR'd combination of RFA_AD_CS and RFB_AD_CS </td></tr>
311    <tr><td class="paramname">iqSel</td><td>Select I or Q path; must be AD_CHAN_I or AD_CHAN_Q </td></tr>
312    <tr><td class="paramname">gain</td><td>6-bit gain value; [0:25] = [0:+6dB], [41,63] = [-6dB:0dB] </td></tr>
313  </table>
314  </dd>
315</dl>
316
317</div>
318</div>
319<a class="anchor" id="gacf193dc2e7cc8c6ff1516dc87f832af9"></a>
320<div class="memitem">
321<div class="memproto">
322      <table class="memname">
323        <tr>
324          <td class="memname">int ad_set_TxGain2 </td>
325          <td>(</td>
326          <td class="paramtype">u32&#160;</td>
327          <td class="paramname"><em>baseaddr</em>, </td>
328        </tr>
329        <tr>
330          <td class="paramkey"></td>
331          <td></td>
332          <td class="paramtype">u32&#160;</td>
333          <td class="paramname"><em>csMask</em>, </td>
334        </tr>
335        <tr>
336          <td class="paramkey"></td>
337          <td></td>
338          <td class="paramtype">u8&#160;</td>
339          <td class="paramname"><em>iqSel</em>, </td>
340        </tr>
341        <tr>
342          <td class="paramkey"></td>
343          <td></td>
344          <td class="paramtype">u8&#160;</td>
345          <td class="paramname"><em>gain</em>&#160;</td>
346        </tr>
347        <tr>
348          <td></td>
349          <td>)</td>
350          <td></td><td></td>
351        </tr>
352      </table>
353</div><div class="memdoc">
354
355<p>Sets the GAIN2 value (linear adjustment +/- 2.5%) for the selected path (I or Q) in the selected AD9963s Changing this gain value also changes the common mode voltage and DC offset of the selected path. We recommend leaving this gain setting unchanged for optimal performance. </p>
356<dl class="params"><dt>Parameters</dt><dd>
357  <table class="params">
358    <tr><td class="paramname">baseaddr</td><td>Base memory address of w3_ad_controller pcore </td></tr>
359    <tr><td class="paramname">csMask</td><td>OR'd combination of RFA_AD_CS and RFB_AD_CS </td></tr>
360    <tr><td class="paramname">iqSel</td><td>Select I or Q path; must be AD_CHAN_I or AD_CHAN_Q </td></tr>
361    <tr><td class="paramname">gain</td><td>6-bit gain value; [0:25] = [0:+2.5%], [41,63] = [-2.5%:0] </td></tr>
362  </table>
363  </dd>
364</dl>
365
366</div>
367</div>
368<a class="anchor" id="ga8a97fcaffab19007f41f2f7854c257ec"></a>
369<div class="memitem">
370<div class="memproto">
371      <table class="memname">
372        <tr>
373          <td class="memname">int ad_config_filters </td>
374          <td>(</td>
375          <td class="paramtype">u32&#160;</td>
376          <td class="paramname"><em>baseaddr</em>, </td>
377        </tr>
378        <tr>
379          <td class="paramkey"></td>
380          <td></td>
381          <td class="paramtype">u32&#160;</td>
382          <td class="paramname"><em>csMask</em>, </td>
383        </tr>
384        <tr>
385          <td class="paramkey"></td>
386          <td></td>
387          <td class="paramtype">u8&#160;</td>
388          <td class="paramname"><em>interpRate</em>, </td>
389        </tr>
390        <tr>
391          <td class="paramkey"></td>
392          <td></td>
393          <td class="paramtype">u8&#160;</td>
394          <td class="paramname"><em>decimationRate</em>&#160;</td>
395        </tr>
396        <tr>
397          <td></td>
398          <td>)</td>
399          <td></td><td></td>
400        </tr>
401      </table>
402</div><div class="memdoc">
403
404<p>Configures the digital rate-change filters in the AD9963. Changing filter settings affects the require data rate at the TXD and TRXD ports. You must ensure all related paramters (AD9963 filters, I/Q rate in FPGA, AD9512 dividers) are consistent. </p>
405<dl class="params"><dt>Parameters</dt><dd>
406  <table class="params">
407    <tr><td class="paramname">baseaddr</td><td>Base memory address of w3_ad_controller pcore </td></tr>
408    <tr><td class="paramname">csMask</td><td>OR'd combination of RFA_AD_CS and RFB_AD_CS </td></tr>
409    <tr><td class="paramname">interpRate</td><td>Desired interpolation rate in AD9963; must be one of [1, 2, 4, 8] </td></tr>
410    <tr><td class="paramname">decimationRate</td><td>Desired decimation rate in AD9963; must be one of [1, 2] </td></tr>
411  </table>
412  </dd>
413</dl>
414<dl class="section return"><dt>Returns</dt><dd>Returns 0 on success, -1 for invalid paramters </dd></dl>
415
416</div>
417</div>
418<a class="anchor" id="ga2f513d06ee0ab69091478e66cc0f8aac"></a>
419<div class="memitem">
420<div class="memproto">
421      <table class="memname">
422        <tr>
423          <td class="memname">int ad_config_clocks </td>
424          <td>(</td>
425          <td class="paramtype">u32&#160;</td>
426          <td class="paramname"><em>baseaddr</em>, </td>
427        </tr>
428        <tr>
429          <td class="paramkey"></td>
430          <td></td>
431          <td class="paramtype">u32&#160;</td>
432          <td class="paramname"><em>csMask</em>, </td>
433        </tr>
434        <tr>
435          <td class="paramkey"></td>
436          <td></td>
437          <td class="paramtype">u8&#160;</td>
438          <td class="paramname"><em>DAC_clkSrc</em>, </td>
439        </tr>
440        <tr>
441          <td class="paramkey"></td>
442          <td></td>
443          <td class="paramtype">u8&#160;</td>
444          <td class="paramname"><em>ADC_clkSrc</em>, </td>
445        </tr>
446        <tr>
447          <td class="paramkey"></td>
448          <td></td>
449          <td class="paramtype">u8&#160;</td>
450          <td class="paramname"><em>ADC_clkDiv</em>, </td>
451        </tr>
452        <tr>
453          <td class="paramkey"></td>
454          <td></td>
455          <td class="paramtype">u8&#160;</td>
456          <td class="paramname"><em>ADC_DCS</em>&#160;</td>
457        </tr>
458        <tr>
459          <td></td>
460          <td>)</td>
461          <td></td><td></td>
462        </tr>
463      </table>
464</div><div class="memdoc">
465
466<p>Configures the ADC and DAC clock sources in the AD9963. Refer to the WARP v3 user guide and AD9963 for details on various clocking modes. </p>
467<dl class="params"><dt>Parameters</dt><dd>
468  <table class="params">
469    <tr><td class="paramname">baseaddr</td><td>Base memory address of w3_ad_controller pcore </td></tr>
470    <tr><td class="paramname">csMask</td><td>OR'd combination of RFA_AD_CS and RFB_AD_CS </td></tr>
471    <tr><td class="paramname">DAC_clkSrc</td><td>DAC clock source; must be AD_DACCLKSRC_DLL (use DLL clock) or AD_DACCLKSRC_EXT (use external reference clock) </td></tr>
472    <tr><td class="paramname">ADC_clkSrc</td><td>ADC clock source; must be AD_ADCCLKSRC_DLL (use DLL clock) or AD_ADCCLKSRC_EXT (use external reference clock) </td></tr>
473    <tr><td class="paramname">ADC_clkDiv</td><td>ADC clock divider; must be one of [AD_ADCCLKDIV_1, AD_ADCCLKDIV_2, AD_ADCCLKDIV_4] for divide-by of [1, 2, 4] </td></tr>
474    <tr><td class="paramname">ADC_DCS</td><td>ADC duty cycle stabilizer; must be AD_DCS_ON or AD_DCS_OFF. AD9963 datasheet recommends DCS be enabled only for ADC rates above 75MHz. </td></tr>
475  </table>
476  </dd>
477</dl>
478<dl class="section return"><dt>Returns</dt><dd>Returns 0 on success, -1 for invalid paramters </dd></dl>
479
480</div>
481</div>
482<a class="anchor" id="gae2da5e83993f197ceb0d2df3e1322329"></a>
483<div class="memitem">
484<div class="memproto">
485      <table class="memname">
486        <tr>
487          <td class="memname">int ad_config_DLL </td>
488          <td>(</td>
489          <td class="paramtype">u32&#160;</td>
490          <td class="paramname"><em>baseaddr</em>, </td>
491        </tr>
492        <tr>
493          <td class="paramkey"></td>
494          <td></td>
495          <td class="paramtype">u32&#160;</td>
496          <td class="paramname"><em>csMask</em>, </td>
497        </tr>
498        <tr>
499          <td class="paramkey"></td>
500          <td></td>
501          <td class="paramtype">u8&#160;</td>
502          <td class="paramname"><em>DLL_En</em>, </td>
503        </tr>
504        <tr>
505          <td class="paramkey"></td>
506          <td></td>
507          <td class="paramtype">u8&#160;</td>
508          <td class="paramname"><em>DLL_M</em>, </td>
509        </tr>
510        <tr>
511          <td class="paramkey"></td>
512          <td></td>
513          <td class="paramtype">u8&#160;</td>
514          <td class="paramname"><em>DLL_N</em>, </td>
515        </tr>
516        <tr>
517          <td class="paramkey"></td>
518          <td></td>
519          <td class="paramtype">u8&#160;</td>
520          <td class="paramname"><em>DLL_DIV</em>&#160;</td>
521        </tr>
522        <tr>
523          <td></td>
524          <td>)</td>
525          <td></td><td></td>
526        </tr>
527      </table>
528</div><div class="memdoc">
529
530<p>Configures the AD9963 DLL block. DLL output clock is REFCLK*M/(N*DLL_DIV). REFCLK*M must be in [100,310]MHz. See the AD9963 for more details. </p>
531<dl class="params"><dt>Parameters</dt><dd>
532  <table class="params">
533    <tr><td class="paramname">baseaddr</td><td>Base memory address of w3_ad_controller pcore </td></tr>
534    <tr><td class="paramname">csMask</td><td>OR'd combination of RFA_AD_CS and RFB_AD_CS </td></tr>
535    <tr><td class="paramname">DLL_En</td><td>DLL Enable (1=DLL enabled, 0=DLL disabled). Other arguments are ignored when DLL_En=0 </td></tr>
536    <tr><td class="paramname">DLL_M</td><td>DLL multiplication (M) parameter; must be in [0,1,...,31] for multiplications of [1,2,...,32], constrained by M*REFCLK in [100, 310]MHz </td></tr>
537    <tr><td class="paramname">DLL_N</td><td>DLL division (N) parameter; must be one of [1,2,3,4,5,6,8] </td></tr>
538    <tr><td class="paramname">DLL_DIV</td><td>Secondary DLL divider; must be one of [1,2,4] </td></tr>
539  </table>
540  </dd>
541</dl>
542<dl class="section return"><dt>Returns</dt><dd>Returns 0 on success, -1 for invalid paramters, -2 if DLLs fail to lock with new settings </dd></dl>
543
544</div>
545</div>
546<a class="anchor" id="gac840fe1081af4ede375fc3accd08f130"></a>
547<div class="memitem">
548<div class="memproto">
549      <table class="memname">
550        <tr>
551          <td class="memname">int ad_config_power </td>
552          <td>(</td>
553          <td class="paramtype">u32&#160;</td>
554          <td class="paramname"><em>baseaddr</em>, </td>
555        </tr>
556        <tr>
557          <td class="paramkey"></td>
558          <td></td>
559          <td class="paramtype">u32&#160;</td>
560          <td class="paramname"><em>csMask</em>, </td>
561        </tr>
562        <tr>
563          <td class="paramkey"></td>
564          <td></td>
565          <td class="paramtype">u8&#160;</td>
566          <td class="paramname"><em>pwrState</em>&#160;</td>
567        </tr>
568        <tr>
569          <td></td>
570          <td>)</td>
571          <td></td><td></td>
572        </tr>
573      </table>
574</div><div class="memdoc">
575
576<p>Shuts down or enables the selected AD9963. Starting up from shutdown is not instantaneous, so this function should only be used to disable an AD9963 that will be unsed for a while. If you shutdown a AD9963, you should also shutdown the corresponding MAX2829 with radio_controller_setMode_shutdown(). <b>Note:</b> this function will always leave the AD9963 DLL shutdown. You must call <a class="el" href="group__user__functions.html#gae2da5e83993f197ceb0d2df3e1322329" title="Configures the AD9963 DLL block. DLL output clock is REFCLK*M/(N*DLL_DIV). REFCLK*M must be in [100...">ad_config_DLL()</a> again to re-configure and re-enable the DLL if your design uses the DLL clock for ADCs or DACs. </p>
577<dl class="params"><dt>Parameters</dt><dd>
578  <table class="params">
579    <tr><td class="paramname">baseaddr</td><td>Base memory address of w3_ad_controller pcore </td></tr>
580    <tr><td class="paramname">csMask</td><td>OR'd combination of RFA_AD_CS and RFB_AD_CS </td></tr>
581    <tr><td class="paramname">pwrState</td><td>Desired AD9963 power state; must be one of [AD_PWR_ALLOFF, AD_PWR_ALLON] </td></tr>
582  </table>
583  </dd>
584</dl>
585<dl class="section return"><dt>Returns</dt><dd>Returns 0 on success, -1 for invalid paramters </dd></dl>
586
587</div>
588</div>
589</div><!-- contents -->
590</div><!-- doc-content -->
591<!-- start footer part -->
592<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
593  <ul>
594    <li class="footer">Generated on Sun Aug 19 2012 21:58:49 for w3_ad_controller Driver by doxygen v1.8.2</li>
595  </ul>
596</div>
597</body>
598</html>
Note: See TracBrowser for help on using the repository browser.