OpenCores
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>
&nbsp;Версия документа: 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">	Начальное тестирование ПЛИС.&nbsp; <br>
			Распределение запросов DMA и прерываний.&nbsp; <br>
			Управление ИПН (источник программируемых напряжений), мультиплексором компараторов.&nbsp; <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>
&nbsp;
 
 
<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%">&nbsp;Регистр состояния</td>
  </tr>
  <tr>
    <td width="6%" align="center"><a href="#Регистр DATA">DATA</a></td>
    <td width="9%" align="center">64</td>
    <td width="45%">&nbsp;Регистр данных</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%">&nbsp;Регистр косвенного адреса</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%">&nbsp;Регистр косвенных данных</td>
  </tr>
</table>
<br>
Адреса и способ доступа к прямым регистрам
определяется базовым модулем.
<h3>&nbsp;Командные регистры</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>&nbsp;Описание</b></td>
  </tr>
  <tr>
    <td width="100%" align="center" colspan="3">
      <p align="left">&nbsp;&nbsp;&nbsp;&nbsp; Общие регистры</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%">&nbsp;Регистр управления</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%">&nbsp;Разрешение прерываний</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%">&nbsp;Инверсия условия прерывания</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%">&nbsp;Выбор источника тактовой
      частоты</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%">&nbsp;Делитель тактовой частоты</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%">&nbsp;Регистр синхронизации</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%">&nbsp;Не используется</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%">&nbsp;Не используется</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%">&nbsp;Не используется</td>
  </tr>
  <tr>
    <td width="100%" align="left" colspan="3">&nbsp;&nbsp;
      Индивидуальные регистры</td>
  </tr>
  <tr>
    <td width="13%" align="center">9</td>
    <td width="18%" align="center"><a href="#Регистр MODE1">MODE1</a></td>
    <td width="69%">&nbsp;Регистр управления</td>
  </tr>
  <tr>
    <td width="13%" align="center">10</td>
    <td width="18%" align="center"><sub>-</sub></td>
    <td width="69%">&nbsp;Не используются</td>
  </tr>
  <tr>
    <td width="13%" align="center">11</td>
    <td width="18%" align="center"><sub>-</sub></td>
    <td width="69%">&nbsp;Не используются</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">&nbsp;</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%">&nbsp;Регистр управления разъёмом
      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%">&nbsp;Регистр управления ИПН</td>
  </tr>
  <tr>
    <td width="13%" align="center">15</td>
    <td width="18%" align="center"><a href="#Регистр MUX">MUX</a></td>
    <td width="69%">&nbsp;Регистр управления
      мультиплексором компараторов</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%">&nbsp;Распределение запросов 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>&nbsp;Значение</b></td>
    <td width="107%"><b>&nbsp;Описание</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">&nbsp;1</td>
    <td width="107%">&nbsp;Идентификатор тетрады&nbsp;</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">&nbsp;1</td>
    <td width="107%">&nbsp;Модификатор тетрады</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">&nbsp;0x0103</td>
    <td width="107%">&nbsp;Версия тетрады</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">&nbsp;0x10</td>
    <td width="107%">&nbsp;Ресурсы тетрады</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">&nbsp;0x100</td>
    <td width="107%">&nbsp;Размер 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">&nbsp;0x40</td>
    <td width="107%">&nbsp;Тип 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">&nbsp;*</td>
    <td width="107%">&nbsp;Подключение тетрады</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">&nbsp;*</td>
    <td width="107%">&nbsp;Номер экземпляра</td>
  </tr>
  <tr>
    <td width="169%" align="center" colspan="4">
      <p align="left">&nbsp; Индивидуальные регистры</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%">&nbsp;Сигнатура</td>
  </tr>
  <tr>
    <td width="13%" align="center">0x109</td>
    <td width="20%" align="center">ADM_VER</td>
    <td width="29%" align="center">&nbsp;0x0200</td>
    <td width="107%">&nbsp;Версия интерфейса ADM</td>
  </tr>
  <tr>
    <td width="13%" align="center">0x10A</td>
    <td width="20%" align="center">FPGA_VER</td>
    <td width="29%" align="center">&nbsp;*</td>
    <td width="107%">&nbsp;Версия прошивки ПЛИС</td>
  </tr>
  <tr>
    <td width="13%" align="center">0x10B</td>
    <td width="20%" align="center">&nbsp;FPGA_MODE</td>
    <td width="29%" align="center">*</td>
    <td width="107%">&nbsp;Модификатор прошивки ПЛИС</td>
  </tr>
  <tr>
    <td width="13%" align="center">0x10C</td>
    <td width="20%" align="center">&nbsp;TMASK</td>
    <td width="29%" align="center">*</td>
    <td width="107%">&nbsp;Используемые тетрады</td>
  </tr>
  <tr>
    <td width="13%" align="center">0x10D</td>
    <td width="20%" align="center">&nbsp;MRES</td>
    <td width="29%" align="center">*</td>
    <td width="107%">&nbsp;Ресурсы ПЛИС</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%">&nbsp;Резерв</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%">&nbsp;Идентификатор базового
      модуля</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%">&nbsp;Версия базового модуля</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%">&nbsp;Идентификатор субмодуля</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%">&nbsp;Версия субмодуля</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%">&nbsp;Номер сборки прошивки ПЛИС</td>
  </tr>
  <tr>
    <td width="13%" align="center">0x115
      <br>0x11F</td>
    <td width="20%" align="center">-</td>
    <td width="29%" align="center">&nbsp;</td>
    <td width="107%">&nbsp;Резерв</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>&nbsp;Описание</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">&nbsp;Регистр установки разрешения
      прерывания</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">&nbsp;Регистр сброса разрешения
      прерывания</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">&nbsp;Регистр состояния разъёма
	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>
&nbsp;&nbsp;&nbsp; 0000....0001<br>
&nbsp;&nbsp;&nbsp; 0000....0011<br>
&nbsp;&nbsp;&nbsp; 0000....0111<br>
&nbsp;&nbsp;&nbsp; 0000....1111<br>
&nbsp;&nbsp;&nbsp; ............<br>
&nbsp;&nbsp;&nbsp; 0111....1111<br>
&nbsp;&nbsp;&nbsp; 1111....1111<br>
&nbsp;&nbsp;&nbsp; 1111....1110<br>
&nbsp;&nbsp;&nbsp; 1111....1100<br>
По чтению регистра можно проверить
подключение шины данных к процессору.<br>
При записи по любому адресу в ПЛИС
происходит запись младших разрядов шины
адреса в сдвиговый регистр. Число
записываемых разрядов адреса определяется
базовым модулем, в остальные разряды
сдвигового регистра записывается
содержимое шины данных. При последующем
чтении сдвигового возвращается значение
шины адреса. В цикле производится запись по
всем адресам и контроль каждого адреса, при
этом проверяем подключение шины адреса.<br>
Для переключения в рабочий режим требуется
записать 1 в разряде 0 слова данных по любому
адресу.<br>
Для переключения в тестовый режим
требуется записать 1 в разряде регистра DATA.
При переключении между режимами
сдвиговый&nbsp; регистр устанавливается в 0.<br>
После переключения&nbsp; в рабочий режим
проверяется формирование прерываний и
чтение из регистра 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>&nbsp;Бит</b></td>
    <td width="6%" align="center"><b>&nbsp;Название</b></td>
    <td width="66%"><b>&nbsp;Описание</b></td>
  </tr>
  <tr>
    <td width="5%" align="center">0</td>
    <td width="6%" align="center">CMD_RDY</td>
    <td width="66%">&nbsp;1 - готовность к выполнению
      команды</td>
  </tr>
  <tr>
    <td width="5%" align="center">1</td>
    <td width="6%" align="center">RDY</td>
    <td width="66%">&nbsp;Всегда 1</td>
  </tr>
  <tr>
    <td width="5%" align="center">2</td>
    <td width="6%" align="center">EF</td>
    <td width="66%">&nbsp;Всегда 1</td>
  </tr>
  <tr>
    <td width="5%" align="center">3</td>
    <td width="6%" align="center">PAE</td>
    <td width="66%">&nbsp;Всегда 1</td>
  </tr>
  <tr>
    <td width="5%" align="center">4</td>
    <td width="6%" align="center">HF</td>
    <td width="66%">&nbsp;Всегда 0</td>
  </tr>
  <tr>
    <td width="5%" align="center">5</td>
    <td width="6%" align="center">PAF</td>
    <td width="66%">&nbsp;Всегда 1</td>
  </tr>
  <tr>
    <td width="5%" align="center">6</td>
    <td width="6%" align="center">FF</td>
    <td width="66%">&nbsp;Всегда 1</td>
  </tr>
  <tr>
    <td width="5%" align="center">7</td>
    <td width="6%" align="center">OVR</td>
    <td width="66%">&nbsp;Всегда 0</td>
  </tr>
  <tr>
    <td width="5%" align="center">8</td>
    <td width="6%" align="center">UND</td>
    <td width="66%">&nbsp;Всегда 0</td>
  </tr>
  <tr>
    <td width="77%" align="center" colspan="3">
      <p align="left">&nbsp;Разъём SYNX</td>
  </tr>
  <tr>
    <td width="5%" align="center">9</td>
    <td width="6%" align="center">SN_RDY0</td>
    <td width="66%">&nbsp;Значение сигнала RDY0 </td>
  </tr>
  <tr>
    <td width="5%" align="center">10</td>
    <td width="6%" align="center">SN_RDY1</td>
    <td width="66%">&nbsp;Значение сигнала RDY1</td>
  </tr>
  <tr>
    <td width="5%" align="center">11</td>
    <td width="6%" align="center">START</td>
    <td width="66%">&nbsp;Значение сигнала START</td>
  </tr>
  <tr>
    <td width="5%" align="center">12</td>
    <td width="6%" align="center">START_EN</td>
    <td width="66%">&nbsp;Значение сигнала START_EN</td>
  </tr>
  <tr>
    <td width="5%" align="center">13</td>
    <td width="6%" align="center">SYNC0</td>
    <td width="66%">&nbsp;Значение сигнала SYNC0</td>
  </tr>
  <tr>
    <td width="77%" align="center" colspan="3">
      <p align="left">&nbsp;Компараторы</td>
  </tr>
  <tr>
    <td width="5%" align="center">14</td>
    <td width="6%" align="center">CMP0</td>
    <td width="66%">&nbsp;Значение выхода компаратора 0</td>
  </tr>
  <tr>
    <td width="5%" align="center">15</td>
    <td width="6%" align="center">CMP1</td>
    <td width="66%">&nbsp;Значение выхода компаратора 1</td>
  </tr>
</table>
<p>Разряды флагов FIFO всегда установлены в
значение, которое соответствует FIFO
заполненному наполовину.<br>
Регистр STATUS показывает текущее значение
флагов.<br>
Регистр IRQ_MASK показывает&nbsp; разряды
регистра 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>&nbsp;Описание</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">&nbsp;Данные из сдвигового
      регистра</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>&nbsp;Описание</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">&nbsp;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">&nbsp;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">&nbsp;Не используются</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">&nbsp;Данные для записи в&nbsp;
      сдвиговый регистр</td>
  </tr>
</table>
<p>&nbsp;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>&nbsp;Описание</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">&nbsp;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">&nbsp;</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].&nbsp; </span>После 
включения режима необходимо выполнить сброс <span lang="en-us">FIFO </span>
тетрады. Начальное значение регистра после сброса&nbsp; <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>&nbsp;Описание</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">&nbsp;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">&nbsp;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">&nbsp;Не используются</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">&nbsp;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">&nbsp;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">&nbsp;Не используются</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">&nbsp;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">&nbsp;Значение выхода 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">&nbsp;Значение выхода 
	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">&nbsp;1 - тестовый режим работы 
	разъёма SYNX</td>
  </tr>
</table>
<p><br>
Сигналы RDY0, RDY1 объединяются с
соответствующими сигналами на других
модулях по схеме &quot;открытый коллектор&quot;.
Значение 0 выставленное хотя бы на одном
модуле, устанавливает значение 0. После
загрузки ПЛИС или после сброса значение
регистра 0. При этом сигналы RDY0 и RDY1 на
разъёме SYNX установлены в значение 0. Это
означает что модуль находится в состоянии
&quot;НЕ ГОТОВ&quot;.<br>
Сигналы START_EN, SYNC0 формируется только если
модуль находится в режиме &quot;MASTER&quot;.
Установка режима производится в разряде
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>&nbsp;Описание</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">&nbsp;Данные для ИПН</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">&nbsp;Номер ИПН (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">&nbsp;Не используются</td>
  </tr>
</table>
<p>Запись в регистр возможна только если
установлен бит готовности: STATUS[CMD_RDY]=1.<br>
Уровень напряжения, который будет
установлен на выходе ИПН, определяется по
формуле:</p>
<blockquote>
  <p>U=2.5X(DATA/128-1)&nbsp; [В]</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>&nbsp;Описание</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">&nbsp;Режим мультиплексора:<br>
      &nbsp;00 - (EXTST_EXTCLK)<br>
      &nbsp;01 - (CH0_EXTCLK)<br>
      &nbsp;10 - (CH1_EXTCLK)<br>
      &nbsp;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">&nbsp;Не используются</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.&nbsp;
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>&nbsp;Описание</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">&nbsp;Номер прерывания для
      тетрады 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">&nbsp;Не используются</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">&nbsp;Номер тетрады для
      канала 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">&nbsp;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">&nbsp;Режим работы канала 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>&nbsp;Описание</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">&nbsp;Резерв</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">&nbsp;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">&nbsp;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">&nbsp;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">&nbsp;Не используется</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>&nbsp;Описание</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">&nbsp;Резерв</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">&nbsp;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">&nbsp;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">&nbsp;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">&nbsp;Не используется</td>
  </tr>
</table>
 
<p>
Запись 1 в регистр приводит к сбросу разрешения&nbsp; 
соответствующего прерывания. Запись 0 не приводит к изменению состояния 
разрешения прерывания. </p>
 
<p>
&nbsp;</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>&nbsp;Бит</b></td>
    <td width="6%" align="center"><b>&nbsp;Название</b></td>
    <td width="66%"><b>&nbsp;Описание</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%">&nbsp;Значение сигнала RDY0 </td>
  </tr>
  <tr>
    <td width="5%" align="center">10</td>
    <td width="6%" align="center">SN_RDY1</td>
    <td width="66%">&nbsp;Значение сигнала RDY1</td>
  </tr>
  <tr>
    <td width="5%" align="center">11</td>
    <td width="6%" align="center">START</td>
    <td width="66%">&nbsp;Значение сигнала START</td>
  </tr>
  <tr>
    <td width="5%" align="center">12</td>
    <td width="6%" align="center">START_EN</td>
    <td width="66%">&nbsp;Значение сигнала START_EN</td>
  </tr>
  <tr>
    <td width="5%" align="center">13</td>
    <td width="6%" align="center">SYNC0</td>
    <td width="66%">&nbsp;Значение сигнала SYNC0</td>
  </tr>
  <tr>
    <td width="5%" align="center">14</td>
    <td width="6%" align="center">ENCODE</td>
    <td width="66%">&nbsp;Значение сигнала ENCODE</td>
  </tr>
  <tr>
    <td width="5%" align="center">15</td>
    <td width="6%" align="center">SYNX_TEST_MODE</td>
    <td width="66%">&nbsp;Значение бита 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>&nbsp;Регистр 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">&nbsp;Базовая версия</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">&nbsp;добавлена таблица 
    соответствия полям регистра 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">&nbsp;Исправлено формирование 
	сигнала запроса </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">&nbsp;<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">&nbsp;Добавлены входы <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>
&nbsp;</p>
 
<p>
&nbsp;</p>
<blockquote>
  <p><br>
  </p>
</blockquote>
<p>&nbsp;</p>
 
 
<hr>
 
 
</Body>
</Html>

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.