Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Согласование уровней сигнала SPI
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
peroid
Доброго всем времени суток.
Проблема следующего характера:
Пытаюсь вкрячить джойстик от PS2 dualshock в связку с stm32f4discovery.
В инете нарыл информацию, что уровень логической единицы у SPI джойстика = 3.3 Вольт, а у SPI stm32f4 уровень единицы = 3.0 вольт.
Там же нашел девайс для согласования уровней - CMOS HEX buffer (CD4050B).
Правильно ли я понимаю, что это некий неинвертирующий логический элемент с возможностью усиления уровня напряжения?
Просто никак не могу подобрать аналог, чтобы точно быть уверенным что это он. Уже подумал присобачить какой нибудь транзистор для развязки, но микруха вроде как-то кошернее.
smalcom
Цитата
а у SPI stm32f4 уровень единицы = 3.0 вольт

это где такое написано?

пардон за
bb-offtopic.gif
но мне надо найти выход из состояния когнитивного диссонанса: как можно писать программу для stm32f4, и программу не простую, а для устройства ввода с обратной связью и при этом спрашивать про применение простейшего буфера?
peroid
Цитата(smalcom @ Sep 17 2015, 21:15) *
это где такое написано?

пардон за
bb-offtopic.gif
но мне надо найти выход из состояния когнитивного диссонанса: как можно писать программу для stm32f4, и программу не простую, а для устройства ввода с обратной связью и при этом спрашивать про применение простейшего буфера?

А в чем собственно проблема? Ну вот не знаю я как это организовать физически, через этот самый буфер. Точнее как его подобрать, чтобы не облажаться.
Прочитал про уровни вот тут: http://virtual-shed.blogspot.ru/2013/03/pl...erface.html?m=1
И еще, я слышал где-то, что эта ветка для новичков или что-то типа этого.
Моей фантазии пока хватило на оптопару, вместо буфера sm.gif
Plain
Резисторов 100 Ом, последовательно со всеми, кроме общего провода, линиями, вполне достаточно для такого согласования.
peroid
Цитата(Plain @ Sep 17 2015, 22:08) *
Резисторов 100 Ом, последовательно со всеми, кроме общего провода, линиями, вполне достаточно для такого согласования.

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

Нашел txb0104. Думаю, что это оно.

Спасибо за помощь.
HardEgor
Цитата(peroid @ Sep 18 2015, 00:30) *
В инете нарыл информацию, что уровень логической единицы у SPI джойстика = 3.3 Вольт, а у SPI stm32f4 уровень единицы = 3.0 вольт.

У SPI stm32f4 уровень логической единицы от 2В до напряжения питания, преобразователь уровней не нужен.
По-простому, обычно, если напряжение питания устройств одинаковое, то логические уровни совпадают.
peroid
Цитата(HardEgor @ Sep 17 2015, 23:12) *
У SPI stm32f4 уровень логической единицы от 2В до напряжения питания, преобразователь уровней не нужен.
По-простому, обычно, если напряжение питания устройств одинаковое, то логические уровни совпадают.

Спасибо.
Вот только не понятно. Я питаюсь от usb, цепляю осциллограф к ножками SPI1 и наблюдаю 2.997 Вольт.
Попробую завтра запитать его через пин 5В.
peroid
Цитата(HardEgor @ Sep 17 2015, 22:12) *
У SPI stm32f4 уровень логической единицы от 2В до напряжения питания


Добрался я до платки, вот выкладываю то, что получилось:

На плату поступает питание 5 Вольт от источника питания
Нажмите для просмотра прикрепленного файла



Вот что имеем на выходе ноги PA5 (SPI1_SCK)
Нажмите для просмотра прикрепленного файла

Не выходит каменный цветок.
Plain
Да, мы что-то видим. Загрузили на форум 2,5 МБайта мусора.
peroid
Цитата(HardEgor @ Sep 17 2015, 22:12) *
если напряжение питания устройств одинаковое, то логические уровни совпадают.

У джойстика минимум 3.3 Вольта на питание.
agregat
Вы зря беспокоитесь. По уровням разницы нет что 3.0V что 3.3V у Вас все будет работать без проблем.
Ставите резисторы 100 ом на каждую цепь между мастером и джойстиком.

PS: На совершенно идиотский вопрос "а как же с логикой 3.3V если там 3.0V есть простой ответ "согласно правилам цифровой логики если на входе уровень больше 2.0V это логическая единица и уже неважно 3.0 V или 3.3V".
peroid
Цитата(agregat @ Sep 19 2015, 12:21) *
Вы зря беспокоитесь. По уровням разницы нет что 3.0V что 3.3V
PS: На совершенно идиотский вопрос "а как же с логикой 3.3V если там 3.0V есть простой ответ "согласно правилам цифровой логики если на входе уровень больше 2.0V это логическая единица и уже неважно 3.0 V или 3.3V".


Спасибо большое за разъяснения! Собственно именно идиотский вопрос и не давал мне покоя.
Ruslan1
Цитата(agregat @ Sep 19 2015, 15:21) *
PS: На совершенно идиотский вопрос "а как же с логикой 3.3V если там 3.0V есть простой ответ "согласно правилам цифровой логики если на входе уровень больше 2.0V это логическая единица и уже неважно 3.0 V или 3.3V".

Что это за "правила цифровой логики" такие? Где Вы такое взяли? Первый попавшийся пример- обычная 74HC серия уже нарушает эти Ваши "правила".

А правила (в смысле, уровни переключения и максимально допустимые величины)- они в конкретной документации описаны, на конкретную микросхему и конкретный вход, так как никаких общих правил не существует в природе, и даже в рамках одной микросхему видов входов может быть много разных.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.