реклама на сайте
подробности

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Согласование уровней SPI STM32-STM8S
turnon
сообщение Jan 7 2015, 11:14
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 340
Регистрация: 17-10-14
Пользователь №: 83 207



Подскажите пожалуйста по схемотехнике.

Есть основной МК STM32F2205VET6 (3.3V), он работает как мастер по SPI3 (ноги 78, 79, 80 у STM32) c шестью МК STM8S003F3 (слейвы, 5V). STM32 как я понял может напрямую рабортать с 5 вольтовым STM8S, ноги 78, 79, 80 у STM32 5V tollerant.

Но в качестве слейва может быть также не "5V tollerant" МК. Как можно минимальными затратами защитить 3-вольтовый МК на SPI от 5-ти вольтовых сигналов SPI от STM8S?

Питание у STM8S опустить до 3.3В нет возможности.

Обнаружил в одной схеме, что вывод MISO с STM8S идет через резистор 270 Ом. Защитит ли это 3-х вольтовые МК, непонятно.

Еще непонятно, достаточно ли будет "мощности" у выхода SPI STM32 для нормальной работы с шестью слейвами (STM8S)? Все слейвы на расстоянии макс 10 см от мастера на разъемах типа PLS-4.
Или может подстраховаться и добавить между STM32 и STM8S буфер типа SN74LVC3G34?
Go to the top of the page
 
+Quote Post
1113
сообщение Jan 7 2015, 11:40
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 24-02-06
Из: Москва
Пользователь №: 14 658



объясните, с чего ваши сомнения? вы же сами указываете на толерантность выводов stm32?
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jan 7 2015, 11:45
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Обратите внимание на надёжность решения - подавать на 5-вольт схему 3.3 вольт сигналы. Вам всё нравится в этом?
Go to the top of the page
 
+Quote Post
OlegH
сообщение Jan 7 2015, 11:58
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 14-01-06
Из: Украина, г.Харьков
Пользователь №: 13 168



А на какой скорости работает SPI? Просто поделите 5 В с выходов STM8S на резистивном делителе до уровня 3,3 В и все. Номиналы резисторов - в зависимости от скорости.
А 3,3 В с выходов STM32F подавайте на STM8S либо непосредственно, либо через защитный резистор 100-200 ом (на всякий случай, например, если нога STM8S окажется случайно настроенной на выход).

Это простейшее решение и обладает, несомненно, некоторыми потенциальными недостатками, но что-то мне подсказывает, что в вашем случае этого более чем достаточно, и работать оно будет.
Go to the top of the page
 
+Quote Post
1113
сообщение Jan 7 2015, 12:04
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 24-02-06
Из: Москва
Пользователь №: 14 658



Цитата(Genadi Zawidowski @ Jan 7 2015, 14:45) *
Обратите внимание на надёжность решения - подавать на 5-вольт схему 3.3 вольт сигналы. Вам всё нравится в этом?

достаточно проверить пороги...
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 7 2015, 13:00
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(turnon @ Jan 7 2015, 14:14) *
Обнаружил в одной схеме, что вывод MISO с STM8S идет через резистор 270 Ом.

270 Ом - это очень похоже на гасящий звон резистор.

Цитата(turnon @ Jan 7 2015, 14:14) *
Защитит ли это 3-х вольтовые МК, непонятно.

Может оказаться, что этого достаточно, чтобы защитить. Надо читать даташит (макс. допустимый ток через пин, если это вообще там оговаривается). Ещё бывают сюрпризы, когда ток, текущий через защитный диод, начинает приподнимать напряжение питания (получите, скажем, 4,3 В вместо 3,3 В). Так что за питанием тоже следите.
Go to the top of the page
 
+Quote Post
1113
сообщение Jan 7 2015, 13:03
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 24-02-06
Из: Москва
Пользователь №: 14 658



Цитата(scifi @ Jan 7 2015, 16:00) *
Ещё бывают сюрпризы, когда ток, текущий через защитный диод, начинает приподнимать напряжение питания (получите, скажем, 4,3 В вместо 3,3 В). Так что за питанием тоже следите.

разве в 5v-tolerant выводах используются эти диоды?
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 7 2015, 13:05
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(1113 @ Jan 7 2015, 16:03) *
разве в 5v-tolerant выводах используются эти диоды?

Вы уверены, что вы читали топик?

Цитата(turnon @ Jan 7 2015, 14:14) *
Но в качестве слейва может быть также не "5V tollerant" МК.

Go to the top of the page
 
+Quote Post
1113
сообщение Jan 7 2015, 13:11
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 24-02-06
Из: Москва
Пользователь №: 14 658



ах ты ж - ТС лишнего написал... надо было сразу начинать с третьей строки))

тогда я предлагаю по одному 2n7002 на каждую линию 5 -> 3
Go to the top of the page
 
+Quote Post
turnon
сообщение Jan 7 2015, 13:36
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 340
Регистрация: 17-10-14
Пользователь №: 83 207



Цитата(1113 @ Jan 7 2015, 14:40) *
объясните, с чего ваши сомнения? вы же сами указываете на толерантность выводов stm32?

Дело в том, что слейв может быть как 5-ти вольтовый, так и 3-х вольтовый. И боюсь что напрямую 3-х вольтовому слейву с не 5V tollerant SPI поплохеет, когда на линии MISO от 5-ти вольтового будут идти данные, ведь все MISO соединены.

Цитата(OlegH @ Jan 7 2015, 14:58) *
А на какой скорости работает SPI? Просто поделите 5 В с выходов STM8S на резистивном делителе до уровня 3,3 В и все. Номиналы резисторов - в зависимости от скорости.

Скорость ограничена максимальной у STM8S - 8 МБит, если не ошибаюсь.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 7 2015, 14:37
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(turnon @ Jan 7 2015, 19:36) *
Дело в том, что слейв может быть как 5-ти вольтовый, так и 3-х вольтовый. И боюсь что напрямую 3-х вольтовому слейву с не 5V tollerant SPI поплохеет, когда на линии MISO от 5-ти вольтового будут идти данные, ведь все MISO соединены.

Что-ж у Вас там за зоопарк такой на SPI???
Обычно SPI - это внутриплатный или внутридевайсный интерфейс, редко выходящий на внешние разъёмы устройства.
Вы не знаете заранее какие слэйвы в вашем устройстве на SPI сидеть будут???
Если будут разные - рассадите их по разным SPI-портам (в вашем МК наверняка не один SPI имеется).

А на внешний разъём выведите что-нить типа RS-485.
Go to the top of the page
 
+Quote Post
turnon
сообщение Jan 7 2015, 16:17
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 340
Регистрация: 17-10-14
Пользователь №: 83 207



Цитата(jcxz @ Jan 7 2015, 17:37) *
Что-ж у Вас там за зоопарк такой на SPI???
Обычно SPI - это внутриплатный или внутридевайсный интерфейс, редко выходящий на внешние разъёмы устройства.
Вы не знаете заранее какие слэйвы в вашем устройстве на SPI сидеть будут???
Если будут разные - рассадите их по разным SPI-портам (в вашем МК наверняка не один SPI имеется).

А на внешний разъём выведите что-нить типа RS-485.

Модульная конструкция. Модули сидят на одном из SPI STM32. Остальнвые два SPI у STM32 заняты под другие задачи.

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

А 5В более универсальное питание (неизвестно какая еще в дальнейшем будет периферия на новых модулях), и из 5 лечге получить 3.3, чем наоборот.
Go to the top of the page
 
+Quote Post
gerber
сообщение Jan 7 2015, 16:39
Сообщение #13


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Конфигурируете MISO у 5-вольтового контроллера как Open-Drain вместо Push-Pull и подтягиваете, куда нужно, в данном случае, к 3,3 вольтам.


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 7 2015, 17:13
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(gerber @ Jan 7 2015, 22:39) *
Конфигурируете MISO у 5-вольтового контроллера как Open-Drain вместо Push-Pull и подтягиваете, куда нужно, в данном случае, к 3,3 вольтам.

Что будет с вашим опен-драйн при таких паразитных емкостях и индуктивностях как у ТС в его модульной конструкции с кучей проводов и разъёмов???
Какие величины подтяжек нужны? А учли что там уже 6 слэйвов (или больше)? Это-ж сколько активному контроллеру ногой MISO миллиампер продавливать придётся???
А учли что ТС хочет до 8МГц при этом?

Да там завалов фронтов и глитчей будет больше чем полезного сигнала.
Да в таком случае проще всё на I2C посадить.

Простое решение - перевести всю SPI-шину на 3.3V.
Перед каждой MISO-ногой 5-вольтового МК поставить цепочку встречно-параллельно включённых нескольких диодов:
для пропуска "0" от МК в одной ветви цепочки - диод Шоттки; для пропуска "1" в другой ветви - 3 последовательных кремниевых диода.
Хотя это конечно - по колхозному.
Правильней - после MISO такого МК поставить любой логический элемент - повторитель с 3.3V выходом.
Go to the top of the page
 
+Quote Post
gerber
сообщение Jan 7 2015, 17:46
Сообщение #15


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(jcxz @ Jan 7 2015, 21:13) *
Что будет с вашим опен-драйн при таких паразитных емкостях и индуктивностях как у ТС в его модульной конструкции с кучей проводов и разъёмов???
Какие величины подтяжек нужны? А учли что там уже 6 слэйвов (или больше)? Это-ж сколько активному контроллеру ногой MISO миллиампер продавливать придётся???
А учли что ТС хочет до 8МГц при этом?

Да там завалов фронтов и глитчей будет больше чем полезного сигнала.

Согласен, колхоз, но не более, чем делитель из резисторов.
С другой стороны, подтяжку поменьше (300-500 Ом) - и попробовать open-drain можно, не так уж и это много, 10 см от мастера до слейва. Особенно, если полная скорость 8 МГц не особо нужна, и потребление тока тоже не столь важно.


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post

4 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01488 секунд с 7
ELECTRONIX ©2004-2016