1

Тема: Конфигурация каналов ввода-вывода CANNY 3 tiny

Пример конфигурации каналов контроллера CANNY 3 tiny начиная с версии CannyLab с 1.35:

В отличие от CANNY 7, конфигурация каждого канала ввода-вывода CANNY 3 tiny разделена на входной и выходной каскады.

В данном примере, конфигурация каналов №№1 и 2 соответствует режиму "отрицательные вход" контроллера CANNY 7.
Для настройки такой конфигурации требуется выполнить два действия:
1. Настроить инверсию входного каскада соответствующего канала ввода-вывода контроллера
2. Установить потенциал "подтяжка к плюсу" на выходном каскаде соответствующего канала ввода-вывода контроллера

По умолчанию, в Регистре входного значения канала ввода-вывода контроллера появится значение "1" в случае наличия на контакте контроллера положительного потенциала. И значение "0" в случае наличия потенциала GND.
Для того, чтобы настроить контроллер как отрицательный вход (GND = "1", + = "0"), необходимо изменить режим работы этого регистра на обратный. Для этого установим значение "1" Регистр инверсии входного значения канала.

Так как на диаграмме отсутствуют Регистры выходного значения каналов №№1 и 2, выходные каскады соответствующих каналов контроллера будут всегда находится в состоянии "ВЫКЛ". Записав в Регистр конфигурации выходного канала контроллера именованную константу "нейтральное / подтянут к плюсу" мы зададим для выключенного состояния выходного каскада соответствующего канала контроллера постоянный слабый положительный выходной потенциал ("подтяжка к плюсу").

Конфигурация каналов №№3 и 4 соответствует режиму "положительный выход" контроллера CANNY 7.
Для настройки такой конфигурации требуется выполнить лишь одно действие:
Задать конфигурацию потенциалов выходного каскада соответствующего канала ввода-вывода контроллера, записав в соответствующий регистр именованную константу "ПЛЮС/подтянут к минусу". После чего, на выходных каналах (№№3 и 4) при записи в регистр Выходного значения соответствующего канала ненулевого значения, появляется положительный потенциал (100мА), при записи значения "0" - отрицательный потенциал (1мА "подтяжка к минусу")

Общее описание настройки каналов CANNY 3 tiny приведено в соответствующем разделе wiki.

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

Вложений в сообщении

c3tiny_io.png, 29.8 кб, 615 x 368
c3tiny_io.png 29.8 кб, скачивался 379 раз, последний раз 2018-12-07 

2

Re: Конфигурация каналов ввода-вывода CANNY 3 tiny

Альтернативный вариант конфигурации входов контроллера CANNY 3 tiny.
Начиная с CannyLab версии 1.37, в перечне констант для конфигурации выходных потенциалов каналов контроллера доступны две конфигурации с постоянными подтяжками к плюсу и к минусу (см.вложение 1).
Конфигурация каналов для работы в качестве отрицательных входов (см. предыдущее сообщение) будет выглядеть иначе (см.вложение 2).

Вложений в сообщении

c3tiny_const.png, 19.35 кб, 710 x 449
c3tiny_const.png 19.35 кб, скачивался 370 раз, последний раз 2019-03-13 

c3tiny_input_cfg.png, 8.4 кб, 414 x 113
c3tiny_input_cfg.png 8.4 кб, скачивался 286 раз, последний раз 2019-03-13 

3

Re: Конфигурация каналов ввода-вывода CANNY 3 tiny

Подскажите пожалуйста, запись в регистры настройки каналов выполняется один раз при старте контроллера, записывается в ОЗУ и процессе работы не переписывается, или переписывается на каждом цикле выполнения программы?  Не надо ли предусматривать программные условия, чтобы контроллер на каждом цикле не лазил в регистры и их не переписывал? Или запись в регистры выполняется только в случае изменения значения параметра регистра, то есть исключительно по необходимости?
Хочется понять, что надо предусматривать, чтобы контроллер не выполнял лишних операций записи в регистры.

4

Re: Конфигурация каналов ввода-вывода CANNY 3 tiny

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