CANNY 7.2 Gamma. Системные ресурсы и режимы работы

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

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

Сброс контроллера

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

Информация о том, что произошел сброс доступна при обращении к регистру «Регистр контроля восстановления питания».

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

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

Регистры управления сбросом контроллера.
Регистр Ожидаемые значения
Регистр сброса ≥ 1 = запустить процедуру принудительного сброса контроллера;
0 = значение игнорируется.

Встроенные светодиоды контроллера

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

Регистры управления светодиодами контроллера.
Регистр Ожидаемые значения
Регистр включения встроенного зеленого светодиода 1 контроллера

Регистр включения встроенного зеленого светодиода 4 контроллера
≥ 1 = включить указанный встроенный зеленый светодиод контроллера;
0 = выключить указанный встроенный зеленый светодиод контроллера.
Регистр включения встроенного красного светодиода 1 контроллера

Регистр включения встроенного красного светодиода 4 контроллера
≥ 1 = включить указанный встроенный красный светодиод контроллера;
0 = выключить указанный встроенный красный светодиод контроллера.

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

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

Фрагмент функциональной диаграммы, задающий мигающий, с частотой 1Гц, режим работы встроенного зеленого светодиода 1 контроллера.

Режим пониженного энергопотребления

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

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

Регистры управления режимом пониженного энергопотребления.
Регистр Ожидаемые значения
Регистр режима пониженного энергопотребления ≥ 1 = перейти в режим пониженного энергопотребления;
0 = вернуться в режим нормального энергопотребления.

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

  • при изменении электрического потенциала на любом контакте контроллера соответствующем каналу, сконфигурированному как активный вход / счетчик фронтов;
  • при включенном из функциональной диаграммы любом из драйверов CAN, UART или LIN, при изменении электрического потенциала на соответствующих драйверу контактах контроллера.

Примечание: Информация об изменениях электрического потенциала на контактах контроллера, соответствующих каналам, сконфигурированным как активный вход или счетчик импульсов, и изменениях электрического потенциала на контактах контроллера, соответствующих включенному драйверу CAN, LIN, UART и т.п., доступна пользователю через специальный регистр состояния контроллера - «Регистр контроля активности интерфейсов контроллера».

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

Информация о текущем режиме энергопотребления доступна при обращении к регистру «Регистр контроля режима пониженного энергопотребления».

Значения, возвращаемые регистром контроля режима энергопотребления.
Регистр Возвращаемые значения
Регистр контроля режима пониженного энергопотребления 1 = контроллер находится в режиме пониженного энергопотребления;
0 = контроллер находится в режиме нормального энергопотребления.

Примечание: При создании функциональных диаграмм, использующих режим пониженного энергопотребления, следует учитывать побочный эффект привносимый изменением масштаба времени. Эффект выражается в том, что приращение счетчиков времени функциональных блоков: задержек включения, выключения и генераторов ШИМ в режиме пониженного энергопотребления происходит скачкообразно, в соответствии с временем фактически проведенным в фазе «сна» (1024 мс).

Фрагмент функциональной диаграммы, реализующий типовое управление режимом пониженного энергопотребления.

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

Примечание: Обратите внимание на инверсию по выходу функционального блока №3.

Фактическое время выполнения функциональной диаграммы

Время, требующееся контроллеру CANNY 7.2 Gamma для выполнения функциональной диаграммы в реальных условиях эксплуатации зависит от числа и типов функциональных блоков присутствующих на диаграмме, числа задействованных драйверов входящих в состав системного программного обеспечения и их активности. На практике, цикл выполнения диаграммы содержащей около 500 функциональных блоков и активно взаимодействующей с драйвером CAN продолжается ~3…5 мс.

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

Значения, возвращаемые регистром контроля длительности программного цикла, мс.
Регистр Возвращаемые значения
Регистр контроля длительности программного цикла, мс 0…65535 = продолжительность предыдущего полного цикла выполнения функциональной диаграммы в целых долях миллисекунд.

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

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

Идентификатор устройства

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

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

Значения, возвращаемые регистрами идентификаторов устройств.
Регистр Возвращаемые значения
Регистр идентификатора устройства D1:D0 0…65535 = значение двух младших байт (D1 и D0) индивидуального идентификационного номера контроллера;
Регистр идентификатора устройства D3:D2 0…65535 = значение двух старших байт (D3 и D2) индивидуального идентификационного номера контроллера.

В процессе разработки пользовательской диаграммы, из CannyLab, идентификатор устройства можно узнать обратившись к информации об устройстве, доступной в пункте «Устройство» → «Информация» главного меню программы или по нажатию кнопки «Информация» панели инструментов, где он представлен в виде 4х байтового (32-битного) числа, с расположением старшего байта слева.

Например, идентификатор 0x563B8693 будет представлен так: регистр идентификатора устройства D1:D0 равен 0x8693, регистр идентификатора устройства D3:D2 равен 0x563B.

Пример функциональной диаграммы, иллюстрирующей работу с идентификатором устройства.

Пример функциональной диаграммы, иллюстрирующей работу с идентификатором устройства.

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

Идентификатор вендора устройства

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

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

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

Значения, возвращаемые регистром идентификатора вендора устройства.
Регистр Возвращаемые значения
Регистр идентификатора вендора устройства 0…0xFFFF = значение индивидуального идентификационного номера вендора.

В процессе разработки пользовательской диаграммы, из CannyLab, идентификатор устройства можно узнать обратившись к информации об устройстве, доступной в пункте «Устройство» → «Информация» главного меню программы или по нажатию кнопки «Информация» панели инструментов, где он представлен в виде 2х байтового (16-битного) числа, с расположением старшего байта слева.

Пример функциональной диаграммы, иллюстрирующей работу с идентификатором вендора устройства.

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

Контроль активности интерфейсов контроллера

«Регистр контроля активности интерфейсов контроллера» - синтетический регистр, отражающий текущую активность задействованных в пользовательской диаграмме внешних интерфейсов контроллера, либо включенных в режиме счетчика или в режиме активного входа каналов ввода-вывода. В те моменты времени, когда по задействованным пользователем интерфейсам контроллера CAN/LIN/UART и т.д. не осуществляется прием или передача каких-либо сигналов и не происходит изменений электрического потенциала на соответствующих активным каналам-входам контактах контролера, в «Регистре контроля активности интерфейсов контроллера» находится значение «0».

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

Значения, возвращаемые регистром контроля активности интерфейсов контроллера.
Регистр Возвращаемые значения
Регистр контроля активности интерфейсов контроллера ≥ 1 = в течении предыдущего цикла выполнения диаграммы, на одном или нескольких задействованных в диаграмме интерфейсах или активных каналах ввода-вывода обнаружена активность;
0 = в течении предыдущего цикла выполнения диаграммы, ни на одном задействованном в диаграмме интерфейсе контроллера или активном канале ввода-вывода активности не обнаружено.
Пример функциональной диаграммы контроля активности интерфейсов контроллера.

Контроль напряжения питания контроллера

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

Значения, возвращаемые регистром контроля напряжение питания контроллера.
Регистр Возвращаемые значения
Регистр значения напряжения питания контроллера, мВ 0…32760 = текущее значение напряжения питания контроллера, представленное в милливольтах
Пример функциональной диаграммы контроля напряжения питания контроллера.

Контроль внутренней температуры контроллера

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

Термодатчик позволяет производить измерение температуры в диапазоне от -40оС до +125оС.

Значение, возвращаемое регистром контроля значения внутренней температуры контроллера.
Регистр Возвращаемые значения
Регистр значения внутренней температуры контроллера, гр.Ц. 0…32808 = текущее значение регистра внутренней температуры контроллера, включающее в себя величину измеренной температуры в целых градусов Цельсия и ее знак (см.примечание)

Примечание: Отображение знака температуры в регистрах выполняется с помощью значения старшего бита полученного числа: если температура отрицательная, то старший бит равен “1”; если положительная, то старший бит равен “0”. Таким образом, значение -40оС будет представлено в регистре значения внутренней температуры как 0x8028 (32808 - dec); а значение +20оС - 0x0014 (20 - dec).

Кроме того, в случае неисправности термодатчика или обрыва линии данных в регистре значения внутренней температуры контроллера будет возвращено значение 0x7FFF (32767 - dec).

Пример функциональной диаграммы контроля внутренней температуры контроллера.

Контроль перегрузки внутреннего источника питания +13В

Для канала ввода/вывода №0 (контакт №3 разъема X1) в качестве источника напряжения для верхнего плеча выходного каскада может быть установлен внутренний источник напряжения +13В с максимальным током 100мА. Если напряжение питания контроллера больше или равно 13В, то в данном режиме на Канале №0 напряжение верхнего плеча будет установлено равным +13В, иначе - напряжение верхнего плеча будет равно напряжению питания контроллера.

Работая в данном режиме Канал №0 программно защищен от перегрузки. Информация о текущем состоянии внутреннего источника питания +13В доступна пользователю в специальном регистре.

Значение, возвращаемое регистром перегрузки внутреннего источника питания +13В.
Регистр Возвращаемые значения
Регистр перегрузки внутреннего источника питания +13В 1 = в течении предыдущего цикла выполнения пользовательской диаграммы зафиксирована перегрузка внутреннего источника питания +13В;
0 = в течении предыдущего цикла выполнения пользовательской диаграммы перегрузки внутреннего источника питания +13В не зафиксировано.
Пример функциональной диаграммы контроля перегрузки внутреннего источника питания +13В.

СМОТРИ ТАКЖЕ