gerber 8 19 июня Опубликовано 19 июня · Жалоба Есть небольшая серия из 10 шт устройств на базе STM32F103C8T6. 8 устройств работают нормально, а 2 устройства ведут себя одинаково странно - у них выходы счётчиков, которые формируют, например, звук пищалки, выдают частоту в несколько раз ниже планируемой. При этом, например, UART работает с правильной скоростью и ведёт обмен с хостом на 115200, как и нужно. Иногда плата может стартовать правильно (звук пищалки правильный), а через пару секунд звук резко понижается (частота падает). Контроллер менял на новый - не помогло. Пропаивал ножки, тоже нет положительного эффекта. Тактирование от кварца 8 МГц, схема согласно даташита. Есть ли идеи, что это может быть за проблема? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 187 19 июня Опубликовано 19 июня · Жалоба Где-то в коде... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 59 19 июня Опубликовано 19 июня · Жалоба 3 часа назад, gerber сказал: Есть ли идеи, что это может быть за проблема? Китаиса однако. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A_D 15 19 июня Опубликовано 19 июня · Жалоба Т.е. получается есть 10 плат и из них 2 глючат, на глючащих МК менялся на новый (из той же партии? не пробовали ли с рабочей перекинуть?) и это не помогло, то тогда возможно дело в плате (аналоговое питание, кварц или его обвязка, разводка самой платы). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 85 20 июня Опубликовано 20 июня · Жалоба А как сделана генерация звука - аппаратным ШИМ с выхода канала таймера или по прерыванию этого таймера? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 8 20 июня Опубликовано 20 июня · Жалоба 10 часов назад, A_D сказал: Т.е. получается есть 10 плат и из них 2 глючат, на глючащих МК менялся на новый (из той же партии? не пробовали ли с рабочей перекинуть?) и это не помогло, то тогда возможно дело в плате (аналоговое питание, кварц или его обвязка, разводка самой платы). Рабочие платы отгружены, поэтому снять с них проц и перекинуть не получится. Если бы глючил кварц, я понимаю, слетели бы все тактирования, но UART работает правильно. К тому же переход на HSI тактирование не решает проблему. 4 часа назад, EdgeAligned сказал: А как сделана генерация звука - аппаратным ШИМ с выхода канала таймера или по прерыванию этого таймера? Аппаратный ШИМ с выхода канала таймера TIM2. 11 часов назад, Vasily_ сказал: Китаиса однако. Вот это скорее всего, хотя покупались контроллеры не на Али, а в Промэлектронике. Маркировка чёткая, я видел контроллеры, маркированные "в подвале", здесь не тот случай. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 20 июня Опубликовано 20 июня · Жалоба Остановите отладчиком, прочитайте и сохраните на бумажку или в блокнот на компе значение регистров RCC, TMR, PWR. Запустите, дождитесь сбоя, остановите, сравните. 1 час назад, gerber сказал: Аппаратный ШИМ с выхода канала таймера TIM2. Несущая частота ШИМа тоже пропорционально меняется? У F103 не особо много возможностей менять тактирование таймеров - в отличие от более новых тут оно прибито гвоздями к APB. То есть причина либо в измененном делителе APB (если UART, который продолжает работать висит на другой APB), либо в предделителе самого таймера (в обоих этих случаях должна меняться несущая частота ШИМ), либо в программной ошибке, из-за которой значения в CCR таймера грузятся в N раз реже (это если несущая частота не меняется). Я делаю ставку на последний вариант. 1 час назад, gerber сказал: Китаиса однако. Ой, да хватит пугать. Китаиса их делают так долго и в таких количествах, что все ошибки кристалла давно вылизали. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 20 июня Опубликовано 20 июня · Жалоба 2 часа назад, gerber сказал: Вот это скорее всего, хотя покупались контроллеры не на Али, а в Промэлектронике. Маркировка чёткая, я видел контроллеры, маркированные "в подвале", здесь не тот случай. Как показывает практика: 99% всех проблем в устройствах с МК - в программных багах. Но искать удобнее конечно там, где светлее. 23 минуты назад, Сергей Борщ сказал: Китаиса их делают так долго и в таких количествах, что все ошибки кристалла давно вылизали. Конечно удобнее предположить, что из-за хитрой китайской ошибки в кремнии, самопроизвольно меняются какие-то делители частоты. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 85 20 июня Опубликовано 20 июня · Жалоба А пищалка - именно пассивная пищалка или быть может, там пьезогенератор, который пищит от постоянного напряжения? Лучше конечно лог. анализатором проверять генерируемые частоты и сигналы. Ну и убедиться, что генерируется именно меандр, то есть симметричный сигнал с одинаковой длительностью 1 и 0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 8 21 июня Опубликовано 21 июня · Жалоба Разобрался, дело было в кварцевых резонаторах 8 МГц, замена на новые решила проблему. Они поначалу стартуют (HSE Ready), но потом отваливаются, контроллер переходит на внутренний HSI, который тоже 8 МГц. При ините UART опорная частота вычисляется честно, на основании текущего состояния RCC регистров, поэтому он продолжал работать. А вот счётчики инитились в расчёте на 72 МГц, поэтому звук резко падал вниз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться