Easyelectronics.ru

Электроника для всех
Текущее время: 29 сен 2020, 03:48

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: STM32, внешний АЦП 72 цикла оцифровки и оcтанавливается)
СообщениеДобавлено: 11 фев 2020, 19:38 
Заглядывает иногда

Зарегистрирован: 04 июл 2019, 18:21
Сообщения: 45
Дратути)
Была плата с STM32F407IET6 и внешним АЦП ADS8411, который по таймеру с частотой 200кГц оцифровывал некие данные, которые там же, внутри обработчика прерывания по срабатыванию таймера, складывались в пакет, и затем каждые 64Гц (по часовому) благополучно в терминал выплевывались.
Было шумно, на плате было откорректировано питание и чуток земля переразведена. Цифра осталась той же.
Но! Теперь всё запускается как обычно, на все команды контроллер отвечает бесконечно адекватно, а вот когда запускаешь таймер, АЦП отрабатывает 72 оцифровки и сигнал с ноги готовности данных перестает подниматься (??!!) т.е. он зависает после 72 оцифровок в бесконечном цикле проверки состояния ноги data ready.

Причем! Это именно 72 цикла вне зависимости от частоты оцифровки. 200кГц поменяно на 19200кГц и другие частоты - результат тот же, 72 цикла и всё.

Как такое вообще может быть? (У меня пока только один вариант - черная магия, но это вряд ли. АЦП перепаян на другой - та же фигня)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32, внешний АЦП 72 цикла оцифровки и оcтанавливается)
СообщениеДобавлено: 11 фев 2020, 21:26 
Старожил

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 707
Я бы рекомендовал смотреть программу. Заводи счётчик циклов оцифровки и смотри, что происходит после 70 циклов. Может, меняется режим ноги.

А вообще это дурной стиль, когда в бесконечном цикле проверяется условие. Должно быть ещё одно условие, по которому это вечный кайф будет прерван. Это или, например, таймер, или счётчик считывания состояний.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32, внешний АЦП 72 цикла оцифровки и оcтанавливается)
СообщениеДобавлено: 11 фев 2020, 22:23 
Старожил
Аватара пользователя

Зарегистрирован: 11 мар 2010, 12:44
Сообщения: 1157
Откуда: Default city
Уплывает стек?
Рекурсия?
Переполнение массива и затирание полезной памяти мусором?
Падение в Mem/HardFault?

_________________
Не дай Бог увидеть нубский ЛУТ, бессмысленный и беспощадный
В МК "на порядок" - это "в два раза"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32, внешний АЦП 72 цикла оцифровки и оcтанавливается)
СообщениеДобавлено: 11 фев 2020, 22:25 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2955
сам контроллер физически менялся?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32, внешний АЦП 72 цикла оцифровки и оcтанавливается)
СообщениеДобавлено: 12 фев 2020, 00:18 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
Не видя кода вангую: улетает в HardFault, а там дефолтное прерывание с бесконечным циклом. Скорее всего где-то не правильно выделена память под массив данных (например длина типа данных не учтена и т.п.) и на 72-м сэмпле он записывает данные туда, куда не следовало, нутыпонел в общем :-)

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32, внешний АЦП 72 цикла оцифровки и оcтанавливается)
СообщениеДобавлено: 12 фев 2020, 11:33 
Старожил
Аватара пользователя

Зарегистрирован: 11 мар 2010, 12:44
Сообщения: 1157
Откуда: Default city
VivalzarD писал(а):
Не видя кода вангую: улетает в HardFault, а там дефолтное прерывание с бесконечным циклом. Скорее всего где-то не правильно выделена память под массив данных (например длина типа данных не учтена и т.п.) и на 72-м сэмпле он записывает данные туда, куда не следовало, нутыпонел в общем :-)

"It also implements a full set of DSP instructions and a memory protection unit (MPU) "
Так что может и в MemFault.

_________________
Не дай Бог увидеть нубский ЛУТ, бессмысленный и беспощадный
В МК "на порядок" - это "в два раза"


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: rofireman


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB