STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
alexf58
Нашел транзистор. Понюхал.
Сообщения: 183
Зарегистрирован: Сб фев 09, 2013 23:00:23

Re: STM32 новичку в ARM что к чему

Сообщение alexf58 »

Smen писал(а):Правильно ли я понимаю, что с контактов 1 и 2 (Target Vcc) напряжение должно подаваться с программатора на чип (режим SWD)?


На 1 и 2й ногах ВХОД напряжения питания, а на 19 - выход. Около 3 В. Если кроме процессора особо ничего не подключено, я иногда замыкаю 1 на 19, а 2 - к схеме. И программирую без внешнего питания.
Smen
Грызет канифоль
Сообщения: 256
Зарегистрирован: Вт окт 08, 2013 07:38:59
Откуда: СПб

Re: STM32 новичку в ARM что к чему

Сообщение Smen »

Pavel_1978 писал(а):как написал производитель
А как он пишет? :)
Хочется, во-первых, использовать питание программатора (3,3V pin19), а во-вторых, иметь возможность отключения данного напряжения от чипа, при установке чипа в адаптер для программирования (т.е. какой-нибудь логический уровень, которым можно будет управлять, например, ключом на ПТ).
Аватара пользователя
Pavel_1978
Опытный кот
Сообщения: 830
Зарегистрирован: Пт ноя 16, 2007 11:21:37

Re: STM32 новичку в ARM что к чему

Сообщение Pavel_1978 »

это какой ST32F.... и в какой адаптер вы собрались ставить :shock:
Вообще то нужно либо разводить на плате (хотябы пяточки) для подключения ст-линка, и хитро развязывать диодами, чтобы вся остальная схема не питалась. Либо тупо шить по UART в режиме BOOT 0.
Аватара пользователя
Pavel_1978
Опытный кот
Сообщения: 830
Зарегистрирован: Пт ноя 16, 2007 11:21:37

Re: STM32 новичку в ARM что к чему

Сообщение Pavel_1978 »

Smen писал(а):А как он пишет? :)

Вообще то как то так.....
Smen
Грызет канифоль
Сообщения: 256
Зарегистрирован: Вт окт 08, 2013 07:38:59
Откуда: СПб

Re: STM32 новичку в ARM что к чему

Сообщение Smen »

Pavel_1978 писал(а):это какой ST32F.... и в какой адаптер вы собрались ставить
STM32L051, в самодельный адаптер. И не собираемся, а уже вставляли. :)
Собственно там уже целый модуль с процом. Это не беспокойтесь, здесь мы уже не новички. :wink:

Pavel_1978 писал(а):Вообще то как то так.....
Хм..
Это для V2, а в мануале для первого я что-то такого не видал. :dont_know:
Аватара пользователя
Pavel_1978
Опытный кот
Сообщения: 830
Зарегистрирован: Пт ноя 16, 2007 11:21:37

Re: STM32 новичку в ARM что к чему

Сообщение Pavel_1978 »

Smen
Грызет канифоль
Сообщения: 256
Зарегистрирован: Вт окт 08, 2013 07:38:59
Откуда: СПб

Re: STM32 новичку в ARM что к чему

Сообщение Smen »

Pavel_1978 писал(а):А это что?
Как это что?
Тот самый мануал, про который я ранее говорил.
Один в один. Ни одного нового пункта.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

У stm32f103c8t6 SPI сконфигурирован в режим master transmit-only. В этом режиме пин PA6 (MISO) не задействован и даташит говорит, что он может быть использован "as a general-purpose IO." На этом же пине находится выход TIM3_CH1. Сам пин сконфигурирован в "Alternate Function Output", но попытка выдать оттуда ШИМ с первого канала таймера3 ни к чему не приводит. Получается какая-то туманность. SPI вывод не использует, но другой периферии не отдает? Как вообще происходят разборки между периферией, если разные модули претендуют на единственный пин?
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: STM32 новичку в ARM что к чему

Сообщение B@R5uk »

Не достаточно сконфигурировать пин в режиме альтернативной функции. Необходимо указать так же конкретный номер этой функции.

Смотрите вот здесь на странице 45 номера соответствующих альтернативных функций. А вот здесь на страницах 250 и 251 в какие регистры и в каком виде эти самые номера функций писать.

После ресета этот самый PA6-пин сконфигурирован в режиме альтернативной функции с номером ноль, то есть как вывод SPI1_MISO.

Сори, ваш номер слегка похож на мой контроллер. Ваши даташиты другие будут, но принцип тот же.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

Если я правильно понимаю, у L0 более продвинутая периферия, которая позволяет гибкое распределение ног по функциям. У F1 возможен только ремап, но это не совсем то, что мне нужно. Для своего случая я попробовал выкрутиться, но такое ощущение, что при поднятии бита SPE (SPI enable), SPI без церемоний захватывает все свои ноги, кому бы они до этого не принадлежали. После инициализации таймера3, я вижу генерацию ШИМа на PA6, но как только проинитилась SPI, сигнал там сразу же пропадает. Инициализация в другой последовательности, сначала SPI, а затем TIM3, не позволяет увидеть ШИМ на PA6 вообще. И как-то я не нашел в даташите, кто там у них для каких ног главный.
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: STM32 новичку в ARM что к чему

Сообщение B@R5uk »

В этом документе на странице 33 есть 6-я сноска, касающаяся выбора альтернативных функций и отсылающая прочитать про BKP-регистр в этом документе.

a5021 писал(а):...при поднятии бита SPE (SPI enable), SPI без церемоний захватывает все свои ноги, кому бы они до этого не принадлежали...
Возможно. Тогда это печально.
Последний раз редактировалось B@R5uk Пн май 25, 2015 10:45:35, всего редактировалось 1 раз.
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Neekeetos »

a5021 писал(а):он может быть использован "as a general-purpose IO."
general-purpose IO это либо вход либо выход управляемый программой, alternate function к ним не относится.
a5021 писал(а):но такое ощущение, что при поднятии бита SPE (SPI enable), SPI без церемоний захватывает все свои ноги, кому бы они до этого не принадлежали.

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

a5021 писал(а):сначала SPI, а затем TIM3, не позволяет увидеть ШИМ на PA6 вообще. И как-то я не нашел в даташите, кто там у них для каких ног главный.
В зависимости от борзоты модуля могут происходить даже замыкания внутри мк, если например вывести на один и тот же пин USART TX и шим то в некоторых случаях выходит уарт промодулированый таймером. Так или иначе это конфликт периферии и он недопустим, придется либо весь spi перекидывать на другие пины, либо выходы таймера.
Информация по RLC mini находится >тут<
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: STM32 новичку в ARM что к чему

Сообщение B@R5uk »

Neekeetos писал(а):...есть варианты в AFIO выбрать куда именно подключать...
Посмотрел справочное руководство на странице 184 — отличная штука этот ремап.
Neekeetos писал(а):...но к пину должен быть подключен только один активный блок...
А вот эта неприятность неприятна. Всегда должна быть защита от дурака.
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Neekeetos »

B@R5uk писал(а):]А вот эта неприятность неприятна. Всегда должна быть защита от дурака.
А она кстати появилась. В более свежих сериях чипов (наверно во всех кроме 32f1xx) ремап уже по другому сделан - можно на каждый пин выбирать какой именно цифровой блок к нему подключен, конфликты исключены.
Информация по RLC mini находится >тут<
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

Neekeetos писал(а):general-purpose IO это либо вход либо выход управляемый программой, alternate function к ним не относится.

Я специально вставил цитату из даташита, чтобы уточнить, что они отдают пин для ручного ногодрыгания, но про другое применение ничего не говорят. Кстати сказать, в receive-only режиме SPI освобождается уже MOSI и даташит говорит, что пин можно использовать "для других целей". Здесь применена другая формулировка и подозреваю, что этот пин SPI, скорее всего, отдаст таймеру.
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Neekeetos »

a5021 писал(а):Кстати сказать, в receive-only режиме SPI освобождается уже MOSI и даташит говорит, что пин можно использовать "для других целей". Здесь применена другая формулировка и подозреваю, что этот пин SPI, скорее всего, отдаст таймеру.
Про входа речи не было, их можно "делить" между модулями и настраиваются они как просто вход а не как Af.
Информация по RLC mini находится >тут<
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

MISO в мастере тоже вход, но отнять его у SPI не получилось.
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Neekeetos »

a5021 писал(а):тоже вход, но отнять его у SPI не получилось.

Вообще то MISO в SPI может быть выходом, и он им становится если соответствующий пин сделать AF, при этом направление прием/передача для этого пина задается уже самим модулем SPI. Видимо по умолчанию оно выход.
Информация по RLC mini находится >тут<
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

MISO это сокращение от MasterIn/SlaveOu, т.ч. в случае мастера (как у меня), он выходом не может быть ни по определению, ни по таблице № 25 даташита.
Аватара пользователя
optima
Прорезались зубы
Сообщения: 232
Зарегистрирован: Вт май 08, 2012 10:42:29

Re: STM32 новичку в ARM что к чему

Сообщение optima »

Для программирования себе соорудил такой щуп, на плате делаю просто площадки и все. Очень удобно и быстро программировать большое количество плат, и подпаиваться по сто раз не нужно!
Изображение
Ответить

Вернуться в «ARM»