КОНТРОЛЛЕР

Полезная модель относится к системам программного управления, а именно к программируемым логическим контроллерам, и может быть использована для управления исполнительными устройствами, как в бытовых условиях, так и в различных областях промышленности.
В существующих на практике приборах применяются микроконтроллеры с уже имеющимся USB-аппаратным обеспечением, что несколько замедляет их работу, так как приборы расходуют трафик на обработку USB-пакетов.
Известен промышленный контроллер, содержащий расположенные в корпусе микроконтроллер, интерфейс для соединения с персональным компьютером (ПК), устройства ввода-вывода сигналов, клеммы для подсоединения управляемых объектов, жестко установленные на корпусе контроллера, и съемные клеммы, и блок питания, (см. описание к патенту на полезную модель №52643 МПК G06F 9/00 от 05.04.2005 г.).
К недостаткам известного устройства относятся невозможность подключения ко всем типам ПК, например, к ноутбуку или нетбуку, и более низкая скорость приема и передачи данных, а также наличие дорогостоящего дисплея и дополнительной клавиатуры. Кроме того, не смотря на подключение устройства к ПК, известное устройство обрабатывает только дискретные сигналы, так как отсутствуют аналоговые входы и входы-счетчики импульсов.
Технической задачей предлагаемой полезной модели является расширение функциональных возможностей за счет увеличения скорости обработки данных и объема исходной информации, а также упрощение схемы управления объектами посредством промышленного контроллера и повышение эффективности его работы.
Техническая задача решается тем, что контроллер содержит расположенные в корпусе микроконтроллер, интерфейс для соединения с компьютером, устройства ввода-вывода сигналов, клеммы для подсоединения управляемых объектов, жестко установленные на корпусе контроллера, и съемные клеммы, и блок питания, при этом он дополнительно содержит микросхему USB-контроллера, SPI- драйверы для управления выходами, при этом устройство ввода выполнено многоканальным и предназначено для цифровых, аналоговых сигналов и содержит входы-счетчики импульсов, устройство вывода содержит релейные и транзисторные выходы, а блок питания - импульсный внешний. Устройство ввода выполнено в виде буферного каскада цифровых датчиков для цифровых сигналов и входов импульсов и буферного каскада аналоговых входов аналоговых сигналов для обеспечения подавления помех и формирования опорных уровней напряжения на входах.
В предлагаемом устройстве USB-транзакции реализуются в отдельном контроллере, поддерживающим режим «full speed» и протокол SPI. Таким образом, микроконтроллер только отвечает на запросы хост-контроллера (ПК), но не расходует трафик на передачу пакетов, а решает задачи, связанные с управлением реле и чтением состояний входов. В блок-схеме использована микросхема МАХ3420, изначально разработанная компанией Maxim для mp3-плееров, НID-устройств (мыши, клавиатура), для программирования сотовых телефонов с помощью ПК и записи мелодий в mp3-плееры сотовых телефонов.
Использование SPI-драйверов MAX4820EUP для управления реле позволило значительно сократить число выходов микроконтроллера, затрачиваемых при применении стандартных транзисторных сборок.
Для изменения алгоритма работы устройства не нужно изменять ни сам прибор, ни его программное обеспечение. Все расчеты производятся в приложениях на электронно-вычислительной машине (ЭВМ), которые очень легко подаются модификации.
Прием и передачу данных осуществляют посредством быстродействующей шины USB 2.0, что позволяет использовать предлагаемое устройство как с ПК, так и с ноутбуками и нетбуками.
Наличие цифровых входов, независимых аналоговых входов с разрешением 10 бит, а также 16-битный и 8-битный входы-счетчики импульсов позволяет использовать многочисленные типы датчиков и обеспечить высокую точность обработки входных данных.
Управление реле и транзисторными выходами осуществляют посредством интерфейса SPI, что сокращает число выходов микроконтроллера, затрачиваемых на управление реле и силовыми транзисторами.
Управление контроллером осуществляют с помощью приложения Windows - интерфейс, привычный для пользователя ПК, используя ресурсы ПК, или через сеть Интернет.
Предлагаемое устройство обладает низким энергопотреблением за счет применения современного энергосберегающего микроконтроллера и имеет защиту от возможного нарушения связи с ПК за счет повреждения USB-кабеля.
Технических решений, совпадающих с совокупностью существенных признаков полезной модели, не выявлено, что позволяет сделать вывод о соответствии полезной модели условию патентоспособности «новизна».
Предлагаемый контроллер иллюстрируется блок-схемой.
Основу предлагаемого устройства составляет микроконтроллер 1, например, фирмы Atmel Atmega32A с записанной в него программой, выполняющей прием, обработку и передачу всей поступающей от со входов информации к ЭВМ или ПК 2, по командам которых производятся включение или отключение исполнительных устройств (исполнительные устройства на блок-схеме условно не показаны).
Для связи микроконтроллера 1 с ПК 2 используют проводное соединение универсальную последовательную шину (Universal Serial Bus - USB 2.0) (универсальная последовательная шина на блок-схеме условно не показана).
Промежуточным звеном между ПК 2 и микроконтроллером 1 служит периферийный USB-контроллер 3, например, МАХ3420Е, разработанный компанией Maxim с возможностью управления по SPI-интерфейсу (SPI на блок-схеме условно не показано).
Прием поступающей от на входы информации (сигналов) осуществляется посредством устройства ввода, выполненного в виде буферного каскада 4 цифровых датчиков для цифровых сигналов и входов импульсов и буферного каскада 5 аналоговых входов для аналоговых сигналов.
Устройство вывода содержит выходы 6 релейные и выходы 7 транзисторные, управляемые микроконтроллером 1 по SPI-интерфейсу с использованием двух микросхем-драйверов 8 и 9, например, MAX4820EUP, соответственно.
На корпусе контроллера жестко установлены клеммы для подсоединения управляемых объектов и съемные клеммы (клеммы на блок схеме условно не показаны).
Блок питания предлагаемого устройства импульсный внешний (блок питания на чертеже условно не показан).
Устройство работает следующим образом.
При включении устройства микроконтроллер 1 настраивает входы, а также программирует USB-контроллер 3 по протоколу SPI (serial peripheral interface - протокол серийной передачи данных). При этом микроконтроллер 1 выступает в качестве ведущего устройства, а USB-контроллер 3 - в качестве ведомого. Микроконтроллер 1 активирует в микросхеме USB-контроллера 3 пять типов запросов прерываний (событий, на которые должен отреагировать микроконтроллер):
- получение настроечного пакета от компьютера 2 (настроечный пакет служит для регистрации устройства в операционной системе ПК 2);
- сброс шины USB (данный сброс инициируется ПК 2 и обслуживается устройством автономно);
- поступление команды от компьютера 2 (запрос пользователя на получение информации с входов или на управление выходами);
- флаг бездействия шины USB (разрешение на переход устройства в дежурный режим для снижения его энергопотребления);
- отсутствие напряжения на шине USB (разрыв кабеля, потеря сигнала).
Первоначально микроконтроллер 1 переводит USB-контроллер 3 в полнодуплексный режим обмена данными по протоколу SPI и задает число прерываний по уровню на выводе INT USB-контроллера 3, с помощью которого USB-контроллер 3 будет сигнализировать микроконтроллер 1 о необходимости обслуживания поступивших запросов от компьютера 2 (например, пользователь запрашивает информацию со входов или посылает команду на включение выходов) или обработке событий (нарушение связи с компьютером, общий сброс шины USB).
Если микроконтроллер 1 не обнаруживает никаких запросов на сигнальном выводе INT USB-контроллера 3 (например, когда пользователь не запрашивает никакой информации с входов и не посылает управляющие команды) со стороны USB-контроллера 3, то микроконтроллер 1 и USB-контроллер 3 переходят в дежурный режим, что снижает энергопотребление устройства.
В случае обнаружения запроса на выводе INT, микроконтроллер 1 считывает состояние регистров прерывания USB-контроллера 3 с целью определения типа запроса, а затем переходит к его обслуживанию (отвечает на запрос).
При первоначальном подключении устройства к ПК 2, последний регистрирует его в своей операционной системе путем пересылки настроечного пакета посредством шины USB 2.0. После этого управление устройством заключается в том, что ПК 2 посылает устройству команды, каждая из которых имеет свою кодировку. Устройство поддерживает 23 команды. Эти команды представляют собой запросы на включение соответствующих релейных 6 и транзисторных 7 выходов, а также на получение состояний входов 4 цифровых, импульсных и аналоговых датчиков 5, состояний реле 6 и транзисторных выходов 7.
USB-контроллер 3 информирует микроконтроллер 1 о получении команды от компьютера 2 с помощью системы прерываний (низкий уровень напряжения на сигнальном выводе INT). В случае опознавания команды микроконтроллер 1 выполняет операцию, соответствующую полученной команде: загружает запрашиваемые данные в USB-контроллер 3 или выполняет требуемое пользователем действие.
Управление релейными и транзисторными выходами 6 и 7, соответственно, производится с использованием силовых драйверов 8 и 9, поддерживающих протокол SPI. Микроконтроллер 1 загружает регистр состояний реле и транзисторных выходов 6 и 7 в сдвиговые регистры драйверов 8 и 9, после чего происходит изменение состояний выходов 6 и 7.
В случае длительного отсутствия трансфер на шине USB, USB-контроллер 3 информирует об этом микроконтроллер 1. Последний проверяет, имеются ли какие-либо запросы со стороны USB-контроллера 3, при их наличии производит обработку, а затем переводит USB-контроллер 3 в дежурный режим. Выход из дежурного режима происходит при возобновлении USB-трафика. В USB-контроллере 3 также активирован флаг прерывания при отсутствии напряжения на шине USB (вывод Vbus), с помощью которого микроконтроллер 1 определяет факт отключения USB-кабеля от устройства или от компьютера 2. При срабатывании данного флага в целях безопасности микроконтроллер 1 «принимает решение» об отключении всех релейных и транзисторных выходов 6 и 7 соответственно, так как разъединение USB-кабеля может произойти в отсутствие пользователя, например, во время работы с приложением через сеть Интернет.