manual_ad_interrupt_mode_reference.html
来自「Diamond公司Dscud通用驱动使用说明手册」· HTML 代码 · 共 377 行 · 第 1/2 页
HTML
377 行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html lang="en"><head><title>AD Interrupt Mode Reference - Universal Driver Documentation</title><meta http-equiv="Content-type" content="text/html; charset=iso-8859-1"><meta name="robots" content="index,follow"><link rel="shortcut icon" href="/favicon.ico"><link rel="stylesheet" href="/dscud/style/wikiprintable.css"><script type="text/javascript" src="/dscud/style/wikibits.js"></script><style type='text/css'><!--a.new, #quickbar a.new { color: #CC2200; }#quickbar { position: absolute; top: 4px; left: 4px; border-right: 1px solid gray; }#article { margin-left: 152px; margin-right: 4px; }//--></style></head><body bgcolor='#FFFFFF'><div class='titlebox'><h1 class='pagetitle'>AD Interrupt Mode Reference</h1><span class='subtitle'>Universal Driver Documentation</span></div><div class='navbox'><a href="manual_Main_Page.html" class='printable' title ="Main Page">Main Page</a> || <a href="manual_Table_of_Contents.html" class='printable' title ="Table of Contents">Table_of_Contents</a> || <a href="http://www.diamondsystems.com/">Diamond Systems Website</a></div></div><div class='bodytext'><a name="top"></a>The tables on the following pages describe the behavior of the board and the driver during A/D interrupt operations with various combinations of settings. Each board has slightly different options and characteristics that affect which options apply. These differences are described here.
<p>
Note that even when FIFO is disabled, all boards with FIFO still use the FIFO to hold A/D conversions during scan operations. In these cases, FIFO disabled means the interrupt will occur after each scan, while FIFO enabled means the interrupt will occur after enough scans occur to reach or exceed the FIFO threshold.
<p>
<p><table border="0" id="toc"><tr><td align="center"><b>Table of contents</b> <script type='text/javascript'>showTocToggle("show","hide")</script></td></tr><tr id='tocinside'><td align="left"><div style="margin-bottom:0px;"><A CLASS="internal" HREF="#Prometheus">1 Prometheus </A><BR></div><div style="margin-bottom:0px;"><A CLASS="internal" HREF="#Hercules-EBX">2 Hercules-EBX </A><BR></div><div style="margin-bottom:0px;"><A CLASS="internal" HREF="#Diamond-MM-48-AT">3 Diamond-MM-48-AT </A><BR></div><div style="margin-bottom:0px;"><A CLASS="internal" HREF="#Diamond-MM-32-AT">4 Diamond-MM-32-AT </A><BR></div><div style="margin-bottom:0px;"><A CLASS="internal" HREF="#Diamond-MM-16-AT,_Diamond-MM-AT">5 Diamond-MM-16-AT, Diamond-MM-AT </A><BR></div><div style="margin-bottom:0px;"><A CLASS="internal" HREF="#Diamond-MM">6 Diamond-MM </A><BR></div><div style="margin-bottom:0px;"><A CLASS="internal" HREF="#Zircon-MM-DX">7 Zircon-MM-DX </A><BR></div><div style="margin-bottom:0px;"><A CLASS="internal" HREF="#Mode_0:_FIFO_=_0,_Scan_=_0,_Recycle_=_0">8 Mode 0: FIFO = 0, Scan = 0, Recycle = 0</A><BR></div><div style="margin-bottom:0px;"><A CLASS="internal" HREF="#Mode_1:_FIFO_=_0,_Scan_=_0,_Recycle_=_1">9 Mode 1: FIFO = 0, Scan = 0, Recycle = 1</A><BR></div><div style="margin-bottom:0px;"><A CLASS="internal" HREF="#Mode_2:_FIFO_=_0,_Scan_=_1,_Recycle_=_0">10 Mode 2: FIFO = 0, Scan = 1, Recycle = 0</A><BR></div><div style="margin-bottom:0px;"><A CLASS="internal" HREF="#Mode_3:_FIFO_=_0,_Scan_=_1,_Recycle_=_1">11 Mode 3: FIFO = 0, Scan = 1, Recycle = 1</A><BR></div><div style="margin-bottom:0px;"><A CLASS="internal" HREF="#Mode_4:_FIFO_=_1,_Scan_=_0,_Recycle_=_0">12 Mode 4: FIFO = 1, Scan = 0, Recycle = 0</A><BR></div><div style="margin-bottom:0px;"><A CLASS="internal" HREF="#Mode_5:_FIFO_=_1,_Scan_=_0,_Recycle_=_1">13 Mode 5: FIFO = 1, Scan = 0, Recycle = 1</A><BR></div><div style="margin-bottom:0px;"><A CLASS="internal" HREF="#Mode_6:_FIFO_=_1,_Scan_=_1,_Recycle_=_0">14 Mode 6: FIFO = 1, Scan = 1, Recycle = 0</A><BR></div><div style="margin-bottom:0px;"><A CLASS="internal" HREF="#Mode_7:_FIFO_=_1,_Scan_=_1,_Recycle_=_1">15 Mode 7: FIFO = 1, Scan = 1, Recycle = 1</A><BR></div></td></tr></table><P><h3><a name="Prometheus"> Prometheus </a></h3>
<p>
The FIFO is always enabled. To "disable" the FIFO during interrupt operations, set FIFO depth = scan size (or 1 for single conversions). In this case the descriptions for Modes 0-3 apply. Otherwise modes 4-7 apply.
<p>
The FIFO depth is 48. The FIFO threshold is programmable. The power-on default FIFO threshold is 16.
<p>
<h3><a name="Hercules-EBX"> Hercules-EBX </a></h3>
<p>
All tables below apply as described.
<p>
The FIFO depth is 2048. The FIFO threshold is programmable. The power-on default FIFO threshold is 1024.
<p>
<h3><a name="Diamond-MM-48-AT"> Diamond-MM-48-AT </a></h3>
<p>
All tables below apply as described.
<p>
The FIFO depth is 2048. The FIFO threshold is programmable to 1024 or 256. The power-on default FIFO threshold is 1024.
<p>
<h3><a name="Diamond-MM-32-AT"> Diamond-MM-32-AT </a></h3>
<p>
All tables below apply as described.
<p>
The FIFO depth is 512. The FIFO threshold is programmable. The power-on default FIFO threshold is 256.
<p>
<h3><a name="Diamond-MM-16-AT,_Diamond-MM-AT"> Diamond-MM-16-AT, Diamond-MM-AT </a></h3>
<p>
All tables below apply as described.
<p>
The FIFO depth is 512. The FIFO threshold is fixed at 256.
<p>
<h3><a name="Diamond-MM"> Diamond-MM </a></h3>
<p>
This board has no FIFO. Modes 4-7 do not apply. For A/D scans, the interrupt occurs after the first A/D conversion is complete, and the interrupt routine completes the scan operation for the rest of the channels in the scan range. The interrupt rate is still equal to the scan rate.<p><h3><a name="Zircon-MM-DX"> Zircon-MM-DX </a></h3>
<p>
This board has no FIFO. Modes 4-7 do not apply. For A/D scans, the interrupt occurs after the first A/D conversion is complete, and the interrupt routine completes the scan operation for the rest of the channels in the scan range. The interrupt rate is still equal to the scan rate. Note that Zircon-MM-LC has no counter/timer and is therefore unable to generate A/D interrupts.
<p>
<h3><a name="Mode_0:_FIFO_=_0,_Scan_=_0,_Recycle_=_0">Mode 0: FIFO = 0, Scan = 0, Recycle = 0</a></h3>
<hr>
<p>
<table border=1><tr ><TD><strong>Sampling Operation</strong> </TD><TD> Each A/D clock generates a single A/D conversion on the current channel. The channel register is then incremented to the next in the range (or resets to the lowest if already at the end).<p>
All A/D samples are evenly spaced apart in time.
</TD></tr><tr ><TD><strong>Sample Rate</strong> </TD><TD> The overall sample rate is equal to the A/D clock rate.The sample rate for each channel in the range is equal to the A/D clock rate divided by the number of channels in the range.
</TD></tr><tr ><TD><strong>Interrupt Occurrence</strong> </TD><TD> An interrupt occurs after each conversion is complete.</TD></tr><tr ><TD><strong>Interrupt Rate</strong> </TD><TD> The interrupt rate is equal to the A/D clock rate.</TD></tr><tr ><TD> <strong>Interrupt Operation</strong> </TD><TD> The interrupt routine reads a single A/D value from the board and stores it in the program's sample buffer.</TD></tr><tr ><TD><strong>Data Buffer</strong> </TD><TD> The buffer size is equal to the number of A/D samples to be taken.</TD></tr><tr ><TD><strong>Termination</strong> </TD><TD> After the specified number of conversions is complete, the interrupt operation automatically terminates.<p>
The user may also terminate early by calling the function dscCancelOp().
</TD></tr></table><p>
<p>
<h3><a name="Mode_1:_FIFO_=_0,_Scan_=_0,_Recycle_=_1"> Mode 1: FIFO = 0, Scan = 0, Recycle = 1</a></h3>
<hr>
<p>
<table border=1><tr ><TD><strong>Sampling Operation</strong> </TD><TD> Each A/D clock generates a single A/D conversion on the current channel. The channel register is then incremented to the next in the range (or resets to the lowest if already at the end).<p>
All A/D samples are evenly spaced apart in time.
</TD></tr><tr ><TD><strong>Sample Rate</strong> </TD><TD> The overall sample rate is equal to the A/D clock rate.<p>
The sample rate for each channel in the range is equal to the A/D clock rate divided by the number of channels in the range.
</TD></tr><tr ><TD> <strong>Interrupt Occurrence</strong> </TD><TD> An interrupt occurs after each conversion is complete.</TD></tr><tr ><TD><strong>Interrupt Rate</strong> </TD><TD> The interrupt rate is equal to the A/D clock rate.</TD></tr><tr ><TD><strong>Interrupt Operation</strong> </TD><TD> The interrupt routine reads a single A/D value from the board and stores it in the program's sample buffer.</TD></tr><tr ><TD><strong>Data Buffer</strong> </TD><TD> The buffer size must be equal to the number of samples num_conversions specified in the function call. This parameter is not related to the total number of samples to be taken, since recycle mode is enabled.</TD></tr><tr ><TD><strong>Termination</strong> </TD><TD> After the specified number of A/D conversions is complete, the interrupt operation returns to the beginning of the buffer and repeats.<p>
The user may terminate the operation at any time by calling dscCancelOp().
</TD></tr></table><p>
<h3><a name="Mode_2:_FIFO_=_0,_Scan_=_1,_Recycle_=_0">Mode 2: FIFO = 0, Scan = 1, Recycle = 0</a></h3>
<hr>
<p>
<table border=1><tr ><TD><strong>Sampling Operation</strong> </TD><TD> Each A/D clock generates an A/D conversion on all channels in the programmed channel range, beginning with the low channel.</TD></tr><tr ><TD><strong>Sample Rate</strong> </TD><TD> The overall sample rate is equal to the A/D clock rate times the scan size.<p>
The sample rate for each channel in the range is equal to the A/D clock rate.
</TD></tr><tr >
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?