Ключ драйвера что это
Driver — Anything that could materially affect either a company s earnings or the price of its stock. Every company will have its own unique drivers, although some of the most common drivers include: The release of a new product or service New financing… … Investment dictionary
Driver's education — or driver s ed is a formal class or program that prepares a new driver to obtain a learner s permit or driver s license. It may take place in a classroom, in a vehicle, online, or a combination of the above. Topics of instruction include traffic… … Wikipedia
Driver 76 — Developer(s) Sumo Digital Ubisoft Reflections Publisher(s) Ubisoft Series … Wikipedia
Driver (video game) — Driver European cover art Developer(s) Reflections Interactive, Gameloft (iPhone OS) Publisher(s) GT Inte … Wikipedia
Driver's Seat — Single by Sniff n the Tears from the album Fickle Heart … Wikipedia
Driver and Vehicle Licensing Agency — overview Jurisdiction United Kingdom Minister responsible Mike Penning MP, Parliamentary Under Secretary of State executive … Wikipedia
driver — driv‧er [ˈdraɪvə ǁ ər] noun [countable] 1. a person who drives a car, bus, train etc 2. something that has an important influence on other things: • Population growth is the biggest single driver of atmospheric pollution. 3. COMPUTING a program… … Financial and business terms
Key (lock) — A cut key A key is an instrument that is used to operate a lock. A typical key consists of two parts: the blade, which slides into the keyway of the lock and distinguishes between different keys, and the bow, which is left protruding so that… … Wikipedia
Driver Monitoring System — The Driver Monitoring System on the LS 600h. Driver Monitoring System, also known as Driver Attention Monitor, is a vehicle safety system first developed by Toyota in 2006 for its and Lexus latest models. It was first offered on the GS 450h. The… … Wikipedia
Driver deaths in motorsport — This article is about car driver deaths. For motorcycle racing deaths, see Rider deaths in motorcycle racing. Due to the inherently dangerous nature of auto racing, many individuals, including drivers, crew members, officials and spectators, have … Wikipedia
Как известно в х64 битных платформах была введена процедура обязательной цифровой подписи всего того, что может попасть в ядро системы, а именно драйверов. О том, на сколько это эффективно и оправданно можно долго спорить, но только одно можно сказать точно — гимора разработчикам тут определенно добавилась, особенно тем, кто раньше никогда подписями не занимался. Также для многих стало крайне не очевидно, каким образом разрабатывать драйвер, когда нет на руках валидного сертификата, а тестировать ведь как-то надо. Вот сча я попытаюсь в краткой и доступной форме рассказать о том как это все делается.
Итак, прежде всего, я бы хотел выделить два типа сертификатов, которые я буду рассматривать в рамках данной статьи — тестовый и настоящий. Разница состоит в том, что настоящий сертификат подписан доверенным CA (Certification Authorities — доверенный издатель), типа VeriSign, GlobalSign ну или самим Microsoft, а тестовый подписан самопальным сертификатом типа от Васи Пупкина.
- Сгенерить сам сертификат и установить его. Это можно сделать с помощью тулзы makecert, например так:
Makecert -r -pe -ss PrivateCertStore -n "CN=TestCertforWDK" TestCert.cer
где
PrivateCertStore — название хранилища
TestCertforWDK — название самого сертификата
TestCert.cer — имя файла с сертификатом
(эта тулза входит в комплект WDK 6000/6001 и расположена bin/SelfSign, в WDK 7600 она почему то не входит. ) - Добавить этот сертификат в хранилище с доверенным корневыми CA. Открываем в mmc консоль Сертификаты (Run->mmc->File->Add/Remove Snap-in->Certificates) там находим свой сертификат (например в хранилище PrivateCertStore), копируем его в доверенные корневые издатели (Trusted Root Certification Authorities).
- Разрешить тестовые подписи. Для этого прописываем в администраторской консоли:
bcdedit.exe –set TESTSIGNING ON
и перезагружаемся, в итоге на десктопе, после перезагрузки, по углам красоваться соответствующие надписи.
Настоящий сертификат
Тут тоже не все так просто. Дело в том, что не любой CA может выдавать сертификаты для подписи драйверов Windows, а только те, которые авторизованы самой Microsoft, это значит, что корневые сертификаты этих издателей должны быть подписаны Microsoft — что, как раз и выражается в виде этого кросс-сертификата. Вот именно из-за отсутствия кросс-сертификата — тестовая подпись, никогда не будет работать как настоящая. Список доверенных CA, которые обладают такими кросс-сертификатами — представлен тут, там же можно скачать и сами кросс-сертификаты.
После того, как вы выложите несколько сотенок $$$ доверенному центру сертификации, они выдадут вам .pfx файл в котором будут содержаться публичный и приватный ключи. Вы его запустите и с помощью нехитрого диалога (как на рисунке ниже), установите в систему.
Во-первых, в данном переводе могут быть серьёзные проблемы с переводом терминов, я не занимался электротехникой и схемотехникой достаточно, но всё же что-то знаю; также я пытался перевести всё максимально понятно, поэтому не использовал такие понятия, как бутсрепный, МОП-транзистор и т.п. Во-вторых, если орфографически сейчас уже сложно сделать ошибку (хвала текстовым процессорам с указанием ошибок), то ошибку в пунктуации сделать довольно-таки просто.
И вот по этим двум пунктам прошу пинать меня в комментариях как можно сильнее.
Теперь поговорим уже больше о теме статьи — при всём многообразии статей о построении различных транспортных средств наземного вида (машинок) на МК, на Arduino, на , само проектирование схемы, а тем более схемы подключения двигателя не описывается достаточно подробно. Обычно это выглядит так:
— берём двигатель
— берём компоненты
— подсоединяем компоненты и двигатель
— …
— PROFIT!1!
Но для построения более сложных схем, чем для простого кручения моторчика с ШИМ в одну сторону через L239x, обычно требуется знание о полных мостах (или H-мостах), о полевых транзисторах (или MOSFET), ну и о драйверах для них. Если ничто не ограничивает, то можно использовать для полного моста p-канальные и n-канальные транзисторы, но если двигатель достаточно мощный, то p-канальные транзисторы придётся сначала обвешивать большим количеством радиаторов, потом добавлять кулеры, ну а если совсем их жалко выкидывать, то можно попробовать и другие виды охлаждения, либо просто использовать в схеме лишь n-канальные транзисторы. Но с n-канальными транзисторами есть небольшая проблема — открыть их «по-хорошему» подчас бывает довольно сложно.
Поэтому я искал что-нибудь, что мне поможет с составлением правильной схемы, и я нашёл статью в блоге одного молодого человека, которого зовут Syed Tahmid Mahbub. Этой статьёй я и решил поделится.
Во многих ситуациях мы должны использовать полевые транзисторы как ключи верхнего уровня. Также во многих ситуациях мы должны использовать полевые транзисторы как ключи как и верхнего, так и нижнего уровней. Например, в мостовых схемах. В неполных мостовых схемах у нас есть 1 MOSFET верхнего уровня и 1 MOSFET нижнего уровня. В полных мостовых схемах мы имеем 2 MOSFETа верхнего уровня и 2 MOSFETа нижнего уровня. В таких ситуациях нам понадобится использовать драйвера как высокого, так и низкого уровней вместе. Наиболее распространённым способом управления полевыми транзисторами в таких случаях является использование драйвера ключей нижнего и верхнего уровней для MOSFET. Несомненно, самым популярным микросхемой-драйвером является IR2110. И в этой статье/учебнике я буду говорить о именно о нём.
Давайте для начала взглянем на блок-схему, а также описание и расположение контактов:
Рисунок 1 — Функциональная блок-схема IR2110
Рисунок 2 — Распиновка IR2110
Рисунок 3 — Описание пинов IR2110
Также стоит упомянуть, что IR2110 выпускается в двух корпусах — в виде 14-контактного PDIP для выводного монтажа и 16-контактного SOIC для поверхностного монтажа.
Теперь поговорим о различных контактах.
VCC — это питание нижнего уровня, должно быть между 10В и 20В. VDD — это логическое питание для IR2110, оно должно быть между +3В и +20В (по отношению к VSS). Фактическое напряжение, которое вы выберете для использования, зависит от уровня напряжения входных сигналов. Вот график:
Рисунок 4 — Зависимость логической 1 от питания
Обычно используется VDD равное +5В. При VDD = +5В, входной порог логической 1 немного выше, чем 3В. Таким образом, когда напряжение VDD = +5В, IR2110 может быть использован для управления нагрузкой, когда вход «1» выше, чем 3 (сколько-то) вольт. Это означает, что IR2110 может быть использован почти для всех схем, так как большинство схем, как правило, имеют питание примерно 5В. Когда вы используете микроконтроллеры, выходное напряжение будет выше, чем 4В (ведь микроконтроллер довольно часто имеет VDD = +5В). Когда используется SG3525 или TL494 или другой ШИМ-контроллер, то, вероятно, придётся их запитывать напряжением большим, чем 10В, значит на выходах будет больше, чем 8В, при логической единице. Таким образом, IR2110 может быть использован практически везде.
Вы также можете снизить VDD примерно до +4В, если используете микроконтроллер или любой чип, который даёт на выходе 3.3В (например, dsPIC33). При проектировании схем с IR2110, я заметил, что иногда схема не работает должным образом, когда VDD у IR2110 был выбран менее + 4В. Поэтому я не рекомендую использовать VDD ниже +4В. В большинстве моих схем уровни сигнала не имеют напряжение меньше, чем 4В как «1», и поэтому я использую VDD = +5V.
Если по каким-либо причинам в схеме уровень сигнала логической «1» имеет напряжение меньшее, чем 3В, то вам нужно использовать преобразователь уровней/транслятор уровней, он будет поднимать напряжение до приемлемых пределов. В таких ситуациях я рекомендую повышение до 4В или 5В и использование у IR2110 VDD = +5В.
Теперь давайте поговорим о VSS и COM. VSS это земля для логики. COM это «возврат низкого уровня» — в основном, заземление низкого уровня драйвера. Это может выглядеть так, что они являются независимыми, и можно подумать что, пожалуй, было бы возможно изолировать выходы драйвера и сигнальную логику драйвера. Тем не менее, это было бы неправильно. Несмотря на то что внутренне они не связаны, IR2110 является неизолированным драйвером, и это означает, что VSS и COM должны быть оба подключены к земле.
HIN и LIN это логические входы. Высокий сигнал на HIN означает, что мы хотим управлять верхним ключом, то есть на HO осуществляется вывод высокого уровня. Низкий сигнал на HIN означает, что мы хотим отключить MOSFET верхнего уровня, то есть на HO осуществляется вывод низкого уровня. Выход в HO, высокий или низкий, считается не по отношению к земле, а по отношению к VS. Мы скоро увидим, как усилительные схемы (диод + конденсатор), используя VCC, VB и VS, обеспечивают плавающее питания для управления MOSFETом. VS это плавающий возврат питания. При высоком уровне, уровень на HO равен уровню на VB, по отношению к VS. При низком уровне, уровень на HO равнен VS, по отношению к VS, фактически нулю.
Высокий сигнал LIN означает, что мы хотим управлять нижним ключом, то есть на LO осуществляется вывод высокого уровня. Низкий сигнал LIN означает, что мы хотим отключить MOSFET нижнего уровня, то есть на LO осуществляется вывод низкого уровня. Выход в LO считается относительно земли. Когда сигнал высокий, уровень в LO такой же как и в VCC, относительно VSS, фактически земля. Когда сигнал низкий, уровень в LO такой же как и в VSS, относительно VSS, фактически нуль.
SD используется в качестве контроля останова. Когда уровень низкий, IR2110 включен — функция останова отключена. Когда этот вывод является высоким, выходы выключены, отключая управление IR2110.
Теперь давайте взглянем на частые конфигурации с IR2110 для управления MOSFETами как верхних и нижних ключей — на полумостовые схемы.
Рисунок 5 — Базовая схема на IR2110 для управления полумостом
D1, C1 и C2 совместно с IR2110 формируют усилительную цепь. Когда LIN = 1 и Q2 включен, то C1 и С2 заряжаются до уровня VB, так как один диод расположен ниже +VCC. Когда LIN = 0 и HIN = 1, заряд на C1 и С2 используется для добавления дополнительного напряжения, VB в данном случае, выше уровня источника Q1 для управления Q1 в конфигурации верхнего ключа. Достаточно большая ёмкость должна быть выбрана у C1 для того чтобы её хватило для обеспечения необходимого заряда для Q1, чтобы Q1 был включён всё это время. C1 также не должен иметь слишком большую ёмкость, так как процесс заряда будет проходить долго и уровень напряжения не будет увеличиваться в достаточной степени чтобы сохранить MOSFET включённым. Чем большее время требуется во включённом состоянии, тем большая требуется ёмкость. Таким образом меньшая частота требует большую ёмкость C1. Больший коэффициент заполнения требует большую ёмкость C1. Конечно есть формулы для расчёта ёмкости, но для этого нужно знать множество параметров, а некоторые из них мы может не знать, например ток утечки конденсатора. Поэтому я просто оценил примерную ёмкость. Для низких частот, таких как 50Гц, я использую ёмкость от 47мкФ до 68мкФ. Для высоких частот, таких как 30-50кГц, я использую ёмкость от 4.7мкФ до 22мкФ. Так как мы используем электролитический конденсатор, то керамический конденсатор должен быть использован параллельно с этим конденсатором. Керамический конденсатор не обязателен, если усилительный конденсатор — танталовый.
D2 и D3 разряжают затвор MOSFETов быстро, минуя затворные резисторы и уменьшая время отключения. R1 и R2 это токоограничивающие затворные резисторы.
+MOSV может быть максимум 500В.
+VCC должен идти с источника без помех. Вы должны установить фильтрующие и развязочные конденсаторы от +VCC к земле для фильтрации.
Давайте теперь рассмотрим несколько примеров схем с IR2110.
Рисунок 6 — Схема с IR2110 для высоковольтного полумоста
Рисунок 7 — Схема с IR2110 для высоковольтного полного моста с независимым управлением ключами (кликабельно)
На рисунке 7 мы видим IR2110, использованный для управления полным мостом. В ней нет ничего сложного и, я думаю, уже сейчас вы это понимаете. Также тут можно применить достаточно популярное упрощение: HIN1 мы соединяем с LIN2, а HIN2 мы соединяем с LIN1, тем самым мы получаем управление всеми 4 ключами используя всего 2 входных сигнала, вместо 4, это показано на рисунке 8.
Рисунок 8 — Схема с IR2110 для высоковольтного полного моста с управлением ключами двумя входами (кликабельно)
Рисунок 9 — Схема с IR2110 как высоковольтного драйвера верхнего уровня
На рисунке 9 мы видим IR2110 использованный как драйвер верхнего уровня. Схема достаточно проста и имеет такую же функциональность как было описано выше. Есть вещь которую нужно учесть — так как мы больше не имеем ключа нижнего уровня, то должна быть нагрузка подключённая с OUT на землю. Иначе усилительный конденсатор не сможет зарядится.
Рисунок 10 — Схема с IR2110 как драйвера нижнего уровня
Рисунок 11 — Схема с IR2110 как двойного драйвера нижнего уровня
Я видел как на многих форумах, люди бьются с проектированием схем на IR2110. У меня тоже было много трудностей прежде чем я cмог уверенно и последовательно строить успешные схемы драйвера на IR2110. Я попытался объяснить применение и использование IR2110 довольно тщательно, попутно всё объясняя и используя большое количество примеров, и я надеюсь, что это поможет вам в ваших начинаниях с IR2110.
Перед многими разработчиками программного обеспечения возникает вопрос защиты своего труда. Поиск в сети на эту тему выдает кучу информации, но практических примеров и здравых описаний нет. Поэтому в качестве примера построения защиты расскажу о привязке программы к USB ключу.
Для защиты я выбрал USB ключ с HID интерфейсом и с открытым кодом программного модуля защиты. Такой HID-ключ позволяет обойтись без установки драйверов ключа, что очень удобно для конечного пользователя. Также HID интерфейс прекрасно работает в «SafeMode» режимах загрузки операционных систем.
Открытый код модуля защиты – не нужно линковать библиотеки и прилагать к защищаемой программе чужие *.dll файлы.
Сам ключ содержит 5 участков памяти по 2 кБайта и RTC (часы с батарейкой), каждый участок защищен ПИН-кодом из 16 байт.
Цель защиты
— не запускать приложение при отсутствии ключа защиты;
— предупреждать и закрывать приложение при удалении ключа защиты.
Ограничивать время использования программы будем в следующий раз. Для построения защиты буду использовать один защищенный участок памяти в ключе.
Защищаемый объект
Для примера создадим самую простую программу: диалоговое окно MFC, воспользовавшись волшебником visual studio. В наше приложение, кроме потока окна, добавим поток, который в основном окне печатает текущее время.
Подготовка ключа
Прежде чем использовать ключ его необходимо сконфигурировать с помощью утилиты из SDK ключа:
— установить на защищенный участок памяти свой секретный ПИН код (заводские значения: ).
— заполнить необходимыми данными сам участок памяти.
ПИН я сменил на: < 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f >.
Такой же последовательностью заполнил первые 16 байт в памяти ключа.
Установка защиты
Для внедрения программного модуля защиты в созданный проект нужно подключить 2 файла: «HID_1.cpp» и «HID_1.h». В них находится исходный код класса, который позволяет обращаться к ключу.
В файле «HID_1.h» можно изменить настройки модуля, и параметры шины USB ключа — оставим все по умолчанию. Компилируем проект.
После успешной компиляции и запуска всё это выглядит так:
Теперь все готово для работы с ключом
В коде, где создается само окно приложения, файл «Example_1.cpp», добавляем обращение к ключу:
Код потока, следящего за ключом
.
volatile bool glob_exit_f = false;
.
DWORD WINAPI myThread_watchdog(LPVOID lParam)
BYTE my_main_pin[16] = ;
BYTE data_in_key[16] = ;
HID_bridge my_hid(
my_main_pin, //Указатель на массив ПИН-кода.
HID_DEFAULT_PROFILE_ID); //Устанвка номера профиля.
BYTE my_buf[16]; //буфер, в который будут считаны данные из ключа
int result = -1;
int answ = -1;
while(!glob_exit_f) <
answ = my_hid.read_closed_data_ex(
my_buf, // Указатель на буфер, в который сохранятся принятые данные профиля.
0, // Адрес в профиле, с которого начнется чтение, в данном случае чтение с самого начала профиля (с 0-го байта).
sizeof(my_buf)); // Количество байт, которое нужно прочесть. Размер буфера.
result = -1;
if(answ == HID_KEY_OK) < // анализируем ответ
// Если ключ найден и данные считаны - анализируем эти данные
// Данные, которые должны быть записаны в ключе:
BYTE data_in_key[16] = ;
result = memcmp(data_in_key, my_buf, sizeof(my_buf)); // Сравниваем полученные данные
>
if(result) glob_exit_f = true;
> else Sleep(WATCHDOG_SLEEP_TIME);
>
>
return 0;
>
В итоге
Поставленная задача защиты решена. Обращаю Ваше внимание, что это пример, в котором всё упрощено. Строить настоящую защиту на одном флаге, конечно же, не стоит. А хранить ПИН-код доступа как в примере — вообще преступление.
АПИ ключа намного шире, в данном примере я использовал лишь малую часть всех возможностей.
А что же происходит на шине USB?
Любой USB сниффер покажет какие устройства подключены к шине данных и чем они обмениваются с компьютером.
Для меня важным показателем является время ответа ключа на команду. На рисунке «черным» выделена команда к ключу, «синим» — ответ ключа. В среднем время отклика составляет 32 мс (+31… +32 . ). Т.е. за это время ключ обработал команду и вернул ответ. Больших задержек это не вносит.
Криптографическая защита протокола обмена
HID пакеты на шине USB имеют длину 64 байта. Как сказано в описании ключа первые 32 байта этого пакета технологические, остальные 32 байта – шифрованные алгоритмом RC6, причем для каждой пары пакетов (TX-RX) ключ шифрования выбирается случайно. Этот временный ключ шифруется ключом, созданным на основе ПИН-кода, того самого в 16 байт, о котором написано выше.
Получается, что передача одной и той же команды ключу и получение одного и того же ответа приводит к абсолютно не связанным транзакциям на шине USB. Если кто-то решит анализировать трафик с целью написания табличного эмулятора, то он будет разочарован. Так как пары — (TX-RX) ни разу не повторяются.
Одной из критических проблем импульсных источников питания большой мощности является сдвиг потенциала шины заземления относительно входа драйвера, что может привести к его ложному срабатыванию. Это связано не только с прямым падением напряжения на шине, вызванным большими токами, но и с наличием паразитных индуктивностей. Так, переходные процессы при активации ключей полумостовых силовых каскадов служат причиной бросков напряжения, превышающих 100 В. Чтобы решить эту проблему и упростить общее схемотехническое решение источника питания, компания Infineon Technologies предлагает использовать новый вариант драйверов с истинно дифференциальными входами, что позволяет отказаться от гальванической развязки нижнего ключа и повысить надежность источника питания.
Специализированные интегральные микросхемы драйверов затвора нижних ключей (транзисторов низкой стороны мостовой и полумостовой топологии) довольно часто применяются в импульсных источниках питания (Switched Mode Power Supplies, SMPS — ИИП) и гарантируют должное функционирование силовых МОП-транзисторов при включении и выключении. Кроме того, эти микросхемы используются в повышающих корректорах коэффициента мощности (Boost-PFC), управляя высоковольтным силовым МОП-транзистором повышающего преобразователя, в высоковольтных каскадах таких DC/DC-преобразователей, как резонансный LLC-преобразователь (LLC — указывает, что преобразователь выполнен в топологии «индуктивность-индуктивность-емкость»), в коммутаторах с режимом переключения при нулевом напряжении (zero-voltage switching, ZVS). Они также эксплуатируются и в двухтактных прямоходовых преобразователях. Во всех перечисленных выше каскадах драйверы включают и выключают высоковольтные силовые МОП-транзисторы через трансформатор драйвера затвора, а при использовании таких драйверов в синхронных выпрямителях с центральным отводом они непосредственно подключаются к затворам низковольтных МОП-транзисторов. На рис. 1 в качестве примера приведена блок-схема силового каскада мощного импульсного блока питания, выполненного в полумостовой топологии резонансного LLC-преобразователя.
Рис. 1. Блок-схема типового резонансного импульсного блока питания мощностью 800 Вт
Уровни входного сигнала обычных микросхем драйвера затвора нижнего ключа определяются относительно потенциала «земли» (общего провода) микросхемы драйвера. Таким образом, если потенциал заземления драйвера из-за падения напряжения слишком высоко смещается относительно потенциала заземления микросхемы контроллера, то может произойти ложное срабатывание драйвера и, соответственно, нижнего ключа. Подобная ситуация отрицательно сказывается на работе и характеристиках ИИП, поскольку в этом случае в полумостовой схеме через открытые МОП-транзисторы пойдет сквозной ток и из-за возникшей перегрузки (фактически для них это означает короткое замыкание) они могут выйти из строя.
Проблемы, возникающие при жестком переключении
В топологиях с жестким переключением (то есть не во время перехода через нуль тока), таких как ККМ и силовые каскады прямоходовых двухтактных преобразователей, особое внимание следует уделять паразитной индуктивности, присутствующей в той или иной мере в точке подключения истока силовых полевых МОП-транзисторов к заземляющим проводникам печатной платы. Жесткое переключение идет рука об руку с высокой скоростью нарастания тока dI/dt, что, в свою очередь, приводит к коммутационным помехам на шине заземления. Эти коммутационные помехи представляет собой экспоненциально затухающие колебания высокого напряжения с частотой в диапазоне 50–120 МГц и амплитудами с полным размахом до ±70 В. Это также является одной из основных причин возникновения сдвига потенциала заземления между общими выводами микросхем ШИМ-контроллера и драйвера затвора, возникающего в момент переключения. Чем выше номинальная мощность ИИП, тем сильнее проявляется данный эффект. Кроме того, если конструкции печатных плат не являются оптимальными из-за финансовых ограничений и специфики требований в части конструктивного исполнения, ситуация может усугубиться еще более.
Решить такую проблему достаточно сложно. В конечном итоге, чем ниже паразитная индуктивность «земли» в контуре силового питания, тем ниже будут индуцированные в ней колебания и тем меньше риск ложных срабатываний драйвера затвора. Чтобы сохранить нежелательный сдвиг «земли» как можно ниже, у разработчиков ИИП есть несколько вариантов. Они могут выполнить динамический контур затвора на минимальной физической области печатной платы и использовать заземления на печатной плате в виде отдельных трасс, что позволяет обеспечить путь возврата тока цепи управления с наименьшей возможной индуктивностью. Другие решения предполагают проектирование выходных трасс драйверов затвора, которые выполняются как можно более широкими проводниками, использование безвыводных силовых МОП-транзисторов или силовых МОП-транзисторов с дополнительным выводом истока, предусмотренным для подключения транзистора по схеме Кельвина (то есть цепь измерения тока, управления или регулирующей обратной связи выведена из контура больших токов), что уменьшает влияние последствий от жесткой коммутации ключа на схему управления затвором. Все эти решения работают, но могут усложнить и значительно увеличить занимаемую площадь и стоимость конечной конструкции ИИП.
Причина ложного срабатывания обычных микросхем драйверов затворов транзисторов низкой стороны
Рис. 2. Обычная микросхема драйвера затвора нижних транзисторов, напряжение на входе оценивается относительно потенциала шины заземления (GND) драйвера
В обычной микросхеме драйвера затвора нижнего ключа интерпретация сигналов управления и включения всегда выполняется относительно потенциала общего провода как источника нулевого опорного напряжения, который подсоединен к точке заземления этого драйвера. В примере, показанном на рис. 2, выход понимается как логически выключенный (OFF), если входной сигнал VIN_L max не превышает 0,8 В относительно «земли». И наоборот, если уровень входного сигнала VIN_H min находится не менее чем на 2,0 В выше потенциала «земли», то в этом случае выход считается логически включенным (ON).
Для того чтобы лучше понять проблему, возникающую при смещении потенциала «земли» драйвера затвора, следует учесть, что входы драйвера обычно подключаются к микросхеме ШИМ-контроллера преобразователя. С электрической точки зрения микросхема ШИМ-контроллера имеет более стабильный потенциал заземления, чем шина заземления драйвера. В некоторых конструкциях ситуация ухудшается еще более, чем было описано ранее. Это происходит, когда контакт заземления микросхемы драйвера затвора находится далеко от точки заземления ШИМ-контроллера. Так может произойти, например, в случае, когда по конструктивным соображениям микросхема ШИМ-контроллера находится на отдельной плате, подключенной или вставленной в основную силовую плату ИИП.
На рис. 3a показан ККМ с использованием силового МОП-транзистора, который снабжен дополнительным выводом истока, что, как уже было сказано выше, обеспечивает подключение управления по схеме Кельвина. Здесь для развязки двух потенциалов заземления предусмотрена гальванически изолированная микросхема драйвера затвора. То есть «земля» контролера (GND1) и «земля» собственно схемы драйвера затвора нижнего ключа (GND2) оказываются разделены. Эта технология называется «разрыв существующего контура заземления» (в англ. терминологии cutting the ground loop — «разрезка петли заземления»).
Рис. 3.
a) C целью разрыва контура заземления МОП-транзистор управляется гальванически изолированным драйвером затвора, подключенным с использованием дополнительного вывода истока;
б) пример влияния паразитной индуктивности шины заземления
В схемах типа той, что показана на рис. 3a, дополнительный контакт истока используется для уменьшения влияния на потенциал заземления микросхемы драйвера затвора и паразитной индуктивности силовой цепи истока мощного МОП-транзистора. Измерения преобразователей, выполненных с помощью таких топологий, показывают, что колебания потенциала «земли» между микросхемой ККМ-контроллера и общего вывода (GND2) микросхемы драйвера затвора все еще могут находиться в пределах до ±60 В.
Как известно, в маломощных ИИП достижение наивысшей, как сейчас принято говорить, производительности, под которой подразумеваются и общие электрические характеристики, и коэффициент полезного действия (КПД), не всегда является главной задачей разработчика. Во многих случаях приоритетны требования к механической конструкции, а также стоимость компонентов и печатных плат. Именно это, как правило, становится основным соображением, принятым как базовое при их проектировании. Такие ограничения могут привести к проектированию ИИП с более длинными, чем это было бы оптимально и желательно, расстояниями и линиями связи между микросхемами драйвера затвора и ШИМ-контроллером. Кроме того, экономия может заставить проектировщика использовать однослойные печатные платы и исключить применение изолированных драйверов. При таких обстоятельствах паразитные индуктивности появляются и в шинах заземления (рис. 3б). В представленном примере переключение силового МОП-транзистора может легко привести к динамическому сдвигу потенциала заземления между ШИМ-контроллером и драйвером затвора до ±20 В.
Решение проблемы разности потенциалов заземления — в использовании микросхемы драйвера нижнего ключа с истинно дифференциальными входами
Рис. 4. Микросхема драйвера затвора нижнего транзистора с истинно дифференциальными входами, в этом случае входы независимы от подключения и потенциала шины заземления (GND) драйвера
Если микросхема драйвера затвора имеет истинно дифференциальные входы, то его управляющие сигналы в значительной степени независимы от потенциала общего провода этой микросхемы. Здесь значение имеет исключительно и только разность напряжений между его входами, только она влияет на включение или выключение ее выхода. Например, если потенциал Vin+ выше потенциала Vin– на 1,8 В, это интерпретируется как «логическое включено» (ON). Если разница составляет менее 1,5 В, это интерпретируется как «логическое выключено» (OFF).
С этой целью компания Infineon предлагает разработчикам к применению в ИИП микросхемы высокой мощности 1EDN7550B и 1EDN8550B, выпускаемые под торговой маркой EiceDRIVER. Данные микросхемы представляют собой одноканальные драйверы затворов нижнего ключа, которые могут должным образом функционировать с постоянным (статический режим) сдвигом по шине GND до уровня ±70 В. Если на «земляной» шине имеются переходные, что достаточно типично при переключении силовых МОП-транзисторов, эти микросхемы надежно и без ложных срабатываний выдерживают броски напряжения в пике в пределах ±150 В. Это все можно характеризовать как устойчивость по входам предлагаемых драйверов для синфазной статической и динамической помехи.
Поскольку функционирование микросхем 1EDN7550B и 1EDN8550B основано на разности напряжений между двумя входами, то самым важным правилом при их использовании для проектирования является размещение двух так называемых синфазных резисторов максимально физически близко к двум входным контактам микросхемы драйвера. Причем разводка входов должна выполняться геометрически симметрично, что необходимо для минимизации рассогласования, вызванного влиянием паразитной индуктивности. Разводка выходной цепи и подключение питания (вывод VDD) выполняются аналогично обычным образом, используемым при разводке плат с широко распространенными одноканальными микросхемами драйвера затвора нижнего ключа. Так что при модернизации существующих конструкций ИИП с переходом на применение более устойчивого решения драйвера на базе микросхем 1EDN7550 или 1EDN8550 необходимо будет изменить только их подключение по входу.
Микросхемы драйверов 1EDN7550B и 1EDN8550B EiceDRIVER предлагаются в малогабаритном стандартном шестиконтактном корпусе типа SOT-23. Такое исполнение, по сравнению с использованием гальванически изолированных драйверов, дает возможность повысить плотность мощности конечного решения. Второе преимущество, которое достигается благодаря использованию данного типа корпуса, заключается в том, что разработчики могут размещать эти драйверы в наиболее оптимальном месте по отношению к затвору силового МОП-транзистора, которым они управляют. Подключение драйвера приведено на рис. 5.
Рис. 5. МОП-транзистор управляется драйвером затвора с истинно дифференциальными входами управления
Заключение
Микросхемы драйверов затворов нижнего ключа с истинно дифференциальными входами управления, такие как 1EDN7550B или 1EDN8550B компании Infineon, могут выдерживать синфазное смещение до ±70 В статическом и до ±150 В (пиковое) динамическом режимах (рис. 6). Оба эти значения находятся в пределах рабочего диапазона и применимы на практике, но при условии, что печатная плата разработана с учетом приведенных в спецификации на указанные драйверы рекомендаций по их компоновке.
Рис. 6. Демонстрация высокой устойчивости драйверов серии 1EDNх550 к сдвигу относительно общего провода (GND)
С помощью микросхем 1EDN7550B и 1EDN8550B можно разработать одноканальные драйверы затворов низкой стороны для управления МОП-транзисторами, такими как CoolMOS P7, C7 или G7. Эти драйверы имеют дополнительный вывод истока для организации схемы управления, в приложениях, например ККМ, мощностью до 2,5 кВт, внешний вид демонстрационной платы которого показан на рис. 7. Здесь нет необходимости разрывать контур заземления, применяя гальванически изолированные драйверы.
Рис. 7. Демонстрационная плата 2,5-кВт ККМ с драйвером 1EDN7550 и четырехвыводным CoolSiC
Как было экспериментально доказано и можно видеть на рис. 6, микросхемы 1EDN7550B и 1EDN8550B обеспечивают достаточную устойчивость к сдвигам потенциала общей «земляной» шины (GND), что является обычным для больших однослойных печатных плат, а также в приложениях, где выполнение конструктивных требований приводит к увеличению длины линий связи между микросхемами ШИМ-контроллера и драйвера затвора.
Сочетание доказанного качества и высокой надежности продуктов компании Infineon с преимуществами предлагаемых микросхем управления затвором нижнего ключа с истинно дифференциальными входами управления приводит к сокращению времени на НИОКР конечного продукта, достижению более высокой плотности мощности, большей устойчивости к неблагоприятным воздействиям окружающей среды и более эффективным конструкциям — и все это по более низкой цене, чем при использовании традиционных решений.
Читайте также: