|
|
  |
Тактовая частота GPIO входа и выхода STM32F100, Одинакова ли? |
|
|
|
Mar 1 2012, 09:43
|
Местный
  
Группа: Участник
Сообщений: 231
Регистрация: 14-02-05
Пользователь №: 2 635

|
Спасибо за ответ, действительно это не тактовая частота, но возникли еще вопросы.
1) Наверное вместо максимальных выходных частот 2-10-50 МГц надо было указывать максимальную длительность (крутизну) фронтов выходного сигнала. Тогда не было бы путаницы, почему в STM32F100 крайняя частота 24 МГц, а в STM32F103 50 МГц. Но это вопрос больше к разработчикам.
2) Как физически организуется смена крутизны фронтов в выходном КМОП-каскаде? Об этом на картинках ничего нет.
3) Что будет, если в режиме входа GPIO установить биты MODE0-1 не 00, а 01, 10, 11? По идее три последних режима к входному каскаду физически не относятся, так почему нужно устанавливать именно 00?
|
|
|
|
|
Mar 5 2012, 10:46
|
Частый гость
 
Группа: Свой
Сообщений: 168
Регистрация: 8-10-08
Из: РФ Смоленск
Пользователь №: 40 764

|
Цитата(RomanRom @ Mar 3 2012, 14:14)  Или есть в STM32 какой-то режим наподобие CKOUT в ATmega48, когда на выход обычного порта транслируется тактовая частота кварцевого генератора установкой фьюзов? Есть вывод MCO, на который можно вывести через внутренний мультиплексор сигнал с HSE, HSI, PLL, XTALL... В Reference Manual в разделе "Reset and clock control" описано. "Ногодрыганьем" большую частоту на порту не получите, не умеет STM32 быстро ногами шевелить. Про таймер не скажу, не разбирался пока с ихними режимами. По поводу больших частот. Игрался с STM32f105, выдавал на ненагруженный выход MCO сигнал с PLL. Максимально допустимые 50 МГц - меандр искажённый, но узнаваем. На 72 МГц (уже overclocking) фронты очень сильно завалены, т.е. мощности выходного драйвера не хватает.
|
|
|
|
|
Mar 8 2012, 14:48
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763

|
Цитата(Sergey_Aleksandrovi4 @ Mar 5 2012, 12:46)  "Ногодрыганьем" большую частоту на порту не получите, не умеет STM32 быстро ногами шевелить. Про Кстати, а почему "не умеет"? Я задавал похожий вопрос тут: http://electronix.ru/forum/index.php?showt...p;#entry1035328но никто толком не ответил.
|
|
|
|
|
Mar 8 2012, 20:32
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
В том вопросе — а гляньте дизассемблер да и увидите, что там делается. И цикл с volatile-переменной вероятнее всего эту переменную на стеке заводит, каждый декремент — прочесть из памяти, уменьшить, записать назад. И GPIO_SetBits() вызывается как функция, потом проверяет свои аргументы на допустимость, потом только пишет в порт. А если по-нормальному, то из 72-мегагерцового STM32F103 ногодрыгом в цикле импульсы длительностью около 28 наносекунд (два такта) вполне выдаются, если компилятор адрес порта в регистр занесёт до цикла. Т.е. Код Pin<'B', 12> FOO; // см. pin.h в примерах scmRTOS для CortexM3/GCC
FOO.Mode(OUTPUT);
for(;;) { FOO.On(); FOO.Off(); } даёт импульсы 28 нс с паузой чуток подлиннее (переход всё же).
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Mar 9 2012, 09:22
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763

|
Цитата(ReAl @ Mar 8 2012, 22:32)  В том вопросе — а гляньте дизассемблер да и увидите, что там делается. И цикл с volatile-переменной вероятнее всего эту переменную на стеке заводит, каждый декремент — прочесть из памяти, уменьшить, записать назад. Спасибо Александр, теперь прояснилось. Цитата И GPIO_SetBits() вызывается как функция, потом проверяет свои аргументы на допустимость А вот об этом я хотел спросить поподробнее - о праверках. Я соверешнно не понимаю этих "assert" - оно работает на этапе компиляции или остается коде? Так это что, по каждому чиху во всех функциях из стандартных STшных библиотек делаются все эти проверки при входе?! Ну на время начальной инициализации еще ладно, но а потом, во время работы?! Я тогда понимаю, почему многие этими библиотеками не пользуются...
|
|
|
|
|
Mar 10 2012, 06:30
|

Гуру
     
Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702

|
Глупый вопрос: Где мне взять документацию на STM32L151 ? Вот здесь http://www.st.com/internet/mcu/product/252048.jsp#topЕсть документ DS6876 с обзором процессора. Есть документы AN3371, AN3248..... с описание разных частей процессора, но там явно не всё. Например нету про UART , порты IO.
--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|