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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Сдох контроллер или..?
murmur
сообщение Feb 3 2016, 13:22
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 425
Регистрация: 30-04-11
Пользователь №: 64 708



Компилятор KEIL, контроллер - STM32F103RET6

При попытке прошить через J-LINK интерфейс SWD выдает среди прочего
Цитата
* JLink Info: Found SWD-DP with ID 0x1BA01477
* JLink Info: Found SWD-DP with ID 0x1BA01477
* JLink Info: Found Cortex-M3 r1p1, Little endian.
* JLink Info: FPUnit: 0 code (BP) slots and 0 literal slots
ROMTableAddr = 0xE00FF003
Error: Flash Download failed - Target DLL has been cancelled
Flash Load finished at 16:22:40


А в окошке alert выскакивает Invalid ROM Table

Сообщение отредактировал murmur - Feb 3 2016, 13:27
Go to the top of the page
 
+Quote Post
murmur
сообщение Feb 3 2016, 19:02
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 425
Регистрация: 30-04-11
Пользователь №: 64 708



Перепайка контроллера на заведомо исправный не помогла.
Танцы с бубном привели к следующему - если поставить в настройках J-Link галочку "autoClk", то выставляется 200 кГц и программирование идет очень медленно.
Запускается программа, работает штатно, но тоже ооооочень медленно - вывод на экран замедлен.

Раньше нормально работавший код
Код
TIM_TimeBaseStructure.TIM_Period = 5;
TIM_TimeBaseStructure.TIM_Prescaler = 7200-1;  
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);

// Output Compare Toggle Mode configuration: Channel3

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse = 0;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
TIM_OC3Init(TIM2, &TIM_OCInitStructure);
TIM_OC3PreloadConfig(TIM2, TIM_OCPreload_Disable);


выдает импульсы диной не 500 мкс, как расчитано, а около 5 мс.


Как думаете, кварц?
Go to the top of the page
 
+Quote Post
HardEgor
сообщение Feb 4 2016, 04:18
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Если раньше в этой же конфигурации работало, то смотрите что изменилось - кабели, программы и т.д.
Перво-наперво проверить контакты, у меня снижало скорость из-за плохого контакта "разъем кабеля-разъем на плате", хотя до этого всё работало.
Еще может быть критична длина проводов от отладчика до контроллера - сделали на плате длинные дорожки и "приплыли".
Go to the top of the page
 
+Quote Post
murmur
сообщение Feb 4 2016, 06:59
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 425
Регистрация: 30-04-11
Пользователь №: 64 708



Программа (скажу даже в более широком смысле - проект) не изменилась.
Еще раз пропаяла замененный контроллер - вроде бы он стал работать с нормальной скоростью. Но прошивка все равно идет только на 200 кГц. Иногда контроллер не запускается вообще, тогда помогает только перепрошивка.

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

дорожки+кабель - 12 см. 2 недели до этого все шилось нормально.
Единственно, что было накануне -в 1 см от кварца есть микросхема в корпусе SO-8, накануне она подвергалась замене феном, теоретически я могла перегреть кварц и конденсаторы. Но непосредственно после пайки все работало около 10 минут.

Скажите, объяснимо ли такое поведение (нормальная работа контроллера и низкая скорость прошивки) проблемами с кварцем? Вообще кварц принимает какое либо участие в работе контроллера, когда последний прошивается?

Еще одна тонкость - NRST у меня в воздухе. Хорошо ли он подтянут внутри контроллера? НЕ может ли он наловить помех?

Сообщение отредактировал murmur - Feb 4 2016, 06:46
Go to the top of the page
 
+Quote Post
murmur
сообщение Feb 6 2016, 09:54
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 425
Регистрация: 30-04-11
Пользователь №: 64 708



Причина практически нашлась.
Видать какие-то помехи наводятся на NRST. У меня на нем резистор на плюс 10 кОм и керамика 0.1 мкф - на минус.
Интересная картина - если подавать питание подключая и отключая разъем на плате - имеется описанная выше проблема. Если же дергать адаптер из розетки - все нормально - и стартует и программируется, но через раз.

Зато если прикоснуться пальцем к точке,гда соединюятся конденсатор резистор и NRST - проблема исчезает навсегда.

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

Go to the top of the page
 
+Quote Post
Herz
сообщение Feb 6 2016, 10:02
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(murmur @ Feb 6 2016, 11:54) *
Не хочется методом тыка дальше работать, хочу спросить, что правильнее сделать - поиграться с сопротивлением, изменить емкость конденсатора? Или добавить в параллель конденсаторов другой емкости?

Покажите лучше, как это выглядит смонтированным.
Go to the top of the page
 
+Quote Post
Abell
сообщение Feb 6 2016, 10:04
Сообщение #7


профессиональный дилетант
****

Группа: Участник
Сообщений: 866
Регистрация: 16-03-06
Из: Шебекино - Лысьва - Тюмень
Пользователь №: 15 292



Цитата(murmur @ Feb 6 2016, 12:54) *
Не хочется методом тыка дальше работать, хочу спросить, что правильнее сделать

Если уж совсем правильно - то поставить нормальный супервизор. Ну, или поиграться уменьшением сопротивления, увеличением емкости laughing.gif


--------------------
Скоро дело сказывается, да не скоро сказка делается, или тише будешь - дальше уедешь...

Go to the top of the page
 
+Quote Post
Alexashka
сообщение Feb 6 2016, 14:04
Сообщение #8


Практикующий маг
******

Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576



Цитата(murmur @ Feb 6 2016, 13:54) *
Зато если прикоснуться пальцем к точке,гда соединюятся конденсатор резистор и NRST - проблема исчезает навсегда.

Непропай ножки?
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Feb 6 2016, 14:23
Сообщение #9


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



У меня нормально работает плата с не подключенной никуда ногой NRST. Там, судя по даташиту, внутри и подтяжка имеется и некая схема, которая игнорирует короткие импульсы. Дорожки от ноги процессора нет. Т.е. вообще не подключена.

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


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
HardEgor
сообщение Feb 6 2016, 14:42
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Цитата(Alexashka @ Feb 6 2016, 20:04) *
Непропай ножки?

Угу, или непропай резистора/конденсатора, или брак в переходном отверстии. Скорее всего в той цепи, которая идёт от NRST в землю
В общем, ткнутся осциллографом и глянуть что происходит при включении и при касании.
Go to the top of the page
 
+Quote Post
Ariel
сообщение Feb 6 2016, 16:16
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 820
Регистрация: 12-05-08
Из: Israel
Пользователь №: 37 440



У этого контроллена NRST имеет внутранний PU резистор, поэтому внешний не нужен. Попробуйте поднять ножку или перерезать проводник NRST. Скорее всего на проводник наводится помеха извне.
Go to the top of the page
 
+Quote Post
murmur
сообщение Feb 6 2016, 19:42
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 425
Регистрация: 30-04-11
Пользователь №: 64 708



Какая-то дрянь все-таки на ножку проникает.
Пойман всплеск до 5 вольт(входное напряжение, до преобразователя, около 6-ти вольт).
Но, к слову, большинство осциллограмм без этого всплеска, но устройство в эти моменты не запускается. Может быть всплески столь коротки, что осциллографи их не ловит. Схему и топологию вы видели, что может быть источником этого всплеска?

Вот что на осциллограмме при подключении питания к устройству.

Сообщение отредактировал murmur - Feb 6 2016, 19:55
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
HardEgor
сообщение Feb 7 2016, 06:58
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Цитата(murmur @ Feb 7 2016, 01:42) *
Вот что на осциллограмме при подключении питания к устройству.

А откуда у вас 5В на STM32? Тем более такой красивый прямоугольник, его просто не должно быть - конденсатор должен сгладить. Где-то при измерениях проблема - в земле, в подключении щупов и т.д.
Посмотрите осциллограмму напряжения питания при включении - отдельно на выводе питания STM32 и отдельно на выводе конденсатора на NRST который подключен к питанию. При этом крокодил щупа(общий) надо подключить к одному из заземленных выводов STM32(хоть проводок припаивайте к нему)
Go to the top of the page
 
+Quote Post
murmur
сообщение Feb 7 2016, 13:43
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 425
Регистрация: 30-04-11
Пользователь №: 64 708



HardEgor, вот честно, еще до вашего сообщения сама к этому пришла.
Отпаяла ножку выхода линейного преобразователя от платы, то есть фактически отсоединила всю схему от узла питания. Померяла напряжение на этой ножке - кошмар, на ней как раз 5 вольтовый всплеск.
Бракованый преобразователь получается.

P.S. сколько раз при подобных проблемах (не запускается, не программируется и пр.) первые советы, которые давали - посмоти помехи, посмотри разводку, посмотри длину кабелей. Некоторые, взглянув на топологию, критиковали разводку земли и били себя в грудь, что именно в этом дело. Никогда вышеперечисленное не оказывалось причиной, она жевсегда была банальна. Вроде нынешней.

Сообщение отредактировал murmur - Feb 7 2016, 13:44
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Feb 7 2016, 13:54
Сообщение #15


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Сложно говорить точно, но обычно преобразователь должен быть чем-то подгружен и иметь соответствующие емкости на входе и на выходе(с учетом ESR)
Не соблюдение этого может приводить к звону(возбуждению обратной связи). Но такой четкий 5В прямоугольник... Это не похоже на правду. Слишком крутые оба фронта. Емкости по питанию, расположенные на плате, не позволили бы даже бракованному стабилизатору создать такие фронты.


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post

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

 


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


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