FT 232RL проблемы с UART

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 11
Зарегистрирован: Вт май 03, 2011 18:19:53

Сообщение Skinner »

Уважаемые! Если кто сталкивался с таким чудом как FT 232RL подскажите плиз из за чего может возникать такая проблема.

При подключении ее как виртуальный ком порт результат принятых данных всегда два ноля хотя с контролера отправляю всегда разные значения.

MK - ATMega16-16PU

подключение обычное (FT)Rx на (MK)Tx а (FT)Tx на (MK)Rx.

Фрагмент программы MK на Pascal

Код: Выделить всё

//----------------------------------------------------------------------------
  UART1_Init_Advanced(19200, _UART_NOPARITY, _UART_ONE_STOPBIT);
.
.
.
  Delay_ms(5);
  UART_Write(100);
  Delay_ms(5);
  UART_Write(101);
  Delay_ms(5);
  UART_Write(102);
.
.
.

while (TRUE) do
    begin
    
      if (UART_Data_Ready() <> 0) then
        begin
          uart_rd:= UART_Read();
          UART_Write(uart_rd);
        end;
        
      if (PIND7_bit <> usb_temp) then
      begin
           usb_temp:= PIND7_bit;
           if (PIND7_bit = 1) then
           begin
                character:= usb_on;
                CustomChar(1, 16);
           end
           else 
           begin
                character:= usb_off;
                CustomChar(1, 16);
           end;
      end;
    end;
Заранее спасибо!
Реклама
Опытный кот
Сообщения: 812
Зарегистрирован: Ср мар 18, 2009 21:14:33

Сообщение demiurg301 »

Недавно тоже мучал переходник на этой микросхеме. Долго матерился, пока не подключил осцил - сигнал идёт инверсный.
Т.е. Уровень "0" для стандарта +VCC , а для этой микросхемы 0. Вы шлёте данные - комп воспринимает их как старт бит. и нулевые биты в байте. Может это как то настраивается, но я просто перевернул сигнал обычными биполярниками.
Реклама
Родился
Сообщения: 11
Зарегистрирован: Вт май 03, 2011 18:19:53

Сообщение Skinner »

в нее встроено инвертирование сигналов причем всех по стандарту RS232 я пробовал инвертировать только Rx и Tx ...
па пробую инвертнуть остальные может что и выйдет ....
если получится отпишусь сюда.
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Ни одно устройство на связке Мега16+ФТ232РЛ и ничего подобного не было
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 11
Зарегистрирован: Вт май 03, 2011 18:19:53

Сообщение Skinner »

буду признателен если выложите пару вариантов подключения из готовых(проверенных на железках) проектов.
Реклама
Родился
Сообщения: 11
Зарегистрирован: Вт май 03, 2011 18:19:53

Сообщение Skinner »

Вот пример ответа с виртуального ком порта


Посыл:
Delay_ms(5);
UART1_Write_Text('Test lines send');

Ответ:
13:30:51 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

13:30:52 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Реклама
Опытный кот
Сообщения: 812
Зарегистрирован: Ср мар 18, 2009 21:14:33

Сообщение demiurg301 »

А вы точно "перевернули" сигнал перед подачей на ft232rl ? И чем переворачивали?
Родился
Сообщения: 11
Зарегистрирован: Вт май 03, 2011 18:19:53

Сообщение Skinner »

для проверки решил достать с полки старый интерфейс на MAX232 и получил тот же результат ...
Складывается такое чувство что аппаратная часть в МК частично сдохла.......
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Skinner писал(а):буду признателен если выложите пару вариантов подключения из готовых(проверенных на железках) проектов.
"Выдержки" из проектов.
Изображение
Изображение
Вложения
Mega16_ADUM_FT232RL.JPG
С гальванической развязкой
(77.5 КБ) 2240 скачиваний
Mega16_FT232RL.JPG
Без гальванической развязки
(66.91 КБ) 1518 скачиваний
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Родился
Сообщения: 11
Зарегистрирован: Вт май 03, 2011 18:19:53

Сообщение Skinner »

Спасибо за выдержки делал также как и в варианте без развязки
Осталось последние проверить порт D и поменять МК....
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Глупый вопрос задам
а скорости передачи и остальные настройки совпадают?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Родился
Сообщения: 11
Зарегистрирован: Вт май 03, 2011 18:19:53

Сообщение Skinner »

да везде все проверил и не один раз в последнем варианте было (9600, _UART_NOPARITY, _UART_ONE_STOPBIT)
на ПК параметры те же.
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Тактируете, надеюсь, внешним кварцем, а не от внутреннего генератора?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Подтверждаю, FT232 отлично работает, проблем не было.

Замкните RX-TX на FT, эхо работает?
Родился
Сообщения: 11
Зарегистрирован: Вт май 03, 2011 18:19:53

Сообщение Skinner »

кстати по поводу тактирования этот момент я немного провтыкал и дошил фьюзы после чего МК потух на веке ......
если честно то я так и не понял от чего он откинулся кварц стоит на 16Mhz конденсаторы тоже на месте тип контролера позволяет такую частоту ATMega16-16PU так что как куплю новый па пробую снова по экспериментировать.


да и кстати до того как он откинулся в одном из экспериментов когда снизил скорость USART до 110 он начал работать но с большим количеством ошибок при передаче.
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Коль работаете на "нестандартном" кварце, поделюсь секретом (на всякий пожарный).
В даташитах, дается формула подсчета процента ошибки при тактировании.
Согласно стандарту на RS232 уход скорости передачи не должен превышать 3..5%.
При тактировании нестандартными частотами ошибка быстро набегает и чем больше процент, тем меньшее число передаваемых байт приведет к срыву обмена.
Рекомендации тут могут быть 2:
1) Применять кварцы с частотами 11,05892 и т.п.
2) Корректировать "уход" скорости передачи путем дополнительнительных пауз, разбив протокол передачи на фрагменты.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Опытный кот
Сообщения: 812
Зарегистрирован: Ср мар 18, 2009 21:14:33

Сообщение demiurg301 »

На 8 Мгц встроенного генератора UART на мегах вполне себе неплохо работает. По несколько сотен байт передаю и получаю - ещё вроде сбоев не было(тьфу тьфу) Правда скорости 2400, 9600 ,19200 - не выше. Если использовать CRC и check суммы так вообще проблем не возникнет...
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Погрешность установки медленных скоростей на 8 МГц не превышает 0,2 %. Но я однажды накололся со встроенным генератором - одна плата работала как следует, а вторая слала чушь. Больше на спичках не экономлю - время дороже
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Вовремя вы эту тему подняли. Битый час сидел медитировал над кодом, срывалась передача после первых 50-60 байт из сотни. Пока не заметил, что у меня МК на макетке без кварца работает (8МГц)...
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

ploop писал(а):Вовремя вы эту тему подняли. ...
Опыт.. его не пропьешь :)))
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»