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/] [adm/] [reg_main_v8.htm] - Rev 2
Compare with Previous | Blame | View Log
<Html> <Head> <Title>Тетрада MAIN</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>Тетрада MAIN</h1> Версия документа: 1.4<hr> <h2>Общие сведения</h2> <table border="0" width="90%" cellpadding="6" cellspacing="1"> <tr> <td width="17%" valign="top"> <b> Назначение</b></td> <td width="83%" valign="top"> Начальное тестирование ПЛИС. <br> Распределение запросов DMA и прерываний. <br> Управление ИПН (источник программируемых напряжений), мультиплексором компараторов. <br> Управление разъёмом SYNX.</td> </tr> <tr> <td width="17%" valign="top"> <b> Модификация</b></td> <td width="83%" valign="top"> 8 - Ширина шины данных - 64 разряда. Не используются счётчики CNT0, CNT1, CNT2. Есть регистр SYNX_IN.</td> </tr> <tr> <td width="17%" valign="top"><b>Версия</b></td> <td width="83%" valign="top"> 1.4</td> </tr> <tr> <td width="17%" valign="top"><b>ID</b></td> <td width="83%" valign="top"> 1</td> </tr> </table> <h2>Состав регистров</h2> <h3>Прямые регистры</h3> <table border="2" width="90%" bordercolorlight="#000000" bordercolordark="#000000" bordercolor="#000000" cellspacing="0" cellpadding="2" style="border-collapse: collapse"> <tr> <td width="6%" align="center"><b>Название</b></td> <td width="9%" align="center"><b>Разрядность</b></td> <td width="45%"><b>Описание</b></td> </tr> <tr> <td width="6%" align="center"><a href="#Регистры STATUS, IRQ_MASK, IRQ_INV">STATUS</a></td> <td width="9%" align="center">16</td> <td width="45%"> Регистр состояния</td> </tr> <tr> <td width="6%" align="center"><a href="#Регистр DATA">DATA</a></td> <td width="9%" align="center">64</td> <td width="45%"> Регистр данных</td> </tr> <tr> <td width="6%" align="center"><a href="reg_common.htm#Регистр CMD_ADR">CMD_ADR</a></td> <td width="9%" align="center">10</td> <td width="45%"> Регистр косвенного адреса</td> </tr> <tr> <td width="6%" align="center"><a href="reg_common.htm#Регистр CMD_DATA">CMD_DATA</a></td> <td width="9%" align="center">16</td> <td width="45%"> Регистр косвенных данных</td> </tr> </table> <br> Адреса и способ доступа к прямым регистрам определяется базовым модулем. <h3> Командные регистры</h3> <table border="2" width="90%" bordercolorlight="#000000" cellspacing="0" 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%"><b> Описание</b></td> </tr> <tr> <td width="100%" align="center" colspan="3"> <p align="left"> Общие регистры</td> </tr> <tr> <td width="13%" align="center">0</td> <td width="18%" align="center"><a href="reg_common.htm#Регистр MODE0">MODE0</a></td> <td width="69%"> Регистр управления</td> </tr> <tr> <td width="13%" align="center">1</td> <td width="18%" align="center"><a href="#Регистры STATUS, IRQ_MASK, IRQ_INV">IRQ_MASK</a></td> <td width="69%"> Разрешение прерываний</td> </tr> <tr> <td width="13%" align="center">2</td> <td width="18%" align="center"><a href="#Регистры STATUS, IRQ_MASK, IRQ_INV">IRQ_INV</a></td> <td width="69%"> Инверсия условия прерывания</td> </tr> <tr> <td width="13%" align="center">3</td> <td width="18%" align="center"><a href="reg_common.htm#Регистр FMODE">FMODE</a></td> <td width="69%"> Выбор источника тактовой частоты</td> </tr> <tr> <td width="13%" align="center">4</td> <td width="18%" align="center"><a href="reg_common.htm#Регистр FDIV">FDIV</a></td> <td width="69%"> Делитель тактовой частоты</td> </tr> <tr> <td width="13%" align="center">5</td> <td width="18%" align="center"><a href="reg_common.htm#Регистр STMODE">STMODE</a></td> <td width="69%"> Регистр синхронизации</td> </tr> <tr> <td width="13%" align="center">6</td> <td width="18%" align="center"><a href="reg_common.htm#Регистр CNT0">CNT0</a></td> <td width="69%"> Не используется</td> </tr> <tr> <td width="13%" align="center">7</td> <td width="18%" align="center"><a href="reg_common.htm#Регистр CNT1">CNT1</a></td> <td width="69%"> Не используется</td> </tr> <tr> <td width="13%" align="center">8</td> <td width="18%" align="center"><a href="reg_common.htm#Регистр CNT2">CNT2</a></td> <td width="69%"> Не используется</td> </tr> <tr> <td width="100%" align="left" colspan="3"> Индивидуальные регистры</td> </tr> <tr> <td width="13%" align="center">9</td> <td width="18%" align="center"><a href="#Регистр MODE1">MODE1</a></td> <td width="69%"> Регистр управления</td> </tr> <tr> <td width="13%" align="center">10</td> <td width="18%" align="center"><sub>-</sub></td> <td width="69%"> Не используются</td> </tr> <tr> <td width="13%" align="center">11</td> <td width="18%" align="center"><sub>-</sub></td> <td width="69%"> Не используются</td> </tr> <tr> <td width="13%" align="center">12</td> <td width="18%" align="center"><span lang="en-us">TEST_MODE</span></td> <td width="69%"><span lang="en-us"> </span>Управление режимом тестирования</td> </tr> <tr> <td width="13%" align="center">13</td> <td width="18%" align="center"><a href="#Регистр SYNX">SYNX</a></td> <td width="69%"> Регистр управления разъёмом SYNX</td> </tr> <tr> <td width="13%" align="center">14</td> <td width="18%" align="center"><a href="#Регистр THDAC">THDAC</a></td> <td width="69%"> Регистр управления ИПН</td> </tr> <tr> <td width="13%" align="center">15</td> <td width="18%" align="center"><a href="#Регистр MUX">MUX</a></td> <td width="69%"> Регистр управления мультиплексором компараторов</td> </tr> <tr> <td width="13%" align="center">23..16</td> <td width="18%" align="center"><a href="#Регистр IRQENCL">SELx</a></td> <td width="69%"> Распределение запросов DMA и прерываний. x - номер регистра 0..7</td> </tr> </table> <br> <h3>Константы</h3> <table border="2" width="90%" bordercolorlight="#000000" cellspacing="0" bordercolordark="#000000" cellpadding="2" style="border-collapse: collapse"> <tr> <td width="13%" align="center"><b>Номер</b></td> <td width="20%" align="center"><b>Название</b></td> <td width="29%" align="center"><b> Значение</b></td> <td width="107%"><b> Описание</b></td> </tr> <tr> <td width="13%" align="center">0x100</td> <td width="20%" align="center"><a href="reg_common.htm#Регистр ID">ID</a></td> <td width="29%" align="center"> 1</td> <td width="107%"> Идентификатор тетрады </td> </tr> <tr> <td width="13%" align="center">0x101</td> <td width="20%" align="center"><a href="reg_common.htm#Регистр ID_MODE">ID_MOD</a></td> <td width="29%" align="center"> 1</td> <td width="107%"> Модификатор тетрады</td> </tr> <tr> <td width="13%" align="center">0x102</td> <td width="20%" align="center"><a href="reg_common.htm#Регистр VER">VER</a></td> <td width="29%" align="center"> 0x0103</td> <td width="107%"> Версия тетрады</td> </tr> <tr> <td width="13%" align="center">0x103</td> <td width="20%" align="center"><a href="reg_common.htm#Регистр TRES">TRES</a></td> <td width="29%" align="center"> 0x10</td> <td width="107%"> Ресурсы тетрады</td> </tr> <tr> <td width="13%" align="center">0x104</td> <td width="20%" align="center"><a href="reg_common.htm#Регистр FSIZE">FSIZE</a></td> <td width="29%" align="center"> 0x100</td> <td width="107%"> Размер FIFO</td> </tr> <tr> <td width="13%" align="center">0x105</td> <td width="20%" align="center"><a href="reg_common.htm#Регистр FTYPE">FTYPE</a></td> <td width="29%" align="center"> 0x40</td> <td width="107%"> Тип FIFO</td> </tr> <tr> <td width="13%" align="center">0x106</td> <td width="20%" align="center"><a href="reg_common.htm#Регистр PATH">PATH</a></td> <td width="29%" align="center"> *</td> <td width="107%"> Подключение тетрады</td> </tr> <tr> <td width="13%" align="center">0x107</td> <td width="20%" align="center"><a href="reg_common.htm#Регистр ID_NUM">ID_NUM</a></td> <td width="29%" align="center"> *</td> <td width="107%"> Номер экземпляра</td> </tr> <tr> <td width="169%" align="center" colspan="4"> <p align="left"> Индивидуальные регистры</td> </tr> <tr> <td width="13%" align="center">0x108</td> <td width="20%" align="center">SIG</td> <td width="29%" align="center">0x4953</td> <td width="107%"> Сигнатура</td> </tr> <tr> <td width="13%" align="center">0x109</td> <td width="20%" align="center">ADM_VER</td> <td width="29%" align="center"> 0x0200</td> <td width="107%"> Версия интерфейса ADM</td> </tr> <tr> <td width="13%" align="center">0x10A</td> <td width="20%" align="center">FPGA_VER</td> <td width="29%" align="center"> *</td> <td width="107%"> Версия прошивки ПЛИС</td> </tr> <tr> <td width="13%" align="center">0x10B</td> <td width="20%" align="center"> FPGA_MODE</td> <td width="29%" align="center">*</td> <td width="107%"> Модификатор прошивки ПЛИС</td> </tr> <tr> <td width="13%" align="center">0x10C</td> <td width="20%" align="center"> TMASK</td> <td width="29%" align="center">*</td> <td width="107%"> Используемые тетрады</td> </tr> <tr> <td width="13%" align="center">0x10D</td> <td width="20%" align="center"> MRES</td> <td width="29%" align="center">*</td> <td width="107%"> Ресурсы ПЛИС</td> </tr> <tr> <td width="13%" align="center">0x10E<br> 0x10F</td> <td width="20%" align="center">-</td> <td width="29%" align="center">-</td> <td width="107%"> Резерв</td> </tr> <tr> <td width="13%" align="center">0x110</td> <td width="20%" align="center">BASE_ID</td> <td width="29%" align="center">*</td> <td width="107%"> Идентификатор базового модуля</td> </tr> <tr> <td width="13%" align="center">0x111</td> <td width="20%" align="center">BASE_VER</td> <td width="29%" align="center">*</td> <td width="107%"> Версия базового модуля</td> </tr> <tr> <td width="13%" align="center">0x112</td> <td width="20%" align="center">SMOD_ID</td> <td width="29%" align="center">*</td> <td width="107%"> Идентификатор субмодуля</td> </tr> <tr> <td width="13%" align="center">0x113</td> <td width="20%" align="center">SMOD_VER</td> <td width="29%" align="center">*</td> <td width="107%"> Версия субмодуля</td> </tr> <tr> <td width="13%" align="center">0x114</td> <td width="20%" align="center">FPGA_BUILD</td> <td width="29%" align="center">*</td> <td width="107%"> Номер сборки прошивки ПЛИС</td> </tr> <tr> <td width="13%" align="center">0x115 <br>0x11F</td> <td width="20%" align="center">-</td> <td width="29%" align="center"> </td> <td width="107%"> Резерв</td> </tr> </table> <br> * - Значения определяются в конкретной прошивке ПЛИС. <h3>Непосредственные регистры</h3> <table border="2" width="90%" bordercolorlight="#000000" cellspacing="0" bordercolordark="#000000" height="47" cellpadding="2" style="border-collapse: collapse"> <tr> <td width="13%" align="center" height="14"><b>Номер</b></td> <td width="18%" align="center" height="14"><b>Название</b></td> <td width="69%" height="14"><b> Описание</b></td> </tr> <tr> <td width="13%" align="center" height="13">0x200</td> <td width="18%" align="center" height="13"><a href="#Регистр IRQENST">IRQENST</a></td> <td width="69%" height="13"> Регистр установки разрешения прерывания</td> </tr> <tr> <td width="13%" align="center" height="14">0x201</td> <td width="18%" align="center" height="14"><a href="#Регистр IRQENCL">IRQENCL</a></td> <td width="69%" height="14"> Регистр сброса разрешения прерывания</td> </tr> <tr> <td width="13%" align="center" height="14">0x202</td> <td width="18%" align="center" height="14"><a href="#Регистр SYNX_IN">SYNX_IN</a></td> <td width="69%" height="14"> Регистр состояния разъёма SYNX</td> </tr> </table> <br> <h2>Описание</h2> <p>Тетрада MAIN предназначена для управления общими ресурсами ПЛИС ADM и начального тестирования ПЛИС.</p> <h3><a name="Начальное тестирование ПЛИС">Начальное тестирование ПЛИС</a> </h3> <p>После загрузки прошивки или после сброса <span lang="ru">ПЛИС</span> находится в тестовом режиме работы. В этом режиме чтение по любому адресу приводит к чтению регистра DATA. Тетрада содержит сдвиговый регистр, при чтении регистра DATA выводится текущее значение сдвигового регистра, регистр сдвигается на один разряд влево и в младший разряд помещается инверсное значение старшего разряда.<br> Получаемые значения:<br> 0000....0001<br> 0000....0011<br> 0000....0111<br> 0000....1111<br> ............<br> 0111....1111<br> 1111....1111<br> 1111....1110<br> 1111....1100<br> По чтению регистра можно проверить подключение шины данных к процессору.<br> При записи по любому адресу в ПЛИС происходит запись младших разрядов шины адреса в сдвиговый регистр. Число записываемых разрядов адреса определяется базовым модулем, в остальные разряды сдвигового регистра записывается содержимое шины данных. При последующем чтении сдвигового возвращается значение шины адреса. В цикле производится запись по всем адресам и контроль каждого адреса, при этом проверяем подключение шины адреса.<br> Для переключения в рабочий режим требуется записать 1 в разряде 0 слова данных по любому адресу.<br> Для переключения в тестовый режим требуется записать 1 в разряде регистра DATA. При переключении между режимами сдвиговый регистр устанавливается в 0.<br> После переключения в рабочий режим проверяется формирование прерываний и чтение из регистра DATA в режиме DMA. Проверка производится для каждого канала DMA. </p> <p><span lang="ru">Если в рабочем режиме провести сброс </span>FIFO<span lang="ru">, то это приведёт к обнулению сдвигового регистра, при этом ПЛИС останется в рабочем режиме.</span></p> <h3><a name="Распределение прерываний и каналов DMA">Распределение прерываний и каналов DMA</a></h3> <p>Для распределения прерываний и каналов DMA предназначены регистры SEL0..SEL7.<br> Существует различие в назначении регистров при распределении прерываний и запросов DMA.<br> <b><br> Прерывания:<br> </b>Номер регистра определяет номер <b><u>тетрады</u></b>. Значение регистра определяет номер <b><u>прерывания</u></b>.<br> <br> <b>DMA:<br> </b>Номер регистра определяет номер <b><u>канала DMA.</u></b> Значение регистра определяет номер <b><u>тетрады</u></b>.<br> <br> Используемые прерывания, каналы DMA, режимы работы каналов DMA определяются базовым модулем. Конкретное назначение разрядов регистров SEL0..SEL7 приводится в описании конкретной прошивки ПЛИС. </p> <h3>Управление ресурсами</h3> <p>Регистр SYNX управляет разъёмом межмодульной синхронизации SYNX. Через этот регистр можно установить значение сигналов RDY0, RDY1, START_EN. В тестовом режиме возможно также управление сигналами SYNC0 и ENCODE;</p> <p>Регистр MUX управляет мультиплексором стартовых компараторов. Значение мультиплексора определяет источник входного сигнала на компараторах.</p> <p>Регистр THDAC управляет источником программируемых напряжений, который используется для установки порогов срабатывания компараторов и для формирования опорных уровней сигналов для субмодуля ADM. Запись в регистр возможно только при значении разряда CMD_RDY=1 в регистре STATUS.</p> <h2>Описание регистров тетрады MAIN</h2> Описание общих регистров управления приводится в документе RG040006 reg_common.htm <br> <h3> <a name="Регистры STATUS, IRQ_MASK, IRQ_INV"> Регистры STATUS, IRQ_MASK, IRQ_INV</a></h3> <table border="2" width="90%" bordercolorlight="#000000" cellspacing="0" bordercolordark="#000000" cellpadding="2" style="border-collapse: collapse"> <tr> <td width="5%" align="center"><b> Бит</b></td> <td width="6%" align="center"><b> Название</b></td> <td width="66%"><b> Описание</b></td> </tr> <tr> <td width="5%" align="center">0</td> <td width="6%" align="center">CMD_RDY</td> <td width="66%"> 1 - готовность к выполнению команды</td> </tr> <tr> <td width="5%" align="center">1</td> <td width="6%" align="center">RDY</td> <td width="66%"> Всегда 1</td> </tr> <tr> <td width="5%" align="center">2</td> <td width="6%" align="center">EF</td> <td width="66%"> Всегда 1</td> </tr> <tr> <td width="5%" align="center">3</td> <td width="6%" align="center">PAE</td> <td width="66%"> Всегда 1</td> </tr> <tr> <td width="5%" align="center">4</td> <td width="6%" align="center">HF</td> <td width="66%"> Всегда 0</td> </tr> <tr> <td width="5%" align="center">5</td> <td width="6%" align="center">PAF</td> <td width="66%"> Всегда 1</td> </tr> <tr> <td width="5%" align="center">6</td> <td width="6%" align="center">FF</td> <td width="66%"> Всегда 1</td> </tr> <tr> <td width="5%" align="center">7</td> <td width="6%" align="center">OVR</td> <td width="66%"> Всегда 0</td> </tr> <tr> <td width="5%" align="center">8</td> <td width="6%" align="center">UND</td> <td width="66%"> Всегда 0</td> </tr> <tr> <td width="77%" align="center" colspan="3"> <p align="left"> Разъём SYNX</td> </tr> <tr> <td width="5%" align="center">9</td> <td width="6%" align="center">SN_RDY0</td> <td width="66%"> Значение сигнала RDY0 </td> </tr> <tr> <td width="5%" align="center">10</td> <td width="6%" align="center">SN_RDY1</td> <td width="66%"> Значение сигнала RDY1</td> </tr> <tr> <td width="5%" align="center">11</td> <td width="6%" align="center">START</td> <td width="66%"> Значение сигнала START</td> </tr> <tr> <td width="5%" align="center">12</td> <td width="6%" align="center">START_EN</td> <td width="66%"> Значение сигнала START_EN</td> </tr> <tr> <td width="5%" align="center">13</td> <td width="6%" align="center">SYNC0</td> <td width="66%"> Значение сигнала SYNC0</td> </tr> <tr> <td width="77%" align="center" colspan="3"> <p align="left"> Компараторы</td> </tr> <tr> <td width="5%" align="center">14</td> <td width="6%" align="center">CMP0</td> <td width="66%"> Значение выхода компаратора 0</td> </tr> <tr> <td width="5%" align="center">15</td> <td width="6%" align="center">CMP1</td> <td width="66%"> Значение выхода компаратора 1</td> </tr> </table> <p>Разряды флагов FIFO всегда установлены в значение, которое соответствует FIFO заполненному наполовину.<br> Регистр STATUS показывает текущее значение флагов.<br> Регистр IRQ_MASK показывает разряды регистра STATUS, по которым будет формироваться прерывание. Значение 1 в разряде регистра IRQ_MASK разрешает формирование прерывания от соответствующего разряда регистра STATUS.<br> Регистр IRQ_INV определяет инверсию условия прерывания. Значение 0 в разряде регистра IRQ_INV определяет формирование прерывания по значению 1 в разряде регистре STATUS.<br> Значение 1 в разряде регистра IRQ_INV определяет формирование прерывания по значению 0 в разряде регистра STATUS.</p> <h3><a name="Регистр DATA">Регистр DATA</a></h3> <p>Разряды доступные для чтения</p> <table border="2" width="90%" cellspacing="0" bordercolorlight="#000000" bordercolordark="#000000" height="31" cellpadding="2" style="border-collapse: collapse"> <tr> <td width="9%" height="13" align="center"><b>Бит</b></td> <td width="19%" height="13" align="center"><b>Название</b></td> <td width="72%" height="13"><b> Описание</b></td> </tr> <tr> <td width="9%" height="14" align="center">63..0</td> <td width="19%" height="14" align="center">SREG</td> <td width="72%" height="14"> Данные из сдвигового регистра</td> </tr> </table> <p>Разряды доступные для записи</p> <table border="2" width="90%" cellspacing="0" bordercolorlight="#000000" bordercolordark="#000000" height="31" cellpadding="2" style="border-collapse: collapse"> <tr> <td width="9%" height="13" align="center"><b>Бит</b></td> <td width="20%" height="13" align="center"><b>Название</b></td> <td width="71%" height="13"><b> Описание</b></td> </tr> <tr> <td width="9%" height="14" align="center">0</td> <td width="20%" height="14" align="center">TMODE_CLR</td> <td width="71%" height="14"> 1 - установка рабочего режима</td> </tr> <tr> <td width="9%" height="14" align="center">1</td> <td width="20%" height="14" align="center">TMODE_SET</td> <td width="71%" height="14"> 1 - установка тестового режима</td> </tr> <tr> <td width="9%" height="14" align="center">(a-1)..0</td> <td width="20%" height="14" align="center">-</td> <td width="71%" height="14"> Не используются</td> </tr> <tr> <td width="9%" height="14" align="center">63..a</td> <td width="20%" height="14" align="center">SREG</td> <td width="71%" height="14"> Данные для записи в сдвиговый регистр</td> </tr> </table> <p> a - число используемых линий адреса в конкретной прошивке ПЛИС.<br> При записи в сдвиговый регистр в разряды (a-1)..0 будет записан адрес, по которому производится обращение. При установленном тестовом режиме, запись по любому адресу приводит к записи в регистр DATA.</p> <h3><a name="Регистр MODE1">Регистр MODE1</a></h3> <p>Регистр MODE1 предназначен для управления некоторыми общими ресурсами ПЛИС. Значение разрядов этого регистра определяется конкретной прошивкой ПЛИС.</p> <h3><a name="Регистр SYNX0">Регистр <span lang="en-us">TEST_MODE</span></a></h3> Регистр управления разъёмом SYNX<br> <table border="2" width="90%" cellspacing="0" bordercolorlight="#000000" bordercolordark="#000000" height="31" cellpadding="2" style="border-collapse: collapse" id="table3"> <tr> <td width="9%" height="13" align="center"><b>Бит</b></td> <td width="20%" height="13" align="center"><b>Название</b></td> <td width="71%" height="13"><b> Описание</b></td> </tr> <tr> <td width="9%" height="14" align="center">0</td> <td width="20%" height="14" align="center"><span lang="en-us">PSD</span></td> <td width="71%" height="14"> 1 - генерация псевдослучайной последовательности</td> </tr> <tr> <td width="9%" height="14" align="center">15<span lang="en-us">..</span>1</td> <td width="20%" height="14" align="center"><span lang="en-us">-</span></td> <td width="71%" height="14"><span lang="en-us"> </span>Не используются</td> </tr> </table> <p>Бит <span lang="en-us">PSD </span>включает режим формирования псевдослучайной последовательности. При каждом чтении в младший бит регистра вводится значение <span lang="en-us">X[63] xor x[62] xor x[60] xor x[59]. </span>После включения режима необходимо выполнить сброс <span lang="en-us">FIFO </span> тетрады. Начальное значение регистра после сброса <span lang="en-us"> 0x0002;</span></p> <h3><a name="Регистр SYNX">Регистр SYNX</a></h3> Регистр управления разъёмом SYNX<br> <table border="2" width="90%" cellspacing="0" bordercolorlight="#000000" bordercolordark="#000000" height="31" cellpadding="2" style="border-collapse: collapse"> <tr> <td width="9%" height="13" align="center"><b>Бит</b></td> <td width="20%" height="13" align="center"><b>Название</b></td> <td width="71%" height="13"><b> Описание</b></td> </tr> <tr> <td width="9%" height="14" align="center">0</td> <td width="20%" height="14" align="center">RDY0</td> <td width="71%" height="14"> 1 - готовность 0</td> </tr> <tr> <td width="9%" height="14" align="center">1</td> <td width="20%" height="14" align="center">RDY1</td> <td width="71%" height="14"> 1 - готовность 1</td> </tr> <tr> <td width="9%" height="14" align="center">3..2</td> <td width="20%" height="14" align="center">-</td> <td width="71%" height="14"> Не используются</td> </tr> <tr> <td width="9%" height="14" align="center">4</td> <td width="20%" height="14" align="center">RDY0_OE</td> <td width="71%" height="14"> 0 - разрешение выхода RDY0</td> </tr> <tr> <td width="9%" height="14" align="center">5</td> <td width="20%" height="14" align="center">RDY1_OE</td> <td width="71%" height="14"> 0 - разрешение выхода RDY1</td> </tr> <tr> <td width="9%" height="14" align="center">11..6</td> <td width="20%" height="14" align="center">- </td> <td width="71%" height="14"> Не используются</td> </tr> <tr> <td width="9%" height="14" align="center">12</td> <td width="20%" height="14" align="center">START_EN</td> <td width="71%" height="14"> 0 - разрешение сбора данных</td> </tr> <tr> <td width="9%" height="14" align="center">13</td> <td width="20%" height="14" align="center">SYNC0</td> <td width="71%" height="14"> Значение выхода SYNC0</td> </tr> <tr> <td width="9%" height="14" align="center">14</td> <td width="20%" height="14" align="center">ENCODE</td> <td width="71%" height="14"> Значение выхода ENCODE (только при установке SYNX_TEST_MODE=1)</td> </tr> <tr> <td width="9%" height="14" align="center">15</td> <td width="20%" height="14" align="center">SYNX_TEST_MODE</td> <td width="71%" height="14"> 1 - тестовый режим работы разъёма SYNX</td> </tr> </table> <p><br> Сигналы RDY0, RDY1 объединяются с соответствующими сигналами на других модулях по схеме "открытый коллектор". Значение 0 выставленное хотя бы на одном модуле, устанавливает значение 0. После загрузки ПЛИС или после сброса значение регистра 0. При этом сигналы RDY0 и RDY1 на разъёме SYNX установлены в значение 0. Это означает что модуль находится в состоянии "НЕ ГОТОВ".<br> Сигналы START_EN, SYNC0 формируется только если модуль находится в режиме "MASTER". Установка режима производится в разряде MASTER регистра MODE0.</p> <p>Установка SYNX_TEST_MODE=1 переводит схему управления разъёмом SYNX в тестовый режим. В этом режиме сигналоми ENCODE и SYNC0 управляют соответствующие биты в регистре SYNX. При установке SYNX_TEST_MODE=0 сигнал ENCODE формирует узел тактирования и синхронизации тетрады, а сигнал SYNC0 управляется либо через регистр SYNX, либо внешней схемой. Это зависит от конкретной прошивки ПЛИС.</p> <h3><a name="Регистр THDAC">Регистр THDAC</a></h3> Регистр управления источником программируемых напряжений.<br> <table border="2" width="90%" cellspacing="0" bordercolorlight="#000000" bordercolordark="#000000" height="31" cellpadding="2" style="border-collapse: collapse"> <tr> <td width="9%" height="13" align="center"><b>Бит</b></td> <td width="20%" height="13" align="center"><b>Название</b></td> <td width="71%" height="13"><b> Описание</b></td> </tr> <tr> <td width="9%" height="14" align="center">7..0</td> <td width="20%" height="14" align="center">DATA</td> <td width="71%" height="14"> Данные для ИПН</td> </tr> <tr> <td width="9%" height="14" align="center">11..8</td> <td width="20%" height="14" align="center">DACADR</td> <td width="71%" height="14"> Номер ИПН (1..8)</td> </tr> <tr> <td width="9%" height="14" align="center">15..8</td> <td width="20%" height="14" align="center">-</td> <td width="71%" height="14"> Не используются</td> </tr> </table> <p>Запись в регистр возможна только если установлен бит готовности: STATUS[CMD_RDY]=1.<br> Уровень напряжения, который будет установлен на выходе ИПН, определяется по формуле:</p> <blockquote> <p>U=2.5X(DATA/128-1) [В]</p> </blockquote> <h3><a name="Регистр MUX">Регистр MUX</a></h3> Регистр управления мультиплексором компараторов.<br> <table border="2" width="90%" cellspacing="0" bordercolorlight="#000000" bordercolordark="#000000" height="30" cellpadding="2" style="border-collapse: collapse"> <tr> <td width="9%" height="13" align="center"><b>Бит</b></td> <td width="20%" height="13" align="center"><b>Название</b></td> <td width="71%" height="13"><b> Описание</b></td> </tr> <tr> <td width="9%" height="13" align="center">1..0</td> <td width="20%" height="13" align="center">COMPAR</td> <td width="71%" height="13"> Режим мультиплексора:<br> 00 - (EXTST_EXTCLK)<br> 01 - (CH0_EXTCLK)<br> 10 - (CH1_EXTCLK)<br> 11 - (CH0_CH0)</td> </tr> <tr> <td width="9%" height="14" align="center">15..2</td> <td width="20%" height="14" align="center">-</td> <td width="71%" height="14"> Не используются</td> </tr> </table> <p>Регистр определяет источники сигналов, которые будут поданы на компараторы.<br> Обозначения сигналов:</p> <blockquote> <p>EXTST - Сигнал внешнего старта. Подаётся через субмодуль ADM.<br> EXTCLK - Сигнал внешней тактовой частоты. Подаётся через разъём SDX.<br> CH0 - Сигнал канала 0 АЦП. Подаётся через субмодуль ADM.<br> CH1 - Сигнал канала 1 АЦП. Подаётся через субмодуль ADM.</p> </blockquote> <p>Формирование сигналов EXTST, CH0, CH1 определяет субмодуль ADM.</p> <h3><a name="Регистры SELx">Регистры SELx</a></h3> <p>Регистры выбора прерывания и канала DMA. x - номер регистра 0..7</p> <table border="2" width="90%" cellspacing="0" bordercolorlight="#000000" bordercolordark="#000000" height="30" cellpadding="2" style="border-collapse: collapse"> <tr> <td width="9%" height="13" align="center"><b>Бит</b></td> <td width="20%" height="13" align="center"><b>Название</b></td> <td width="71%" height="13"><b> Описание</b></td> </tr> <tr> <td width="9%" height="13" align="center">3..0</td> <td width="20%" height="13" align="center">IRQ_NUM</td> <td width="71%" height="13"> Номер прерывания для тетрады x</td> </tr> <tr> <td width="9%" height="14" align="center">7..4</td> <td width="20%" height="14" align="center">-</td> <td width="71%" height="14"> Не используются</td> </tr> <tr> <td width="9%" height="14" align="center">11..8</td> <td width="20%" height="14" align="center">DRQ_TRD</td> <td width="71%" height="14"> Номер тетрады для канала DMA x</td> </tr> <tr> <td width="9%" height="14" align="center">12</td> <td width="20%" height="14" align="center">DRQ_EN</td> <td width="71%" height="14"> 1 - разрешение формирования запроса DMA</td> </tr> <tr> <td width="9%" height="14" align="center">15..13</td> <td width="20%" height="14" align="center">DRQ_MODE</td> <td width="71%" height="14"> Режим работы канала DMA</td> </tr> </table> <p> Используемые прерывания, каналы DMA, режимы работы каналов DMA определяются базовым модулем. Конкретное назначение разрядов регистров SEL0..SEL7 приводится в описании конкретной прошивки ПЛИС.</p> <h3><a name="Регистр IRQENST">Регистр IRQENST</a></h3> <p>Регистр установки разрешения прерывания.</p> <table border="2" width="90%" cellspacing="0" bordercolorlight="#000000" bordercolordark="#000000" height="30" cellpadding="2" style="border-collapse: collapse"> <tr> <td width="9%" height="13" align="center"><b>Бит</b></td> <td width="20%" height="13" align="center"><b>Название</b></td> <td width="71%" height="13"><b> Описание</b></td> </tr> <tr> <td width="9%" height="13" align="center">0</td> <td width="20%" height="13" align="center">-</td> <td width="71%" height="13"> Резерв</td> </tr> <tr> <td width="9%" height="14" align="center">1</td> <td width="20%" height="14" align="center">IRQ1</td> <td width="71%" height="14"> 1 - разрешение IRQ1</td> </tr> <tr> <td width="9%" height="14" align="center">2</td> <td width="20%" height="14" align="center">IRQ2</td> <td width="71%" height="14"> 1 - разрешение IRQ2</td> </tr> <tr> <td width="9%" height="14" align="center">3</td> <td width="20%" height="14" align="center">IRQ3</td> <td width="71%" height="14"> 1 - разрешение IRQ3</td> </tr> <tr> <td width="9%" height="14" align="center">15..4</td> <td width="20%" height="14" align="center">-</td> <td width="71%" height="14"> Не используется</td> </tr> </table> <p> Запись 1 в регистр приводит к разрешению формирования соответствующего прерывания. Запись 0 не приводит к изменению состояния разрешения прерывания. Чтение из регистра возвращает состояние разрешения соответствующих линий прерывания.</p> <h3><a name="Регистр IRQENCL">Регистр IRQENCL</a></h3> <p>Регистр сброса разрешения прерывания.</p> <table border="2" width="90%" cellspacing="0" bordercolorlight="#000000" bordercolordark="#000000" height="30" cellpadding="2" style="border-collapse: collapse"> <tr> <td width="9%" height="13" align="center"><b>Бит</b></td> <td width="20%" height="13" align="center"><b>Название</b></td> <td width="71%" height="13"><b> Описание</b></td> </tr> <tr> <td width="9%" height="13" align="center">0</td> <td width="20%" height="13" align="center">-</td> <td width="71%" height="13"> Резерв</td> </tr> <tr> <td width="9%" height="14" align="center">1</td> <td width="20%" height="14" align="center">IRQ1</td> <td width="71%" height="14"> 1 - разрешение IRQ1</td> </tr> <tr> <td width="9%" height="14" align="center">2</td> <td width="20%" height="14" align="center">IRQ2</td> <td width="71%" height="14"> 1 - разрешение IRQ2</td> </tr> <tr> <td width="9%" height="14" align="center">3</td> <td width="20%" height="14" align="center">IRQ3</td> <td width="71%" height="14"> 1 - разрешение IRQ3</td> </tr> <tr> <td width="9%" height="14" align="center">15..4</td> <td width="20%" height="14" align="center">-</td> <td width="71%" height="14"> Не используется</td> </tr> </table> <p> Запись 1 в регистр приводит к сбросу разрешения соответствующего прерывания. Запись 0 не приводит к изменению состояния разрешения прерывания. </p> <p> </p> <h3> <a name="Регистр SYNX_IN">Регистр SYNX_IN</a></h3> <table border="2" width="90%" bordercolorlight="#000000" cellspacing="0" bordercolordark="#000000" cellpadding="2" style="border-collapse: collapse" id="table1"> <tr> <td width="5%" align="center"><b> Бит</b></td> <td width="6%" align="center"><b> Название</b></td> <td width="66%"><b> Описание</b></td> </tr> <tr> <td width="5%" align="center">8..0</td> <td width="6%" align="center">-</td> <td width="66%">Всегда 0</td> </tr> <tr> <td width="5%" align="center">9</td> <td width="6%" align="center">SN_RDY0</td> <td width="66%"> Значение сигнала RDY0 </td> </tr> <tr> <td width="5%" align="center">10</td> <td width="6%" align="center">SN_RDY1</td> <td width="66%"> Значение сигнала RDY1</td> </tr> <tr> <td width="5%" align="center">11</td> <td width="6%" align="center">START</td> <td width="66%"> Значение сигнала START</td> </tr> <tr> <td width="5%" align="center">12</td> <td width="6%" align="center">START_EN</td> <td width="66%"> Значение сигнала START_EN</td> </tr> <tr> <td width="5%" align="center">13</td> <td width="6%" align="center">SYNC0</td> <td width="66%"> Значение сигнала SYNC0</td> </tr> <tr> <td width="5%" align="center">14</td> <td width="6%" align="center">ENCODE</td> <td width="66%"> Значение сигнала ENCODE</td> </tr> <tr> <td width="5%" align="center">15</td> <td width="6%" align="center">SYNX_TEST_MODE</td> <td width="66%"> Значение бита SYNX_TEST_MODE в регистре SYNX</td> </tr> </table> <p> Регистр SYNX_IN показывает текущее состояние разъёма SYNX. В отличие от регистра STATUS в регистр SYNX добавлен сигнал ENCODE.</p> <h3>Соответствие полям регистра SYNX возможных обозначений выводов разъема SYNX</h3> <table border="2" width="49%" bordercolorlight="#000000" cellspacing="0" bordercolordark="#000000" cellpadding="2" style="border-collapse: collapse" id="table2"> <tr> <td width="12%" align="center"><b> Регистр SYNX</b></td> <td width="14%" align="center"><b>Возможные обозначения разъема SYNX</b></td> </tr> <tr> <td width="12%" align="center">RDY0</td> <td width="14%" align="center">RDY1 / SYNX0</td> </tr> <tr> <td width="12%" align="center">RDY1</td> <td width="14%" align="center">RDY2 / SYNX1</td> </tr> <tr> <td width="12%" align="center">START_EN</td> <td width="14%" align="center">SYNC1</td> </tr> </table> <h3>Список версий тетрады</h3> <table cellSpacing="0" cellPadding="2" width="90%" border="0"> <tr> <td align="middle" width="12%" valign="top">1.0</td> <td align="middle" width="16%" valign="top">31.08.2005</td> <td width="72%" valign="top"> Базовая версия</td> </tr> <tr> <td align="middle" width="12%" valign="top">1.1</td> <td align="middle" width="16%" valign="top">09.11.2005</td> <td width="72%" valign="top"> добавлена таблица соответствия полям регистра SYNX возможных обозначений выводов разъема SYNX</td> </tr> <tr> <td align="middle" width="12%" valign="top"><span lang="ru">1.2</span></td> <td align="middle" width="16%" valign="top"><span lang="ru">06.12.2006</span></td> <td width="72%" valign="top"><span lang="ru"> Исправлено формирование сигнала запроса </span>DMA. <span lang="ru">Сброс сдвигового регистра производиться по сбросу </span>FIFO</td> </tr> <tr> <td align="middle" width="12%" valign="top">1.3</td> <td align="middle" width="16%" valign="top">26.03.2009</td> <td width="72%" valign="top"> <span lang="ru">Добавлен выход запроса </span>DMA</td> </tr> <tr> <td align="middle" width="12%" valign="top">1.4</td> <td align="middle" width="16%" valign="top">10.06.2010</td> <td width="72%" valign="top"> Добавлены входы <span lang="en-us">IRQ, DRQ </span>для тетрад 8-15<span lang="en-us">; </span>Добавлен регистр <span lang="en-us">TEST_MODE - </span>формирование псевдослучайной последовательности.</td> </tr> </table> <p> </p> <p> </p> <blockquote> <p><br> </p> </blockquote> <p> </p> <hr> </Body> </Html>