FAQ: Что такое "логический номер канала АЦП" и как его задать?

Данная информация подробно изложена в "руководстве программиста" для каждого модуля, рекомендуется прочитать соответствующую главу ("Логический номер канала АЦП", "Логические каналы АЦП" и т.п.).

Однако поскольку вопрос очень часто возникает в техподдержке, общий принцип вынесен в FAQ.

Итак, в целом ряде изделий L-Card с входным коммутатором 16 дифференциальных каналов, 32 – с общей землёй  (L-780, L-783, E14-140M, E14-440, LTR11, E-154) применяется единообразная система кодирования последовательности и режима опроса каналов АЦП. Она заключается в следующем:

  • Заполняется таблица управляющих слов логических каналов по порядку их опроса, например: ControlTable[0], ControlTable[1] ... ControlTable[N-1];
  • Количество фактически используемых каналов N тоже передаётся в модуль (например, записывается в поле ChannelsQuantity в структуре параметров АЦП).

После запуска АЦП каналы будут опрашиваться в том порядке, в котором они перечислены в управляющей таблице. Каждый цикл из N каналов образует один кадр.

Формат управляющего слова логического канала (элемента таблицы ControlTable) в большинстве изделий схож с минимальными отличиями (так, например, в восьмиканальном E-154 задействованы не все биты). В других изделиях (например, L-791) формат управляющего слова отличается.

Примечание: В руководствах к некоторым изделиям управляющее слово логического канала называется описателем логического канала или логическим номером канала. С другой стороны, "логическим номером" можно назвать позицию управляющего слова в таблице ControlTable (0, 1, 2...), поэтому в данной статье используется понятие "управляющее слово логического канала". По сути это не что иное, как управляющее слово аналогового коммутатора, подключающего на время одного измерения входные цепи ко входу АЦП через управляемый усилитель.

Ниже описан наиболее часто встречающийся формат управляющего слова – для L-780, L-783, E14-140M, E14-440, LTR11, E-154:

В дифференциальном 16-канальном режиме:

Номера битов Двоичная маска Назначение
3..0 0x0F (0000 1111) Номер физического канала, считая от нуля
(0..15 соответствует физическим каналам 1..16)
4 0x10 (0001 0000) 0 = нормальное измерение
1 = измерение собственного нуля
(номер канала игнорируется, коэффициент усиления играет роль)
5 0x20 (0010 0000) 0 (признак дифференциального режима)
7..6 0xC0 (1100 0000) Диапазон измерений (коэффициент усиления):
00xxxxxx = наибольший диапазон (наименьшее усиление),
11xxxxxx = наименьший диапазон (наибольшее усиление).
Значения диапазонов в вольтах см. в руководстве.

В 32-канальном режиме с общей землёй:

Номера битов Двоичная маска Назначение
4..0 0x1F (0001 1111) Номер физического канала, считая от нуля
(0..31 соответствует физическим каналам 1..32)
5 0x20 (0010 0000) 1 (признак режима с общей землёй)
7..6 0xC0 (1100 0000) Диапазон измерений (коэффициент усиления):
00xxxxxx = наибольший диапазон (наименьшее усиление),
11xxxxxx = наименьший диапазон (наибольшее усиление).
Значения диапазонов в вольтах см. в руководстве.

На языке C управляющее слово можно записать, например, так:
ControlTable[i] = (gain_select << 6) | (mode << 5) | (phys_chan_no - 1),
где gain_select (0..3) – селектор диапазона (коэффициента усиления),
mode (0 или 1) – режим (0 – дифференциалый, 1 – с общей землёй),
phys_chan_no (1..16, а в режиме с общей землёй до 32) – номер физического канала, считая от 1 (как на контактах разъема).

Пример: Пусть на E14-140M необходимо опросить три канала: дифференциальный (X2-Y2) в диапазоне ±0.625В и с два общей землёй: (Y6-GND32), (X4-GND32) в диапазоне ±10В. Рассчитаем управляющие слова для этих каналов:

  1. (X2-Y2): номер физического канала 2; режим дифференциальный (бит 5 = 0); индекс диапазона измерений 2.
    Управляющее слово: ControlTable[0] = (2 << 6) | (0 << 5) | (2 - 1) = 0x80 | 0x00 | 0x01 = 0x81.
  2. (Y6-GND32): номер физического канала 22 (в режиме с общей землёй Y1 = канал 17 и т.д.); режим с общей землёй (бит 5 = 1); индекс диапазона измерений 0.
    Управляющее слово: ControlTable[1] = (0 << 6) | (1 << 5) | (22 - 1) = 0x00 | 0x20 | 0x15 = 0x35.
  3. (X4-GND32): номер физического канала 4; режим с общей землёй (бит 5 = 1); индекс диапазона измерений 0.
    Управляющее слово: ControlTable[2] = (0 << 6) | (1 << 5) | (4 - 1) = 0x00 | 0x20 | 0x03 = 0x23.

Порядок опроса каналов может быть произвольным, он не привязан к их физическим номерам. Также возможно использовать разные каналы с разными коэффициентами усиления, опрашивать один и тот же физический канал несколько раз в кадре и опрашивать одни каналы в дифференциальном режиме, а другие – в режиме с общей землей (при правильном электрическом подключении).

 

Перейти к другим статьям FAQ       Cтатья создана:11.12.2014
Последняя редакция:30.06.2017

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25
Факс: +7 (495) 785-95-14

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск

L-CARD в проектах