|
STM32F4, UART и заваленные фронты сигнала, куды крестьянину податься? |
|
|
|
Feb 19 2016, 17:03
|

Местный
  
Группа: Свой
Сообщений: 243
Регистрация: 4-12-08
Из: Москва
Пользователь №: 42 205

|
Есть проблема: я хочу воспользоваться UART'ом на частоте 1МБод, но из-за заваленных фронтов сигнала ничего не выходит. Что я делал? - Есть у меня плата STM32F429-DISC0. - Я создал болванку проекта с помощью STM32Cube, - выбрал там 180 МГц частоты, - включил UART5, - выставил ему режим Single Wire (Half Duplex), - да назначил 1000000 бод скорости, - и даже скорость GPIO поставил HIGH. В тестовой программке я просто и без затей посылаю 0x55 по этому самому UART'у. Вроде бы, ломаться тут нечему, но не тут-то было: фронты UART-сигнала завалены просто в хлам: длительность фронта как раз и составляет примерно 1 мкс.
Имею спросить: как бы мне это забороть? P.S. Тестовый проект прилагается:
TestUART.rar ( 8.54 мегабайт )
Кол-во скачиваний: 48P.P.S. Cнизить скорость UART'а, не могу: то устройство, с которым мне надо общаться, работает именно на 1МБод.
|
|
|
|
|
 |
Ответов
|
Feb 22 2016, 03:48
|
Профессионал
    
Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439

|
Цитата(adnega @ Feb 20 2016, 12:24)  Ну, или скорость понижать многократно. Кста, при работе в полудуплексном режиме UART-у нужно как-то сообщать о намерении передавать/получать? Дергать направление GPIO - какое-то мутное решение. Ничуть не мутное. За этим решением такие небывалые возможности. Однажды я делал на 16 пике с 13 GPIO клавиатуру. Делал на трех разных: PIC16C711, PIC16C622 и еще какой-то похожий. Подключали до 16 кнопок, до 16 светодиодов. Динамик -- один GPIO, два GPIO на связь, один на подсветку. И еще два инфракрасных обнаружителя движения подключали. Все благодаря манипуляциям с направлением.
|
|
|
|
|
Feb 22 2016, 04:40
|

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

|
Цитата(Tarbal @ Feb 22 2016, 06:48)  Ничуть не мутное. За этим решением такие небывалые возможности. Однажды я делал на 16 пике с 13 GPIO клавиатуру. Делал на трех разных: PIC16C711, PIC16C622 и еще какой-то похожий. Подключали до 16 кнопок, до 16 светодиодов. Динамик -- один GPIO, два GPIO на связь, один на подсветку. И еще два инфракрасных обнаружителя движения подключали.
Все благодаря манипуляциям с направлением. Намекается, что данный USART сам переключит направление, коль у него есть однопроводный режим. Цитата(veteq @ Feb 22 2016, 00:25)  Судя по картинке, как будто-то щуп осциллографа без делителя, а значит фронты заваливаются самим щупом осциллографа. Такие сигналы лучше смотреть с делителем. А срезы не заваливаются. Чудеса?
|
|
|
|
|
Feb 22 2016, 19:40
|
Профессионал
    
Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439

|
Цитата(ViKo @ Feb 22 2016, 07:40)  А срезы не заваливаются. Чудеса? Дык с открытым коллектором всегда так. Цитата(adnega @ Feb 22 2016, 10:59)  Обращаю внимание, что в STM32 регистр, отвечающий за направление вывода не имеет атомарного доступа. Повальное увлечение переключением направления может решить задачу, но приведет к проблеме монопольного доступа. Для модуля GPIO есть механизм фиксации настроек порта (GPIO locking mechanism), который защелкнет также и направление вывода. Это еще один намек, что "тут так не делается - ищите другой путь". Да ясно что не так. Открытый коллектор не для таких скоростей.
|
|
|
|
Сообщений в этой теме
Я.К. STM32F4, UART и заваленные фронты сигнала Feb 19 2016, 17:03 adnega А на каких пинах висят RXD и TXD UART5? Feb 19 2016, 17:13 Я.К. Цитата(adnega @ Feb 19 2016, 20:13) А на ... Feb 19 2016, 17:14 adnega Нашел: GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
... Feb 19 2016, 17:16 Я.К. Цитата(adnega @ Feb 19 2016, 20:16) Нашел... Feb 19 2016, 20:02  adnega Цитата(Я.К. @ Feb 19 2016, 23:02) В смысл... Feb 19 2016, 20:07   Я.К. Цитата(adnega @ Feb 19 2016, 23:07) Или н... Feb 19 2016, 21:05    ViKo Цитата(Я.К. @ Feb 20 2016, 00:05) Боюсь, ... Feb 20 2016, 06:09  Огурцов Цитата(Я.К. @ Feb 19 2016, 21:02) человеч... Feb 19 2016, 20:10 Огурцов на каком то уарте висит конденсатор от юсб Feb 19 2016, 19:43 Я.К. Цитата(Огурцов @ Feb 19 2016, 22:43) на к... Feb 19 2016, 19:45  Огурцов Цитата(Я.К. @ Feb 19 2016, 20:45) Вы знае... Feb 19 2016, 20:05 iosifk Цитата(Я.К. @ Feb 19 2016, 20:03) Есть пр... Feb 19 2016, 19:50 Огурцов не знаю, в хел - без меня Feb 19 2016, 21:21 Ruslan1 Я.К., правильно Вам про открытый коллектор и подтя... Feb 20 2016, 08:46  adnega Цитата(Tarbal @ Feb 22 2016, 06:48) Все б... Feb 22 2016, 07:59   ViKo Цитата(adnega @ Feb 22 2016, 10:59) Обращ... Feb 22 2016, 08:13    adnega Цитата(ViKo @ Feb 22 2016, 11:13) А bit-b... Feb 22 2016, 09:37 veteq Судя по картинке, как будто-то щуп осциллографа бе... Feb 21 2016, 21:25 vlad_new в ф4, да и во всех других стм-ах есть би директ ре... Feb 24 2016, 00:51 Я.К. ЦитатаЯ.К., правильно Вам про открытый коллектор и... Feb 24 2016, 15:38
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|