URL
https://opencores.org/ocsvn/pcie_ds_dma/pcie_ds_dma/trunk
Subversion Repositories pcie_ds_dma
[/] [pcie_ds_dma/] [trunk/] [projects/] [ml605_lx240t_core/] [src/] [doc/] [core/] [block_pe_ext_fifo.htm] - Rev 2
Compare with Previous | Blame | View Log
<Html> <Head> <Title>Блок PE_EXT_FIFO</Title> <Meta Http-equiv="Content-Type" Content="text/html; Charset=windows-1251"> <Link Rel="StyleSheet" Type="text/css" Href="style.css"> </Head> <Body LeftMargin="5" TopMargin="5" BgColor="#ffffff"> <h1><span lang="ru">Блок </span>PE_EXT_FIFO</h1> Версия документа: <span lang="ru">1</span>.<span lang="ru">0</span><hr> <h2>Общие сведения</h2> <table border="0" width="90%" cellpadding="6" cellspacing="1" height="135"> <tr> <td width="17%" valign="top" height="14"> <b> Назначение</b></td> <td width="83%" height="14" valign="top"> <span lang="ru">Управление каналом </span>FIFO </td> </tr> <tr> <td width="17%" height="14" valign="top"> <b> Модификация</b></td> <td width="83%" height="14" valign="top"> 1<span lang="ru"> - только режим автоинициализации</span></td> </tr> <tr> <td width="17%" height="14" valign="top"><b>Версия</b></td> <td width="83%" height="14" valign="top"> <span lang="ru">1</span>.0</td> </tr> <tr> <td width="17%" height="14" valign="top"><b>ID</b></td> <td width="83%" height="14" valign="top"> <span lang="en-us">0x18</span></td> </tr> </table> <h2>Состав регистров</h2> <table border="2" width="90%" bordercolorlight="#000000" cellspacing="1" bordercolordark="#000000" cellpadding="2" style="border-collapse: collapse"> <tr> <td width="13%" align="center"><b>Номер</b></td> <td width="18%" align="center"><b>Название</b></td> <td width="69%" colspan="2"><b> Описание</b></td> </tr> <tr> <td width="100%" align="center" colspan="4"> <p align="left"> <span lang="ru"> Константы</span></td> </tr> <tr> <td width="13%" align="center">0</td> <td width="18%" align="center"><a href="#Регистр BLOCK_ID">BLOCK_ID</a></td> <td width="10%" align="center">0x1018</td> <td width="58%"> <span lang="ru">Идентификатор блока управления</span></td> </tr> <tr> <td width="13%" align="center">1</td> <td width="18%" align="center"><a href="#Регистр BLOCK_VER">BLOCK_VER</a></td> <td width="10%" align="center">0x0100</td> <td width="58%"> <span lang="ru">Версия блока управления</span></td> </tr> <tr> <td width="13%" align="center">2</td> <td width="18%" align="center"><a href="#Регистр FIFO_ID">FIFO_ID</a></td> <td width="10%" align="center">0x3400</td> <td width="58%"> <span lang="ru">Идентификатор </span>FIFO</td> </tr> <tr> <td width="13%" align="center">3</td> <td width="18%" align="center"><a href="#Регистр FIFO_NUMBER">FIFO_NUMBER</a></td> <td width="10%" align="center">*</td> <td width="58%"> <span lang="ru">Номер </span>FIFO</td> </tr> <tr> <td width="13%" align="center" height="21">4</td> <td width="18%" align="center" height="21"><a href="#Регистр RESOURCE">RESOURCE</a></td> <td width="10%" align="center" height="21"><span lang="ru">0</span>x0002</td> <td width="58%" height="21"> <span lang="ru">Поддерживаемые режимы работы</span></td> </tr> <tr> <td width="13%" align="center">5</td> <td width="18%" align="center"> </td> <td width="10%" align="center"> </td> <td width="58%"> </td> </tr> <tr> <td width="13%" align="center">6</td> <td width="18%" align="center"> </td> <td width="10%" align="center"> </td> <td width="58%"> </td> </tr> <tr> <td width="13%" align="center">7</td> <td width="18%" align="center"> </td> <td width="10%" align="center"> </td> <td width="58%"> </td> </tr> <tr> <td width="100%" align="left" colspan="4"> <span lang="ru">Командные регистры</span></td> </tr> <tr> <td width="13%" align="center"><span lang="ru">8</span></td> <td width="18%" align="center"><a href="#Регистр DMA_MODE">DMA_MODE</a></td> <td width="69%" colspan="2"><span lang="ru">Режим работы контроллера </span> DMA</td> </tr> <tr> <td width="13%" align="center"><span lang="ru">9</span></td> <td width="18%" align="center"><a href="#Регистр DMA_CTRL">DMA_CTRL</a></td> <td width="69%" colspan="2"><span lang="ru">Управление контроллером </span> DMA</td> </tr> <tr> <td width="13%" align="center">0x0A</td> <td width="18%" align="center"><a href="#Регистр BLOCK_CNT">BLOCK_CNT</a></td> <td width="69%" colspan="2"><span lang="ru">Число блоков для передачи</span></td> </tr> <tr> <td width="13%" align="center">0x0B</td> <td width="18%" align="center"> </td> <td width="69%" colspan="2"> </td> </tr> <tr> <td width="13%" align="center">0x0C</td> <td width="18%" align="center"> </td> <td width="69%" colspan="2"> </td> </tr> <tr> <td width="13%" align="center">0x0D</td> <td width="18%" align="center"> </td> <td width="69%" colspan="2"> </td> </tr> <tr> <td width="13%" align="center">0x0E</td> <td width="18%" align="center"> </td> <td width="69%" colspan="2"> </td> </tr> <tr> <td width="13%" align="center">0x0F</td> <td width="18%" align="center"> </td> <td width="69%" colspan="2"> </td> </tr> <tr> <td width="100%" align="center" colspan="4"> <p align="left"><span lang="ru"> Непосредственные регистры</span></td> </tr> <tr> <td width="13%" align="center"><span lang="ru">0</span>x10</td> <td width="18%" align="center"><a href="#Регистр STATUS">STATUS</a> </td> <td width="69%" colspan="2"><span lang="ru"> Регистр состояния</span></td> </tr> <tr> <td width="13%" align="center">0x11</td> <td width="18%" align="center"><a href="#Регистр FLAG_CLR">FLAG_CLR</a></td> <td width="69%" colspan="2"> <span lang="ru">Регистр сброса флагов</span></td> </tr> <tr> <td width="13%" align="center">0x12</td> <td width="18%" align="center"> </td> <td width="69%" colspan="2"> </td> </tr> <tr> <td width="13%" align="center">0x13</td> <td width="18%" align="center"> </td> <td width="69%" colspan="2"> </td> </tr> <tr> <td width="13%" align="center"><span lang="ru">0</span>x14</td> <td width="18%" align="center"><a href="#Регистры PCI_ADRL, PCI_ADRH"> PCI_ADRL</a></td> <td width="69%" colspan="2"> <span lang="ru">Адрес на </span>PCI <span lang="ru">шине. Младшее слово</span></td> </tr> <tr> <td width="13%" align="center">0x15</td> <td width="18%" align="center"><a href="#Регистры PCI_ADRL, PCI_ADRH"> PCI_ADRH</a></td> <td width="69%" colspan="2"> <span lang="ru">Адрес на </span>PCI <span lang="ru">шине. Старшее слово</span></td> </tr> <tr> <td width="13%" align="center">0x16</td> <td width="18%" align="center"> </td> <td width="69%" colspan="2"> </td> </tr> <tr> <td width="13%" align="center">0x17</td> <td width="18%" align="center"><a href="#Регистр LOCAL_ADR">LOCAL_ADR</a></td> <td width="69%" colspan="2"> <span lang="ru">Адрес на локальной шине</span></td> </tr> <tr> <td width="13%" align="center">0x18</td> <td width="18%" align="center"> </td> <td width="69%" colspan="2"> </td> </tr> <tr> <td width="13%" align="center"><span lang="ru">0</span>x19</td> <td width="18%" align="center"> </td> <td width="69%" colspan="2"> </td> </tr> <tr> <td width="13%" align="center">0x1A</td> <td width="18%" align="center"> </td> <td width="69%" colspan="2"> </td> </tr> <tr> <td width="13%" align="center">0x1B</td> <td width="18%" align="center"> </td> <td width="69%" colspan="2"> </td> </tr> </table> <br> <h2>Описание</h2> <p><span lang="ru">Блок </span>PE<span lang="ru">_</span><span lang="en-us">EXT_</span>FIFO <span lang="ru"> предназначен для управления </span>двунаправленным FIFO. Направление обмена устанавливается в регистре <span lang="en-us">DMA_CTRL </span>и в дескрипторе блока автоинициализации.</p> <p><span lang="ru">Алгоритм работы в режиме автоинициализации:</span></p> <ul> <li><span lang="ru">Составить цепочку дескрипторов, которая описывает цепочку передаваемых блоков</span></li> <li><span lang="ru">Записать 0 в регистр </span>DMA_CTRL</li> <li><span lang="ru">Сбросить внутреннее </span>FIFO <span lang="ru"> контроллера </span>DMA - <span lang="ru">записать 1 в поле </span>RESET_FIFO <span lang="ru">регистра </span>DMA_CTRL <span lang="ru">и затем сбросить </span>RESET_FIFO</li> <li><span lang="ru">Задать требуемый режим работы в регистре </span>DMA_MODE</li> <li><span lang="ru">Записать адрес начального дескриптора в регистр </span> PCI_ADRL</li> <li><span lang="ru">Записать локальный адрес в регистр </span>LOCAL_ADR</li> <li><span lang="ru">Разрешить </span>DMA <span lang="ru">передачу: установить бит </span>DMA_START <span lang="ru">в регистре </span>DMA_CTRL</li> <li><span lang="ru">Ожидать завершения передачи блока с битом разрешения формирования флага </span>DMA_EOT<span lang="ru">: ждать появления </span>DMA_EOT <span lang="ru">в регистре </span>STAUS <span lang="ru">или прерывания. </span></li> <li><span lang="ru">Сбросить флаг </span>DMA_EOT <span lang="ru">и прерывание: записать 0</span> <span lang="ru">в регистр </span>FLAG_EOT<span lang="ru">.</span> <span lang="ru"> </span> <span lang="ru">Флаг </span>DMA_EOT <span lang="ru">должен быть обработан до формирования следующего </span> DMA_EOT. <span lang="ru">Если установлен бит </span>STATUS[DMA_INT_ERROR]=1, <span lang="ru">то это означает что пропущена обработка флага </span>DMA_EOT;</li> </ul> <p>Для останова <span lang="en-us">DMA </span>передачи необходимо записать <span lang="en-us">0 </span>в регистр <span lang="en-us">DMA_CTRL</span><span lang="ru">.</span></p> <p><span lang="ru">Для временной остановки работы канала </span>DMA <span lang="ru">необходимо установить бит </span>PAUSE <span lang="ru">в регистре </span>DMA_CTRL, <span lang="ru">для возобновления работы достаточно сбросить бит </span>PAUSE.</p> <p> </p> <h3><span lang="ru"><a name="Дескриптор блока автоинициализации">Дескриптор блока автоинициализации</a></span></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" id="table14" style="border-collapse: collapse"> <tr> <td align="middle" width="6%" height="14"><b> <span lang="ru">№</span></b></td> <td align="middle" width="15%" height="14"><b> Название</b></td> <td width="76%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">0</span></td> <td align="middle" width="15%">DS0</td> <td width="76%"> <span lang="ru">Дескриптор 0 - описание блока данных</span></td> </tr> <tr> <td align="middle" width="6%">1</td> <td align="middle" width="15%">DS1</td> <td width="76%"><span lang="ru"> Дескриптор 1 - описание блока данных</span></td> </tr> <tr> <td align="middle" width="6%"> </td> <td align="middle" width="15%"> </td> <td width="76%"> </td> </tr> <tr> <td align="middle" width="6%">62</td> <td align="middle" width="15%">DS62</td> <td width="76%"><span lang="ru"> Дескриптор 62 - описание блока данных</span></td> </tr> <tr> <td align="middle" width="6%">63</td> <td align="middle" width="15%">NEXT_BLOCK</td> <td width="76%"> <span lang="ru">Следующий блок дескрипторов</span></td> </tr> </table> <p><span lang="ru">Адрес дескриптора должен быть выровнен на границу </span>512 <span lang="ru">байт.</span></p> <h3><span lang="ru">Слово описания блока данных</span></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" id="table15" style="border-collapse: collapse"> <tr> <td align="middle" width="6%" height="14"><b> <span lang="ru">Байт</span></b></td> <td align="middle" width="15%" height="14"><b> Название</b></td> <td width="76%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">0</span></td> <td align="middle" width="15%">A1</td> <td width="76%"> <span lang="ru">Адрес, байт 1</span></td> </tr> <tr> <td align="middle" width="6%">1</td> <td align="middle" width="15%">A2</td> <td width="76%"> <span lang="ru">Адрес, байт 2</span></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">2</span></td> <td align="middle" width="15%">A3</td> <td width="76%"> <span lang="ru">Адрес, байт 3</span></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">3</span></td> <td align="middle" width="15%"><span lang="ru">-</span></td> <td width="76%"><span lang="ru"> Резерв, должен быть 0</span></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">4</span></td> <td align="middle" width="15%">CMD</td> <td width="76%"><span lang="ru">Команда дескриптора</span></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">5</span></td> <td align="middle" width="15%">S1</td> <td width="76%"><span lang="ru">Размер, байт 1<br> Бит 0 определяет направление передачи:<br> 0 - передача из </span>HOST <span lang="ru">в </span>ADM<br> 1 - <span lang="ru">передача из </span>ADM <span lang="ru">в </span>HOST</td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">6</span></td> <td align="middle" width="15%">S2</td> <td width="76%"><span lang="ru">Размер, байт 2</span></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">7</span></td> <td align="middle" width="15%">S3</td> <td width="76%"><span lang="ru">Размер, байт 3</span></td> </tr> </table> <p><span lang="ru">Адрес блока должен быть выровнен на границу страницы, при этом всегда байт 0 адреса равен нулю и не представлен в регистре.<br> Размер передаваемого блока должен быть кратен размеру страницы, при этом байт 0 размера всегда равен нулю и не представлен в регистре.</span></p> <h3><span lang="ru">Слово </span>CMD - <span lang="ru">команда дескриптора </span></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" id="table16" style="border-collapse: collapse"> <tr> <td align="middle" width="6%" height="14"><b> <span lang="ru">Бит</span></b></td> <td align="middle" width="15%" height="14"><b> Название</b></td> <td width="76%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">0</span></td> <td align="middle" width="15%">JUMP_NEST_DS</td> <td width="76%"> 1 - <span lang="ru">переход к следующему дескриптору</span></td> </tr> <tr> <td align="middle" width="6%">1</td> <td align="middle" width="15%">JUMP_NEXT_BLOCK</td> <td width="76%"> 1 - <span lang="ru">переход к следующему блоку</span></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">2</span></td> <td align="middle" width="15%">JUMP_DS0</td> <td width="76%"> 1 - <span lang="ru">переход к дескриптору 0</span></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">3</span></td> <td align="middle" width="15%"> </td> <td width="76%"> </td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">4</span></td> <td align="middle" width="15%">EOT</td> <td width="76%"> 1 - <span lang="ru">требование сформировать флаг </span>EOT (End-Of-Transfer)</td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">5</span></td> <td align="middle" width="15%"> </td> <td width="76%"> </td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">6</span></td> <td align="middle" width="15%"> </td> <td width="76%"> </td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">7</span></td> <td align="middle" width="15%"> </td> <td width="76%"> </td> </tr> </table> <p><span lang="ru">Если ни один из битов </span>JUMP_* <span lang="ru">не установлен, то канал </span>DMA <span lang="ru">завершает работу.</span></p> <p>Установленный бит JUMP_NEXT_BLOCK означает, что следующее слово содержит адрес блока дескрипторов.</p> <h3>NEXT_BLOCK - <span lang="ru">Следующий блок дескрипторов</span></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" id="table17" style="border-collapse: collapse"> <tr> <td align="middle" width="6%" height="14"><b> <span lang="ru">Байт</span></b></td> <td align="middle" width="15%" height="14"><b> Название</b></td> <td width="76%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">0</span></td> <td align="middle" width="15%">A1</td> <td width="76%"> <span lang="ru">Адрес, байт 1</span></td> </tr> <tr> <td align="middle" width="6%">1</td> <td align="middle" width="15%">A2</td> <td width="76%"> <span lang="ru">Адрес, байт 2</span></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">2</span></td> <td align="middle" width="15%">A3</td> <td width="76%"> <span lang="ru">Адрес, байт 3</span></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">3</span></td> <td align="middle" width="15%"><span lang="ru">-</span></td> <td width="76%"><span lang="ru"> Резерв, должен быть 0</span></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">4</span></td> <td align="middle" width="15%" rowspan="2">SIG</td> <td width="76%" rowspan="2"> <span lang="ru">Сигнатура </span>0x4953</td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">5</span></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">6</span></td> <td align="middle" width="15%" rowspan="2">CRC</td> <td width="76%" rowspan="2"><span lang="ru">Контрольная сумма</span></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">7</span></td> </tr> </table> <p> </p> <p> </p> <p> </p> <h2>Описание регистров <span lang="ru">блока </span>PE_EXT_FIFO</h2> <h3><a name="Регистр BLOCK_ID">Регистр BLOCK_ID</a></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" id="table6" style="border-collapse: collapse"> <tr> <td align="middle" width="5%" height="14"><b> Бит</b></td> <td align="middle" width="6%" height="14"><b> Название</b></td> <td width="66%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="5%">11<span lang="ru">..0</span></td> <td align="middle" width="6%">ID</td> <td width="66%"><span lang="ru"> Идентификатор блока управления</span></td> </tr> <tr> <td align="middle" width="5%"><span lang="ru">15..12</span></td> <td align="middle" width="6%">MOD</td> <td width="66%"><span lang="ru"> Номер модификации блока управления</span></td> </tr> </table> <h3><a name="Регистр BLOCK_VER">Регистр BLOCK_VER</a></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" id="table7" style="border-collapse: collapse"> <tr> <td align="middle" width="5%" height="14"><b> Бит</b></td> <td align="middle" width="6%" height="14"><b> Название</b></td> <td width="66%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="5%">7<span lang="ru">..0</span></td> <td align="middle" width="6%">V0</td> <td width="66%"> <span lang="ru">Поле </span>V0</td> </tr> <tr> <td align="middle" width="5%"><span lang="ru">15..8</span></td> <td align="middle" width="6%">V1</td> <td width="66%"> <span lang="ru">Поле М1</span></td> </tr> </table> <p><span lang="ru">Номер версии записывается в виде: </span>V1.V0</p> <p> </p> <h3><a name="Регистр FIFO_ID">Регистр FIFO_ID</a></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" id="table2" style="border-collapse: collapse"> <tr> <td align="middle" width="5%" height="14"><b> Бит</b></td> <td align="middle" width="6%" height="14"><b> Название</b></td> <td width="66%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="5%" height="14">11..0</td> <td align="middle" width="6%" height="14">SIZE</td> <td width="66%" height="14"> <span lang="ru">Размер </span>FIFO</td> </tr> <tr> <td align="middle" width="5%" height="14">15..12</td> <td align="middle" width="6%" height="14">TYPE</td> <td width="66%" height="14"> <span lang="ru">Направление передачи<br> 1 - </span>FIFO <span lang="ru">работает на чтение</span><br> 2 - FIFO <span lang="ru">работает на запись</span></td> </tr> </table> <p>Регистр FIFOx_ID <span lang="ru">предназначен для идентификации канала </span> FIFO<span lang="ru">,</span> x - <span lang="ru">номер </span>FIFO.<span lang="ru"> Значение 0 означает отсутствие </span>FIFO.<br> <span lang="ru">Поле </span>SIZE <span lang="ru">показывает размер </span>FIFO <span lang="ru">в 32-х разрядных словах.</span></p> <h3><a name="Регистр FIFO_NUMBER">Регистр FIFO_NUMBER</a></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" id="table8" style="border-collapse: collapse"> <tr> <td align="middle" width="5%" height="14"><b> Бит</b></td> <td align="middle" width="6%" height="14"><b> Название</b></td> <td width="66%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="5%" height="14">15..0</td> <td align="middle" width="6%" height="14">SIZE</td> <td width="66%" height="14"> <span lang="ru">Размер </span>FIFO</td> </tr> </table> <p>Регистр FIFO_NUMBER <span lang="ru">содержит порядковый номер </span>FIFO <span lang="ru">внутри прошивки.</span></p> <p> </p> <h3><a name="Регистр RESOURCE">Регистр RESOURCE</a></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" id="table18" style="border-collapse: collapse"> <tr> <td align="middle" width="5%" height="14"><b> Бит</b></td> <td align="middle" width="6%" height="14"><b> Название</b></td> <td width="66%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="5%" height="14"><span lang="ru">0</span></td> <td align="middle" width="6%" height="14">NON_SG_MODE</td> <td width="66%" height="14">1 - <span lang="ru">поддержка работы без автоинициализации</span></td> </tr> <tr> <td align="middle" width="5%" height="14"><span lang="ru">1</span></td> <td align="middle" width="6%" height="14">SG_MODE</td> <td width="66%" height="14">1 - <span lang="ru">поддержка работы в режиме автоинициализации</span></td> </tr> <tr> <td align="middle" width="5%" height="14"><span lang="ru">2</span></td> <td align="middle" width="6%" height="14">CNT_MODE</td> <td width="66%" height="14">1 - <span lang="ru">поддержка счётчика блоков</span></td> </tr> <tr> <td align="middle" width="5%" height="14">15..<span lang="ru">3</span></td> <td align="middle" width="6%" height="14"><span lang="ru">-</span></td> <td width="66%" height="14"></td> </tr> </table> <p>Регистр RESOURCE <span lang="ru">содержит информацию о поддерживаемых режимах работы</span></p> <p> </p> <p> </p> <h3><a name="Регистр DMA_MODE">Регистр DMA_MODE </a></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" id="table19" style="border-collapse: collapse"> <tr> <td align="middle" width="5%" height="14"><b> Бит</b></td> <td align="middle" width="6%" height="14"><b> Название</b></td> <td width="66%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="5%" height="14">0</td> <td align="middle" width="6%" height="14">SG_MODE</td> <td width="66%" height="14"> <span lang="ru">1</span> - <span lang="ru"> работа в режиме автоинициализации, 0 - без автоинициализации</span></td> </tr> <tr> <td align="middle" width="5%" height="14">1</td> <td align="middle" width="6%" height="14">DEMAND_MODE</td> <td width="66%" height="14"> 1 - <span lang="ru">работа по запросам</span></td> </tr> <tr> <td align="middle" width="5%" height="14">2</td> <td align="middle" width="6%" height="14">DIRECT</td> <td width="66%" height="14"> 1 - <span lang="ru">передача </span>ADM->HOST, 0 - <span lang="ru">передача </span>HOST->ADM</td> </tr> <tr> <td align="middle" width="5%" height="14"><span lang="ru">3</span></td> <td align="middle" width="6%" height="14"></td> <td width="66%" height="14"></td> </tr> <tr> <td align="middle" width="5%" height="14"><span lang="ru">4</span></td> <td align="middle" width="6%" height="14"></td> <td width="66%" height="14"></td> </tr> <tr> <td align="middle" width="5%" height="14"><span lang="ru">5</span></td> <td align="middle" width="6%" height="14">DMA_INT_ENABLE</td> <td width="66%" height="14"> 1 - <span lang="ru">разрешение формирования прерываний по флагу </span>EOT</td> </tr> <tr> <td align="middle" width="5%" height="14">15..6</td> <td align="middle" width="6%" height="14">-</td> <td width="66%" height="14"></td> </tr> </table> <p> </p> <h3><a name="Регистр DMA_CTRL">Регистр DMA_CTRL </a></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" id="table1" style="border-collapse: collapse"> <tr> <td align="middle" width="5%" height="14"><b> Бит</b></td> <td align="middle" width="6%" height="14"><b> Название</b></td> <td width="66%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="5%" height="14">0</td> <td align="middle" width="6%" height="14">DMA_START</td> <td width="66%" height="14"> 1 - <span lang="ru">запуск канала </span> DMA</td> </tr> <tr> <td align="middle" width="5%" height="14">1</td> <td align="middle" width="6%" height="14">DMA_STOP</td> <td width="66%" height="14"> <span lang="ru">не используется</span></td> </tr> <tr> <td align="middle" width="5%" height="14">2</td> <td align="middle" width="6%" height="14"></td> <td width="66%" height="14"></td> </tr> <tr> <td align="middle" width="5%" height="14"><span lang="ru">3</span></td> <td align="middle" width="6%" height="14">PAUSE</td> <td width="66%" height="14"> 1 - <span lang="ru">приостановка обмена</span></td> </tr> <tr> <td align="middle" width="5%" height="14"><span lang="ru">4</span></td> <td align="middle" width="6%" height="14">RESET_FIFO</td> <td width="66%" height="14"> 1 - <span lang="ru">сброс внутреннего </span>FIFO<span lang="ru"> канала </span>DMA</td> </tr> <tr> <td align="middle" width="5%" height="14"><span lang="ru">5</span></td> <td align="middle" width="6%" height="14"></td> <td width="66%" height="14"></td> </tr> <tr> <td align="middle" width="5%" height="14">15..6</td> <td align="middle" width="6%" height="14">-</td> <td width="66%" height="14"></td> </tr> </table> <p> </p> <h3><a name="Регистр BLOCK_CNT">Регистр BLOCK_CNT</a></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" style="border-collapse: collapse" id="table20"> <tr> <td align="middle" width="6%" height="14"><b> Бит</b></td> <td align="middle" width="11%" height="14"><b> Название</b></td> <td width="66%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="6%" height="14">31..0</td> <td align="middle" width="11%" height="14">CNT</td> <td width="66%" height="14"> <span lang="ru">Число блоков для передачи</span></td> </tr> </table> <p><span lang="ru">Регистр определяет число блоков размером 4 килобайта, которые будут переданы по каналу </span>DMA. <span lang="ru"> Значение 0 означает передачу бесконечного числа блоков. </span></p> <p><span lang="ru">В данной модификации не используется.</span></p> <p> </p> <p> </p> <p> </p> <h3><a name="Регистр STATUS">Регистр STATUS</a></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" style="border-collapse: collapse"> <tr> <td align="middle" width="5%" height="14"><b> Бит</b></td> <td align="middle" width="6%" height="14"><b> Название</b></td> <td width="66%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="5%" height="14">3..0</td> <td align="middle" width="6%" height="14">DMA_STATUS</td> <td width="66%" height="14"> <span lang="ru">Резерв</span> </td> </tr> <tr> <td align="middle" width="5%"><span lang="ru">4</span></td> <td align="middle" width="6%">DMA_EOT</td> <td width="66%"> 1<span lang="ru"> - завершение однократного </span>DMA <span lang="ru">или блока с разрешённым прерыванием в цепочечном режиме</span></td> </tr> <tr> <td align="middle" width="5%"><span lang="ru">5</span></td> <td align="middle" width="6%">DMA_SG_EOT</td> <td width="66%"> 1 - <span lang="ru">завершение </span>DMA в режиме автоинициализации</td> </tr> <tr> <td align="middle" width="5%">6</td> <td align="middle" width="6%">DMA_INT_ERROR</td> <td width="66%"> 1 - <span lang="ru">пропуск блока</span></td> </tr> <tr> <td align="middle" width="5%"><span lang="ru">7</span></td> <td align="middle" width="6%">INT_REQ</td> <td width="66%"> 1 - <span lang="ru">запрос прерывания</span></td> </tr> <tr> <td align="middle" width="5%"><span lang="ru">8</span></td> <td align="middle" width="6%"><span lang="en-us">DSC_CORRECT</span></td> <td width="66%"><span lang="en-us"> 1 - </span>блок дескрипторов правильный</td> </tr> <tr> <td align="middle" width="5%"><span lang="ru">9</span></td> <td align="middle" width="6%"> </td> <td width="66%"> </td> </tr> <tr> <td align="middle" width="5%"><span lang="ru">10</span></td> <td align="middle" width="6%"> </td> <td width="66%"> </td> </tr> <tr> <td align="middle" width="5%"><span lang="ru">11</span></td> <td align="middle" width="6%"> </td> <td width="66%"> </td> </tr> <tr> <td align="middle" width="5%" height="14">1<span lang="ru">5</span>..<span lang="ru">12</span></td> <td align="middle" width="6%" height="14"><span lang="en-us">SIG</span></td> <td width="66%" height="14">Сигнатура, установлено значение <span lang="en-us">0x0A</span></td> </tr> </table> <h3> </h3> <p> </p> <h3><a name="Регистр FLAG_CLR">Регистр FLAG_CLR</a></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" style="border-collapse: collapse" id="table10"> <tr> <td align="middle" width="6%" height="14"><b> Бит</b></td> <td align="middle" width="11%" height="14"><b> Название</b></td> <td width="66%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="6%" height="14">3..0</td> <td align="middle" width="11%" height="14">-</td> <td width="66%" height="14"> <span lang="ru">Не используются</span></td> </tr> <tr> <td align="middle" width="6%"><span lang="ru">4</span></td> <td align="middle" width="11%">DMA_EOT</td> <td width="66%"> 1<span lang="ru"> - сброс </span>STATUS[DMA_EOT]</td> </tr> <tr> <td align="middle" width="6%" height="14">1<span lang="ru">5</span>..5</td> <td align="middle" width="11%" height="14">-</td> <td width="66%" height="14"> Не используются</td> </tr> </table> <p>Запись в регистр приводит к сбросу флага <span lang="en-us">EOT </span>в регистре <span lang="en-us">STATUS. </span>Требуется только одна запись.</p> <p> </p> <h3><a name="Регистры PCI_ADRL, PCI_ADRH">Регистр<span lang="ru">ы</span> PCI_ADRL, PCI_ADRH</a></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" style="border-collapse: collapse" id="table11"> <tr> <td align="middle" width="6%" height="14"><b> Бит</b></td> <td align="middle" width="11%" height="14"><b> Название</b></td> <td width="66%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="6%" height="14">31..0</td> <td align="middle" width="11%" height="14">-</td> <td width="66%" height="14"> <span lang="ru">адрес</span></td> </tr> </table> <p><span lang="ru">Регистры </span>PCI_ADRL, PCI_ADRH <span lang="ru">содержат адрес блока на шине </span>PCI. <span lang="ru">Регистр </span>PCI_ADRL <span lang="ru">содержит младшее слово 64-х разрядного адреса, регистр </span> PCI_ADRH <span lang="ru">содержит старшее слово 64-х разрядного адреса. В настоящее время регистр </span><span lang="en-us">PCI_ADRH </span>не используется.</p> <p> </p> <h3><a name="Регистр LOCAL_ADR">Регистр LOCAL_ADR</a></h3> <table cellSpacing="1" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" style="border-collapse: collapse" id="table13"> <tr> <td align="middle" width="6%" height="14"><b> Бит</b></td> <td align="middle" width="11%" height="14"><b> Название</b></td> <td width="66%" height="14"><b> Описание</b></td> </tr> <tr> <td align="middle" width="6%" height="14">31..0</td> <td align="middle" width="11%" height="14">ADR</td> <td width="66%" height="14"> <span lang="ru">Адрес на локальной шине</span></td> </tr> </table> <p><span lang="ru">Регистр определяет адрес на локальной шине к которому будут формироваться запросы на передачу данных.</span></p> <p> </p> <p> </p> <p> </p> <h3>Список версий</h3> <table cellSpacing="0" cellPadding="0" width="90%" border="0"> <tr> <td align="middle" width="12%" valign="top"><span lang="ru">1.0</span></td> <td align="middle" width="16%" valign="top"><span lang="ru">14.05.2009</span></td> <td width="72%" valign="top"><span lang="ru">Базовая версия</span></td> </tr> </table> <p> </p> <hr> <p> </p> </Body> </Html>