|
|
  |
STM32f405 виснет PLL |
|
|
|
Jul 21 2016, 19:16
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 6-09-15
Пользователь №: 88 307

|
Добрый день ув. форумчане генерирурю файл syste_stm32f4xx.c с помощью утилиты Экселевской от разработчника при запуске приложения виснет на строке /* Enable the main PLL */ RCC->CR |= RCC_CR_PLLON; пробовал от разных источников тактировать, когда тактирую напрямую от кварца или от внутреннего источника, то запускается без проблем, как только выбираю PLL с кварцем или внутренним источником, так отказывается работать... причем на другой похожей плате запускается, разводка питания одинаковая у плат, правда вторая плата без внешнего кварца частоту пытаюсь настроить 160мгц, но и другие частоты тоже не работают не пойму в какую сторону копать
|
|
|
|
|
Jul 21 2016, 22:39
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 6-09-15
Пользователь №: 88 307

|
https://www.dropbox.com/s/2dae76s0grdfdpm/D...d_MAG.lay6?dl=0 - вот файл разводки, кондеры по питанию и VCAPы стоят по 3х1мкф, схемы не имею, всегда сразу плату рисую. ещё навесом после стабилизатора 3.3 вольтового висит электролит 47мкф. код выглядит так, при пошаговом выполнении прога падает именнно на той строке, которую я кинул, до цикла не доходит выполнение Кубом сейчас попробую
|
|
|
|
|
Jul 21 2016, 23:33
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 6-09-15
Пользователь №: 88 307

|
состояние boot0 ситуации не меняет
попробовал сгенерить проект в кубе так-же виснет, на ноги MCO ничего не выдает
|
|
|
|
|
Jul 22 2016, 05:37
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (Reystlin @ Jul 22 2016, 01:39)  вот файл разводки Нет никакого желания ставить sprint. Неужели трудно выложить картинку? Про рисование платы без схемы промолчу. Был аналогичный случай - в схеме питание на AVdd подавалось через ферритовую бусину (ferrite bead). так вот контрактному сборщику попалась катушка деталей, которая была промаркирована как бусины, детали выглядели как бусины, но на самом деле являлись конденсаторами. Соответственно, пока процессор ничего не потреблял по аналоговому питанию - на этой ноге за счет каких-то утечек внутри процессора натекало достаточное для отпускания сброса по включению питания (POR) напряжение. Когда же включалась ФАПЧ (PLL) - напряжение просаживалось, процессор уходил в сброс. Именно на таком же операторе. После замены этого чуднОго элемента на нормальную бусину все заработало.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jul 22 2016, 08:44
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 6-09-15
Пользователь №: 88 307

|
на данный момент к разъемам подключен только ST_LINK находящийся в плате Discovery, остальные разъемы пустые
нашел косяк, присмотрелся к резистору идущему на Vdda, а он там 10ком стоит, по ошибке не туда впаял%) теперь запустилось все, спасибо большое
|
|
|
|
|
Jul 22 2016, 20:26
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 6-09-15
Пользователь №: 88 307

|
чудеса с PLL продолжаются кварц 8мгц, выбираю в Экселевском файле источник HSE, ставлю частоту 160мгц, он мне высчитывает PLL_M=8 PLL_N=320 PLL_P=2 PCLK1=40 PCLK2=80, генерирурю файл, в коде заполняю структуру CODE int main() { SystemCoreClockUpdate(); RCC_ClocksTypeDef Clocks; RCC_GetClocksFreq(&Clocks); .... }
и в дебаге вижу содержимое структуры SYSCLK=500000000 HCLK=500000000 PCLK1=125000000 PCLK2=250000000 причем от HSI работает как задумано осцил на ногах кварца показывает частоту 8мгц to Genadi Zawidowsk... перед отправкой на производство плат все эти моменты были устранены
Сообщение отредактировал Reystlin - Jul 22 2016, 21:19
|
|
|
|
|
Jul 22 2016, 21:41
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 6-09-15
Пользователь №: 88 307

|
нашел, почему-то в файле stm32f4xx.h был HSE_Value дефайн на 25мгц
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|