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

STM32F4, UART и заваленные фронты сигнала

Есть проблема: я хочу воспользоваться UART'ом на частоте 1МБод, но из-за заваленных фронтов сигнала ничего не выходит.

 

Что я делал?

- Есть у меня плата STM32F429-DISC0.

- Я создал болванку проекта с помощью STM32Cube,

- выбрал там 180 МГц частоты,

- включил UART5,

- выставил ему режим Single Wire (Half Duplex),

- да назначил 1000000 бод скорости,

- и даже скорость GPIO поставил HIGH.

 

В тестовой программке я просто и без затей посылаю 0x55 по этому самому UART'у.

Вроде бы, ломаться тут нечему, но не тут-то было: фронты UART-сигнала завалены просто в хлам: длительность фронта как раз и составляет примерно 1 мкс.

 

post-42205-1455901342_thumb.png

 

Имею спросить: как бы мне это забороть?

 

P.S. Тестовый проект прилагается: TestUART.rar

 

P.P.S. Cнизить скорость UART'а, не могу: то устройство, с которым мне надо общаться, работает именно на 1МБод.

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


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

А на каких пинах висят RXD и TXD UART5?

 

Режим полудуплексный, используется только пин PC12.

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


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

Нашел: GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;

Поставьте резисторы подтягивающие.

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


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

на каком то уарте висит конденсатор от юсб

 

Вы знаете, я сегодня пробовал переключиться на USART1, но картина от этого не менялась.

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


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

Есть проблема: я хочу воспользоваться UART'ом на частоте 1МБод, но из-за заваленных фронтов сигнала ничего не выходит.

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

 

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


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

Нашел: GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;

Поставьте резисторы подтягивающие.

 

В смысле, достать паяльник и аппаратно припаять 1 кОм, который будет подтягивать к логической единице? Или вы имеете в виду, что-то более человечное??

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


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

Вы знаете, я сегодня пробовал переключиться на USART1, но картина от этого не менялась.

на первом он и висит, только я не помню, на каком пине

если у вас на разных пинах кажет одно и то же, то это либо нагрузка - отключайте, либо осциллограф

 

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


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

В смысле, достать паяльник и аппаратно припаять 1 кОм, который будет подтягивать к логической единице? Или вы имеете в виду, что-то более человечное??

Или настраивайте как push-pull.

Вам открытый коллектор нужен вообще?

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


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

Или настраивайте как push-pull.

Вам открытый коллектор нужен вообще?

 

Боюсь, именно он-то мне и нужен: у меня полудуплексный UART (т.е. один и тот же порт и пишет с МК на периферийное устройство, и потом читает его ответ).

 

GPIO_OType_PP

 

В HAL-драйвере это GPIO_MODE_OUTPUT_PP?

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


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

Боюсь, именно он-то мне и нужен: у меня полудуплексный UART (т.е. один и тот же порт и пишет с МК на периферийное устройство, и потом читает его ответ).

Не одновременно же. Делайте PP выход. Передали, и на вход переключайтесь.

Там встроенные PU резисторы немалые, а емкость у линии связи и входов и выходов имеется.

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


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

Ну, или скорость понижать многократно.

Кста, при работе в полудуплексном режиме UART-у нужно как-то сообщать о намерении передавать/получать?

Дергать направление GPIO - какое-то мутное решение.

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


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

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

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

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

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

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

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

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

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

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