Перейти к содержанию
    

Нужен МК способный запуститься не более чем за 1 мс. Это основное требование. В общем случае производитель не особо важен (будь то Atmel, NXP, ST; 8 или 32 битный - особо нет разницы). Для меня сейчас важно выяснить можно ли безопасно и быстро запустить МК без сюрпризов. AVR, например может прошивку поломать если напряжение еще не успело дойти до приемлемого уровня. Тот-же AVR (не знаю во всех или нет) есть настройка, отвечающая за задержку включения. Можно поглядеть вот тут: Avr Fuse Calc. Минимальное время включения, которое можно получить при высокочастотном внешнем резонаторе составит 1K CK + 0 ms, т.е. 1024 периода колебания генератора. Так-то выглядит неплохо - даже при 16 МГц получим 64 мкс задержки. Но вот как это скажется на работе? Может он будет через раз включаться или еще что.

Кто-нибудь задавался этим вопросом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужен МК способный запуститься не более чем за 1 мс. Это основное требование. ...

СТМ-овские (да и другие тоже) после включения сразу стартуют и выполняют код. Если не стартуют и не выполняют - значит неисправны. Логично. А то что они в начале работы ждут запуска HSE генератора, то не означает, что они не могут выполнять какой-то другой код в это время.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужен МК способный запуститься не более чем за 1 мс. Это основное требование.

От какого и до какого события время старта считаете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

AVR, например может прошивку поломать если напряжение еще не успело дойти до приемлемого уровня.

Чтобы такое не случалось, во всех современных МК есть блоки POR (power on reset) и BOR (brown out reset), которые не дают МК работать при низком питании. Если их нет, обязательно применение внешних супервизоров.

 

Для меня сейчас важно выяснить можно ли безопасно и быстро запустить МК без сюрпризов.

Можно. Но нужно применять МК, которые позволяют на ходу переключать тактирование ядра и после сброса всегда аппаратно стартуют на встроенном RC генераторе. Тогда время старта микросекунды (естественно после роста питания до срабатывания блока POR). Из точно известных мне, это MSP430 и STM32. Наверное есть и много других.

 

Минимальное время включения, которое можно получить при высокочастотном внешнем резонаторе составит 1K CK + 0 ms, т.е. 1024 периода колебания генератора. Так-то выглядит неплохо - даже при 16 МГц получим 64 мкс задержки. Но вот как это скажется на работе? Может он будет через раз включаться или еще что.

Если МК сразу начинает работать на внешнем резонаторе, то стабилизация колебаний этого резонатора занимает миллисекунды.

Обычно не менее 10 мс. А надежнее всего подождать еще 50 мс уже после того, как установится аппаратный флаг готовности внешнего резонатора к работе.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Например, Microchip от внешнего или внутреннего RC-генератора работает сразу, от внутреннего кремниевого — через 10 мкс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если МК сразу начинает работать на внешнем резонаторе, то стабилизация колебаний этого резонатора занимает миллисекунды.

Обычно не менее 10 мс. А надежнее всего подождать еще 50 мс уже после того, как установится аппаратный флаг готовности внешнего резонатора к работе.

 

Ох уж эти сказочники.

Вот как выглядит старт у Kinetis.

post-2050-1461927669_thumb.png

 

Как видно аккурат через 1 мс после стабилизации питания происходит включение программы . Это специфицировано в даташите. Это время на разгон внутреннего RC.

И еще через 1 мс запуск на полной скорости. Это время на разгон кварца.

Программной подстройкой емкостей на кварце можно включение полной скорости еще ускорить до 0.6 мс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ох уж эти сказочники.

Вот как выглядит старт у Kinetis.

Как видно аккурат через 1 мс после стабилизации питания происходит включение программы . Это специфицировано в даташите. Это время на разгон внутреннего RC.

И еще через 1 мс запуск на полной скорости. Это время на разгон кварца.

Программной подстройкой емкостей на кварце можно включение полной скорости еще ускорить до 0.6 мс.

Частный случай с любимым вами Kinetis и хорошим кварцем с подобранными емкостями нагрузки на природу вещей не влияет :)

 

У MSP430F2xxx время просыпания из самого глубокого слипа LPM4 (когда ВСЕ отключено) не более 1 мкс.

Это включает запуск внутреннего RC генератора и начало работы программы. Это при частоте >=12 МГц.

На частоте 1 МГц не более 2 мкс.

 

А когда у кварца слегка задраны емкости для более устойчивой работы в условиях сильных помех

+ заказчик закупит кварцы неизвестно с какой помойки,

то запуск в районе 10 мс - это нормальное явление.

 

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

 

Ну и где тут сказки? B)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У MSP430F2xxx время просыпания из самого глубокого слипа LPM4 (когда ВСЕ отключено) не более 1 мкс.

 

Кто-то спрашивал про просыпание?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто-то спрашивал про просыпание?

А чем по вашему отличается время просыпания из режима, когда ВСЕ динамические процессы остановлены,

от включения по подаче питания, когда питание уже стабилизировалось и POR снимает внутренний сброс с ядра и периферии?

 

Никаких PLL, никаких конвейеров, чистый статический дизайн.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А чем по вашему отличается время просыпания из режима, когда ВСЕ динамические процессы остановлены,

 

Эт вы сами отвечайте на такие вопросы.

Но между тем посмотрите на параметр td(BOR) в даташите на ваш MSP.

Там написано 2 мс!!!

Курям на смех.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но между тем посмотрите на параметр td(BOR) в даташите на ваш MSP.

Там написано 2 мс!!!

Ну да, забыл, что он не отключаемый и довольно длительный.

 

через 1 мс после стабилизации питания происходит включение программы. ... Это время на разгон внутреннего RC.

Однако ваша фраза "Это время на разгон внутреннего RC" тоже выглядит достаточно живописно.

Это время на дополнительную стабилизацию питания, а RC разгоняется за пару периодов.

 

Как я понимаю, к остальным моим "сказкам" претензий нет :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно, RC не разгоняется. Сразу генерит. Напряжение на конденсаторе выросло, инвертор перекинулся, напряжение пошло спадать, спало, инвертор перекинулся... и т.д. То, что частота пока не такая, как в установившемся режиме, так потому она и сделана низкой. Так что, как только питание до рабочего выросло, считайте, МК готов к работе. Смотря к какой, понятно. По USART пожалуй, посылать-принимать не надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так что, как только питание до рабочего выросло, считайте, МК готов к работе.

 

Да, здесь фантазировать можно сколько угодно.

Но логика говорит, что в течении 1 мс RC не готов.

Разгоняется ли он там, возгоняется, или разогревается нам абсолютно не важно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, здесь фантазировать можно сколько угодно.

Но логика говорит, что в течении 1 мс RC не готов.

Разгоняется ли он там, возгоняется, или разогревается нам абсолютно не важно.

Протому что после установления питания еще есть одновибратор, на примере STM32F207

TRSTTEMPO Reset temporization 0.5 1.5 3.0 ms

The reset temporization is measured from the power-on (POR reset or wakeup from VBAT) to the instant when first instruction is read by the user application code.

Защитились от сильно неточной частоты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Защитились от сильно неточной частоты.

 

Ну опять же это только домыслы от чего защитились.

Сильно неточная частота, или запаздывание начала генерации, или недостаточная аплитуда, иль это некая защита от фрикерских атак на систему тактирования мы ведь не знаем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...