Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 19.03.2015, 15:56  
shyub
Прописка
 
Регистрация: 20.08.2008
Сообщений: 260
Сказал спасибо: 305
Сказали Спасибо 76 раз(а) в 42 сообщении(ях)
shyub на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

Сообщение от tim1960 Посмотреть сообщение
проблемы были у всех, пока не купил MOXA UPort 1110
Попробуйте этот сниффер: Sniffer.rar У меня практически все переходники USB/RS232 секунд через 5 "зависают". Если MOXA UPort 1110 будет работать, то действительно стоящая вещь...
Реклама:
shyub вне форума  
Непрочитано 19.03.2015, 16:02  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Мост USB-USART проблемы с ноутбуком

Сообщение от shyub Посмотреть сообщение
каким образом Вы меняеете настройки драйвера.
В диспетчере устройств.
Порты (COM и LPT) - Нужный порт - Свойства - Параметры порта - Дополнительно.

Не для всех чипов есть дополнительные настройки.

Тем более, что эта настройка влияет всего лишь на задержку (до 200 мс или более) перед отправкой по USB. При таких ошибках, как у вас, эта настройка вряд ли поможет.

Если не секрет - выыложите код для PC и MC, организующий обмен данными. Скоорее всего, ошибка в коде, а не в устройстве.

Последний раз редактировалось Godzilla82; 19.03.2015 в 16:06.
Godzilla82 вне форума  
Непрочитано 19.03.2015, 17:02  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

Сообщение от shyub Посмотреть сообщение
Попробуйте этот сниффер: Вложение 77008
Винда ХР. Все работает (и CH340 и FT232RL). Правда все адаптеры с гальваноразвязкой на ADUM1201.
alvadep вне форума  
Непрочитано 04.06.2015, 22:00  
shurenock
Частый гость
 
Регистрация: 01.04.2005
Сообщений: 33
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
shurenock на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

В общем кто еще помнит о чем речь шла, после месяца другой работы и прочих заморочек, пришло время разобраться в чем дело.
Итог таков: В чем конкретно причина, я так и не дошел, зато как побороть эту засаду нашел 100%.
С каким бы бодрейтом я не работал, важна не частота передачи, а пауза между пакетами.
В моем случае пакет состоит из 6 байтов: два байта служебных (синхро) и четыре байта данные. Для моего стационарного компьютера (4 ядра, 2,6 ГГц, Win7 и пр.) интервал между пакетами должен быть не менее 13 мс. Если меньше, то начинает выдавать ошибку, такую же как на ноутбуке.
Для ноутбука (2 ядра, 1.8 ГГц, Win7 и пр.), минимальный интервал для гарантированной работы без сбоев равен 45 мс.
Все остальное (помехи, гальваническая развязка и пр.) роли не играет.
Предположительно происходит следующее: винда пакет обрабатывает целиком, когда пакет закончен, через некоторое время драйвер ставится в винде в очередь, как ожидающий, за это время выполняются другие проги. Видимо, периодически какая-то прога перекрывает очередь надолго и происходит сбой, если следующий пакет приходит раньше, чем освободится ресурс под драйвер обработки порта.
Так что вот так.
Сейчас с указанными выше интервалами между пакетами связка контроллер - компьютер работает железно, без сбоев.
Тестил на нескольких других компах, как на ноутах так и на стационарах. У каждого свой защитный интервал, но он четко повязан с быстродействием проца компьютера.

Последний раз редактировалось shurenock; 04.06.2015 в 22:03.
shurenock вне форума  
Непрочитано 04.06.2015, 23:27  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

Вам же советовали показать как Вы там с СОМом работаете
А Вы рассказываете про какие-то чудеса в решете. Кривизна у Вас в программе, а не в системе. Посмотрите на загрузку проца - кто то там что держит? Иль у Вас загрузка всех ядер под 90%
Поднимите приоритет своему процессу, разрешите ему испоьзовать только одно ядро и посмотрите что с ошибками будет.
А лучше покажите как Вы там с СОМ ом работаете.
Boba_spb вне форума  
Непрочитано 04.06.2015, 23:48  
shurenock
Частый гость
 
Регистрация: 01.04.2005
Сообщений: 33
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
shurenock на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

//Событие: по последовательному интерфейсу пришли данные
void serialPortMCU_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
int temp = 0;
try
{
//Считываем, сколько байтов в буфере, создаем временный массив, считываем байты во временный массив
temp= serialPortMCU.BytesToRead;
byte[] tempBuff = new byte[temp];
serialPortMCU.Read(tempBuff, 0, temp);
//Перекидываем байты из временного массива в массив очереди для обработки
for (int i = countByteInBuff, j = 0; i ‹ countByteInBuff + temp; i++, j++)
{
serialInByte[i] = tempBuff[j];
}
}
catch
{
//Остановка генерации
MessageBox.Show("Ошибка приема данных!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
btStartMode4.Text = "Старт";
}
Настройки последовательного порта тоже стандартные.


Дальше идет разбор принятой информации, поэтому код не привожу. Ошибка возникает на этом куске кода.
Со стороны контроллера все тоже очень просто:

//-----------------------------------------------------------------------------
//Подпрограмма передачи массива данных на PC
//-----------------------------------------------------------------------------
void TransmissionDataToPC(uint8_t data1, uint8_t data2, uint8_t data3, uint8_t data4)
{
USART0_Transmission(USART_SYN_OUT);
USART0_Transmission(USART_SYN_OUT);
USART0_Transmission(data1);
USART0_Transmission(data2);
USART0_Transmission(data3);
USART0_Transmission(data4);
}
//-----------------------------------------------------------------------------


//Подпрограмма передачи байта по USART
uint8_t USART0_Transmission(uint8_t data_byte)
{
loop_until_bit_is_set(UCSR0A,TXC0);
UDR0=data_byte;
_delay_us(300);
return 0;
}

Можно через цикл и массив передавать, но мне так удобней.
Настройки USARTа привести?
Схемотехнику показать?

Загрузка проца конечно маленькая и не на четыре ядра. Жду оценки глюков в программе)))
shurenock вне форума  
Непрочитано 05.06.2015, 00:10  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

Какая ошибка вылетает и в каком месте?
serialInByte маленький что ль?

А в передаче delay - это зачем?

Последний раз редактировалось Boba_spb; 05.06.2015 в 00:15.
Boba_spb вне форума  
Непрочитано 05.06.2015, 00:13  
shurenock
Частый гость
 
Регистрация: 01.04.2005
Сообщений: 33
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
shurenock на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

Исключение в блоке try{}.
Разбор номера ошибки я не делал. Хотя наверное стоит сделать.
Завтра допишу кусок кода разбора ошибки, отпишусь.

serialInByte с запасом на 15 пачек информации.

Без паузы вот тоже глючит.

Вообще глючить начинает не сразу, а спустя пару циклов работы. Но точного момента нет. Он плавает.
Была идея, что из-за рассогласования частоты кварца и бодрейта USARTа возникает ошибка, которая накапливается. По даташиту при частоте проца 16 МГц и бодрейте 38,4 bps ошибка 0,2%.

Но это в пределах.

Последний раз редактировалось shurenock; 05.06.2015 в 00:31.
shurenock вне форума  
Непрочитано 05.06.2015, 00:29  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

Так лететь то может лишь в двух случаях - либо выход за размер serialInByte, либо порт закрывается и имеете тут temp равный 0, и летите на
tempBuff , который организовали нулевой длины
Boba_spb вне форума  
Непрочитано 05.06.2015, 00:34  
shurenock
Частый гость
 
Регистрация: 01.04.2005
Сообщений: 33
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
shurenock на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

Смешно)))
Только раньше было по другому организовано. Я байты сразу в массив выбирал, без промежуточного буфера. Итог тот же.
Опять же, а почему тогда, как только паузу между пачками делаешь больше, глюк уходит. Что порт вдруг открывается?))) Не катит. Логики нет.
shurenock вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
STM32F205RB Проблемы с USART IvanAlyaev ARM 2 04.05.2014 12:46
На ноутбуке Sony проблемы с USB sandist Ремонт оргтехники 6 23.05.2009 19:41
Помогите разобраться с USART в CodeVisionAVR vendim Микроконтроллеры, АЦП, память и т.д 20 26.07.2007 16:42


Часовой пояс GMT +4, время: 00:25.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot