CANNY 7.2 MGX. Драйвер каналов ввода-вывода

Общее описание

Пользователям CANNY 7.2 MGX доступны 6 силовых выходов верхнего плеча, 2 силовых выхода нижнего плеча, 4 универсальных входа-счетчика с конфигурируемыми АЦП, 2 аналоговых входа с конфигурируемыми АЦП, 2 универсальных канала ввода-вывода, которые могут работать как в режимах выходов, так и входов. Каналы контроллера физически представлены определенными контактами разъемов №№1…6. Записывая и считывая данные соответствующих регистров драйвера, функциональная диаграмма может управлять электрическим потенциалом на выходах и получать информацию о текущем значении потенциала на входах.

Физические характеристики каналов позволяют подключать к ним различные внешние цепи управления. Силовые выходы могут быть использованы для работы с любыми видами нагрузки, с током длительной нагрузки до 2,5А. Универсальные каналы ввода-вывода также могут быть использованы для работы с любыми видами нагрузки, например с электромагнитными реле, небольшими электродвигателями, светодиодами, и другими слаботочными цепями управления оборудованием. В качестве внешних источников дискретных сигналов способных управлять работой контроллера, возможно использовать механические, электромеханические и электронные кнопки и переключатели, генераторы импульсов, источники напряжения 0-24В, транзисторные выходы различной аппаратуры и т.п.

Четыре универсальных входа-счетчика с индивидуальными конфигурируемыми АЦП, с разрешением 12-бит, позволяют измерять напряжение в диапазонах 0…32В и 0…10В, а также выступать в качестве измерителей тока 0…20мА и сопротивления 0…3,2кОм.

Два аналоговых входа с индивидуальными конфигурируемыми АЦП, с разрешением 12-бит, позволяют измерять напряжение в диапазонах 0…32В и 0…10В, а также выступать в качестве измерителей тока 0…20мА.

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

Измеренные значения могут быть приведены к физическим единицам, в зависимости от конфигурации драйвера; приведенные значения доступны в специальных регистрах драйвера АЦП соответствующих каналов.

Примечание: Избегайте прямого подключения каналов 9 и 10 контроллера к электрическим цепям, в которые включены мощные нагрузки. При подключении к цепям, чья мощность превышает максимально допустимую для канала контроллера (полный ток более 100 мА), необходимо последовательно устанавливать резистор сопротивлением более 2000 Ом.

Режим и параметры работы любого из каналов задаются функциональной диаграммой. В каждый момент времени канал может работать только в одном из возможных режимов, однако допускается динамическое переопределение конфигурации канала из функциональной диаграммы в процессе ее выполнения.

Ряд драйверов контроллера CANNY 7.2 MGX, например CANNY 7.2 MGX, Драйвер UART, CANNY 7.2 MGX, Драйвер LIN, CANNY 7.2 MGX, Драйвер ВЧ ШИМ, в своей работе используют ресурсы драйвера каналов ввода-вывода и, при этом, имеют более высокий приоритет. Таким образом, при использовании указанными драйверами тех или иных каналов контроллера, доступ драйвера ввода-вывода к этим каналам невозможен.

Примечание: Выходное рабочее напряжение на каналах контроллера зависит от напряжения его питания, т.е. соответствует ему. Допускаемое напряжение на каналах, работающих в режиме входов, также не должно превышать напряжения питания контроллера.

Регистры драйвера

Параметры, определяющие режим работы и текущее состояние каналов контроллера, задаются для каналов индивидуально. Ниже приведено описание допустимых значений регистров управления работой драйвера каналов ввода-вывода.

Допустимые значения регистров управления работой каналов ввода-вывода в основных режимах.
Регистр Ожидаемые значения
Регистр включения драйвера выходных каскадов каналов 1-8 (см.примечания) ≥ 1 = включить выходные каскады каналов №№1…8, активировать возможность работы силовых выходов верхнего и нижнего плеча;
0 = выключить выходные каскады каналов №№1…8.
Регистр выходного значения канала №1

Регистр выходного значения канала №6
≥ 1 = установить на соответствующем контакте контроллера электрический потенциал соответствующий состоянию «ВКЛ» данного канала - ПЛЮС;
0 = установить на соответствующем контакте контроллера электрический потенциал соответствующий состоянию «ВЫКЛ» данного канала - нейтральное (воздух).
Порог срабатывания защиты от перегрузки выходного каскада канала №1, мА

Порог срабатывания защиты от перегрузки выходного каскада канала №6, мА
0…32760 = установить для соответствующего силового выхода значение тока, в миллиамперах, превышение которого будет расцениваться контроллером как перегрузка канала
Регистр выходного значения канала №7
Регистр выходного значения канала №8
≥ 1 = установить на соответствующем контакте контроллера электрический потенциал соответствующий состоянию «ВКЛ» данного канала - GND;
0 = установить на соответствующем контакте контроллера электрический потенциал соответствующий состоянию «ВЫКЛ» данного канала - нейтральное (воздух).
Регистр выходного значения канала №9
Регистр выходного значения канала №10
≥ 1 = установить на соответствующем контакте контроллера электрический потенциал соответствующий состоянию «ВКЛ» данного канала - ПЛЮС;
0 = установить на соответствующем контакте контроллера электрический потенциал соответствующий состоянию «ВЫКЛ» данного канала - подтяжка к минусу 200кОм.
Регистр подтяжки к плюсу канала №9

Регистр подтяжки к плюсу канала №14
≥ 1 = включить на указанном канале контроллера подтяжку к плюсу, установить на нем в состоянии «ВЫКЛ» слабый положительный потенциал;
0 = выключить на указанном канале контроллера подтяжку к плюсу, установить на нем в состоянии «ВЫКЛ» исходный потенциал - подтяжка к минусу 200кОм.
Регистр инверсии входного значения канала №9

Регистр инверсии входного значения канала №16
≥ 1 = установить на соответствующем контакте контроллера инверсное (отрицательное) значение потенциала входного сигнала, принимаемого за состояние «ВКЛ» (логическую 1);
0 = установить на соответствующем контакте контроллера обычное (положительное) значение потенциала входного сигнала, принимаемого за состояние «ВКЛ» (логическую 1).
Регистр включения активного режима / счетчика передних фронтов канала №9

Регистр включения активного режима / счетчика передних фронтов канала №14
≥ 1 = перевести канал в активный режим / активировать режим входа-счетчика передних,восходящих фронтов (переключений потенциала «GND» на положительный потенциал);
0 = перевести канал в пассивный режим / отключить режим входа-счетчика передних фронтов.
Регистр включения активного режима / счетчика задних канала №9

Регистр включения активного режима / счетчика задних фронтов канала №14
≥ 1 = перевести канал в активный режим / активировать режим входа-счетчика задних, нисходящих, фронтов (переключений потенциала положительного потенциала на потенциал «GND»);
0 = перевести канал в пассивный режим / отключить режим входа-счетчика задних фронтов.
Регистр включения режима счетчика энкодера канала №9 в паре с каналом №10
Регистр включения режима счетчика энкодера канала №11 в паре с каналом №12
счетчика энкодера канала энкодера счетчика канала №13 в паре с каналом №14
≥ 1 = включить режим счетчика энкодера, изменять значение счетчика канала в зависимости от состояния вспомогательного канала (см.раздел “Режим счетчика энкодера”);
0 = отключить режим счетчика энкодера.
Регистр конфигурации аналого- цифрового преобразователя канала №11

Регистр конфигурации аналого- цифрового преобразователя канала №16
0…N = установить режим работы аналого-цифрового преобразователя соответствующего канала (см.раздел “Режим аналого-цифрового преобразователя (АЦП)”).

Примечание: Между первым с момента восстановления питания контроллера включением выходных каскадов каналов №№1…8 и их готовностью к работе проходит период времени равный ~150мс, необходимый для их корректной активации и калибровки.

Примечание: Контроль потенциалов на входах контроллера выполняется постоянно, дополнительно конфигурировать канал для работы в качестве входа не требуется. По умолчанию, входы настроены как положительные, т.е. за логическую единицу принимается положительный потенциал. Изменение настроек работы входов может выполняться независимо для каждого из каналов с помощью регистра инверсии входного значения соответствующего канала.

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

Регистры контроля драйвера каналов ввода-вывода разделяются на содержащие информацию о состоянии драйвера ввода-вывода в целом и на содержащие информацию о состоянии каждого канала индивидуально. Ниже приведено описание возвращаемых значений регистров контроля драйвера каналов ввода-вывода во всех основных режимах работы.

Значения возвращаемые регистрами контроля драйвера каналов ввода-вывода.
Регистр Возвращаемые значения
Регистр готовности к работе драйвера выходных каскадов каналов 1-8 (см.примечания) 1 = выходные каскады каналов №№1…8 включены и готовы к работе;
0 = выходные каскады каналов ввода-вывода №№1…8 отключены или не готовы к работе.
Регистр перегрузки канала №1

Регистр перегрузки канала №8
1 = на соответствующем контакте канала контроллера зафиксирована перегрузка;
0 = на соответствующем контакте канала контроллера перегрузка не зафиксирована, канал работает в штатном режиме.
Регистр перегрузки выхода канала ввода-вывода №9 к …
Регистр перегрузки выхода канала ввода-вывода №10
1 = на соответствующем контакте канала ввода/вывода онтроллера зафиксирована перегрузка;
0 = на соответствующем контакте канала ввода/вывода контроллера перегрузка не зафиксирована, канал работает в штатном режиме.
Показания датчика тока выходного каскада канала №1, мА

Показания датчика тока выходного каскада канала №6, мА
0…32760 = значение тока датчика указанного силового выхода, измеренное в миллиамперах.
Регистр входного значения канала №9

Регистр входного значения канала №16
1 = на соответствующем контакте контроллера установился электрический потенциал соответствующий полярности данного входа (положительный - при обычной настройке входа; «GND» - при установке инверсии входного значения);
0 = на соответствующем контакте контроллера установился электрический потенциал не соответствующий полярности данного входа («GND» - при обычной настройке входа; положительный - при установке инверсии входного значения).
Регистр значения счетчика канала №9

Регистр значения счетчика канала №14
0…65535 = число импульсов (с заданными параметрами), зарегистрированных на соответствующем контакте контроллера.
Регистр значения ширины входного импульса 1 канал 9, мкс

Регистр значения ширины входного импульса 1 канал 14, мкс
0…65535 = значение ширины импульса между предыдущим фронтом (любым, последним зафиксированным) и следующим за ним нисходящим фронтом, мкс (см.примечание)
Регистр значения ширины входного импульса 2 канал 9, мкс

Регистр значения ширины входного импульса 2 канал 14, мкс
0…65535 = значение ширины импульса между предыдущим фронтом (любым, последним зафиксированным) и следующим за ним восходящим фронтом, мкс (см.примечание)
Регистр контроля достоверности показаний аналого-цифрового преобразователя канала №11

Регистр контроля достоверности показаний аналого-цифрового преобразователя канала №16
1 = измеренное и доступное в соответствующем регистре значение АЦП указанного канала является корректным и может быть использовано в диаграмме;
0 = измеренное и доступное в соответствующем регистре значение АЦП указанного канала не является корректным и не может быть использовано в диаграмме.
Регистр приведенного значения АЦП канала №11

Регистр приведенного значения АЦП канала №16
0…32760 = значение АЦП, измеренное на соответствующем канале контроллера, приведенное к физическим единицам (мВ, мкА, Ом), в соответствии с конфигурацией его аналого-цифрового преобразователя.
Регистр значения АЦП канала №11

Регистр значения АЦП канала №16
0…4095 = значение АЦП, измеренное на соответствующем канале контроллера.

Примечание: Между первым с момента восстановления питания контроллера включением выходных каскадов каналов №№1…8 и их готовностью к работе проходит период времени равный ~150мс, необходимый для их корректной активации и калибровки.

Примечание: В силу особенностей микросекундного таймера, в регистрах значения ширины входных импульсов отображаются величины равные ширине импульса, выраженной в единицах таймера. Одна единица таймера составляет 1,066(6) микросекунд. Таким образом, для получения действительного значения ширины входных импульсов в микросекундах значения соответствующих регистров нужно умножать на 1,067.

Исходное состояние каналов

Каналы автоматически переводятся в исходное состояние в следующих случаях:

  • при работе контроллера в режиме загрузки программного обеспечения;
  • при работе контроллера в автономном режиме, если конфигурация канала не задана, задана константой «Нейтральное состояние» или значением «0»;
  • в момент программного сброса или сброса питания контроллера, до перехода в автономный режим и начала исполнения функциональной диаграммы;
  • в случае аварии контроллера или отказа системного программного обеспечения.

Выходные каналы

Выходные каналы CANNY 7.2 MGX, а также универсальные каналы ввода вывода, устанавливают на соответствующих им контактах контроллера электрический потенциал соответствующий состоянию «ВКЛ» при записи ненулевого значения в регистр выходного значения канала, и устанавливает на соответствующем контакте контроллера электрический потенциал соответствующий состоянию «ВЫКЛ» при записи значения «0» в регистр выходного значения канала.

Примечание: Выходное рабочее напряжение на каналах контроллера соответствует напряжению питания контроллера.

Выходные каналы контроллера имеют фиксированную полярность: каналы №№1…6 - выходы верхнего плеча; каналы №№7 и 8 - выходы нижнего плеча; универсальные каналы ввода-вывода №№9 и 10 - положительные выходы.

Примечание: При использовании универсальных каналов ввода-вывода №№9 и 10 в качестве выходов пользователь, с помощью регистров входного значения этих каналов, может контролировать фактическое наличие электрического потенциала на их контактах, что позволяет организовать, в случае необходимости, обратную связь.

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

Входные каналы

В процессе выполнения пользовательской диаграммы, текущее значение потенциала на контактах контроллера, соответствующих универсальным каналам ввода-вывода №№9 и 10, а также на универсальных входах №№11…14 и аналоговых входах №№15 и 16, может быть определено с помощью регистров входного значения соответствующего канала, в котором, по умолчанию, возвращается значение «1», если на соответствующем контакте контроллера установился положительный электрический потенциал и возвращается значение «0», когда на соответствующем контакте контроллера установился электрический потенциал «GND». Настройка контролируемых потенциалов на контактах контроллера может быть изменена с помощью регистра инверсии входного значения канала.

Режим дискретного входа контроллера включен постоянно.

Входы №№9…14 могут использоваться как в пассивном, так и в активном режиме, в том числе в режиме счетчиков передних / задних фронтов.

Режимы работы входных каналов контроллера.
Параметр Перечень допустимых значений
Полярность входа ПЛЮС (по умолчанию); МИНУС (в состоянии инверсии входного потенциала).
Режим ожидания активный / счетчик передних фронтов; активный / счетчик задних фронтов; пассивный.

Изменение потенциала на контакте канала, находящегося в режиме активного ожидания, приведет к немедленному автоматическому выходу контроллера из режима пониженного энергопотребления. Изменение потенциала на контакте канала, находящегося в режиме пассивного ожидания, не повлияет на режим энергопотребления контроллера.

Входные каналы контроллера работают с максимальной чувствительностью, т.е. «защита от дребезга» не предусмотрена и должна быть реализована, при необходимости, в функциональной диаграмме.

Пример функциональной диаграммы, включающей встроенный зеленый светодиод контроллера при поступлении и удержании в течение не менее 200мс на контакте контроллера, соответствующего каналу №9, отрицательного потенциала.

Режим счетчика

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

Примечание: Под передним фронтом контроллером понимается изменение на заданном его контакте потенциала с отрицательного («GND») на положительный (напряжение питания контроллера), под задним фронтом - изменение потенциала с положительного (напряжение питания контроллера) на отрицательный (GND).

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

Асинхронный режим подсчета позволяет добиться большей точности подсчета количества поступивших импульсов и регистрировать сигналы большей частоты, чем при организации счетчика импульсов средствами функциональной диаграммы.

В режиме счетчика, канал всегда находится в активном ожидании с максимальной чувствительностью.

Сконфигурированный для работы в режиме счетчика входной канал возвращает в регистре значения счетчика число импульсов, соответствующее: суммарному количеству переключений электрического потенциала на соответствующем контакте контроллера из состояния <3,2…4В в состояние >=3,2…4В, при включенном регистре счетчика передних фронтов; суммарному количеству переключений электрического потенциала на соответствующем контакте контроллера из состояния >=3,2…4В, в состояние <3,2…4В, при включенном регистре счетчика задних фронтов.

Для перевода канала контроллера в режим входа-счетчика, необходимо записать значение «1» в соответствующий каналу «Регистр включения активного режима / счетчика передних фронтов канала №ХХ» или/и «Регистр включения активного режима / счетчика задних фронтов канала №ХХ».

Подсчет фронтов ведется накопительным итогом, с переполнением. Это означает, что при достижении значения 65535 и последующем увеличении на единицу, значение счетчика устанавливается равным нулю, и каждый последующий импульс вновь увеличивает значение счетчика на единицу. Сброс значения счетчика выполняется при отключении активного режима работы канала.

Пример функциональной диаграммы тахометра с разрешающей способностью 100 оборотов в минуту, подсчитывающем число импульсов на соответствующем каналу №9 контакте контроллера.

Определение значений ширины (длительности) импульса

Работая в режиме счетчика, входы контроллера позволяют, асинхронно функциональной диаграмме, определять длительность импульса в микросекундах. Информация о длительность импульсов доступна в специальных регистрах входных каналов.

Если активирован подсчет только передних, либо только задних фронтов, то будет определено время между приходами соответствующих фронтов, т.е фактический период получения импульсов. Если активирован, одновременно, подсчет передних и задних фронтов, то будет определено время, прошедшее между двумя соседними фронтами, т.е. один регистр будет отображать время между восходящим и следующим за ним нисходящим фронтом, другой - время между последним нисходящим и следующим за ним восходящим фронтом, а сумма этих значений даст величину периода следования импульсов.

Вариант 1. Активирован только счетчик передних фронтов.
Значение регистров для варианта 1.
Параметр Возвращаемые значения
Регистр значения ширины входного импульса 1 канал ХХ, мкс 0
Регистр значения ширины входного импульса 2 канал ХХ, мкс Т2


Вариант 2. Активирован только счетчик задних фронтов.
Значение регистров для варианта 2.
Параметр Возвращаемые значения
Регистр значения ширины входного импульса 1 канал ХХ, мкс Т1
Регистр значения ширины входного импульса 2 канал ХХ, мкс 0


Вариант 3. Активирован счетчик передних и задних фронтов.
Значение регистров для варианта 3.
Параметр Возвращаемые значения
Регистр значения ширины входного импульса 1 канал ХХ, мкс Т1
Регистр значения ширины входного импульса 2 канал ХХ, мкс Т2


Асинхронный режим подсчета позволяет добиться высокой точности определения ширины импульсов.

Примечание: В силу особенностей микросекундного таймера, в регистрах значения ширины входных импульсов отображаются величины равные ширине импульса, выраженной в единицах таймера. Одна единица таймера составляет 1,066(6) микросекунд. Таким образом, для получения действительного значения ширины входных импульсов в микросекундах значения соответствующих регистров нужно умножать на 1,067.

Пример функциональной диаграммы для определения длительности импульсов на канале №9 контроллера CANNY 7.2 MGX.

Режим счетчика энкодера

Работая в режиме счетчика, каналы №№9,11,13 контроллера, могут выступать в качестве энкодеров, увеличивая или уменьшая свое значение в зависимости от состояния каналов №№10,12,14 соответственно: если, при фиксации фронта каналом-энкодером на вспомогательном канале был установлен положительный потенциал, то произойдет увеличение значения счетчика, иначе значение счетчика будет уменьшено.

Пример функциональной диаграммы использования счетчика канала №9 контроллера CANNY 7.2 MGX в режиме энкодера.

Выполняя диаграмму контроллер отправляет в CAN0 сообщение с текущим значением счетчика-энкодера при каждом его изменении.

Режим аналого-цифрового преобразователя (АЦП)

Универсальные входы (каналы №№11…14) и аналоговые входы (каналы №№15 и 16) поддерживают работу в режиме конфигурируемых аналого-цифровых преобразователей, с разрешением 12-бит.

Каналы №№11…14 позволяют измерять напряжение в диапазонах 0…32В и 0…10В, а также выступать в качестве измерителей тока 0…20мВ и сопротивления 0…3,2кОм.

Каналы №№15 и 16 позволяют измерять напряжение в диапазонах 0…32В и 0…10В, а также выступать в качестве измерителей тока 0…20мВ.

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

Измеренные значения могут быть приведены к физическим единицам, в зависимости от конфигурации драйвера; приведенные значения доступны в специальных регистрах драйвера АЦП соответствующих каналов.

Значения констант конфигурации аналого-цифрового преобразователя контроллера.
Параметр Перечень допустимых значений
Конфигурация АЦП 0 = АЦП отключен;
1 = Режим АЦП 0-32В, мВ;
2 = Режим АЦП 0-10В, мВ;
3 = Режим АЦП 0-30мА, мкА;
4 = Режим АЦП 0-3.2кОм, Ом (кроме каналов №15 и №16).
Пример функциональной диаграммы работы с АЦП канала №11 контроллера CANNY 7.2 MGX.

Электрическая защита

Для выходных каналов, работающих в дискретном или широтно-импульсного режиме, чей ток в состоянии «ВКЛ» или «ВЫКЛ» существенно превысит значение 2500мА, либо для каналов №№1…6 - превысит установленный порог срабатывания защиты от перегрузки, системное программное обеспечение контроллера реализует автоматическую защиту от короткого замыкания/перегрузки. Защита реализована в виде переключения замкнутого канала в нейтральный режим, последующего периодического импульсного тестового включения и автоматического возврата к заданной рабочему режиму, при обнаружении устранения проблемы. Данная защита работает в полностью автоматическом режиме.

СМОТРИ ТАКЖЕ