Безопасное подключение устройств к микроконтроллеру

10 советов по использованию микроконтроллеров AVR в системах с двигателями

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

Можно сказать, что мне не повезло — в процессе работы я столкнулся с массой проблем, связанных с наличием двигателей. В конце концов все эти проблемы мне удалось решить, но это заняло очень много времени. В данной статье я предлагаю несколько советов по проектированию схем, содержащих двигатели, на базе микроконтроллеров AVR.

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

Arduino к тому моменту у меня была уже довольно давно, так что я купил гусеницы и двойные редукторы Tamiya, микросхему L293NE (драйвер двигателей) и за пару вечеров смастерил шильдик для Arduino c которым этот «робот» бодро бегал по комнате (правда совершенно бестолково).

Но мне хотелось большего.

Раздражала необходимость таскать за собой отдельную батарейку «Крона» для питания Arduino. Да и сам факт использования Arduino (прошу прощения у его поклонников!) оставлял неприятное чувство — все равно, что собрать машинку из конструктора (зато из Arduino получается вполне удобный программатор для AVR — им я и пользовался).

У меня была Atmega8, модуль Bluetooth, ультразвуковой датчик расстояния, трехосный акселерометр, микросхемы L293NE и 74HC595 и целое множество резисторов, конденсаторов и светодиодов всех сортов и расцветок, а также фоторезистор, потенциометр и электромагнитный генератор звука. Я поставил себе задачу питать двигатели и логическую часть от одного источника — четырех аккумуляторов формата AA 1.2V. Я видел радиоуправляемые танки, питающиеся от такого источника, так что у меня не было сомнений, что это возможно.

Я нарисовал схему напечатал плату и собрал ее. Написал тестовую прошивку, убедился в том, что лампочки мигают, Bluetooth подключается, пищалка пищит — и решил дать тестовый пуск двигателей. И погрузился в захатывающий мир работы с AVR в сильношумящем окружении. Коллекторные двигатели ведут себя неприлично.

Они шумят в широком диапазоне частот, а ток пуска и заклинивания в разы превышает номинальный ток при оптимальной нагрузке. В работе моей системы это выразилось в двух проявлениях:

  • Cпонтанная перезагрузка МК при включении двигателей. Она проявлялась чаще при включении двух двигателей одновременно, и особенно при использовании ШИМ. Просадку напряжения было видно невооруженным глазом по уменьшению яркости диодов;
  • Сбои в работе МК. Зависание, пропуск кусков программы, спонтанное увеличение или уменьшение тактовой частоты.

Устранение этих проблем заняло у меня полтора года (не непрерывной работы конечно!). В итоге все заработало, правда всю систему пришлось переделать заново.

Все собранные ниже соображения наверняка в том или ином виде присутствуют в Интернете. Моей основной целью было собрать все советы воедино: если бы такая статья попалась бы мне на глаза раньше, это сэкономило бы мне много времени, денег и душевного спокойствия. Итак, советы.

  1. Делайте развязку питания В момент пуска двигатели потребляют гораздо больше тока, чем в нормальном режиме. Например, для двигателей, которые использую я, пусковой ток составляет 1А. Это приводит к тому, что в при запуске происходит мгновенная просадка напряжения, часто достаточная для перезагрузки микроконтроллера.

    Чтобы побороть эту просадку необходимо осуществить развязку питания диодом Шоттки и большим конденсатором.
    Линия Vcc питает всю логическую часть схемы, а силовая часть драйвера двигателя запитана от батарейки непосредственно (самая верхняя линия на рисунке).

    Когда напряжение питания падает, диод закрывается, и ток от конденсаторов идет только на линию Vcc, что нам и требуется. Емкость конденсатора должна быть достаточной, чтобы поддерживать питание логики на время просадки. Мне хватило двух конденсаторов по 4,7мФ. Последовательно включенная индуктивность превращает всю конструкцию в LC-фильтр.

  2. Разделяйте землю на аналоговою и цифровую части
    На предыдущем рисунке видно, что земля разделяется на две ветки, AGND и DGND.

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

  3. Убедитесь в целости механических частей Этого совета в Интернете я не встречал, но в моем случае он оказался одним из решающих. На одном из моих двигателей треснула пластиковая шестерня на валу. Это практически не сказалось на работоспособности двигателя с редуктором, поэтому заметил это я только на осциллографе.

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

  4. Заземлите кварцевый резонатор
    Цепь внешнего тактирования Atmega XTAL1/XTAL2 служит отличным путем для наводок.

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

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

  5. Экранируйте кварцевый резонатор Обычно я делаю цельноземляную заливку на плате, но если это вам не по душе, сделайте по крайней мере небльшой земляной полигон вокруг кварца и балластных конденсаторов, как сказано в рекомендациях Atmel. Как и в предыдущем пункте, это поможет защитить линию тактирования от помех.

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

  6. Используйте внутренний осцилятор Многие контроллеры AVR оснащены внутренним осциллятором. Он не такой точный, как кварцевый резонатор, а также (например, в случае моей Atmega8) зачастую не дает максимальную для контроллера тактовую частоту. Но если совсем ничего не выходит — можно попробовать использовать его. Первая неудачная модель моего робота стабильно работала только с внутренним осциллятором.
  7. Электроника — наука о плохих контактах Трижды проверьте все контакты на предмет плохой пропайки. Избегайте перемычек на линии питания логики.

    Контакты бывают и хорошие, но не там, где нужно. У меня был случай, когда робот прекрасно работал, но моментально перезагружался при попытке послать что-либо через Bluetooth. Оказалось, что Reset был закорочен на линию серийного порта капелькой припоя.

  8. Следуйте рекомендациям производителей
    Почти все даташиты предлагают рекомендации по обвесу. Atmel выпускает даже отдельный документ — AVR Hardware Design Considerations.
    Например, Atmega8 должна быть оснащена четырьмя конденсаторами (Reset, Vcc, ARef, AVCC), располагающимися как можно ближе к соответствующим выводам. Reset должен быть подтянут к питанию через резистор в 10KОм, основное питание (Vcc) оснащается своим отдельным LC-фильтром. Кварц и балластные конденсаторы должны располагаться как можно ближе к МК. Вообще любая микросхема должна иметь собственный отдельный конденсатор, развязывающий питание.
  9. Поставьте конденсаторы параллельно контактам двигателей Конденсаторы (100нФ) следует припаять непосредственно к контактам двигателей. Собственно, это мне было известно с самого начала, и этот совет здесь просто для полноты картины.
  10. Понизьте уровень Brown-out Brown-out — означает падение уровня напряжения. Микроконтроллеры оснащены детектором такой просадки. При ее возникновении микроконтроллер отключается. Однако уровень, при котором происходит отключение, можно регулировать. Например у Atmega8 существует три опции: детектирование отключено, срабатывание при уровне 2.7V, срабатывание при уровне 4.0V. Отключать Brown-out detection полностью я не советую, но понижение уровня срабатывания может помочь. Когда я понизил уровень до 2.7V система стала работать значительно стабильнее.

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

Ссылки

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

Источник: https://habr.com/post/176203/

Ethernet — устройство на микроконтроллере AVR

Теория:

Ethernet традиционно был довольно таки сложным интерфейсом. Все Ethernet чипы имели до сегодняшнего дня 100 и более контактов, их было тяжело найти в маленьких количествах и ими было тяжело управлять с помощью маленького микроконтроллера с небольшим количеством памяти. Компания Microchip изменила мир с появлением их нового Ethernet чипа — ENC28J60.

ENC28J60 это небольшой чип всего с 28 контактами, он имеет интерфейс SPI, который легко использовать с любого микроконтроллера.

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

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

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

Все детали можно заказать здесь shop.tuxgraphics.org. Программное обеспечение и схемы свободно доступны (Лицензия GPL V2).

ENC28J60 Ethernet контроллер. Вводный курс

Чип ENC28J60 от компании Microchip это сказочный чип. Он включает протокол приема/передачи данных, MAC адрес, и протокол физического уровня в одном чипе.

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

Внешне он представляет из себя 28 – выводный чип в DIP корпусе, легко паяется и идеально подходит для применения в хобби.

Рисунок 1: Структурная схема подключения ENC28J60

Микроконтроллер таким образом может управлять любым вашим устройством: Вы можете подключить какие либо датчики (фото, тепловые), вы можете что ни будь включать и выключать, можете подключить LCD дисплей и т.п.

План действий

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

Основная цель статьи – показать схему подключения и объяснить программу. Мы будем использовать протокол UDP для посылки команд микроконтроллеру. Эти команды и будут причиной того, что микроконтроллер будет включать или выключать реле.

Я думаю, вполне возможно осуществить даже протокол TCP. Размер программы, реализующей UDP в данном устройстве – менее 3х килобайт, это меньше половины памяти контроллера Atmega88. TCP позволит нам управлять устройством через web браузер. Я пока что это не испытывал.

Схема

Здесь представлена схема. Большая ее часть стандартная для ENC28J60. Важно правильно соблюсти полярность светодиода LED-B, так как он определяет дуплексный процесс в чипе. Устройства, работающие в режиме полу-дуплекса способны обрабатывать только небольшой трафик.

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

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

Заметьте, диод D1 не бесполезен и не включен в неправильном направлении, даже если с виду кажется таковым. Он здесь для тех, кто планирует подключить к схеме небольшое реле с рабочим напряжением 6 вольт.

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

Если вы используете реле с большой катушкой, вы должны также добавить резистор параллельно реле (1 или 2,2 кОм). Диод имеет конечное время отклика, и резистор предотвратит слишком быстрый рост напряжения, прежде чес диод срежет его.

Если вы планируете использовать нестабилизированный источник питания напряжением 9 вольт и более, в комбинации с 6-ти вольтовым реле, подключенном к разъему CONN3, вы можете добавить небольшой резистор (около 33 Ом, подберите экспериментально) последовательно к реле, чтобы компенсировать избыток напряжения.

Разъемы, на схеме названные IO-port и Analog-IN сейчас не используются. Они предназначены для будущей функциональности, которая будет описана в последующих статьях. В этом проекте мы используем только разъем CONN3.

Ethernet требует довольно больших токов, потому как работает с достаточно длинными кабелями. Вышеописанная схема потребляет около 200 миллиампер при 3,3 вольтах. Микросхема стабилизатора LM2937-33 требует таким образом охлаждения, если питающее напряжение более 5 вольт. Небольшого алюминиевого радиатора будет вполне достаточно.

Ethernet трансформаторы и фильтры

Микросхеме ENC28J60 требуется трансформатор с соотношением витков 1:1, аттестованный для 10base-T.

Существует несколько видов очень хороших RJ45 разъемов, называемых «Magjack», которые имеют интегрированный трансформатор и дополнительные светодиоды.

В дополнение вам нужна небольшая фильтрующая катушка (на схеме L1). 5-ти миллиметровое ферритовое кольцо с 5-7 витками тонкой проволоки подойдет.

Обновления устройства в 2007 году

В первом квартале 2007 года я переделал устройство, принимая во внимание следующие пункты:

1. Диод D1 был неправильно подключен к общему проводу GND вместо Vdd. Интересно, что никто не заметил этого недостатка.

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

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

2. Микросхема ENC28J60 имеет выход тактовой частоты. Сначала я хотел использовать его, но возникла проблема с прерыванием тактовых сигналов при перезапуске, что приводило к неправильной работе AVR микроконтроллера. Я связывался со службой технической поддержки фирмы Microchip, но они не поняли проблемы.

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

Микросхема ENC28J60 вырабатывает тактовый сигнал частотой 12,5 мегагерц. Это дает небольшое увеличение скорости по сравнению со встроенным в atmega88 тактовым генератором частотой 8 мегагерц.

Фирма Atmel предписывает, atmega88 может работать на тактовых частотах 0-20 мегагерц при напряжении питания 4,5-5,5 вольт или 0-10 мегагерц при напряжении 2,7-5,5 вольт. Исходя из этого мы должны использовать максимальную тактовую частоту не более 10 мегагерц.

Теоретически для нашего случая максимально допустимая тактовая частота будет где то между 10 и 20 мегагерц. Мои тесты показали, что при 3,3 вольтах на тактовой частоте 12,5 мегагерц устройство работает стабильно и надежно.

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

Таким образом: новое устройство не будет работать со старой программой, но старое устройство будет работать с новой программой. Для старого устройства не требуется ничего переделывать.

Никогда ничего не меняйте в работающем устройстве! Для тех, кто желает взглянуть на схему старого устройства от 2006 года есть секция загрузки.

Шаг за Шагом. Сборка и тестирование.

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

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

Таким образом вы можете сузить область возможных ошибок.

Шаг первый:

Припаяйте микросхему LM2937-33 и необходимые конденсаторы к схеме.

Разъем питания (на схеме обозначен как RawDC-In) к лабораторному источнику питания напряжением 5 вольт, и используя вольтметр, проверьте напряжение на выходе стабилизатора, должно быть 3,3 вольта.

Теперь возьмите маленькую лампочку на 3,5 вольт от карманного фонаря или на 6 вольт от велосипеда и подключите ее к выходу стабилизатора. Проверьте напряжение, оно должно остаться равным 3,3 вольтам, даже при нагрузке.

Шаг второй:

Впаяйте микросхему ENC28J60, разъем «magjack» и все остальные детали кроме контроллера Atmega88. Снова подключите схему к лабораторному источнику в 5 вольт, ограничив максимальный ток в 300 миллиампер.

На выходе стабилизатора вы должны опять получить 3,3 вольта. Теперь подключите Ethernet кабель от вашего сетевого концентратора (будь то Switch или Hub) к устройству. Зеленый светодиод на разъеме «Magjack» должен засветиться.

Также должен засветиться светодиод, обозначенный как «link» на вашем концентраторе.

Ethernet использует протокол автоматической проверки целостности линии. Зеленый светодиод показывает, что проверка данной линии проходит успешно.

Шаг третий:

Припаяйте контроллер Atmega88 к плате. Подключите питание. Распакуйте файл eth_rem_dev-1.X (загрузить можно в конце статьи) и запустите команду «make test0.hex» из под шелла (ОС Unix или Linux). Эта команда скомпилирует файл test0.hex.

загрузите этот файл в микроконтроллер (командой «avrdude -p m88 -c avrusb500 -e -U flash:w:text0.hex» или изменив аргумент команды «make»: «make load_test0»). Если у вас есть один из программаторов то tuxgraphics, вы можете просто напечатать «make load_test1» в Linux.

Заметьте, что Atmega88 требует как минимум avr-glibc-1.4.X.

После этого красный светодиод замигает с частотой приблизительно 1 герц.

Сейчас все компоненты схемы уже проверены и будет очень хорошо, если устройство заработает с конечными программами. Во время разработки я использовал еще несколько программ для тестирования, которые включил в пакет eth_rem_dev-1.X.

* Тест 1: Позволит вам пинговать устройство по сети.
* Тест 2: Посылка и получение строки.

Все они описаны подробнее в файле README пакета eth_rem_dev-1.X. вы также можете использовать их как образцы программ для собственных разработок.

Последний шаг:

Отредактируйте файл main.c и измените 2 строчки:

static uint8_t mymac[6] = {0x54,0x55,0x58,0x10,0x00,0x24};

static uint8_t myip[4] = {10,0,0,24};

для первого устройства, что вы соберете, вам не требуется менять параметр mymac. Но вам вероятно потребуется изменить IP адрес (параметр myip). Это должен быть свободный адрес из диапазона адресов вашей сети.

Здесь представлен диапазон частных IP адресов (не маршрутизируемых в интернете), которые вы можете использовать:

Маска подсети Сетевые адреса

255.0.0.0 10.0.0.0 — 10.255.255.255

255.255.0.0 172.16.0.0 — 172.31.255.255

255.255.255.0 192.168.0.0 — 192.168.255.255

Например: ваш WIFI маршрутизатор может иметь IP адрес 192.168.1.1, ваш компьютер может иметь адрес 192.168.1.12. это означает, что вы можете использовать адрес 192.168.1.10 и оставить некоторый диапазон адресов для других компьютеров в сети. Если вы используете в сети протокол DHCP, проверьте, чтобы этот адрес не дублировался в сети (исключите его из диапазона DHCP).

Теперь скомпилируйте программу командой «make», загрузите файл eth_rem_dev.hex в микроконтроллер пошлите устройству ваш первый пинг из шелла.

ping IP адрес вашего устройства(что вы назначили).

Вы должны получить ответ с 0% потерянных пактов (остановите команду нажав crtl-c).

Использование пакета eth_rem_dev чтобы включать и выключать что либо

Единственная полезная функция, реализованная в коде микроконтроллера – включение и выключение транзистора, подключенного к контакту PD7 (разъем CONN3). Остальная функциональность придет позднее.

Я написал небольшую программу – udpcom, которая посылает строку символов по протоколу UDP и ждет ответную строку. Udpcom также включен в пакет eth_rem_dev-1.X.

эта программа очень маленькая и может быть перенесена на множество операционных систем с небольшими изменениями.

Если вы переписали код программы под другую операционную систему, которая еще не поддерживается, пришлите мне код и я помещу его в следующий релиз.

Чтобы скомпилировать программу udpcom войдите в каталог eth_rem_dev-1.X/udpcom и скомпилируйте правильную версию программы из соответствующего подкаталога командой «make».

Команда включения реле: t=1

Команда выключения реле: t=0

Запрос состояния реле: t=?

Синтаксис команды udpcom: udpcom пароль, X=Y, IP адрес

Пароль, установленный по умолчанию в пакете eth_rem_dev-1.X — «secret». Вы можете изменить его в том же самом файле main.c, в котором вы изменяли IP адрес.

Вот пример:

Источник: https://www.rlocman.ru/shem/schematics.html?di=55059

Как подключить к микроконтроллеру кнопки

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

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

                             рис1а                                                                            рис1б

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

   Когда кнопка отпущена – вывод мк через резистор соединен с “плюсом” питания (рис. 1а). Когда кнопка нажата – вывод мк соединен с землей. Подтягивающий резистор R1  ограничивает силу тока в цепи переключателя. Если бы его не было, то при нажатии кнопки мы бы просто закоротили наш источник питания.

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

   Что произойдет, если вывод микроконтроллера окажется в режиме выхода? Это будет зависеть от состояния этого вывода.

Если на выводе “логический  ноль” – ничего страшного не случиться, потому что — в первом случае (рис1а) величина втекающего тока ограничена резистором R1, а во втором случае (рис1б)  никакой ток вообще не потечет.

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

   Если же на выводе будет ”логическая единица” и кнопка окажется нажатой, то через вывод микроконтроллера на землю потечет ток величиной в несколько десятков миллиампер и вывод порта может “погореть”. Предельно допустимый ток для вывода микроконтролера AVR согласно документации равен 40 мА.

Поэтому иногда нелишним бывает поставить между выводом мк и кнопкой резистор номиналом в несколько сотен ом, например 330 (рис 1с). Так, например, подключены кнопки на отладочной плате STK500.

Это сделано для подстраховки, чтобы пользователь нечаянно не спалил микроконтроллер в ходе своих эксперементов.

   Для своих макетов впрочем можно обойтись и без этого резистора. 

 Рис 1с

Рис. 2а

Рис. 2б

     Используется когда кнопок больше двух, а выводы мк хочется сэкономить. Каждой кнопке в данном случае соответствует свой цифровой код, а  количество кнопок, которые можно таким способом повесить на N выводов мк =  2N  — 1. То есть на три вывода можно повесить 7 кнопок, на четыре – 15 и так далее.

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

   Кстати, через диоды еще можно завести сигналы от кнопок на вывод внешнего прерывания контроллера (рис. 3).

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

Таким образом контроллеру не нужно будет постоянно опрашивать кнопки, эта процедура будет запускаться только по событию внешнего прерывания. 

                                                                             Рис. 3

   Данная схема актуальна не для всех микроконтроллеров AVR, потому что в некоторых моделях микроконтроллеров внешнее прерывание может возникать по любому изменению на любом выводе. (например в ATmega164P)

Рис. 4

   Такой вариант подключения обычно используется для блоков из нескольких кнопок, которые объединены конструктивно и соединены электрически по матричной схеме. Но никто не запрещает использовать эту схему и для включения  обычных кнопок, однако реальную экономию она дает при количестве кнопок ? 9.

   Выводы PС0, PС1, PС2, PC3  – это строки матрицы, выводы PB0, PB1, PB2 – это столбцы матрицы. Кнопки можно опрашивать либо по строкам, либо по столбцам. Допустим, мы опрашиваем их по столбцам. Процедура опроса будет выглядеть следующим образом.

Начальное состояние всех выводов – вход с включенным подтягивающим резистором. Устанавливаем вывод PB0 в режим выхода и выставляем ноль. Теперь нажатие кнопок S1, S2, S3, S4 будет замыкать выводы PС0, PС1, PС2, PC3 на 0 питания.

Опрашиваем эти выводы и определям нажата ли какая-нибудь кнопка в данный момент. Устанавливаем вывод PB0 в режим выхода и включаем подтягивающий резистор. Устанавливаем вывод PB1 в режим выхода и выставляем ноль. Снова опрашиваем выводы PС0, PС1, PС2, PC3.

Теперь нажатие кнопок S5, S6, S7, S8 будет замыкать выводы PС0, PС1, PС2, PC3. Последний столбец кнопок опрашиваем аналогично. 
 

   Строки матрицы можно завести через диоды на вывод внещнего прерывания. Тогда логику программы можно было бы построить так. Если клавиатура не используется в течении нескольких минут, микроконтроллер переходит в режим пониженного энергопотребления. При этом выводы PB0, PB1, PB2 – конфигурируются как выходы с нулевым логическим уровнем.

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

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

   Это, пожалуй, пограничный случай экономии выводов при подключении кнопок, поскольку задействован только один вывод микроконтроллера – вывод АЦП. Суть способа понятна из рисунка.

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

Контроллер оцифровывает напряжение на этом выводе  и, исходя из того, в какой диапазон попадает считанное напряжение, определяет номер нажатой кнопки.

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

Чтобы он не влиял на уровень напряжения на входе АЦП, его значение выбирают довольно большим.

Резистор R1 предназначен для ограничения величины входного тока в случае если вывод контроллера окажется в режиме цифрового входа и будет нажата кнопка S5.

Рис. 5

  Есть еще один вариант подобной схемы приведен на рис. 6. Здесь с помощью кнопок определенные резисторы делителя напряжения коммутируются на землю.

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

Рис. 6

Продолжение следует…

Источник: http://chipenable.ru/index.php/item/13

Как подключить реле к микроконтроллеру

Самый простой способ подключить реле к микроконтроллеру — это использовать обычный NPN транзистор. Параметры данного транзистора подбираются исходя из рабочего напряжения реле и тока. Величина тока реле зависит от типа реле. Как правило, чем больше реле, тем больше нужен ток.

Если взять типовое реле малого размера с коммутацией от 2…4 А, то как правило для его переключения необходим ток в районе 60 мА.

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

I = V / R

Например, если у нас есть реле на 5 В с сопротивлением катушки 100 Ом, мы можем рассчитать потребляемый ток:

I = 5 В / 100 Ом = 50 мА

Цифровой осциллограф DSO150

Цена: 1450.00 руб.     Бесплатная доставка.

Ток 50 мА слишком высок, и поэтому мы не можем подключить реле непосредственно к выходу микросхемы (CMOS или TTL), а также к микроконтроллеру.

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

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

Предположим, что мы используем транзистор BC547, этот транзистор имеет статический коэффициент усиления (hFE) 100 или более. Поэтому для получения необходимого выходного тока в 50 мА (ток коллектора), ток базы транзистора должен составлять:

Iб = Iк / hFE => Iб = 0,05A/100 = 0,0005 A

По закону Ома:

R = (V — Vбэ) / Iб => (5В — 0,6 В) / 0,0005A = 8800 Ом

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

R = 8800 Ом / 2,5 = 3520 Ом => возьмем 3,3 кОм

Как видно на рисунке добавлен диод 1N4001, подключенный параллельно катушке, но в обратном направлении. Это делается для того, чтобы погасить всплеск ЭДС самоиндукции катушки реле (в момент ее отключения), который может повредить транзистор.

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

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

В этом случае ток базы будет следующим:

Iб = Iк / (hFET1 * hFET2)

Наконец, если нужно подключить несколько реле, то есть более элегантное решение, состоящее из использования интегральной микросхемы ULN2003 (или других моделей того же семейства). Микросхема ULN2003 состоит из 7 групп транзисторов, подключенных в конфигурации «Дарлингтон», имеет входные резисторы, а также защитные диоды.

источник

Источник: http://fornk.ru/3624-kak-podklyuchit-rele-k-mikrokontrolleru/

Подключение датчиков к микроконтроллеру в электронных блоках управления автомобильных систем

Щербаков Михаил Евгеньевич1, Яковлев Вадим Фридрихович2
1Самарский государственный технический университет, студент электротехнического факультета
2Самарский государственный технический университет, научный руководитель, кандидат технических наук, доцент кафедры Теоретическая и общая электротехника

Sherbakov Mikhail Evgenievich1, Yakovlev Vadim Fridrihovich2
1Samara state technical university, Student of electrical engineering faculty
2Samara state technical university, scientific adviser, Candidate of Technical Science, Associatte Professor, the chair of Electrotechnology

Библиографическая ссылка на статью:
Щербаков М.Е., Яковлев В.Ф. Подключение датчиков к микроконтроллеру в электронных блоках управления автомобильных систем // Современная техника и технологии. 2014. № 11 [Электронный ресурс]. URL: http://technology.snauka.ru/2014/11/4818 (дата обращения: 23.09.2018).

Современные системы управления различными техническими объектами, в том числе и автомобилями, имеют сходную структуру.

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

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

Программное обеспечение микроконтроллера на основании значений этих сигналов принимает решения, управляет через исполнительные механизмы (реле, соленоиды, электродвигатели) объектом.

Должен существовать удобный интерфейс оператора (водителя) с системой управления – панель приборов, информационная система водителя.

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

Для автомобильной электроники характерно:

  • Тяжелые условия эксплуатации. Температура в подкапотном пространстве находится в диапазоне –40…+120 °С, высокая влажность, грязь и пыль.
  • Автомобиль – продукт массового производства, его комплектующие и технологии должны быть недорогими.
  • Высокая надежность, т.к. автомобиль является объектом повышенной опасности.

Эти противоречивые требования накладывают отпечаток на применяемые технические решения.

Основой любого автомобильного электронного блока управления (ЭБУ) является микроконтроллер. Микроконтроллер это однокристальный микрокомпьютер, предназначенный для использования в системах управления. На одном кристалле здесь выполнены микропроцессор для обработки данных, память, аналого-цифровой преобразователь (АЦП), таймеры/счетчики, порты для обмена данными с внешними устройствами.

На рисунке 1 показан внешний вид типичных современных микроконтроллеров [1, с.13], пригодных и для автомобильных приложений, выпускаемых ведущими мировыми производителями электроники: Intel, STMicroelectronics, Infineon и т.д.

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

Рабочий диапазон температур для автомобильных применений -40…+125°С, температура хранения (без питания) -60…+150 °С.

Рис.1. Микроконтроллеры

Информация из внешней среды (с датчиков) поступает в микроконтроллер через АЦП, таймеры/счетчики, в виде запросов на прерывание. Некоторые события должны обрабатываться достаточно быстро.

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

Сигналы от датчиков скорости вращения колес поступают в виде импульсов с частотой до 7000 Гц по четырем входам.

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

Встроенный АЦП имеет 16-канальный аналоговый коммутатор, работает по принципу последовательного приближения, разрядность АЦП 8 или 10 бит задается программно, входное напряжение 0…5.12 В, время преобразования менее 1 мкс.

Таким образом для ввода в микроконтроллер сигналы с датчиков должны быть унифицированы, т.е. преобразованы в постоянное напряжение 0.5 − 4.5 В (канал АЦП) или  в последовательность импульсов или во временной интервал (канал таймеров).

Измерительные преобразователи (датчики) осуществляют преобразование измеряемых физических переменных в выходные электрические сигналы.

Как правило, эти сигналы должны быть предварительно обработаны и лишь, затем их можно подавать на входы микроконтроллера.

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

При конфигурировании автомобильного электронного блока управления с микроконтроллером требуется информация о технических характеристиках конкретных датчиков.

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

Таблица 1. Сведения о производителях автомобильного электронного оборудования

Адрес Фирма О чем информация
www.analog.com Analog Devices Датчики, унифицирующие преобразователи
www.maxim.com Maxim Датчики, источники питания, микросхемы для преобразователей напряжения
www.microchip.com Microchip Датчики, источники питания, микросхемы для преобразователей напряжения
www.nsc.com National Semiconductors Датчики, источники питания, микросхемы для преобразователей напряжения
www.mot–sps.com Motorola Датчики, унифицирующие преобразователи, микроконтроллеры.
www.sae.org SAE Международное общество инженеров транспортников, информация по автомобильному и авиационному транспорту

Например, известная фирма Motorola, производитель микроконтроллеров и датчиков, применяемых на автомобилях, предоставляет много информации в печатной форме и через Интернет (www.mot–sps.com/sensors).

Допустим, для системы управления двигателем необходим датчик разряжения во впускном трубопроводе. Для решения этой задачи подойдут датчики абсолютного давления во впускном трубопроводе фирмы Motorola серии МРХ4100А или МРХА4100А [2].

Это кремниевые интегральные датчики давления с температурной компенсацией и предварительной обработкой сигнала предназначены для работы в системах управления двигателем и диагностики [3, с.4]. При их изготовлении используются передовые технологии, тонкопленочная металлизация.

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

На рисунке 2 показана блок-схема датчика, на рисунке 3  — внешний вид вариантов исполнения корпуса, на рисунке 4 – типовая схема подключения датчика к микроконтроллеру.

Рис.2. Структурная схема унифицированного датчика

 1 – чувствительный элемент, 2 – цепи температурной коррекции и предварительного усиления, 3 – выходной каскад

           а                                         б                                                                                                                                                             в

Рис.3. Внешний вид датчиков МРХ4100А/МРХА4100А. а – МРХ4100А корпус типа 482-01, б – МРХ4100А корпус типа 687-08, в – сборка датчика в защитный корпус

Рис.4.Схема подключения датчика к микроконтроллеру

Использование интегральных датчиков с унифицированным выходным сигналом и типовых схемотехнических решений для подключения датчиков к микроконтроллерам упрощает разработку автомобильных электронных блоков управления [4, с.2].. Большая часть трудозатрат приходится на разработку программного обеспечения.

Библиографический список

  1. ST92F124, ST92F150, ST92F250 8 –  16 bit single voltage flash MCU with RAM, CAN 2.0 and J1850. Datasheet. STMicroelectronics, 2012. – 426 pp.
  2. Integrated silicon pressure sensor, manifold absolute pressure sensor on-chip signal conditioned, temperature compensated and calibrated. MPX4100A/D. Datasheet. Motorola, 2003. – 35 pp.
  3. Яковлев В.Ф., Буцко А.С. Датчики для измерения массового расхода воздуха для автомобильных двигателей. // Современная техника и технологии. – Август, 2012. [Электронный ресурс]. URL: http://technology.snauka.ru/2012/08/1275
  4. Яковлев В.Ф., Исмагулов М.К., Кузькин К.В. Датчики автомобильных электронных систем. Альманах современной науки и образован. Изд-во Грамота, Тамбов, 2009, №11, с.98-99.

Источник: http://technology.snauka.ru/2014/11/4818

Как подключить реле к микроконтроллеру

Продолжаем рассказ о подключении мощной нагрузки к микроконтроллеру. Мы уже знаем, как подключить к микроконтроллеру оптрон и транзистор. Теперь пришла очередь разобраться с электромагнитным реле.

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

А во-вторых, электромагнитное реле — это индуктивная нагрузка, которая имеет свои особенности (об этом дальше).

Именно поэтому новички нередко выводят выходы микроконтроллера из строя, пытаясь подключить к ним реле.

Как подключить реле к микроконтроллеру и избежать при этом неприятностей — чуть позже. А пока для самых-самых начинающих очень коротко расскажу

Что такое электромагнитное реле

Электромагнитное реле — это специальное устройство, которое состоит, как минимум, из четырёх основных элементов (см. рис.):

  1. Катушка
  2. Сердечник
  3. Якорь
  4. Группа контактов

Катушка (в зависимости от вида реле) может быть рассчитана либо на переменное напряжение, либо на постоянное.

Когда на катушку подаётся напряжение, то вокруг неё создаётся магнитное поле, которое намагничивает сердечник. Тогда якорь притягивается к сердечнику и сдвигает группу контактов.

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

И контактов может быть и два, и три и более.

Когда напряжение с катушки снимается, то и контакты возвращаются в исходное положение.

Нормально замкнутый (нормально закрытый) контакт — это контакт, который замкнут при отсутствии напряжения на катушке. Нормально размокнутый (нормально открытый), соответственно, разомкнут, когда напряжения на катушке нет, и замыкается, когда напряжение на катушку подаётся. На рисунке показан нормально разомкнутый контакт.

На схемах и в описаниях реле обычно используются сокращения: НО — нормально открытый (нормально разомкнутый), НЗ — нормально закрытый (нормально замкнутый).

Основные характеристики реле

Чтобы использовать реле в своих устройствах (не обязательно на микроконтроллерах), вам нужно знать, подойдёт оно для ваших целей или нет. Для этого надо знать характеристики реле. Основные характеристики:

  1. Вид напряжения катушки (переменное или постоянное). Для подключения непосредственно к микроконтроллеру либо через транзистор можно использовать только реле постоянного тока (контакты реле, разумеется, могут управлять и переменным, и постоянным током).
  2. Напряжение катушки (то есть какое напряжение надо подать на катушку, чтобы якорь надёжно примагнитился к сердечнику).
  3. Ток потребления катушки.
  4. Номинальный ток контактов (то есть ток через контакты реле, при котором они будут работать без повреждения в течение длительного времени).
  5. Время срабатывания реле. То есть сколько времени требуется на примагничивание якоря.
  6. Время отпускания реле. То есть сколько времени требуется для отмагничивания (отпускания) якоря.

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

Как подключить нагрузку через реле

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

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

Да и способ с общим минусом тоже в большинстве случаев не позволит подключить реле напрямую к микроконтроллеру по той же причине (при таком способе микроконтроллер обычно может обеспечить на выходе 15-20 мА, что будет недостаточно для большинства реле).

Малым током потребления обычно обладают герконовые реле. Однако они и коммутировать могут только небольшие токи.

Но тут есть одна хитрость. Дело в том, что чем выше напряжение катушки реле, тем меньше ток потребления. Поэтому, если в вашем устройстве есть источник питания, например, на 24 В и выше, то вы вполне сможете подобрать реле с приемлемым током потребления.

Например, реле Finder 32-й серии при напряжении катушки 24В потребляет всего 8,3 мА.

В этом случае (когда у вас есть два источника напряжения) подключить реле можно примерно так:

Как подключить реле к транзистору

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

Меры безопасности

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

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

Кроме того есть опасность вывести из строя выход микроконтроллера или дополнительный транзистор.

Дело в том, что катушка реле — это индуктивная нагрузка со всеми вытекающими из этого последствиями.

И здесь есть два риска:

  1. В момент подачи напряжения на катушку индуктивное сопротивление катушки равно нулю, поэтому будет кратковременный бросок тока, значительно превышающий номинальный ток. Но большинство выходных транзисторов этот бросок выдерживают, так что об этом можно не думать, но знать и понимать это надо.
  2. В момент снятия напряжения (в момент разрыва цепи питания катушки) возникает ЭДС самоиндкуции, которая может вывести из строя выходной транзистор микроконтроллера и/или дополнительный транзистор, к которому подключена катушка реле. Чтобы избежать этого, всегда необходимо параллельно с катушкой включать защитный диод (см. рис.). Почему так происходит, рассказывать не буду. Кому интересно, вспоминайте или изучайте электротехнику.

ВАЖНО!
Обратите внимание на включение диода. Он должен включаться именно так, а не наоборот, как думают некоторые.

Микроконтроллеры для ЧАЙНИКОВБесплатная рассылка о микроконтроллерах. Рассылка содержит как бесплатную информацию для начинающих, так и ссылки на платные продукты (книги, видеокурсы и др.) для тех, кто захочет вникнуть в тему более глубоко. Подробнее…

Источник: http://av-assembler.ru/mc/how-connect-relay-to-microcontroller.php

Ни файла врагу. Как избавиться от утечек данных через USB

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

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

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

Невидимый троян

В последние пять лет, по данным InfoWatch, в в мире ежегодно регистрируются по 50–60 крупных утечек информации через USB-носители, не считая значительно большего числа утечек, сведения о которых не попадают в открытый доступ.

Пример угрозы – обнаруженный недавно компанией ESET троян USB Thief, который похищает файлы с пользовательских компьютеров. Этот троян, судя по поведению, создан для таргетированных атак против конкретных организаций. Он вставляет свой код в портативные версии популярных приложений (браузеров и т.д.

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

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

Довольно часто администраторы так и поступают.

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

Жесткие требования

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

Доступ на чтение с флэшки при этом можно оставить.

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

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

Российский комплекс однонаправленной передачи СТРОМ–USB-2 получил положительное заключение ФСБ РФ

Компания «СиЭйЭн» получила положительное заключение ФСБ на комплекс однонаправленной передачи СТРОМ–USB-2 собственной разработки.

Теперь его могут использовать организации, работающие с государственной тайной, включая уровень «совершенно секретно».

Комплекс представляет собой коробку размером 140х80х20 мм, которая через кабель подключается к USB-порту компьютера и имеет один встроенный разъем для флэш-накопителя.

Функциональные возможности

Все, что делает комплекс – позволяет подключать USB-накопители в режиме «только чтение», чтобы с них можно было копировать информацию, но зато делает это надежно. Ни запись, ни удаление или модификация данных на носителе невозможны, пока он подключен к комплексу.

СТРОМ–USB-2 работает только с устройствами класса USB Mass Storage Device – это USB-Flash накопители, SSD и USB-HDD, а также подключающиеся по USB приводы CD/DVD/BR, FDD и картридеры. Ни одно другое устройство, будь это телефон, модем, фотоаппарат, принтер и т. п.

, комплекс инициализировать не будет.

Благодаря тому, что устройство не требует интеграции ни с какими другими системами, его можно использовать как самодостаточное решение, так и в составе с комплексными ИБ-решениями, определив ему роль защитника USB-портов.

Как работает СТРОМ–USB-2

После подключения никакая инсталляция или настройка не требуются.

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

При каждом включении СТРОМ–USB-2 происходит инициализация, во время которой комплекс проверяет целостность своего программного обеспечения. Питание подается по шине USB.

Внутри устройства находятся 2 микроконтроллера – к одному подключается внешний USB-носитель, второй подключается к ПК. После подключения накопителя, комплекс определяет его тип и, если это Mass Storage Device, то производится инициализация.

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

Именно второй чип отвечает за аппаратный запрет записи на внешний накопитель и за чтение данных с него.

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

Для государственных структур и предприятий стратегического значения важно происхождение товара. В данном случае все требования соблюдены: СТРОМ–USB-2 разработан инженерами «СиЭйЭн» – конструкторами, программистами, электронщиками. Собирается он на базе микроконтроллеров ST Microelectronics на производственных мощностях компании.

Сама компания «СиЭйЭн» не новичок на российском рынке – она уже 13 лет производит программные, программно-аппаратные и аппаратные средства защиты информации для ИКТ-систем.

В отличие от фирм, занимающихся «отверточной сборкой» аппаратных решений, «СиЭйЭн» ведет собственные НИОКР в области создания и анализа информационной безопасности отечественных защищенных информационно-телекоммуникационных решений.

Источник: http://safe.cnews.ru/articles/2016-04-14_kak_perekryt_kislorod_usbugrozam

Ссылка на основную публикацию