Allregia 9 6 декабря, 2018 Опубликовано 6 декабря, 2018 · Жалоба Товаришь попросил спросить, он тут не зарегистрирован, поэтому копи-паст с другого форума (там ему толком не ответили). Quote Проц STM32L462. Вывожу через MCO с делителем 1:1 наружу сигнал с внутренних генераторов: HSI = 8MHz, получаю 7.75, это -3.2% MCI = 16MHz, получаю 14.2, это -12.6% Где обещанный 1%? (к тому-же, ST в показаниях путаются - в одном месте пишут 1%, в другом 4%, а в третьем вообще 0.5%). Еще: как понимать их заявления о Factory Calibrated? В PIC я помню - на заводе калибровали внутренний генератор и записывали калибьровочную константу в последнеею ячейку флеша. При старте она переписывалась в OCSCAL. А как в STM я пока не въехал - на автоматически (аппаратно) в регистр калибровки пападает, или ее надо самому туа писать? Если самому, то куда писать понятно, а вот откуда ее считывать - я пока не нашел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 6 декабря, 2018 Опубликовано 6 декабря, 2018 · Жалоба Calibration RC oscillator frequencies can vary from one chip to another due to manufacturing process variations, this is why each device is factory calibrated by ST for 1 % accuracy at TA=25°C. After reset, the factory calibration value is loaded in the HSICAL[7:0] bits in the Internal clock sources calibration register (RCC_ICSCR). If the application is subject to voltage or temperature variations this may affect the RC oscillator speed. You can trim the HSI16 frequency in the application using the HSITRIM[6:0] bits in the Internal clock sources calibration register (RCC_ICSCR). For more details on how to measure the HSI16 frequency variation, refer to Section 6.2.17: Internal/external clock measurement with TIM15/TIM16. The HSIRDY flag in the Clock control register (RCC_CR) indicates if the HSI16 RC is stable or not. At startup, the HSI16 RC output clock is not released until this bit is set by hardware. The HSI16 RC can be switched on and off using the HSION bit in the Clock control register (RCC_CR). STM32L4 Reference Manual (RM0394 Rev 4), стр. 182 В частности: After reset, the factory calibration value is loaded in the HSICAL[7:0] bits in the Internal clock sources calibration register (RCC_ICSCR). Товарищу передайте, чтобы не путал Datasheet и Reference Manual, у ST они имею разное назначение и ... размер :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 6 декабря, 2018 Опубликовано 6 декабря, 2018 · Жалоба Только что, Allregia сказал: Товаришь попросил спросить, он тут не зарегистрирован, поэтому копи-паст с другого форума (там ему толком не ответили). Открыл даташит на камень. Вижу, что HSI там на 16МГц, а не на 8, как Вы представили. А второй не MCI, а MSI - он? Да даже если так, очень странно, что такие измерения получили... Чем частоту меряли? Поверенным прибором или китайским осциллографом с алиэкспресс? МК - китай-подделка, или оригинал? Ведь, судя по даташиту, производитель гарантирует уровень характеристик в указанном диапазоне температур... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 6 декабря, 2018 Опубликовано 6 декабря, 2018 · Жалоба 4 hours ago, Arlleex said: Открыл даташит на камень. Вижу, что HSI там на 16МГц, а не на 8, как Вы представили. А второй не MCI, а MSI - он? Он наверное когда писал, местами перепутал HSI и MSI. Но это не суть важно, важно что ему надо реально получить 8Мгц на MCO и в 1% уложиться, хоть с того, хоть с того источника. 4 hours ago, Arlleex said: Да даже если так, очень странно, что такие измерения получили... Чем частоту меряли? Поверенным прибором или китайским осциллографом с алиэкспресс? МК - китай-подделка, или оригинал? Да какой нафиг алиэкспресс, товаришь же не радиолюбитель, на али детали покупать. Спросил - мерял он даже несколькими приборами, флюковским мультиметром и кейсайтовским осциллографом. Измеренное совпададет. 4 hours ago, Forger said: Товарищу передайте, чтобы не путал Datasheet и Reference Manual, у ST они имею разное назначение и ... размер :) Это как бы известно :) Он для краткости так написал, но видимо в этом пункт до конца не въехал. Т.е. получаается что калибровочная константа загружается автоматически при сбросе/старте, и самому ничего делать не надо? 4 hours ago, Arlleex said: ? Ведь, судя по даташиту, производитель гарантирует уровень характеристик в указанном диапазоне температур... Пока что он "на столе" получить точную частоту не может, не говоря уже о всем температурном диапазоне. У меня к сожалению нет опыта с этом вопросе, т.к. я почти всегда STM32 с кварцем использовал, а где с внутренним - там мне было наплевать на его точность. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serglg 0 6 декабря, 2018 Опубликовано 6 декабря, 2018 · Жалоба У меня STM23L476 c часовым кварцем и потому MSI по нему подстраивается. Но вот STM32F030 есть несколько применений без кварца. Причем работает UART. Там бы такие отклонения внутреннего генератора не позволяли бы иметь нормальную связь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 6 декабря, 2018 Опубликовано 6 декабря, 2018 · Жалоба 3 hours ago, serglg said: Там бы такие отклонения внутреннего генератора не позволяли бы иметь нормальную связь. UART 5% допускает. У меня когда-то было на другом семействе - при комнатной температуре UART работал, а когда горяче или холодно - нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 6 декабря, 2018 Опубликовано 6 декабря, 2018 · Жалоба 5 часов назад, Allregia сказал: Т.е. получаается что калибровочная константа загружается автоматически при сбросе/старте, и самому ничего делать не надо? Достаточно ее случайно не затереть там, куда она загрузилась. Мне однажды по невнимательности это удалось. Симптомы были похожие. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vlad_new 1 9 декабря, 2018 Опубликовано 9 декабря, 2018 · Жалоба Смотрим еррату! Option byte loading can fail if MSI frequency is greater than 8 MHz Description The option byte loading operation can fail if the MSI clock is ON with a frequency equal or greater than 8 MHz before performing an option byte loading by setting OBL_LAUNCH bit in the FLASH _CR register. Some options and engineering bytes values can be corrupted. Workaround If MSI is ON at a frequency equal or higher than 8MHz, It is mandatory to reduce MSI frequency to 4 MHz or less before launching the Option Byte loading operation by setting the OBL_LAUNCH bit in the FLASH_CR register. Ну и т.д. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 13 декабря, 2018 Опубликовано 13 декабря, 2018 · Жалоба On 12/9/2018 at 11:40 AM, vlad_new said: Смотрим еррату! Option byte loading can А какое отношение Option Byte и функция Launch имеет к точности HSI/MSI и загрузке заводкой калибровки? On 12/6/2018 at 5:24 PM, Сергей Борщ said: Достаточно ее случайно не затереть там, куда она загрузилась. Мне однажды по невнимательности это удалось. А каким образом удалось ее затереть, если она read only? Я сам немножко поисследовал эту тему. Регист калибровки 32-х битный, старшее 16-юитное слово HSI а младшее - MSI (или наоборот, не важно, пишу по памяти). В каждем 16-битном слове, старшиы байт - тримминг (точная подстройка) а младший - заводская калибровочная константа, она только на чтение. Тримминг - 8 бит для MSI и дефолтом там 0 (это центр), для HSI - 5 бибт с дефолтом 0х10 - это центр. Младший байт загруается автоматически при сбросе, а байте - при изменении тримминга, в младший пишется сумма тримминга и заводкой калибровки. Теперь самое интересное - у кого-нибудь есть именно L462, как у моего товарища? У меня есть только L476, и на нем с дефолтными значениями этих регистров с частотами все точно, а у него на 462 пока нет. Может в самом деле глюк конкретного камня? Причем не одного экщемпляра - у него штук 5-6 плат с ними, и все себя так ведут. В эррате на 462 про это ни слова. Он обещал сегодня сделать еще несколько экпериментов (раньше не мог, он чем-то другим был занят), как расскажет я доложу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 13 декабря, 2018 Опубликовано 13 декабря, 2018 · Жалоба 13 минут назад, Allregia сказал: для HSI - 5 бит с дефолтом 0х10 - это центр. Ну вот я по невнимательности писал туда 0. Правда "не в лотерею, а в очко, не выиграл, а проиграл, не "Волгу" а червонец, но суть верная", т.е. проц у меня был другой, но тоже из STM32. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 13 декабря, 2018 Опубликовано 13 декабря, 2018 · Жалоба 29 minutes ago, Сергей Борщ said: Ну вот я по невнимательности писал туда 0. Т.е. в тримм а не калибровку. Кстати, если кто пользуется калокубом, то там путанница в терминологии - хотя они и все делают правильно, но то что они называют MSICalibrationValue и т.п., относящееся в MSI/HSI со словом "Calibration" - на самом деле не калибровка а трим. Я пробовал и с халом и без, результат одинаковый, но их обозначения меня слегка запутали. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 13 декабря, 2018 Опубликовано 13 декабря, 2018 · Жалоба Может у кого есть 462 или 452, и кто может попробовать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться