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

 
 
 
Reply to this topicStart new topic
> Почему драйвер USB не исправляет ошибки CRC?, возникает ошибка USBD_STATUS_CRC
Sims
сообщение Jan 31 2008, 10:29
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 27-12-06
Пользователь №: 23 940



Используется USB контроллер Cypress (FX2), их драйвер CyUSB.sys и их же библиотека CyAPI.lib.
Проблема:
При передаче по плохому USB кабелю функция XferData часто возвращает ошибку и передача прекращается. Если детализировать состояние – оказывается status=USBD_STATUS_CRC.
Кто-нибудь уже сталкивался с этим? Почему драйвер не исправляет ошибку? Можно ли что-то с этим сделать?
Go to the top of the page
 
+Quote Post
TailWind
сообщение Jan 31 2008, 13:44
Сообщение #2


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

Группа: Свой
Сообщений: 125
Регистрация: 15-11-04
Пользователь №: 1 135



В USB нет никаких исправлений ошибок.
Пакет нужно отправлять заново.
Go to the top of the page
 
+Quote Post
Sims
сообщение Jan 31 2008, 14:31
Сообщение #3





Группа: Новичок
Сообщений: 3
Регистрация: 27-12-06
Пользователь №: 23 940



Ну да, в идеале, получив пакет с неправильны CRC драйвер хоста просит девайс повторить отправку. Но вместо этого, драйвер возвращает ошибку и передача обрывается. (при этом теряются уже полученные данные, находящиеся в USB driver stack=16Кб )

Стоит ли на хосте ограничение на кол-во повторов?
Можно ли это ограничение снять или увиличить?
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Jan 31 2008, 18:47
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Цитата(Sims @ Jan 31 2008, 18:31) *
...Стоит ли на хосте ограничение на кол-во повторов?

Для Windows™ в книге: USB Complete - 3. edition by Jan Axelson:
page 71
(Bulk Transfers) Detecting and Handling Errors
Bulk transfers use error detecting. If a device doesn’t return an expected
handshake packet, the host tries up to twice more...
page 75
(Interrupt Transfers) Detecting and Handling Errors
If a device doesn’t return an expected handshake packet, host controllers in
PCs will retry up to twice more...

Цитата(Sims @ Jan 31 2008, 18:31) *
Можно ли это ограничение снять или увиличить?

Для Windows™ вряд ли.

Цитата(Sims @ Jan 31 2008, 14:29) *
При передаче по плохому USB кабелю...

Все таки, лучше использовать кабели USB с маркировкой USB High Speed Certified.
Go to the top of the page
 
+Quote Post

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

 


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


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