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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> драйвер USBIO проблема передачи данных, передаётся первый пакет в 512байт второй не получает приложение...
galjoen
сообщение Jul 4 2008, 14:28
Сообщение #16


Знающий
****

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



Цитата(Mozart @ Jul 2 2008, 12:09) *
при изменении адреса допустим на 0x03 вообще ничего не происходит.

Так у вас вообще OUT EP с адресом 3 вообще обслуживается? Хотя-бы NAK отвечает? Если нет, то после 3 (или 5?) безответных запросов ваш девайс сбросят. А если NAKи слать, то через 5 секунд.
Лучше вообще не объявляйте эту EP.
Go to the top of the page
 
+Quote Post
Mozart
сообщение Jul 4 2008, 14:35
Сообщение #17


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

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



Цитата(galjoen @ Jul 4 2008, 18:28) *
Так у вас вообще OUT EP с адресом 3 вообще обслуживается? Хотя-бы NAK отвечает? Если нет, то после 3 (или 5?) безответных запросов ваш девайс сбросят. А если NAKи слать, то через 5 секунд.
Лучше вообще не объявляйте эту EP.

так чего делать???... я уже в тупике... я даже не знаю что предположить... вплоть до того что сама микросхема того... хотя на запросы отвечает, и правильно отвечает...
заметил вот какую штуку, если закрыть потом открыть устройство, то передается один пакет который я записал в фифо.


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


Знающий
****

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



Цитата(Mozart @ Jul 4 2008, 18:35) *
так чего делать???... я уже в тупике... я даже не знаю что предположить... вплоть до того что сама микросхема того... хотя на запросы отвечает, и правильно отвечает...
заметил вот какую штуку, если закрыть потом открыть устройство, то передается один пакет который я записал в фифо.

Дескрипторы-то у вас передаются? Устройство ведь виндоусом пределяется? Оно в списке устройств USB есть?
Если есть, то:
1. Убрать дескриптор 2й EP.
2. Кол-во EP в дескрипторе интерфейса =1.
3. Общая длина в конфигурации на 7 меньше.
Go to the top of the page
 
+Quote Post
Mozart
сообщение Jul 4 2008, 14:59
Сообщение #19


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

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



Цитата(galjoen @ Jul 4 2008, 18:53) *
Дескрипторы-то у вас передаются? Устройство ведь виндоусом пределяется? Оно в списке устройств USB есть?

ну дык в том то и дело что девайсина определилась...
Цитата(galjoen @ Jul 4 2008, 18:53) *
Если есть, то:
1. Убрать дескриптор 2й EP.
2. Кол-во EP в дескрипторе интерфейса =1.
3. Общая длина в конфигурации на 7 меньше.

т.е. попробовать использвать другую ЕР??... попробую сегодня вечером... мысль...


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


Знающий
****

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



Цитата(Mozart @ Jul 4 2008, 18:59) *
ну дык в том то и дело что девайсина определилась...

т.е. попробовать использвать другую ЕР??... попробую сегодня вечером... мысль...

Не другую, а ОДНУ. У вас сейчас 2 EP, с одинаковым адресом. Одна передающая (IN) её вы пытаетесь обслуживать. Другая принимающая (OUT). Вы её вообще обслуживаете??? Судя по логу - нет. Если нет, то она (необслуживаемая, но описанная EP) и является причиной сброса девайса.
Go to the top of the page
 
+Quote Post
Mozart
сообщение Jul 5 2008, 11:12
Сообщение #21


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

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



Цитата(galjoen @ Jul 4 2008, 19:07) *
Не другую, а ОДНУ. У вас сейчас 2 EP, с одинаковым адресом. Одна передающая (IN) её вы пытаетесь обслуживать. Другая принимающая (OUT). Вы её вообще обслуживаете??? Судя по логу - нет. Если нет, то она (необслуживаемая, но описанная EP) и является причиной сброса девайса.

вот теперь я точно ничего не понимаю... почему одинаковые адреса?? в книге Агурова написано
Цитата
код адреса bEndpointAddress сожержит следующие биты:
[7] направление передачи (игнорируется для каналов сообщений)
0 - OUT (от хоста)
1 - IN (к хосту)

насколько я понимаю лог, то OUT это запрос направленный из хоста в девайс, в котором и есть запрос на передачу данных. из девайса в хост (IN).

а вот если устройство закрыть, открыть, установить конфигурацию, то передаётся ещё один пакет...
при закрытии выаолняется запрос SetConfig: ReqUSB->wValue = 0; при установке конфигурации ReqUSB->wValue = 0х01
Код
void SetConfig(void)
{
    IntFlag &= ~(1 << ISP_INT_EP0RX);   //USB_Int_Flag.BITS.EP0RX = 0;

    if(ReqUSB->wValue == 0)
    {
        Device_Config_Value = 0;
        
        ep0in_ack();
        wait_ep0tx();
    }
    //else if (ReqUSB->wValue ==  0x0100)
    else if (ReqUSB->wValue ==  0x01)
    {
        Device_Config_Value = (unsigned char)(ReqUSB->wValue);
        
        ep0in_ack();
        wait_ep0tx();
    }
    else
    {
        //WriteByteToISP(ISP_REG_ENDP_INDX, 1);  
        WriteByteToISP(ISP_REG_ENDP_INDX, ISP_ENDP_EP0TX);
        
        CntrlFun |= (1 << ISP_CNTRL_STALL);
        WriteByteToISP(ISP_REG_CNTRL_FUN, CntrlFun);
        
        while (!(IntFlag & (1 << ISP_INT_EP0SET)))
        {
            IntFlag |= ReadByteFromISP(ISP_REG_INT);    
            WriteByteToISP(ISP_REG_INT, IntFlag);  
            if ((IntFlag & (1 << ISP_INT_SUSP)) ||
                (IntFlag & (1 << ISP_INT_RESET)))            
                return;
        }
        IntFlag &= ~(1 << ISP_INT_EP0TX);
    }
}


--------------------
все косяки, даже о которых не знает сам разработчик, - мои
Go to the top of the page
 
+Quote Post
Mozart
сообщение Jul 5 2008, 21:52
Сообщение #22


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

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



прилагаю лог... енумерации и пр...
Прикрепленные файлы
Прикрепленный файл  logMyUSB_dev.rar ( 9.19 килобайт ) Кол-во скачиваний: 65
 


--------------------
все косяки, даже о которых не знает сам разработчик, - мои
Go to the top of the page
 
+Quote Post
Mozart
сообщение Jul 6 2008, 18:29
Сообщение #23


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

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



стала появляться ошибка
Цитата
pipe82: Error code 0xE0000011: HC Error: XACT Error


--------------------
все косяки, даже о которых не знает сам разработчик, - мои
Go to the top of the page
 
+Quote Post
Mozart
сообщение Jul 7 2008, 06:49
Сообщение #24


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

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



Цитата(Mozart @ Jul 6 2008, 22:29) *
стала появляться ошибка

с одной конечной точкой такая фигня... и ещё не с первого раза конфигурируется...
при записи в регистр тест мод вот этого бита "FORCEFS" который "A logic 1 forces the physical layer to full-speed mode only and disables the chirp detection logic."

Сообщение отредактировал Mozart - Jul 7 2008, 06:57


--------------------
все косяки, даже о которых не знает сам разработчик, - мои
Go to the top of the page
 
+Quote Post
Mozart
сообщение Jul 7 2008, 08:07
Сообщение #25


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

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



с одной конечной точкой такая фигня... и ещё не с первого раза конфигурируется...
при записи в регистр тест мод вот этого бита "FORCEFS" который "A logic 1 forces the physical layer to full-speed mode only and disables the chirp detection logic." вообще устройство не определяется...


--------------------
все косяки, даже о которых не знает сам разработчик, - мои
Go to the top of the page
 
+Quote Post
galjoen
сообщение Jul 7 2008, 13:11
Сообщение #26


Знающий
****

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



Цитата(Mozart @ Jul 5 2008, 15:12) *
вот теперь я точно ничего не понимаю... почему одинаковые адреса?? в книге Агурова написано

1. В книге Агурова под термином "канал сообщений", вероятно имелся в виду контрольный канал (EP 0). Но там вообще не нужно описывать EP, указывается только размер пакета (в дескрипторе DEVICE).
2. Вы пытаетесь пользоваться USB не разобравшись в том, что собственно там происходит. В надежде, что всё сразу заработает и вам не понадобится разбираться с теорией, вы потеряли столько времени, сколько вам бы хватило для изучения этой самой теории.
5. Аппноуты полезны только в том случае, если вы уже обладаете знанием теории.
6. Вот прикрепляю главу 8 (перевод не очень) сначала разберитесь с ней.
Прикрепленные файлы
Прикрепленный файл  CH08_R.DOC ( 263.5 килобайт ) Кол-во скачиваний: 72
 
Go to the top of the page
 
+Quote Post
Mozart
сообщение Jul 7 2008, 14:15
Сообщение #27


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

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



Цитата(galjoen @ Jul 7 2008, 17:11) *
1. В книге Агурова под термином "канал сообщений", вероятно имелся в виду контрольный канал (EP 0). Но там вообще не нужно описывать EP, указывается только размер пакета (в дескрипторе DEVICE).
2. Вы пытаетесь пользоваться USB не разобравшись в том, что собственно там происходит. В надежде, что всё сразу заработает и вам не понадобится разбираться с теорией, вы потеряли столько времени, сколько вам бы хватило для изучения этой самой теории.
5. Аппноуты полезны только в том случае, если вы уже обладаете знанием теории.
6. Вот прикрепляю главу 8 (перевод не очень) сначала разберитесь с ней.

я её перечитываю периодически... спасибо за чаптер 8...

но как мне кажется ошибка не в том, что я делаю что-то неправильно, а просто где-то накосячил...


--------------------
все косяки, даже о которых не знает сам разработчик, - мои
Go to the top of the page
 
+Quote Post
Mozart
сообщение Jul 8 2008, 15:03
Сообщение #28


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

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



ну насколько я понимаю весь этот процес...
хост шлёт мне IN пакет, по мануалу я заполняю буфер и шлю "ОК" (хз что они имеют ввиду под "ОК"), потом хост мне шлёт АСК в случае успешного принятия этих данных, или вообще ничего не шлёт, что свидетельствует о том что хост данные не принял.

также по мануалу, данные автоматически передаются когда счётчик ФИФО достигает Max Packe Size или до тех пор пока я принудительно их не отправлю...

я обращался в nxp на предмет что такое "ОК" и как мне проверить приход сигнала АСК, и нужно ли его проверять... они мне ничего не сказали, что всё мол по стандарту, а потом отослали в ближайшую их службу... идиоты или я дурак....

если честно то я до сих не понимаю что мне делать... точнее как может в программе надо что-то установить?? люди... не дайте пропасть моей грешной душе... может быть я какой-нибудь запрос не верно обрабатываю?... может suspend resume...

вот мой кусок кода
Код
unsigned int write_endpoint(unsigned char endp, unsigned int lenB,  unsigned char *buf)
{

    unsigned int data;
    WriteByteToISP(ISP_REG_ENDP_INDX, endp);
    WriteByteToISP(ISP_REG_BUFF_LENGTH, lenB);

    SetAddr(ISP_REG_DATA);
    while (lenB)
    {
        data = *buf++;
        data |= *buf++ << 8;
        WriteData(data);
        lenB -= 2;  
    }

    return lenB;
}


з.ы. удалось только сделать приём данных...


--------------------
все косяки, даже о которых не знает сам разработчик, - мои
Go to the top of the page
 
+Quote Post
Mozart
сообщение Jul 10 2008, 12:56
Сообщение #29


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

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



может быть всё дело в скорости записи... у меня 2 байта пишутся за 500нС... 64 байта следовательно пишутся за 16мкС... я имею ввиду буфер на микросхеме... хотя с другой стороны почти с такой же скоростью 64 байта и читаются...


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

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

 


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


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