Руководство программиста 2003 г. Зао «л-кард», 117105, г. Москва, Варшавское шоссе, д. 5, корп. 4, стр тел. (095)


НазваниеРуководство программиста 2003 г. Зао «л-кард», 117105, г. Москва, Варшавское шоссе, д. 5, корп. 4, стр тел. (095)
страница9/17
ТипРуководство
1   ...   5   6   7   8   9   10   11   12   ...   17

2.1.5.Описание библиотеки API функций


В настоящем разделе приведены достаточно подробные описания переменных, структур и функций, входящих в состав штатной досовской библиотеки для плат серии L7xx. Предлагаемое программное обеспечение разрабатывалось с учетом идеологического родства плат данной серии и, следовательно, все штатные функции выполняются однотипно для различных плат. Однако существуют отличительные нюансы определенного характера при использовании штатных функций для плат типа L-783 на частотах работы АЦП выше 1 МГц. Подробнее эти отличия выявлены в § 2.1.6 “Особенности работы штатной библиотеки с платами L-783”.

2.1.5.1.Переменные и структуры

2.1.5.1.1.Структура BOARD_INFO

Структура BOARD_INFO описана в файле plx_api.h и представлена ниже:

struct BOARD_INFO

{

char Board_Name[8]; // название платы (макс. 7 символов):

// L761”, “L780”, L783” или Unknown

char BoardSerialNumber[9]; // серийный номер платы (8 символов)

unsigned BoardDspType; // тип установленного на плате DSP:

// 0 или ADSP2184_PLX для ADSP-2184,

// 1 или ADSP2185_PLX для ADSP-2185,

// 2 или ADSP2186_PLX для ADSP-2186,

// где ADSP2184_PLX, ADSP2185_PLX и

// ADSP2186_PLX - предопределенные константы.

double BoardQuartzFrequency; // частота установленного на плате кварца в кГц:

// 14745.6,

// 16667.0,

// 20000.0.

char BoardRevision; // тип ревизии платы: ‘A’, ‘B’ или ‘C’

unsigned int ConfigRegsBaseAddress; // базовый порт доступа к локальным

// регистрам PCI9050-1 или PCI9030

unsigned int IO_BaseAddress; // базовый порт (I/O) доступа к плате L7xx

unsigned long HighMemorySpaceBaseAddress; // базовый адрес памяти выше

// 1 Мб для доступа к платам L7xx

unsigned long LowMemorySpaceBaseAddress; // базовый адрес памяти ниже

// 1 Мб для доступа к платам L7xx

unsigned int IDMA_Word_Access; // используется в функциях доступа к плате

unsigned int IDMA_Array_Access; // используется в функциях доступа к плате

unsigned int IDMA_Address_Access; // используется в функциях доступа к плате

unsigned int DSP_Irq2_Access; // используется в функциях доступа к плате

unsigned int DSP_Reset_Access; // используется в функциях доступа к плате

unsigned int BoardAccessMode; // текущий режим доступа к плате под DOS:

// 0 или IO_ACCESS – через порты ввода-вывода I/O,

// 1 или LOW_MEM_ACCESS – через память, расположенную ниже 1Мб,

// 2 или HIGH_MEM_ACCESS – через память, расположенную выше 1Мб,

// 3 или NO_ACCESS_MODE – доступ к плате вообще запрещен,

// где IO_ACCESS, LOW_MEM_ACCESS, HIGH_MEM_ACCESS и

// NO_ACCESS_MODE - предопределенные константы.

unsigned int IsDacPresented; // наличие ЦАП'а на плате:

// 0 – ЦАП отсутствует,

// 1 - ЦАП присутствует,

unsigned InterruptNumber; // номер прерывания, назначенный плате

int IrqVectorNumber; // вектор прерывания этого прерывания

int IrqMask; // маска прерывания для этого прерывания

void interrupt (*OldHandlerPlx)(PARM); // старый адрес

// обработчика прерывания

int IsInterruptInProgress; // флажок нахождения в режиме

// работы по прерываниям

unsigned Bus; // используется при опросе конфиг. пространства PCI

unsigned Device; // используется при опросе конфиг. пространства PCI

unsigned Function; // используется при опросе конфиг. пространства PCI

};

Перед работой с платами серии L7xx необходимо заполнить поля данной структуры для каждой платы, с которой Вы собираетесь работать, потому что все функции входящие в API используют информацию, заложенную в нее. Для каждой платы должен быть свой экземпляр данной структуры и указатель на нее должен передаваться в качестве одного из параметров в функции штатной библиотеки. В штатной библиотеке подпрограмм (набор API-функций) для надлежащего заполнения всех полей структуры для каждой из плат серии L7xx вставленных в PC имеется соответствующая функция INIT_ACCESS_TO_PLX(struct BOARD_INFO *bi). Именно она должна вызываться в начале каждой пользовательской программы. В качестве параметра ей передается указатель на массив структур типа BOARD_INFO. Размер массива структур должен быть равен или больше количеству установленных в компьютере плат серии L7xx (можно использовать предопределенную в plx_api.h константу MAXDEVICENUMBER равную 7). Определить какой именно плате принадлежит конкретный индекс в массиве структур BOARD_INFO можно по полю BoardSerialNumber, содержащему уникальный серийный номер платы.
2.1.5.1.2.Структура PLATA_DESCR

Структура PLATA_DESCR описана в файле plx_api.h и представлена ниже:

struct PLATA_DESCR

{

char SerialNumber[9]; // серийный номер платы (8 символов)

char Name[5]; // название платы (макс. 4 символов):

// “ L761”, “L780” или “L783”

char Revision; // ревизия платы: ‘A’, ‘B’ или ‘C’

char Dsp_Type[5]; // тип установленного на плате DSP:

// “2184” для ADSP-2184,

// “2185” для ADSP-2185,

// “2186” для ADSP-2186,

long QuartzFrequency; // частота установленного на плате кварца в Гц:

// 14745600,

// 16667000,

// 20000000.

unsigned int IsDacPresented; // наличие ЦАП'а на плате:

// 0 – ЦАП отсутствует,

// 1 - ЦАП присутствует,

unsigned int ReservedWord[7]; // зарезервировано

};

Данная структура используется в функциях, которые работают со служебной областью пользовательского ППЗУ: SAVE_PLATA_DESCR_PLX(struct BOARD_INFO *bi, PLATA_DESCR *pd) и GET_PLATA_DESCR_PLX(struct BOARD_INFO *bi, PLATA_DESCR *pd). Подробности конфигурации этого ППЗУ см. § 2.1.2.3 “Формат пользовательского ППЗУ”. Структура PLATA_DESCR используется, например, в функции INIT_ACCESS_TO_PLX() при чтении служебной информации из пользовательского ППЗУ платы и заполнении соответствующих полей структуры BOARD_INFO.
2.1.5.1.3.Глобальные переменные штатной библиотеки

Глобальная переменная PLX_Board_Quantity объявлена в файле plx_api.cpp и представлена ниже:

int PLX_Board_Quantity=0; // кол-во обнаруженных плат L7xx

В пользовательской программе эту переменную необходимо описать как extern и именно в ней после выполнения функции INIT_ACCESS_TO_PLX() будет находится количество обнаруженных плат серии L7xx
2.1.5.1.4.Переменные LBIOS

Программист под DOS может напрямую работать с памятью DSP (и программ, и данных), используя библиотечные функции, которые обеспечивают доступ по каналу IDMA процессора ADSP-2184/2185/2186 как к отдельным ячейкам памяти модуля, так и к целым массивам. Эта возможность позволяет программисту работать с платой, непосредственно обращаясь к соответствующим ячейкам памяти программ либо данных. Карты распределения, как памяти программ, так и памяти данных для различных типов DSP, которые могут быть установлены на плате, приведены в приложении B.

В Таблице 7 (см. ниже) приводятся предопределенные адреса переменных LBIOS, хранящихся в памяти данных DSP, и их краткое описание. Программист может напрямую обращаться к ним, чтобы считать или изменить их содержимое. Собственно сами эти адреса являются 14ти битными, но старшие два бита в них могут задаваться в самих API-функциях для доступа к памяти данных DSP (например, GET_DM_WORD_PLX() и т.д.) в зависимости от значения поля BoardDspType структуры BOARD_INFO (тип DSP, на который настроен LBIOS). Так при использовании предопределенных констант два старших бита в этих адресах задаются как 0х2 при BoardDspType=0 (ADSP-2184) и 0х3 при BoardDspType=1 (ADSP-2185) и BoardDspType=2 (ADSP-2186). Подробности см. § 2.1.5.3 “Функции для доступа к памяти DSP”.

  1. Адреса управляющих переменных LBIOS

Название переменной

Адрес в Hex формате

Назначение переменной

L_CONTROL_TABLE_PLX

_A00

Управляющая таблица, содержащая последовательность логических номеров каналов (максимум 96). В соответствии с ней DSP производит последовательный циклический сбор данных с АЦП. Размер этой таблицы задается переменной L_CONTROL_TABLE_ LENGHT_PLX (см. ниже). По умолчанию – { 0, 1, 2, 3, 4, 5, 6, 7}

L_SCALE_PLX

_D00

Массив с 4 калибровочными коэффициентами, используемый для корректировки масштаба данных с АЦП. По умолчанию – { 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF}

L_ZERO_PLX

_D04

Массив с 4 калибровочными коэффициентами, используемый для корректировки смещения нуля данных с АЦП. По умолчанию – { 0x0, 0x0, 0x0, 0x0}

L_CONTROL_TABLE_
LENGHT_PLX


_D08

Размер управляющей таблицы (максимум 96 логических каналов). По умолчанию – 8.

L_BOARD_REVISION_
PLX


_D3F

В этой переменной хранится ревизия текущей платы: ‘A’(0x41), ‘B’(0x42) или ‘C’(0x43).

L_READY_PLX

_D40

Флажок готовности платы к дальнейшей работе. После загрузки управляющей программы в DSP, необходимо дождаться установления данного флажка в ‘1’.

L_TMODE1_PLX

_D41

Тестовая переменная. После загрузки драйвера (LBIOS) по этому адресу должно читаться число 0x5555.

L_TMODE2_PLX

_D42

Тестовая переменная. После загрузки драйвера (LBIOS) по этому адресу должно читаться число 0xAAAA.

L_DAC_IRQ_SOURCE_
PLX


_D43

Содержит информацию об источнике прерываний в РС от ЦАП платы: 0x1 – требуется пересылка очередной порции данных длиной L_DAC_IRQ_
STEP_PLX отсчётов в FIFO буфер ЦАП, 0x2 – работа ЦАП остановлена. Только для плат ревизии ‘C’ и выше.

L_DAC_ENABLE_IRQ_
VALUE_PLX


_D44

Переменная, значение которой (при выполнении соответствующей команды) передается в переменную L_DAC_ENABLE_IRQ_PLX. Только для плат ревизии ‘C’ и выше.

L_DAC_IRQ_FIFO_
ADDRESS_PLX


_D45

Если произошло прерывание в РС от ЦАП платы, то, начиная с этого адреса можно записать очередных L_DAC_IRQ_STEP_PLX отсчетов в FIFO буфер ЦАП. Только для плат ревизии ‘C’ и выше.

L_DAC_IRQ_STEP_PLX

_D46

Переменная, задающая шаг (число отсчетов) в генерировании прерываний в РС от ЦАП платы по мере необходимости в новых данных для FIFO буфера ЦАП. При помощи этой переменной можно сделать так, что прерывания в РС будут генериться, например, через каждые 20 отсчетов, выведенных на ЦАП. По умолчанию – 0х200. Только для плат ревизии ‘C’ и выше.

L_ENABLE_TTL_OUT_
PLX


_D47

Данная переменная разрешает (0х1) либо запрещает (0х0) использование выходных цифровых линий (т.е. регулирует перевод их в ‘третье’ состояние и обратно). Только для плат ревизии ‘C’ и выше.

L_DSP_TYPE_PLX

_D48

Переменная, передающая драйверу (LBIOS) тип установленного на плате DSP. Если она равна 0, то на модуле установлен ADSP-2184 (4 КСлов памяти программ и 4 КСлов памяти данных). Если она равна 1, то – ADSP-2185 (16 КСлов памяти программ и 16 КСлов памяти данных). Если она равна 2, то – ADSP-2186 (8 КСлов памяти программ и 8 КСлов памяти данных). По умолчанию L_DSP_TYPE_PLX=0.

L_COMMAND_PLX

_D49

Переменная, при помощи которой драйверу передается номер команды. Краткое описание номеров команд приведено ниже в Таблице 8.

L_TTL_OUT_PLX

_D4C

Слово (16 бит), в котором по-битово хранятся значения 16ти выходных цифровых линий для их выставления по команде C_TTL_OUT_PLX (см. Таблицу 8).

L_TTL_IN_PLX

_D4D

Слово (16 бит), в котором после выполнения команды C_TTL_IN_PLX (см. Таблицу 8) по-битово хранятся значения 16ти входных цифровых линий.

L_DAC_FIFO_PTR_PLX

_D4F

Переменная, в которой хранится текущий адрес значения, предназначенного для вывода из FIFO буфера ЦАП на сам ЦАП. Данная переменная по мере вывода данных меняет свое значение от L_DAC_FIFO_BASE_ADDRESS_PLX до L_DAC_FIFO_BASE_ADDRESS_PLX + L_DAC_FIFO_LENGTH_PLX – 1.

L_ADC_FIFO_PTR_PLX

_D50

Переменная, в которой хранится текущий адрес заполнения FIFO буфера АЦП в памяти данных DSP. Данная переменная по мере ввода данных с АЦП меняет свое значение от L_ADC_FIFO_BASE_ADDRESS_PLX до L_ADC_FIFO_BASE_ADDRESS_PLX + L_ADC_FIFO_LENGTH_PLX – 1.

L_TEST_LOAD_PLX

_D52

Тестовая переменная.

L_ADC_RATE_PLX

_D53

Переменная, задающая частоту работы АЦП.

L_INTER_KADR_
DELAY_PLX


_D54

Переменная, задающая межкадровую задержку при вводе данных с АЦП.

L_DAC_RATE_PLX

_D55

Переменная, задающая частоту вывода данных с ЦАП’ов.

L_DAC_VALUE_PLX

_D56

Величина, которую требуется однократно установить на выходе ЦАП’а.

L_ENABLE_IRQ_PLX

_D57

Данная переменная разрешает (0х1) либо запрещает (0х0) генерирование прерываний в PC от АЦП платы при соответствующем заполнении FIFO буфера АЦП. По умолчанию – 0х0.

L_IRQ_STEP_PLX

_D58

Переменная, задающая шаг (число отсчетов) в генерировании прерываний в РС от АЦП платы по мере заполнения FIFO буфера АЦП. При помощи этой переменной можно сделать так, что прерывания в РС будут генериться, например, через каждые 20 отсчетов. По умолчанию – 0х400.

L_IRQ_FIFO_
ADDRESS_PLX


_D5А

Если произошло прерывание в РС от АЦП платы, то начиная с этого адреса можно считать в РС L_IRQ_STEP_PLX отсчетов из FIFO буфера АЦП.

L_ENABLE_IRQ_
VALUE_PLX


_D5B

Переменная, значение которой (при выполнении соответствующей команды) передается в переменную L_ENABLE_IRQ_PLX.

L_ADC_SAMPLE_PLX

_D5C

Данная переменная используется при однократном вводе с АЦП, храня считанное значение.

L_ADC_CHANNEL_PLX

_D5D

Данная переменная используется при однократном вводе с АЦП, задавая логический номер канала.

L_CORRECTION_ENABLE
_PLX


_D60

Переменная запрещающая (0)/разрешающая (1) корректировку данных аналоговых каналов при помощи калибровочных коэффициентов. По умолчанию L_CORRECTION_ENABLE_PLX = 0х0.

L_ADC_ENABLE_PLX

_D62

Переменная запрещающая (0)/разрешающая (1) работу АЦП.

L_ADC_FIFO_BASE_
ADDRESS_PLX


_D63

Текущий базовый адрес FIFO буфера АЦП. По умолчанию L_ADC_FIFO_BASE_ADDRESS_ PLX = 0x2000.

L_ADC_FIFO_BASE_
ADDRESS_INDEX_PLX


_D64

Переменная, задающая базовый адрес FIFO буфера АЦП. Может принимать три значения:
0 – базовый адрес начинается с адреса 0х0 только для ADSP-2185
1 – базовый адрес начинается с адреса 0х2000 только для ADSP-2185 и ADSP-2186
2 – базовый адрес начинается с адреса 0х3000 для ADSP-2185 и ADSP-2186 и с адреса 0х2000 для ADSP-2184.

L_ADC_FIFO_
LENGTH_PLX


_D65

Текущая длина FIFO буфера АЦП. По умолчанию L_ADC_FIFO_LENGTH_PLX = 0x800.

L_ADC_NEW_FIFO_
LENGTH_PLX


_D66

Переменная, задающая длину FIFO буфера АЦП.

L_DAC_ENABLE_
STREAM_PLX


_D67

Переменная запрещающая (0)/разрешающая (1) вывод данных из FIFO буфера ЦАП на сам ЦАП.

L_DAC_FIFO_BASE_
ADDRESS_PLX


_D68

Текущий базовый адрес FIFO буфера ЦАП. Данный буфер расположен в памяти программ DSP. По умолчанию L_DAC_FIFO_BASE_ ADDRESS_PLX = 0xС00.

L_DAC_FIFO_
LENGTH_PLX


_D69

Текущая длина FIFO буфера ЦАП. По умолчанию L_DAC_FIFO_LENGTH_PLX = 0x400.

L_DAC_NEW_FIFO_
LENGTH_PLX


_D6А

Переменная, задающая длину FIFO буфера ЦАП.

L_DAC_ENABLE_IRQ_
PLX


_D6B

Данная переменная разрешает (0х1) либо запре-щает (0х0) генерирование прерываний в PC при работе с ЦАП. По умолчанию – 0х0. Только для плат ревизии ‘C’ и выше.

L_SYNCHRO_TYPE_PLX

_D70

Переменная, задающая тип синхронизации (аналоговая, цифровая или ее отсутствие).

L_SYNCHRO_AD_
CHANNEL_PLX


_D73

При аналоговой синхронизации задает логический номер канала, по которому происходит синхронизация.

L_SYNCHRO_AD_
POROG_PLX


_D74

При аналоговом типе задает порог синхронизации в кодах АЦП.

L_SYNCHRO_AD_
MODE_PLX


_D75

Переменная, задающая режим аналоговой синхронизации по переходу ‘снизу-вверх’ (0х0) или ’сверху-вниз’ (0х1).

L_SYNCHRO_AD_
SENSITIVITY_PLX


_D76

Переменная, задающая аналоговую синхронизацию по уровню (0х0) либо по переходу (0х1).
2.1.5.1.5.Номера команд штатного LBIOS

Фирменный LBIOS для плат серии L7xx работает по принципу команд, т.е. в переменной L_COMMAND драйверу передается номер команды, которую он должен выполнить. Список доступных номеров команд LBIOS приведен ниже в таблице.

  1. Номера команд LBIOS.

Название команды

Номер команды

Назначение

Используемые переменные

C_TEST_PLX

0

Проверка загрузки платы и ее работоспособности.

L_TEST_LOAD_PLX

C_LOAD_CONTROL_
TABLE_PLX


1

Загрузка управляющей таблицы в память DSP.

L_CONTROL_
TABLE_PLX,


L_CONTROL_TABLE_
LENGHT_PLX


C _ENABLE_ADC_
PLX


2

Разрешение/запрещение работы АЦП. Если работа разрешена, то заполнение FIFO буфера АЦП начинается заново.

L_ADC_ENABLE_PLX

C_ADC_FIFO_
CONFIG_PLX


3

Конфигурирование параметров FIFO буфера АЦП.

L_ADC_FIFO_BASE_
ADDRESS_PLX,


L_ADC_FIFO_BASE_
ADDRESS_INDEX_PLX,


L_ADC_FIFO_
LENGTH_PLX,


L_ADC_NEW_FIFO_
LENGTH_PLX


C_SET_ADC_
KADR_PLX


4

Установка временных параметров работы АЦП.

L_ADC_RATE_PLX,

L_INTER_KADR_
DELAY_PLX


C_ENABLE_DAC_
STREAM_PLX


5

Разрешение/запрещение потокового вывода данных из FIFO буфера ЦАП. А для плат Rev. C можно использовать при этом прерывания в РС.

L_DAC_ENABLE_
STREAM_PLX


L_DAC_IRQ_STEP_PLX

L_DAC_ENABLE_IRQ_
PLX


C_DAC_FIFO_
CONFIG_PLX


6

Конфигурирование параметров FIFO буфера ЦАП.

L_DAC_FIFO_BASE_
ADDRESS_PLX,


L_DAC_FIFO_
LENGTH_PLX,


L_DAC_NEW_FIFO_
LENGTH_PLX


C_SET_DAC_
RATE_PLX


7

Установка частоты вывода данных из FIFO буфера ЦАП’а.

L_DAC_RATE_PLX

C_ADC_SAMPLE_
PLX


8

Однократный ввод отсчета АЦП с заданного канала.

L_ADC_SAMPLE_PLX,

L_ADC_CHANNEL_PLX

C_TTL_IN_PLX

9

Получение состояния 16ти внешних цифровых линий.

L_TTL_IN_PLX

C_TTL_OUT_PLX

10

Управление 16тью внешними цифровыми линиями.

L_TTL_OUT_PLX

C_SYNCHRO_
CONFIG_PLX


11

Управление синхронизацией начала ввода данных с АЦП.

L_SYNCHRO_TYPE_PLX,

L_SYNCHRO_AD_
CHANNEL_PLX,


L_SYNCHRO_AD_
POROG_PLX,


L_SYNCHRO_AD_
MODE_PLX,


L_SYNCHRO_AD_
SENSITIVITY_PLX


C_ENABLE_IRQ_PLX

12

Разрешение/запрещение работы с АЦП по прерываниям в РС.

L_ENABLE_IRQ_PLX,

L_ENABLE_IRQ_
VALUE_PLX,


L_IRQ_STEP_PLX

C_IRQ_TEST_PLX

13

Тестовая функция для генерирования прерываний в РС с частотой примерно 300 Гц.

L_ENABLE_IRQ_PLX

C_SET_DSP_
TYPE_PLX


14

Передает в драйвер LBIOS тип установленного на плате DSP и соответствующим образом модифицирует код драйвера.

L_DSP_TYPE_PLX

C_ENABLE_TTL_
OUT_PLX


15

Управление доступом выходных цифровых линий. Для плат ревизии ‘C’ и выше при наличии перемычки на контактах 1–2 на разъёме X5 платы. См. § 1.4.3.2 “Внешний вид платы L-780M (Rev. C)”.

L_ENABLE_TTL_OUT_
PLX




1   ...   5   6   7   8   9   10   11   12   ...   17

Похожие:

Руководство программиста 2003 г. Зао «л-кард», 117105, г. Москва, Варшавское шоссе, д. 5, корп. 4, стр тел. (095) iconСтаршему судебному приставу Царицынского осп
Игнатьевой Ирины Владимировны, 29 февраля 1986 года рождения, проживает по адресу: г. Москва, ул. Воронежская, д. 4 корп. 2 кв. 2...

Руководство программиста 2003 г. Зао «л-кард», 117105, г. Москва, Варшавское шоссе, д. 5, корп. 4, стр тел. (095) icon131000, г. Москва, Варшавское шоссе, д. 37
Осп московский региональный автоматизированный сортировочный центр имени Валерия Николаевича Бугаенко филиала Федерального государственного...

Руководство программиста 2003 г. Зао «л-кард», 117105, г. Москва, Варшавское шоссе, д. 5, корп. 4, стр тел. (095) iconПрограмма семинара 2 октября 2014 года
Место проведения: г. Москва, гк «Измайлово-Альфа», Измайловское шоссе, д. 71, корп. Б

Руководство программиста 2003 г. Зао «л-кард», 117105, г. Москва, Варшавское шоссе, д. 5, корп. 4, стр тел. (095) iconПрограмма семинара 2 октября 2014 года
Место проведения: г. Москва, гк «Измайлово-Альфа», Измайловское шоссе, д. 71, корп. A

Руководство программиста 2003 г. Зао «л-кард», 117105, г. Москва, Варшавское шоссе, д. 5, корп. 4, стр тел. (095) iconРеферат, тел (095)503-8753, Руслан, вечер реферат
Все права на распростанение данного реферата принадлежат Абдрахманову Руслану (k-)- помогу качественно набрать, распечатать Ваш текст,...

Руководство программиста 2003 г. Зао «л-кард», 117105, г. Москва, Варшавское шоссе, д. 5, корп. 4, стр тел. (095) iconБильдяева Романа Александровича
Шалимова Максима Сергеевича, 07. 01. 1982 г р., (паспорт серия 45 03 896333, выдан 15. 08. 2002 г. Овд №1 увд зеленоградского округа...

Руководство программиста 2003 г. Зао «л-кард», 117105, г. Москва, Варшавское шоссе, д. 5, корп. 4, стр тел. (095) iconИзвещение о проведении открытого запроса цен
Заказчик, являющийся Организатором закупки открытого запроса цен – ао «нтц фск еэс», почтовый адрес Заказчика: 115201, Москва, Каширское...

Руководство программиста 2003 г. Зао «л-кард», 117105, г. Москва, Варшавское шоссе, д. 5, корп. 4, стр тел. (095) icon131000, г. Москва, Варшавское шоссе, д. 37
Фгуп «Почта России» (Заказчик) объявляет о проведении второго этапа двухэтапной закупки в электронной форме на поставку бланочной...

Руководство программиста 2003 г. Зао «л-кард», 117105, г. Москва, Варшавское шоссе, д. 5, корп. 4, стр тел. (095) iconКонкурсная документация
Москва, Рублёвское шоссе, д. 36, корп. 2, находящейся в федеральной собственности и закреплённой на праве хозяйственного ведения...

Руководство программиста 2003 г. Зао «л-кард», 117105, г. Москва, Варшавское шоссе, д. 5, корп. 4, стр тел. (095) iconБюллетень №4
Место нахождения общества: 115093, г. Москва, Партийный пер., д. 1, корп. 58, стр. 3

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на blankidoc.ru




При копировании материала укажите ссылку © 2024
контакты
blankidoc.ru