|
|
  |
Проблемы с FT232R..., теряются данные |
|
|
|
Jan 11 2011, 17:22
|
Местный
  
Группа: Участник
Сообщений: 202
Регистрация: 7-04-08
Пользователь №: 36 555

|
Цитата(jorikdima @ Jan 11 2011, 17:31)  Нет. Работаю на 115200 без управления потоком, проблем нет. Хотел было сказать, что на 921к надо работать с хэндшейкингом, но коли у вас и на 115 проблемы... Может бодрейт МК не совсем 921 или 115 из-за неправильной конфигурации или ухода генератора. Осциллом смотрели на импульсы? Смотрел, но с точностью до процентов период следования импульсов не замерял... проверю. Кстати мы используем драйвер VCP, а Вы?
|
|
|
|
|
Jan 12 2011, 02:41
|
Местный
  
Группа: Участник
Сообщений: 202
Регистрация: 7-04-08
Пользователь №: 36 555

|
Цитата(jorikdima @ Jan 12 2011, 00:11)  И vcp и D2xxx (через обертку для .NET) использую.
Хотя знаете... для кривого бодрейта все же характерно искажение, а не потеря данных. Хм... я б все же грешил на хэндшэйкинг, но если и на 115 не работает... Схема включение микросхемы стандартная, как в даташите? А до FT232 гарантировано данные долетают из МК? Может ошибка в софте МК/ПК? Просто ни разу не замечал потери в FT232, никогда не использую хэндшейкинг. Если бы была ошибка по бодрейту, то были бы возможны ситуации когда вместо единичного стоп-бита попадался бы ноль и это могло бы стать причиной ошибки, но... После того как проявилась проблема, к поиску ошибок подключилось ещё два специалиста помимо меня, один из них с нуля написал софт нижнего и верхнего уровней и проверка ведётся на макетной плате, т.е. коды инициализации UART'a микроконтроллера для 921600 и на 115200 написаны разными людьми и ошибка крайне маловероятна, также маловероятны какие-либо аппаратные неисправности т.к. эффект присутствует и в устройстве и на макетке. Схема включения FT232RL стандартная, я полагаю, что если бы проблемы были-бы, скажем, из-за питания/помех/итп то это должно было бы приводить к зависаниям а не к потере десятков байт данных... И ещё один момент: в другом устройстве на 115200 всё работает, но длина пакета там не превышает 10 байт... По какому протоколу Вы обмениваетесь и какой длины посылки посылаете в РС?
Сообщение отредактировал Konrad - Jan 12 2011, 06:15
|
|
|
|
|
Jan 12 2011, 03:50
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (Konrad @ Jan 12 2011, 07:41)  По какому протоколу Вы обмениваетесь и какой длины посылки посылаете в РС? Начните с простого: отключите ADuM, замкните у FTDI ноги Rx и Tx, пошлите в терминалке текстовый файл, предварительно настроив на запись лога в файл. Потом сравните полученный файл с исходным. Должны совпадать. Потом подключите ADuM, отключите МК. Повторите проверку. Нет там никакой зависимости от длины пакета. Посылал 65К и на 115200 и 460800 - прекрасно все проходит. На 921600 у меня проц не успевает разгребать. Нет там аппаратных ошибок внутри FTDI, если вы на это намекаете. Чем ADuM питаете? Ощущение, что проблемы где-то в питании - как будто питание паразитное от информационных входов. Начинаетеся обмен - питание пропадает.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|