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

 
 
> драйвер USBIO проблема передачи данных, передаётся первый пакет в 512байт второй не получает приложение...
Mozart
сообщение Jun 27 2008, 19:53
Сообщение #1


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

Группа: Свой
Сообщений: 154
Регистрация: 16-08-07
Из: Москва
Пользователь №: 29 829



использую usb микросхему ISP1581 включенную в режиме GENERIC_MODE.
Скачала с сайта _http://www.thesycon.de/eng/usbio.shtml_ драйвер USBIO и "demo application executable (usbioapp.exe)"
Endpoint настроен как bulk максимальный размер пакета 512байт. При запросе на передачу данных в хост происходит прерывание к примеру от второй endpoint = EP2TX.
после произошедшего прерывания моя последовательность действий такая:

1. отключаю прерывания
2. выбираю конечную точку и устанавливаю длину буфера
3. заполняю буфер данными
4. устанавливаю сигнал ACK
5. включаю прерывания.

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


--------------------
все косяки, даже о которых не знает сам разработчик, - мои
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
galjoen
сообщение Jun 30 2008, 14:20
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Mozart @ Jun 27 2008, 23:53) *
в чём может быть проблема?

В отсутствии переключения TOGGLE (DATA1/DATA0).
Go to the top of the page
 
+Quote Post
Mozart
сообщение Jun 30 2008, 15:25
Сообщение #3


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

Группа: Свой
Сообщений: 154
Регистрация: 16-08-07
Из: Москва
Пользователь №: 29 829



Цитата(galjoen @ Jun 30 2008, 18:20) *
В отсутствии переключения TOGGLE (DATA1/DATA0).

enable disable endpoint?

Сообщение отредактировал Mozart - Jun 30 2008, 15:30


--------------------
все косяки, даже о которых не знает сам разработчик, - мои
Go to the top of the page
 
+Quote Post
galjoen
сообщение Jun 30 2008, 16:18
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Mozart @ Jun 30 2008, 19:25) *
enable disable endpoint?

Нет. В чередовании идентификатора пакета (PID) DATA1 и DATA0 у передаваемых данных. Если два блока данных передаются с одинаковыми DATA, то принимающий считает, что его ACK на 1й блок не дошёл (был повреждён) и передающий перепослал те-же данные (т.к. PID тот-же) , шлёт ACK, а эти данные отбрасывает. Обычно переключение обозначается TOGGLE. У ISP1581 не знаю как обозначается (не пользовался). М.б. у неё автоматически переключается - тогда enable disable endpoint
нельзя т.к. 1й пакет всегда будет с DATA1. Но д.б. режим и с переключением вручную.
Д.б. так:
1. отключаю прерывания
2. выбираю конечную точку и устанавливаю длину буфера
3. заполняю буфер данными

4. Устанавливаю TOGGLE
5. Разрешаю передачу (TxEN?), а не "4. устанавливаю сигнал ACK"?

6. включаю прерывания.
Go to the top of the page
 
+Quote Post
Mozart
сообщение Jun 30 2008, 16:23
Сообщение #5


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

Группа: Свой
Сообщений: 154
Регистрация: 16-08-07
Из: Москва
Пользователь №: 29 829



я заново пересмотрел datasheet
Цитата
Note: ‘Stalling’ a data endpoint will confuse the Data Toggle bit
on the stalled endpoint because the internal logic picks up from
where it has stalled. Therefore, the Data Toggle bit must be
reset by disabling and re-enabling the corresponding endpoint
(by setting the bit ‘ENABLE’ to 0 or 1 in the endpoint type
register) to reset the PID.


больше про Toggle data ничего не сказано...а в programmers guide
Код
// Clear the data toggle bit to (set to 0) and clear buffers before clear stall of
// the endpoint.
wEPCFG = ISP1581_GetEndpointConfig(endp);
ISP1581_SetEndpointConfig(endp, 0); // disable endpoint *
// Enable endpoint, clear the buffer and set the data toggle bit to 0.
ISP1581_SetEndpointConfig(endp, wEPCFG);
ISP1581_SetEndpointStatus(endp, 0); // clear the Stall condition of the
//endpoint.
Chap9_ControlWriteHandshake();

только вот это...
что такое Chap9_ControlWriteHandshake();?? точнее как она описывается...??


--------------------
все косяки, даже о которых не знает сам разработчик, - мои
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Mozart   драйвер USBIO проблема передачи данных   Jun 27 2008, 19:53
||- - galjoen   Цитата(Mozart @ Jun 30 2008, 20:23) что т...   Jun 30 2008, 16:31
|- - Mozart   Цитата(galjoen @ Jun 30 2008, 20:18) Нет....   Jul 1 2008, 08:17
|- - galjoen   Цитата(Mozart @ Jul 1 2008, 12:17) а сигн...   Jul 1 2008, 19:11
|- - Mozart   0x82 это адрес конечной точки, в данном случае она...   Jul 1 2008, 19:39
|- - galjoen   Цитата(Mozart @ Jul 1 2008, 23:39) 0x82 э...   Jul 1 2008, 20:22
|- - Mozart   0x01 //...MaxPower - это случайно затисалось, там ...   Jul 1 2008, 20:35
- - Mozart   я прикрепил лог... из него видно что приходят запр...   Jul 1 2008, 14:53
- - Mozart   Цитата(galjoen @ Jul 2 2008, 00:22) 4. В ...   Jul 2 2008, 08:09
|- - galjoen   Цитата(Mozart @ Jul 2 2008, 12:09) при из...   Jul 4 2008, 14:28
|- - Mozart   Цитата(galjoen @ Jul 4 2008, 18:28) Так у...   Jul 4 2008, 14:35
|- - galjoen   Цитата(Mozart @ Jul 4 2008, 18:35) так че...   Jul 4 2008, 14:53
|- - Mozart   Цитата(galjoen @ Jul 4 2008, 18:53) Дескр...   Jul 4 2008, 14:59
|- - galjoen   Цитата(Mozart @ Jul 4 2008, 18:59) ну дык...   Jul 4 2008, 15:07
|- - Mozart   Цитата(galjoen @ Jul 4 2008, 19:07) Не др...   Jul 5 2008, 11:12
|- - galjoen   Цитата(Mozart @ Jul 5 2008, 15:12) вот те...   Jul 7 2008, 13:11
|- - Mozart   Цитата(galjoen @ Jul 7 2008, 17:11) 1. В ...   Jul 7 2008, 14:15
|- - Mozart   ну насколько я понимаю весь этот процес... хост шл...   Jul 8 2008, 15:03
|- - Mozart   может быть всё дело в скорости записи... у меня 2 ...   Jul 10 2008, 12:56
- - Mozart   может быть я не на все запросы отвечаю??? хотя дев...   Jul 3 2008, 06:34
|- - Mozart   отправка одного пакета в 64 байта происходит когда...   Jul 3 2008, 14:11
- - Mozart   прилагаю лог... енумерации и пр...   Jul 5 2008, 21:52
- - Mozart   стала появляться ошибка Цитатаpipe82: Error code 0...   Jul 6 2008, 18:29
- - Mozart   Цитата(Mozart @ Jul 6 2008, 22:29) стала ...   Jul 7 2008, 06:49
- - Mozart   с одной конечной точкой такая фигня... и ещё не с ...   Jul 7 2008, 08:07


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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 09:25
Рейтинг@Mail.ru


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