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

 
 
> STM32F4 и PORTG вывод 11
ЮКОР
сообщение Jul 31 2015, 16:27
Сообщение #1


Участник
*

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



STM32F437II.
Столкнулся с проблемой, которая по началу и не предполагалась. Прошу отнестись серьёзно, хоть она связана с простым чтением цифровогоо порта.
Есть мех. селектор (переключатель), который подключается к выводам порта G.
Ползунок этого переключателя заземлён, выводы переключательной группы подключены к выводам микроконтроллера, которые сконфигурированы на pull UP.
Переключаю, определяю, что на выводе (входе порта) логический ноль, выполняю свои действия.
Задачка казалась бы тривиальная. Практически всё работает, кроме вывода PG11.
Но! Не тут то было. Не смог понять в чём проблема.

Теперь описание схемы.
Выводы селектора подключены к выводам порта G. Опрашиваю состояние порта G.
Если переключатель в положении, когда PG11 в нуле, программа вылетает.
Для других выводов такой проблемы нет. Конфигурация выводов идеинтичная.
Ошибок в логике не может быть.

Ненормальность проявляется также и в том, что после работы платы с подключенным переключателем, программа микроконтроллера не стартует после включения питания. Помогает только принудительный ресет.
Если же не подключать переключатель, то программы на новых (девственных) платах нормально стартуют.
Если отсоединить переключатель от плат, на которых был подключен переключатель при прошивке, то программа также не стартует.

В errata информации по этой проблеме не нашёл.

Заранее спасибо за рекомендации.

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 12)
Golikov A.
сообщение Jul 31 2015, 16:47
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



чуднО, по описанию ничего особенного. Приведите вашу инициализацию выводов, чисто на всякий случай, вдруг все же что-то упускаете...

что еще за периферия работает в проце? пробовали все кроме этого отрубить?
Go to the top of the page
 
+Quote Post
Corvus
сообщение Jul 31 2015, 16:54
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 24-04-08
Из: Зеленоград
Пользователь №: 37 056



Саму ножку прозвонили с соседними и с землёй и питанием? Может банальная закоротка на плате.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jul 31 2015, 17:36
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Corvus @ Jul 31 2015, 19:54) *
Саму ножку прозвонили с соседними и с землёй и питанием? Может банальная закоротка на плате.


Или на вывод сконфить, да диодом помигать... laughing.gif
Go to the top of the page
 
+Quote Post
ЮКОР
сообщение Jul 31 2015, 18:07
Сообщение #5


Участник
*

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



Цитата(Corvus @ Jul 31 2015, 19:54) *
Саму ножку прозвонили с соседними и с землёй и питанием? Может банальная закоротка на плате.


Закоротка исключена.
Сигналы смотрел осциллографом.

Цитата(Golikov A. @ Jul 31 2015, 19:47) *
чуднО, по описанию ничего особенного. Приведите вашу инициализацию выводов, чисто на всякий случай, вдруг все же что-то упускаете...

что еще за периферия работает в проце? пробовали все кроме этого отрубить?


Это всё в начале программы. То что написал, простой и банальгый тест на работоспосбность.
Инициализацию перрифеиии просмотрел. Нет внештатных конфигураций PG11.

Не хочется быть первооткрывателем по багам.

Всегда считал, что причина проблем в моей собственной кривизне рук и откуда они растут.
Но это не тот случай.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jul 31 2015, 18:09
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



может там что сильно искрит или перемыкает все же, что там за выключатель-переключатель.... ?
Go to the top of the page
 
+Quote Post
ЮКОР
сообщение Aug 2 2015, 14:22
Сообщение #7


Участник
*

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



Цитата(Golikov A. @ Jul 31 2015, 21:09) *
может там что сильно искрит или перемыкает все же, что там за выключатель-переключатель.... ?


Обычный поворотный переключатель.
Как я писал раньше, закорачивает сигналы порта G на землю (ползунок).
Вводы порта - входы, пулап резисторы включены. При переключении есть конечно дребезг. Не думаю, что это он вырубает микроконтроллер.
Соседние с PG11 выводы работают. Только с PG11 какая-то странность.
Да и то, что микроконтроллер перестаёт стартовать после включения питания очень напрягает.
Проверено на нескольких платах. Симптомы одни и теже.

Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 2 2015, 17:20
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



а в поддержку пробовали писать? их должна история заинтересовать. Особенно если у вас некоторая выборка по платам имеется.

напишите потом, что ответят, очень интересно.


Go to the top of the page
 
+Quote Post
ЮКОР
сообщение Aug 3 2015, 06:45
Сообщение #9


Участник
*

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



Цитата(Golikov A. @ Aug 2 2015, 20:20) *
а в поддержку пробовали писать? их должна история заинтересовать. Особенно если у вас некоторая выборка по платам имеется.

напишите потом, что ответят, очень интересно.

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

А вот то, что микроконтроллер не стартует после включения питания, осталось.
На новых платах всё запускается сразу. На двух первых, которых немного помучил, запускается только от внешнего ресета.
Пробовал менять уровни BOR STM утилитой. Не помогает.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 3 2015, 06:48
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



а есть способы узнать на каком моменте?
попробуйте диодики позажигать, докуда программа доходит, может она в настройках PLL виснет, а может у вас еще какие старые прерывания остались?:
Go to the top of the page
 
+Quote Post
ЮКОР
сообщение Aug 3 2015, 08:30
Сообщение #11


Участник
*

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



Цитата(Golikov A. @ Aug 3 2015, 09:48) *
а есть способы узнать на каком моменте?
попробуйте диодики позажигать, докуда программа доходит, может она в настройках PLL виснет, а может у вас еще какие старые прерывания остались?:


Но от внешнего ресета программа стартует. И ток потребления возрастает и светодиоды мигают как надо.
Не очень хочется аппаратный watch-dog разрешать, потом его надо будет постоянно обнулять.
Что-то здесь совсем простое, но пока понять не могу.

В цепи ресета R=100кОм и С=0.33 мкФ.
Go to the top of the page
 
+Quote Post
bugdesigner
сообщение Aug 3 2015, 09:17
Сообщение #12


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

Группа: Участник
Сообщений: 123
Регистрация: 12-06-15
Из: Земля
Пользователь №: 87 133



Цитата(ЮКОР @ Aug 3 2015, 11:30) *
В цепи ресета R=100кОм и С=0.33 мкФ.

А если просто подтяжку reset сделать, без конденсатора? Чем внутренний ресет не устраивает?
Go to the top of the page
 
+Quote Post
ЮКОР
сообщение Aug 3 2015, 09:27
Сообщение #13


Участник
*

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



Цитата(bugdesigner @ Aug 3 2015, 12:17) *
А если просто подтяжку reset сделать, без конденсатора? Чем внутренний ресет не устраивает?


На плате стоит микросхема SDRAM. При упрощённом программном тестировании я исключил конфигурацию контроллера SDRAM и самой микросхемы.
Так, на всякий случай, раскомментировал этот кусок и программа начала запускаться после включения питания.

Пока не совсем понял почему. Потом дойдёт.


Тем не менее, всем спасибо за помощь.
ВОПРОС снимаю.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 01:59
Рейтинг@Mail.ru


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