Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

STM32 - Как подключать 5В-нетолерантные ножки к ТТЛ?

Вс окт 09, 2022 19:55:41

Требутся в моей самоделке на BluePill использовать ножки PA0..7 для ввода сигналов (т. е. ножки будут работать только на чтение).

Эти ножки не 5V толерантные.

Что нужно сделать с точки зрения схемотехники и настройки, чтобы на них видеть сигналы ТТЛ-логики, не спалить микроконтроллер, и четко принимать сигналы?

Распиновка и обозначение ножек, на всякий случай: https://microkontroller.ru/wp-content/u ... ails_0.png

Re: STM32 - Как подключать 5В-нетолерантные ножки к ТТЛ?

Вс окт 09, 2022 20:05:27

вариантоф 2 дешевыйи правилный
дешевка -запитать все от 1 источника питани равнова мк например 3.3в
вариант 2 на каждый порт ставим Преобразователи уровня 5/3.3
если порт тока на вход то их сжемка проще всего 1 мосфетик логический если туда суда лучше взять чипы спецовые для того с буферированием и 2питаниями

Re: STM32 - Как подключать 5В-нетолерантные ножки к ТТЛ?

Вс окт 09, 2022 20:18:23

Только на чтение. Резистивный делитель напряжения.

Re: STM32 - Как подключать 5В-нетолерантные ножки к ТТЛ?

Вс окт 09, 2022 20:44:01

если скорость низкая то да можно и делители на входа дешева и сердито
и даже можно и тут сэкономить поставиф впослед 1 резистор тогда внутреня защита порта(диодная) обрежет сигнал на уровне Vсс+0.6v

Re: STM32 - Как подключать 5В-нетолерантные ножки к ТТЛ?

Вс окт 09, 2022 21:38:58

запитать все от одного источника питания равного МК, например 3.3в

Что подразумевается под "все"? Запитать микросхемы TTL-логики не 5 вольтами, а 3.3 вольтами? А они работать будут? У меня это шинный формирователь К555АП6. Как он на 3.3 вольтах себя должен чувствовать?

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

А что за схемка с одним логическим мосфетом? И какая модель мосфета должна быть?

Добавлено after 4 minutes 13 seconds:
Только на чтение. Резистивный делитель напряжения.


А что этот делитель должен делить, какова схема?

И да - скорость критична. Я сейчас переделываю плату, на которой мне нужно выгадать лишние ~250нс. Сама BluePill работает на частоте 72МГц, входы на 50МГц, а устройство, которое обслуживает STM-ка, работает на 1.8Мгц.

Re: STM32 - Как подключать 5В-нетолерантные ножки к ТТЛ?

Вс окт 09, 2022 21:46:46

входы на 50МГц

Наивный. Советую проверить, какая будет задержка на вход в прерывание и прочие накладные расходы.
А если еще и считать что-то надо, то даже о 10МГц забудь!
Что у тебя за задача? Читать параллельную шину? Попробуй по DMA это делать, а еще одну ногу - вход какого-нибудь таймера - используй для синхроимпульсов. Резистивного делителя тебе должно хватить. А если то же самое на выход понадобится, то придется ставить буфер. Есть такие восьмиканальные, сам кое-где использовал.

Re: STM32 - Как подключать 5В-нетолерантные ножки к ТТЛ?

Вс окт 09, 2022 23:18:29

входы на 50МГц

Наивный. Советую проверить, какая будет задержка на вход в прерывание и прочие накладные расходы.
А если еще и считать что-то надо, то даже о 10МГц забудь!

Нету у меня прерываний, все отключены. Только прямая работа с портами.

Re: STM32 - Как подключать 5В-нетолерантные ножки к ТТЛ?

Вс окт 09, 2022 23:24:05

В смысле - нету прерываний? И DMA не работает?
Как же тогда опрос входов реализован? Дичь какая-то…

Re: STM32 - Как подключать 5В-нетолерантные ножки к ТТЛ?

Вс окт 09, 2022 23:50:31

вообще преобразователи уровня это необязательно дорого ) любая логика 74lvc умеет так работать, питаем ее от 3V а входы толерантны к 5.5V или 6..7+V в зависимости от типономера и производителя (там отдельный зенер на каждый вход). если нужно 1-2 входа то есть 74lvc1gXX , 2gXX во всяких sot23-6 /sm8/dsbga итп. короче недорого и оч компактно 8)

Re: STM32 - Как подключать 5В-нетолерантные ножки к ТТЛ?

Пн окт 10, 2022 06:01:47

Запитать микросхемы TTL-логики не 5 вольтами, а 3.3 вольтами? А они работать будут? У меня это шинный формирователь К555АП6. Как он на 3.3 вольтах себя должен чувствовать?.

Плохо он будет себя чувствовать. TTLs нужно питать напряжение по номиналу - 5Вольт. Понизить выходное напряжение можно обычным резистивным делителем.
Последний раз редактировалось electroget Пн окт 10, 2022 09:15:53, всего редактировалось 1 раз.

Re: STM32 - Как подключать 5В-нетолерантные ножки к ТТЛ?

Пн окт 10, 2022 07:30:49

Только на чтение. Резистивный делитель напряжения.

А что этот делитель должен делить, какова схема?

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

Вероятно, так. :)))
Для снижения с 5 В до 3 В номиналы резисторов в делителе имеют соотношение 10:15, то есть верхний резистор например 10 кОм, нижний 15 кОм.

Re: STM32 - Как подключать 5В-нетолерантные ножки к ТТЛ?

Пн окт 10, 2022 09:22:39

Кстати, xintrea, тебе что ли только читать шину надо? А клок как - внешний? Непонятно, что ты там такое мастеришь.

Re: STM32 - Как подключать 5В-нетолерантные ножки к ТТЛ?

Пн окт 10, 2022 09:29:11

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