» » Как подключить устройство на 3.3В к 5-ти вольтовому микроконтроллеру?
Информация к новости
  • Просмотров: 54364
  • Автор: administrator
  • Дата: 13 марта 2008
  • 0
13 марта 2008

Как подключить устройство на 3.3В к 5-ти вольтовому микроконтроллеру?

Категория: Полезная информация

Если вы когда-нибудь пытались соединить 3.3В сенсор и 5-ти вольтовый микроконтроллер, вы уж знаете о чём пойдёт речь – соединение подобных устройств может стать проблемой. Существует несколько решений при которых устройство на 3.3В может быть безопасно подключено к микроконтроллеру на 5В. Эта статья описывает некоторые из них.
Ниже приведён пример как НЕ НАДО соединять 3.3 вольтовое устройство (такое, например как SCP1000-D01– датчик давления с SPI интерфейсом) к 5-ти вольтовому МК (таким как PIC или AVR, работающих на 5В логических уровнях).
Хотя вы и можете получить работающею схему, однако устройство на 3.3В будет жить недолго.
 
Как подключить устройство на 3.3В к 5-ти вольтовому микроконтроллеру?
 

Прямое соединение  устройств (см. схему выше) приводит к перегрузке 3.3В устройства и в итоге приводит к его отказу. 

Существует множество методов сопряжения двух SPI компонент. В магазинах можно найти множество интерфейсных контроллеров (IC), которые специально разработаны для сопряжения логических уровней. Здесь мы не будем их использовать, так как их сложно достать и существуют некоторые более простые методы сопряжения логических уровней, которые мы и опишем ниже.    
 
Последовательный резистор
Это самый простой и элементарный способ соединения устройств. Ниже приведена схема, использующая такой метод.
 
Как подключить устройство на 3.3В к 5-ти вольтовому микроконтроллеру?
 
R3 и R4 : резисторы номиналом 10 кОм размещаются в линии MOSI(Master Output Slave Input – Выход Главного Вход Подчинённого) и в линии тактирования SCK(clock). Эти резисторы ограничивают ток на 3.3В устройстве. Внутренние ограничивающие диоды 3.3В устройства приводят входящий сигнал к 3.3В таким образом снимается нагрузка с устройства. Ограничивающие диоды обычно присутствуют на входных линиях низковольтных устройств.     
 
Ограничивающие диоды используются для приведения пикового напряжения на линии к определенным величинам максимального напряжения. Резисторы сводят ток, протекающий на диодах к необходимым значениям. Ограничение тока необходимо для  того,  чтобы диоды не были повреждены. Без этих резисторов будет протекать гораздо больший ток. Это приводит к выходу их из строя и повреждения устройства.   
 
Требуется осторожность в случаях когда нет уверенности что в 3.3В устройстве есть ограничивающие диоды. Обычно в большинстве устройств они присутствуют, но если это не так, то метод последовательных резисторов не подходит для ограничения входного напряжения.
MISO: вы наверное заметили, что на выходе (MISO) 3.3В   устройства нет резистора. Нет необходимости в дополнительных элементах при подключении этой линии к 5В устройству
 
Как подключить устройство на 3.3В к 5-ти вольтовому микроконтроллеру?
 
Здесь приведены характеристики напряжения постоянного тока для ATmega8. Нам необходимо выделить нижнюю границу напряжения для логического сигнала «1» и максимальное значение напряжения для сигнала «0».
Если МК запитан на 5В, то видно, что максимальное напряжение для низкого уровня VIL  соответствует 0.2*5В = 1В. То есть любое напряжение менее 1В для ATmega8 будет соответствовать уровню логического «0».   
 

Аналогично  0.6*5В = 3В. Таким образом, напряжение 3В будет опознаваться как логическая «1». Что будет, если напряжение имеет величину между этими значениями - сигнал не будет распознан. Если есть сомнения, протестируйте, корректно ли ваш МК воспринимает входные сигналы. Если 3.3В устройство способно выдавать сигнал логической «1» на уровне 3В, то ATmega8 должен корректно воспринимать сигнал без дополнительных элементов в цепи.    

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

R2 : резистор, номиналом 1кОм, размещён на линии CS. Всего на линии, идущей к 3.3В устройству размещено два резистора которые в паре образуют делитель напряжения. Возможны три ситуации:

1.        5В устройство в состоянии reset  и линия CS запитывается через подтягивающий резистор R4

2.        5В устройство выдаёт высокий уровень по линии CS, значение напряжения ограничивается R5 и 3.3В устройство должно получить по линии CS сигнал 3.3-3.8В.

3.        5В устройство выдаёт низкий уровень по линии CS, 3.3В устройство получает сигнал 0.33В. (См делитель напряжения)    
 
Возникает вопрос - почему R1 имеет номинал именно 10кОм. Если обратиться к формуле расчета делителя напряжения, обнаружим что если к примеру 3.3В устройство получит (10кОм/20кОм)*3.3=1.65В в состоянии когда на линия CS сброшена  5В устройством (Для 3.3В устройства 1.65В не соответствует ни лог. 0 ни 1) - устройство не воспримет корректно сигнал. Поэтому в нашей схеме применяются  номиналы 1кОм в линии и 10кОм на подтяжке. 
 
Диод
Этот метод считается более безопасным решением, чем метод последовательных резисторов. Метод применим независимо от того имеются ли в 3.3В устройстве защитные ограничивающие диоды или нет.
 
Как подключить устройство на 3.3В к 5-ти вольтовому микроконтроллеру?
 
Когда 5В устройство передаёт высокий уровень, диод блокирует ток в направлении 3.3В устройства. 3.3В устройство в этом состоянии остаётся подключенным через подтягивающий резистор номиналом 10кОм.
Когда 5В устройство передаёт низкий уровень, диод закорачивается на землю. Это позволяет протекать току через диод от 3.3В устройства. На входной линии MOSI 3.3В устройства вместо постоянного напряжения 0В установится напряжение с учётом падения на диоде на уровне 0.6В. 0.6В достаточно, чтобы обозначить низкий уровень «0» для большинства устройств.

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

 

MOSFET
 
Это комплексное решение, но оно позволяет осуществлять сопряжение линии с низким уровнем напряжения с линией с высоким уровнем напряжения. Если напряжения 3В слишком мало чтобы передать сигнал логической «1»  5В устройству, решением послужит конфигурация на MOSFET транзисторах.   
 
конфигурация на MOSFET транзисторах
 
Но данной схеме 3.3В устройство передаёт сигнал 5В устройству. Когда 3.3В устройство передаёт «1»(3В), MOSFET замыкается и на линии TX-5В подаётся 5В через подтягивающий резистор R3. Когда 3.3В устройство передаёт «0» MOSFET замкнут на землю и на линии TX-5В подаётся 0В. Такая цепь хороший способ сопрягать элементы, работающие с низким напряжением с элементами, работающими на с более высоким напряжением. Достаточно убедиться, что низковольтный элемент расположен в левой части от MOSFET транзистора. Эта цепь не работает в обратном направлении (от высоковольтного элемента к низковольтному) потому, что MOSFET транзистор имеет внутренний диод.
Для начинающих рекомендуется использовать элементы, работающие с одним уровнем напряжений. Если у вас есть 3.3В сенсор, можете ли вы найти микроконтроллер на 3.3В? Если нет, для построения макетных вариантов, методы последовательного резистора или метода диода должно быть достаточно.

 

По материалам зарубежных источников.

 

Метки к статье: начинающим, интерфейсы, согласование уровней

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

27 июня 2009 20:40

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Hotelos by poverit avtoru, tem bolee adminu, no postojanno pereputannye pos.oboznachenia i naprimer eto:
"2. 5В устройство выдаёт высокий уровень по линии CS, значение напряжения ограничивается R5 и 3.3В устройство должно получить по линии CS сигнал 3.3-3.8В."
nikak ne pozvoljaut eto sdelat.
Pojasnu svoi somnenija: esli prinjat za uroven log. 1 OUTPUT-a 5V, a PULLUP na 3V3, poluchaem delitel primerno 1 k 10 na naprjazenii 1.7v=5v-3.3v, t.e. primerno -0.17v=(5-3.3)/10 (/11 na samom dele) so storony 5 volt DEVICE-a, t.o. 5-0.17=4.83Volts na vhode (t.e. "3.3В устройство должно получить по линии CS сигнал" 4.8В., a ne "3.3-3.8В" kak bylo skazano), esli ne uchityvat konechno soprotivlenija INPUT i nagruzku OUTPUT, o chem v statie, pretendujuchei na nekie raschety i proverku dokumentacii, nichego ne skazano, vse ostalnoe konechno srezet diod (esli on est), zadachu kotorogo my oblegchili lish na 10%. No my ved dolzny uchityvat predelnye parametry komponentov, esli hotim podluchit maksimalno korektno, t.e. naprimer pitanie 5V device kak 5V+X% dopustimogo.
Назад Вперед
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.