реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> STM32F1->MCO качество сигнала
Tahoe
сообщение May 28 2013, 15:15
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600



STM32F100, пин PA8, с альтернативными функциями USART1_CK / MCO / TIM1_CH1. Таймер1 отключен. USART1 включен, работает в асинхронном режиме. Включил MCO ( вывод клока для внешнего использования ), в качестве источника клока HSI. Наблюдаю такую картину, в моменты передачи по USART1:

Прикрепленное изображение
Прикрепленное изображение


Круто. Сам сигнал с MCO выводится для тактирования ПЛИС.

Кто-нить уже сталкивался с подобным?

С инициализацией проблем нет, там всего две строчки:
Код
void    BspPldInit( void )
{
    McuPinConfig(        MCU_PIN_PA08,        MCU_PIN_MODE_OUT_PP_AF_10MHz    );
    McuClkOutConfig(    MCU_CLK_OUT_SRC_HSI                                 );
}
Go to the top of the page
 
+Quote Post
diwil
сообщение May 29 2013, 04:54
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 366
Регистрация: 5-09-06
Из: Санкт-Петербург
Пользователь №: 20 107



подтверждаю.
когда работает уарт на передачу, то он создает массу помех.
В некоторых случаях становится даже невозможным использования АЦП.
У меня еще и таймер генерит 400кГц - на этом выходе тоже жуткая наводка.
Правда это наблюдается на f405.
Go to the top of the page
 
+Quote Post
DASM
сообщение May 29 2013, 05:05
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



А можно посмотреть код инициализации на уровне ассемблера, а не дурацких макросах от стм?
Go to the top of the page
 
+Quote Post
DASM
сообщение May 30 2013, 08:49
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Очередной "бэгрипорт" не состоялся ?
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 30 2013, 11:01
Сообщение #5


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Tahoe @ May 28 2013, 18:15) *
Круто. Сам сигнал с MCO выводится для тактирования ПЛИС.

Не могу в это поверить. С печатными проводниками всё нормально, ничто ни за что не зацепилось?
Go to the top of the page
 
+Quote Post
Tahoe
сообщение May 30 2013, 14:13
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600



Цитата(ViKo @ May 30 2013, 15:01) *
Не могу в это поверить. С печатными проводниками всё нормально, ничто ни за что не зацепилось?

На PCB напортачить практически не реально, всего один короткий проводник.

Прикрепленное изображение




Цитата(DASM @ May 30 2013, 12:49) *
Очередной "бэгрипорт" не состоялся ?

Пока просто интересует опыт тех, кто _реально_ работал с сабж.
Цитата(DASM @ May 29 2013, 09:05) *
а не дурацких макросах от стм?

- они не дурацкие, а единообразные на всех используемых мной архитектурах МК, что для ARM, что для AVR, что для MSP
- не макросы
- не от ST

Сообщение отредактировал IgorKossak - May 30 2013, 14:53
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение May 30 2013, 19:08
Сообщение #7


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Ну пять-то вольт откуда в процессоре вообще? Это не из ПЛИС идёт? Я использовал выход для контроля в целиком работающей системе (STM32F105) - ничего необъяснимого не наблюдал.
Go to the top of the page
 
+Quote Post
Tahoe
сообщение May 30 2013, 21:10
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600



Цитата(Genadi Zawidowski @ May 30 2013, 23:08) *
Ну пять-то вольт откуда в процессоре вообще? Это не из ПЛИС идёт?

Нет. На плате всего одно питание 3,3В. Масштаб каритнки 0,5В в клетке.

Цитата(Genadi Zawidowski @ May 30 2013, 23:08) *
Я использовал выход для контроля в целиком работающей системе (STM32F105) - ничего необъяснимого не наблюдал.

С работающим UART1?
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 31 2013, 05:57
Сообщение #9


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



А вы посмотрите, что делается на разных концах 100 Ом резистора. Частота MCO у вас меньше частоты паразитных тактов (больше похоже на такты, чем на данные, очень уж регулярные). Может, из ПЛИС что-то лезет? Амплитуда MCO меньше 2В - тоже странно.

MCO использую для тактирования контроллера ЖКИ. Работает. Правда, бывают некие редкие пропадания картинки. Думал, программые косяки. Гляну внимательнее на такты.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение May 31 2013, 22:36
Сообщение #10


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата(Tahoe @ May 31 2013, 01:10) *
Нет. На плате всего одно питание 3,3В. Масштаб каритнки 0,5В в клетке.


С работающим UART1?


Во всяком случае, с проинициализированным. 57600 при тактовой процессора 72 МГц, внешний 8 МГц кварц.

Сообщение отредактировал Genadi Zawidowski - May 31 2013, 22:37
Go to the top of the page
 
+Quote Post
khach
сообщение Jun 1 2013, 07:22
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Цитата(Tahoe @ May 28 2013, 17:15) *
Кто-нить уже сталкивался с подобным?

С инициализацией проблем нет, там всего две строчки:

С чем сталкивались? С кривой инициализацией многфункционального пина? Постоянно. Обычно по причине криворукости программистов при использвании стандарных библиотек. Инициализацию USART1 еще покажите (вернее его ножек)- очень вероятно что USART1_CK активен и подключен к ноге.
Зы. Иногда это глюки самого кристалла инжинерных ревизий- попробуте поменять порядок инициализации периферии в стартапе программы.
Go to the top of the page
 
+Quote Post
DASM
сообщение Jun 1 2013, 13:59
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Абсолютно поддерживаю. Если Вы видели эти стмовские полумакросы-полуфункции (иногда и не понять что есть что, где он начинается, от чего перекрестно зависит и главное - зачем он нужен для выставления одного бита при старте проца) то все поймете.
Go to the top of the page
 
+Quote Post
koyodza
сообщение Jun 1 2013, 14:29
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 213
Регистрация: 28-02-07
Из: Киев
Пользователь №: 25 744



Использовал МСО для тактирования внешнего АЦП частотой 12МГц (выход HSE), был задействован USART1, всё отлично работало. Правда, на F103, но это скорее всего не важно.
Проверьте, не установлен ли бит CLKEN в USART1->CR2
Если на пин выведены альтернативные функции от нескольких модулей, нужно быть внимательным и не допускать одновременной работы таких модулей либо блокировать работу альтернативной функции в одном из модулей. В Вашем случае выход CLK у USART1 должен быть запрещен.

Цитата(DASM @ Jun 1 2013, 16:59) *
Если Вы видели эти стмовские полумакросы-полуфункции (иногда и не понять что есть что

Чтобы так говорить, нужно вначале самому их видеть. В приведенном топикстартером фрагменте использованы не стандартные библиотечные функции, а свои.
Как раз при отказе от библиотечных функций часто и возникают ошибки, связанные с неправильной инициализацией периферии. Поэтому прежде, чем писать свои функции, напрямую работающие с регистрами, лучше вначале взять и разобраться со стандартными, понять где и что не нравится, и только потом уже писать свои
Go to the top of the page
 
+Quote Post
DASM
сообщение Jun 1 2013, 15:28
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Да никто не против, а еще лучше - привести кусок дизасма, но автор убежал.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jun 1 2013, 19:22
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(koyodza @ Jun 1 2013, 18:29) *
Поэтому прежде, чем писать свои функции, напрямую работающие с регистрами, лучше вначале взять и разобраться со стандартными, понять где и что не нравится, и только потом уже писать свои

Это уже пошёл оффтопик, но я, тем не менее, вставлю свои 5 копеек. Всегда манипулировал регистрами, опираясь только на Reference Manual. Всё получалось. Библиотеку не использовал из-за неприязни (кривой она показалась). Сейчас, однако, мог бы и потерпеть неприязнь, если библиотека реально ускоряет разработку: жизнь слишком коротка. Старею, наверное :-)
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th July 2025 - 03:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.05334 секунд с 7
ELECTRONIX ©2004-2016