Перейти к содержанию
    

Stm32 remap pin function

Всем привет!

 

Интересует практическое поведение процессоров STM32 при задании AF на ножки.

 

У процессора типа STM32F427 для ножек есть по 16 альтернативных функций, как я понимаю через них можно не только периферию на ножку подключить, но и ремап периферии выполнять.

И вот тут меня интересует что будет если у 2 разных ножек выбрать альтернативной функцией одну и туже периферию?

Допустим UART-TX выйдет на 2 ноги одновременное, а UART-RX как? ножки будут конфликтовать?

 

Дополнительно интересует кто-нибудь видел АЦП-ЦАП которые можно было бы ремапить на разные ноги? Если да, то что там получается при одновременном ремапе?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а UART-RX как? ножки будут конфликтовать?
Верояно, да. В документации об этом не упоминается. А что заставляет вас делать такие странные вещи с UART-RX?

 

Дополнительно интересует кто-нибудь видел АЦП-ЦАП которые можно было бы ремапить на разные ноги?
АЦП-ЦАП прибиты к своим ногам гвоздями. И включаются переводом ноги в аналоговый режим, а не в режим альтернативной функции.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В документации об этом не упоминается. А что заставляет вас делать такие странные вещи с UART-RX?

Поиск в гугле даёт только какие-то спекуляции. Предлагаю автору попробовать и сообщить о результатах остальным. Ну и случайно может оказаться полезно. Скажем, если снаружи хочется по какой-то причине объединить два потока UART функцией "логическое И", а внутри оно объединяется именно так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответы. У меня нет под рукой ничего на чем бы я мог проверить что будет, поэтому и спрашивал тут, может кто-то может попробовать или знает ответ.

 

Про аналог понял, спасибо, действительно прямо отдельный режим.

 

Интерес мой больше архитектурный, чем практический. Я не планирую так использовать УАРТ, мне интересно как реализовано переключение.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собственно, спекуляции сводятся к следующему:

- можно объединять входы логической функцией, например, "И"

- можно брать только один из входов, если сконфигурированы несколько

- можно просто скоммутировать их в одну цепь ключами с не очень маленьким сопротивлением

- ну и любые другие варианты, если есть фантазия

 

Выходы же, вероятнее всего, будут дублировать один и тот же сигнал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я смотрю на рисунок:

Alt_fun.png

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А не кажется вам всем, что функция будет подключена только к последнему конфигурируемому по ходу выполнения пину.

 

Ждем кто проверит :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давно такое проверял:), с UART-TX, сигнал был на двух пинах. Но не совсем ясно где это может пригодиться, только если при отладке, по какойто причине не сможешь подпаяться к нужному пину.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А не кажется вам всем, что функция будет подключена только к последнему конфигурируемому по ходу выполнения пину.

99% что нет. Потому что вы заполняете регистры, а выбор делает схема. Схема наверняка не будет следить за тем в какой последовательности вы заполняли регистры выбора.

 

Однако можно получить вечный жёсткий отказ шины данных в случае двух ног мк на одной периферии в случае входа

Я вынужден еще раз спросить, вы проверяли это лично? Это не чтобы вас обидеть, мне нужно оценить достоверность ответа)

Просто отказ шины формируется при неправильных обращениях в адреса. В какой момент возникнет отказ шины?, во время записи в регистр второй подключаемой ноги? Это сложно отследить, да и переброске ног всегда придется следить что включаю одну вы не забыли выключить другую. В реальности я не вижу путей формирования отказа шины или хард фалта при записи в AF регистры :(

 

UART-TX, сигнал был на двух пинах

спасибо, с выходом это понятное поведение, спасибо за подтверждение.

 

Вопрос со входом у меня еще открыт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...но не имеет смысла.

Когда выходы подключаются к фрагментам с независимым (от контроллера) питанием - имеет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...