Например TDA7294

Форум РадиоКот • Просмотр темы - FT 232RL проблемы с UART
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср янв 07, 2026 09:35:12

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 54 ]    , 2,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Ср авг 31, 2011 23:27:02 
Опытный кот

Карма: 2
Рейтинг сообщений: -2
Зарегистрирован: Ср мар 18, 2009 21:14:33
Сообщений: 812
Рейтинг сообщения: 0
Meteor писал(а):
Погрешность установки медленных скоростей на 8 МГц не превышает 0,2 %. Но я однажды накололся со встроенным генератором - одна плата работала как следует, а вторая слала чушь. Больше на спичках не экономлю - время дороже


Ухты. А чем сбой инициировался? Колво байт, интервалы, скорости? Я на 9600 с интервалами отправки в 3-5мс специально проверял на нескольких макетках (atmega128A) слал данные(байт 0xAA) подряд в течении нескольких часов - сбоя не замечал. Может просто пруха, а может изза того что из новой серии с буквой А ?

Кварц конечно нет проблемы поставить, но просто интересно... Да и жрёт тогда контроллер больше и дольше просыпается.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Чт сен 01, 2011 06:49:22 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
Я на 9600 с интервалами отправки в 3-5мс специально проверял на нескольких макетках (atmega128A) слал данные(байт 0xAA)

Вот в этом и суть. С интервалами он каждый раз синхронизируется, выплёвывая 1 байт...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Чт сен 01, 2011 09:01:33 
Опытный кот

Карма: 2
Рейтинг сообщений: -2
Зарегистрирован: Ср мар 18, 2009 21:14:33
Сообщений: 812
Рейтинг сообщения: 0
Тем не менее - это выход.
А уж если нужны выше скорости (что уже редко бывает) - лучше конечно кварц впаять.

Меня больше интересует минимальная задержка - думаю времени на байт хватит? Т.е. приблизительно 1 мс для передачи на 9600 и 4 мс на 2400...

Кстати вот такая конструкция тоже к "срыву" не приводит. Вот я и думаю - вроде бы должна,задержек нет, а не приводит. Может всё дело в "тугодумности" самого С, который задержек добавляет.

void OUT_COM1(unsigned char *PtS,unsigned char L)
{
unsigned char i;
for (i=0;i<L;i++)
{
while ( !( UCSR1A & (1<<UDRE)) );
UDR1=*PtS++;
};
};


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Чт сен 01, 2011 09:47:32 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Вот такой код срывался у меня вчера:
Код:
  us_loop:
      sbis UCSRA,UDRE
      rjmp us_loop
    ld r17,X+
    out UDR,r17
    dec r16
    brne us_loop

В X - адрес буфера, в R16 - 100 (100 байт). Для теста загнал в буфер инкрементные данные (1,2,3,4,5....) Где-то на середине начинал проскакивать мусор, при чём сначала редко, потом чаще, к концу (после 80) - вообще один мусор.
Скорость 9600

Скорее всего тактовая частота просто не соответствует действительности...


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Чт сен 01, 2011 10:29:27 
Опытный кот

Карма: 2
Рейтинг сообщений: -2
Зарегистрирован: Ср мар 18, 2009 21:14:33
Сообщений: 812
Рейтинг сообщения: 0
Сейчас проверил специально.
Atmega128A
38400-8N1

for (i=0;i<20000;i++)
{
while ( !( UCSR0A & (1<<UDRE)) );
UDR0=0x81;
};

0x81 специально взял отследить биты крайние.

Вообщем сбоев нет,несколько раз запускал :dont_know: Все 20000 байт пришли. Может дело в компиляторе.

Вот кстати нашёл в asm файле кусок соответствующий С коду (уродливо, чистый asm конечно красивше). Думаю всё дело именно в этом.

Код:
   
ST   -Y,R17
   ST   -Y,R16
;   i -> R16,R17
   __GETWRN 16,17,0
_0x1F0:
   __CPWRN 16,17,20000
   BRSH _0x1F1
_0x1F2:
   SBIS 0xB,5
   RJMP _0x1F2
   LDI  R30,LOW(129)
   OUT  0xC,R30
   __ADDWRN 16,17,1
   RJMP _0x1F0
_0x1F1:
   LDI  R30,LOW(500)
   LDI  R31,HIGH(500)
   CALL SUBOPT_0x3
_0x3F6:
   LD   R16,Y+
   LD   R17,Y+


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Чт сен 01, 2011 11:24:09 
Друг Кота
Аватар пользователя

Карма: 9
Рейтинг сообщений: 96
Зарегистрирован: Пн июл 13, 2009 14:37:39
Сообщений: 3961
Откуда: Московская область, наукоград.....
Рейтинг сообщения: 0
demiurg301 писал(а):
Ухты. А чем сбой инициировался? Колво байт, интервалы, скорости?...

Сбой происходил именно из -за тактирования на приемной стороне. Это проверено осциллографом.
Цитата:
Вот такой код срывался у меня вчера:

Цитата:
Сейчас проверил специально.

До этого дня никогда еще не встречал способ оценки времени передачи байта по коду :roll:
Поделюсь еще одним секретом отладки.
Зачастую необходимо убедиться в том что все правильно настроено.
Неважно, какая скорость, длина пакета и пр.
Для этого выделяю 1 вывод под сигнал синхронизации.
При старте передачи (1й байт) устанавливаю вывод в логический 0.
После записи последнего байта в регистр передачи, устанавливаю вывод синхронизации в логическую 1.
Сформированный сигнал подаю на вход синхронизации осциллографа. На котором и наблюдаю правильность посылки.
Для длинных посылок, можно применить несколько таких сигналов, или формировать импульс при каждом обращении. Далее уже несложно засинхронизоваться в нужном временном интервале.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Чт сен 01, 2011 11:44:24 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
Сформированный сигнал подаю на вход синхронизации осциллографа.

Будь он, вопросы сами собой отпали-бы...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Чт сен 01, 2011 12:00:26 
Друг Кота
Аватар пользователя

Карма: 9
Рейтинг сообщений: 96
Зарегистрирован: Пн июл 13, 2009 14:37:39
Сообщений: 3961
Откуда: Московская область, наукоград.....
Рейтинг сообщения: 0
Что лишний раз подтверждает правило разработчика (едва ли не внесенные в ГОСТ) - должен быть резерв, как по линиям, так и по остальному.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Чт сен 01, 2011 12:05:04 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Дык я про осциллограф :))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Чт сен 01, 2011 12:10:52 
Опытный кот

Карма: 2
Рейтинг сообщений: -2
Зарегистрирован: Ср мар 18, 2009 21:14:33
Сообщений: 812
Рейтинг сообщения: 0
Цитата:
До этого дня никогда еще не встречал способ оценки времени передачи байта по коду :roll:
Поделюсь еще одним секретом отладки.
Зачастую необходимо убедиться в том что все правильно настроено.
Неважно, какая скорость, длина пакета и пр.
Для этого выделяю 1 вывод под сигнал синхронизации.
При старте передачи (1й байт) устанавливаю вывод в логический 0.
После записи последнего байта в регистр передачи, устанавливаю вывод синхронизации в логическую 1.
Сформированный сигнал подаю на вход синхронизации осциллографа. На котором и наблюдаю правильность посылки.
Для длинных посылок, можно применить несколько таких сигналов, или формировать импульс при каждом обращении. Далее уже несложно засинхронизоваться в нужном временном интервале.


Я имел в виду что сам код вносит задержки, во время которых приёмник синхронизируется, хотя явно мы их не задаём. Может в этом всё дело?
У меня осцил с синхронизацией по несущей. Т.е. поймал фронт - синхронизировался. Выставляешь период синхронизации (для скорости 9600 я выставлял около 1 мс,а для 2400 - 4мс) и никаких синхро импульсов не нужно.

Сейчас отправлял на контроллер с компа пакеты из 250 байт и отсылал их обратно на комп прямо из прерывания - НЕМОГУ добиться срыва :)))
Думаю всё равно послушаю ваш совет и поставлю кварц на 7.3728 МГц


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Чт сен 01, 2011 13:44:13 
Друг Кота
Аватар пользователя

Карма: 9
Рейтинг сообщений: 96
Зарегистрирован: Пн июл 13, 2009 14:37:39
Сообщений: 3961
Откуда: Московская область, наукоград.....
Рейтинг сообщения: 0
У меня иначе построен процесс передачи - все реализую на прерываниях. Там практически нет задержек.
Опустел буфер - прервались для его заполнения.
Записал на передачу последний байт, тут же запретил прерывания передатчика.
Цитата:
Дык я про осциллограф :))

А я то грешным делом подумал о выводах МК.
Тогда можно "помудрить" с передачей одного байта. А уж потом всего пакета

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Чт сен 01, 2011 14:11:46 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Да собственно проблем нет - запаяю сегодня кварц. Это макетка, для отладки алгоритма.
Реально отсылать надо 4 байта, 100-байтовый буфер сделал чтобы вывести отладочную информацию.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Пн сен 05, 2011 07:32:31 
Мудрый кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 60
Зарегистрирован: Пн ноя 29, 2010 15:58:43
Сообщений: 1817
Рейтинг сообщения: 0
добрый день,

а поделитесь пож. опытом -как работает такая связка (ATmega16+FT232) на скоростях максимальных для FT232?
если я правильно понял ДШ, FT232 может обеспечить скорость до 300 килобайт в секунду с драйвером VCP со стороны компа.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Пн сен 05, 2011 10:48:40 
Опытный кот
Аватар пользователя

Зарегистрирован: Вс янв 18, 2009 21:12:49
Сообщений: 703
Рейтинг сообщения: 0
igor-x писал(а):
а поделитесь пож. опытом -как работает такая связка (ATmega16+FT232) на скоростях максимальных для FT232?

FT232 нормально работает на 3 Mbit-ах. Вы только с ATmeg-ой такую скорость не обеспечите.
Например, практически во всех устройствах, всю отладочную информацию гоню на PC терминал со скоростью 1382400, это при кварце 11,0592 МГц. Для максимальной скорости нужен будет кварц на 24 МГц.
ИМХО из опыта, принимать данные на контроллер со скоростью выше 460800 считаю нецелесообразным. Т.к. обработка данных "съест" всю скорость приёма.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Пн сен 05, 2011 12:31:26 
Мудрый кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 60
Зарегистрирован: Пн ноя 29, 2010 15:58:43
Сообщений: 1817
Рейтинг сообщения: 0
asteroid7 писал(а):
igor-x писал(а):
а поделитесь пож. опытом -как работает такая связка (ATmega16+FT232) на скоростях максимальных для FT232?

FT232 нормально работает на 3 Mbit-ах. Вы только с ATmeg-ой такую скорость не обеспечите.
Например, практически во всех устройствах, всю отладочную информацию гоню на PC терминал со скоростью 1382400, это при кварце 11,0592 МГц. Для максимальной скорости нужен будет кварц на 24 МГц.
ИМХО из опыта, принимать данные на контроллер со скоростью выше 460800 считаю нецелесообразным. Т.к. обработка данных "съест" всю скорость приёма.

a AVR теоретически может работать на скоростях выше 115200? во всех программках расчета скорости UART, независимо от кварца скорость выше 115200 не показывает..
может лучше использовать параллельный FT245 чтобы получить скорости хотя бы до 300 килобайт?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Пн сен 05, 2011 17:46:50 
Друг Кота
Аватар пользователя

Карма: 9
Рейтинг сообщений: 96
Зарегистрирован: Пн июл 13, 2009 14:37:39
Сообщений: 3961
Откуда: Московская область, наукоград.....
Рейтинг сообщения: 0
Открываем даташит на конкретный МК и читаем там про U(S)ART.
Например для меги 16, с предельной тактовой 16 МГц, можно ожидать максимальную скорость 2Мбит\с.
Ну а вот обработать полученный поток - это уже отчасти искусство

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Пн сен 05, 2011 18:36:51 
Опытный кот
Аватар пользователя

Зарегистрирован: Вс янв 18, 2009 21:12:49
Сообщений: 703
Рейтинг сообщения: 0
igor-x писал(а):
a AVR теоретически может работать на скоростях выше 115200?
:)

igor-x писал(а):
может лучше использовать параллельный FT245 чтобы получить скорости хотя бы до 300 килобайт?
У 16-ой меги 1 Кб озу. Минус стеки, получится один буфер на 700-800 байт. Куда 300 Кб гнать-то?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Вт сен 06, 2011 07:52:43 
Мудрый кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 60
Зарегистрирован: Пн ноя 29, 2010 15:58:43
Сообщений: 1817
Рейтинг сообщения: 0
asteroid7 писал(а):
У 16-ой меги 1 Кб озу. Минус стеки, получится один буфер на 700-800 байт. Куда 300 Кб гнать-то?


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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Вт сен 06, 2011 08:35:20 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Так всё-таки для чего такой поток? Может, на месте обрабатывать?
Или применить подходящие средства, DSP например...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FT 232RL проблемы с UART
СообщениеДобавлено: Вт сен 06, 2011 09:55:12 
Мудрый кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 60
Зарегистрирован: Пн ноя 29, 2010 15:58:43
Сообщений: 1817
Рейтинг сообщения: 0
ploop писал(а):
Так всё-таки для чего такой поток? Может, на месте обрабатывать?
Или применить подходящие средства, DSP например...


да! на месте хотелосьбы обработать, но не владею пока такими средствами обработки сигналов (DSP например)..
с АВРками только еще чуть разобрался. поэтому пусть ПК считает все


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 54 ]    , 2,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y