реклама на сайте
подробности

 
 
> Передача массива через bulk-точку, Не удается послать больше одного пакета данных за фрейм.
Maximm
сообщение Jan 25 2011, 12:34
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 7-10-07
Из: Санкт-Петербург
Пользователь №: 31 137



Пришла пора подключить USB в AVR32, написал тестовое приложение на основе примера из SF 1.7, для примерной оценки скорости при передачи данных на хост при работе без прерываний и DMA. Приложение тестирую в RealTerm, устройство CDC с драйвером usbser.

Скорость передачи получилась ровно 64 Кб/с, что означает, что происходит одна транзакция передачи данных на хост за фрейм.

Проверил не приходит ли NAK от хоста - нет не приходит.

Прилагаю код:
Код
while(1)
{
       // Проверяем не пришел ли NAK от хоста
       if (Is_usb_nak_in(TX_EP))
            PORT0->ovrc = 0x00000100;
       // Ждем освобождения буфера                             
       PORT0->ovrs = 0x00000010;
       while( !Is_usb_in_ready(TX_EP) );
       PORT0->ovrc = 0x00000010;

       Usb_reset_endpoint_fifo_access(TX_EP);
       // Сбрасываем TXINI
       Usb_ack_in_ready(TX_EP);
       // Записываем данные в буфер - 64 байта, равно размеру конечной точки
       Usb_write_endpoint_data(TX_EP, 16, Data[0]);
       Usb_write_endpoint_data(TX_EP, 16, Data[1]);
       Usb_write_endpoint_data(TX_EP, 16, Data[2]);
       Usb_write_endpoint_data(TX_EP, 16, Data[3]);
       // Отсылаем данные из буфера
       Usb_ack_fifocon(TX_EP);
       
}


Конечная точка с двойным буфферизированием, по после сброса FIFOCON на второй банк не переключаемся, так TXINI не устанавливается..

Уважаемые знатоки AVR32 и USB, подскажите, что я делаю не так, может подтверждение приёма данных от хоста обрабатывать нужно?
Или может вообще проблема в драйвере usbser, читал на форму, что он очень медленный и его надо нагружать заранее, чтобы хост планировал больше bulk транзакций....сам с USB работаю совсем недавно, поэтому наверное много еще не понимаю.


--------------------
Если работает через раз - значит не работает!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 16:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01341 секунд с 7
ELECTRONIX ©2004-2016