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

 
 
 
Reply to this topicStart new topic
> Пример ISP1581
Why
сообщение Aug 8 2006, 12:14
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 5-08-06
Пользователь №: 19 338



А нет ли у кого-нибудь реально рабочего примера ISP1581, который бы 100% где-то работал?
Go to the top of the page
 
+Quote Post
Alex11
сообщение Aug 10 2006, 11:12
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Есть-то он есть, только дать не могу, продукт коммерческий и закрытый. Вопросы - задавай, чем смогу - помогу.
Go to the top of the page
 
+Quote Post
Why
сообщение Aug 10 2006, 13:36
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 5-08-06
Пользователь №: 19 338



Цитата(Alex11 @ Aug 10 2006, 15:12) *
Есть-то он есть, только дать не могу, продукт коммерческий и закрытый. Вопросы - задавай, чем смогу - помогу.

Я работаю по примеру исходников с сайта Philips. Вообще, проблема такая - устройство через раз проходит процесс нумерации - т.е. иногда получаем set_address, устанавливаем его, передаем дескрипторы и всё нормально. А иногда почему-то после передачи дескрипторов снова возникает Set_Address устанавливаем его и всё, Device Failed Enumeration в USB Monitor.

Есть подозрения на фиговую разводку и то, что корпус разъема USB соединён с общей землёй напрямую (без сопротивления и конденсатора впаралель). Но тогда почему иногда дескрипторы отправляются и принимаются без ошибок?

Второе подозрение, что что-то накасячил с прошивкой. Глядя на филипсовский пример смутил вот такой код
while(!USB_Int_Flag.BITS.EP0TX);
USB_Int_Flag.BITS.EP0TX = 0;

Когда было так, до отправки дескрипторов дело вообще не доходило. Заменил на
while(!USB_Int_Flag.BITS.EP0TX)
{
if(USB_Int_Flag.BITS.SUSP || USB_Int_Flag.BITS.RESET)
return;
}
+ в обработчике прерываний от микросхемы убрал сброс флага прерывания USB_Int_Flag.BITS.RESET.

Заработало.

Думаю, из-за чего ещё устройство не проходит нумерацию....
Go to the top of the page
 
+Quote Post
Alex11
сообщение Aug 11 2006, 16:26
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Мы никогда не запускали напрямую филипсовский код, только посматривали на него. Разводка, действительно, должна быть аккуратной. Как там присоединен корпус разъема - все равно, у меня тоже на земле напрямую, все работает. Там есть отладочный битик, который ставит чип принудительно в full-speed. Можно его взвести, если все заработает стабильно - то с большой вероятностью - разводка. У меня еще была по-началу интресная засада - перепутаны D+ и D-, что удивительно - какие-то пакеты при этом проходили иногда.
Go to the top of the page
 
+Quote Post
Why
сообщение Aug 12 2006, 13:00
Сообщение #5





Группа: Новичок
Сообщений: 5
Регистрация: 5-08-06
Пользователь №: 19 338



Цитата(Alex11 @ Aug 11 2006, 20:26) *
Мы никогда не запускали напрямую филипсовский код, только посматривали на него. Разводка, действительно, должна быть аккуратной. Как там присоединен корпус разъема - все равно, у меня тоже на земле напрямую, все работает. Там есть отладочный битик, который ставит чип принудительно в full-speed. Можно его взвести, если все заработает стабильно - то с большой вероятностью - разводка. У меня еще была по-началу интресная засада - перепутаны D+ и D-, что удивительно - какие-то пакеты при этом проходили иногда.


Битик выставил, самое смешное, что с ним процент удачных запуско меньше smile.gif Далее D+, D-, вроде проверил - нормально. Да и дескрипторы перидаются намана. Корпус разъёма завёл через сопротивление в паралаль с конденсатором - ничего не изменилось
Go to the top of the page
 
+Quote Post
Why
сообщение Aug 14 2006, 09:46
Сообщение #6





Группа: Новичок
Сообщений: 5
Регистрация: 5-08-06
Пользователь №: 19 338



Да, ещё прикол. Вот с этим отладочным битиком устройство не находится практически никогла! А если его убрать, то находится гораздо чаще. Ничего не понимаю...
Go to the top of the page
 
+Quote Post
_David
сообщение Sep 16 2006, 10:41
Сообщение #7





Группа: Новичок
Сообщений: 1
Регистрация: 21-12-05
Пользователь №: 12 477



Какой MCU и на какой частоте ?
Go to the top of the page
 
+Quote Post
Abo
сообщение Sep 22 2006, 07:15
Сообщение #8


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

Группа: Свой
Сообщений: 101
Регистрация: 9-01-06
Пользователь №: 12 967



То же самое но с ISP1582. Глюки при енумерации - иногда приходят битые сетап пакеты - длина сетап пакета не равна 8. Соответственно процесс енумерации нет возможности проводить. Но я опытным путем определил, что на это влияет тип кабеля USB. Если использовать кабель с маркировкой 2824 - битые сетап пакеты приходят если втыкать его в разъемы на передней стенке системного блока. Если же воткнуть в разъемы на задней стенке - все нормально работает. Если использовать кабель 2725 то все работает в любом случае. Но факт появления битых сетап пакетов настораживает - ведь их либо вообще не должно быть, либо должны быть хорошие.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 26th June 2025 - 12:04
Рейтинг@Mail.ru


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