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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> проблемы с настройкой модуля USB в AT91SAM7S256
coolzero
сообщение Oct 24 2007, 11:44
Сообщение #16


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 16-05-06
Пользователь №: 17 135



М-да что то не получается
Из проводника диск форматируется , но при записи файла подвисает , причём потом из проводника диск виден , а например из-под тотал командера нет , т.е получается что при записи файла корёжится файловая система, но как то хитро
Не совсем понял USB_CONFIG = 0x60 - это что ?




Цитата(_4afc_ @ Oct 24 2007, 15:23) *
А зачем им управлять? Кроме того там могут стоять другие клоки по сравнению с вашими.
Зачем зря кварц и Pll дёргать. Достаточно для протокола отрубить\врубить usb:


А тут мы в сами друг друга не поняли: я тоже имел ввиду что , не стоит
по 2 раза конфигурить проц , соответственно и из обработки флага RXSUSP надо бы енто удалить ,
там частота ядра снижается , видимо для уменьшения потребления ?
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Oct 24 2007, 11:45
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(coolzero @ Oct 24 2007, 15:29) *
Не совсем понял USB_CONFIG = 0x60 - это что ?


Я имел ввиду нижеследующее, но вы скорее всего этот этап уже проскочили


Вариант для устроиства с собственным питанием:
Код
FW_FULL_CONFIG_DESCRIPTOR fw_config =
{
  { // Standard Configuration Descriptor
    sizeof(USB_CONFIGURATION_DESCRIPTOR),  // Size of this descriptor in bytes
    USB_CONFIGURATION_DESCRIPTOR_TYPE,     // CONFIGURATION Descriptor Type
    sizeof(FW_FULL_CONFIG_DESCRIPTOR),     // Total length of data returned for this configuration.
    1,                                      // Number of interfaces supported by this configuration
    1,                                     // Value to use as an argument to the SetConfiguration() request to select this configuration
    0,                                     // Index of string descriptor describing this configuration
    0x60,//USB_CONFIG_SELF_NOWAKEUP,//Must be 0x60    //USB_CONFIG_BUS_NOWAKEUP,               // attribute : Bus-powered, no wakeup
    0x01                                   // Maximum power consumption (in 2mA unit, so 0x01 =1= 2mA)
  },


Цитата(coolzero @ Oct 24 2007, 15:29) *
М-да что то не получается
Из проводника диск форматируется , но при записи файла подвисает , причём потом из проводника диск виден , а например из-под тотал командера нет , т.е получается что при записи файла корёжится файловая система, но как то хитро


Разбиритесь со своей реализацией FAT или уберите её совсем для отсечения ошибок.

Windows критична ко времени выполнения ReadMedia/flashwriteAdress - не ставьте там задержек.
Вообще похоже весь протокол выполняется в прерывании.

Цитата(coolzero @ Oct 24 2007, 15:29) *
там частота ядра снижается , видимо для уменьшения потребления ?


Да, причём мне кажется сие нужно делать только если где-то будет сказано, что у вас есть такой режим - малого потребления.

Сообщение отредактировал _4afc_ - Oct 24 2007, 11:49
Go to the top of the page
 
+Quote Post
coolzero
сообщение Oct 24 2007, 12:02
Сообщение #18


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 16-05-06
Пользователь №: 17 135



вот оно что , я то думаю где собака порылась
насчёт 0х60 я так и подумал , только вот в исходниках
значение USB_CONFIG_SELF_NOWAKEUP = 0хС0 ...
у меня с такими параметром винда и у-во не могла определить ...
Насчёт того что Windows критична ко времени - это не есть гуд
Так как я пишу по SPI во внешнюю флеш , то хадержки могут быть там
Придётся попробовать увеличить скорость ( сейчас MCK\4) или
использовать DMA... мне так кажется
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Oct 24 2007, 12:26
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(coolzero @ Oct 24 2007, 16:02) *
вот оно что , я то думаю где собака порылась
насчёт 0х60 я так и подумал , только вот в исходниках
значение USB_CONFIG_SELF_NOWAKEUP = 0хС0 ...

я уже не помню почему выбрал именно 0х60, но их цифры меня навели на мысль, что они биты путают.
Цитата(coolzero @ Oct 24 2007, 16:02) *
у меня с такими параметром винда и у-во не могла определить ...
Насчёт того что Windows критична ко времени - это не есть гуд
Так как я пишу по SPI во внешнюю флеш , то хадержки могут быть там

Я на 50мс задерживал - скорость заполнения внутреннего буфера - ничего.
Но если на секунды - то вроде отваливался.
Кстати - поставьте свой PID/VID - тоже полегче будет жить.

Цитата(coolzero @ Oct 24 2007, 16:02) *
Придётся попробовать увеличить скорость ( сейчас MCK\4) или
использовать DMA... мне так кажется

в дма - придётся cs самому дёргать

Сообщение отредактировал _4afc_ - Oct 24 2007, 12:28
Go to the top of the page
 
+Quote Post
coolzero
сообщение Oct 24 2007, 12:40
Сообщение #20


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 16-05-06
Пользователь №: 17 135



А если я поменяю PID\VID - у меня проблем с драйверами не будет ?
Я думал что они как раз по ним дрова цепляют , потому что у меня было 2 примера - CDC модем и эмулятор сом-порта , разница у них была в последнем бите PID , но при этом каждый цеплял свой драйвер ...
Если речь идёт о секундах тада засада : копирую файлы по 3 кило - нормально , порядка 60 - завис .
и от файловой системы мне не уйти , записанные файлы я должен буду потом найти и использовать уже по другому назаначению ( не по USB ) , а как их использовать если файловая структура не понятно какая.. ?
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Oct 24 2007, 12:43
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



У меня sam7x нормально работает с AT45 и ("на глаз") с еще более тормозной mmc карточкой на ура. Задержки винду не смущают.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
coolzero
сообщение Oct 24 2007, 13:04
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 16-05-06
Пользователь №: 17 135



Значит надо рыть в другую сторону , возможно действительно уйти от динамического распределения памяти в сторону статических буфферов.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Oct 24 2007, 13:34
Сообщение #23


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Вы не забываете блокировать доступ "из" Вашего МК, когда он подключен по УСБ? Т.е. софт не должен писать во флешку, когда с ней работает винда.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
coolzero
сообщение Oct 25 2007, 05:15
Сообщение #24


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 16-05-06
Пользователь №: 17 135



Да вроде нет - програмка пока отладочная , кроме usb нет ничего ,
только обработка прерываний по usb , да бесконечный цикл по опросу состояния флагов ( приём , передача , event ) .

Маленькие файлы копируются вроде нормально ( ~1-3 кБ) ,
побольше похоже не всегда дописываются до конца
Go to the top of the page
 
+Quote Post
Calculator
сообщение Oct 25 2007, 07:54
Сообщение #25


Участник
*

Группа: Свой
Сообщений: 45
Регистрация: 19-04-07
Пользователь №: 27 172



Цитата(coolzero @ Oct 25 2007, 11:15) *
Маленькие файлы копируются вроде нормально ( ~1-3 кБ) ,
побольше похоже не всегда дописываются до конца

Возможно проблемы и не в программе. У нас иногда с серийными устройствами бывают "проблемы" при проверки работы USB, потом оказывается, что очередной раз купили плохие кабели. Обычно если на кабеле маркировка "High Speed", проблем не бывает, а если "Full Speed", то как повезет
Go to the top of the page
 
+Quote Post
coolzero
сообщение Oct 25 2007, 08:51
Сообщение #26


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 16-05-06
Пользователь №: 17 135



Всё возможно , надо проверить , спасибо ...
Но вот странная штука , проверяя отладчиком и USBMonitor трафик пакетов , получаю что в случае зависания копирования , получаю от винды совершенно чумовую копию каталога файлов
( я так понимаю что при записи файла , она считывает мой каталог , вносит туда новую запись и посылает мне ). После этого всё виснет...
Там почему то записаны 2 записи имени файла - первая с 0 между каждыми символами - 2 нормальная ...
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Oct 25 2007, 09:53
Сообщение #27


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Я описание ФАТ давно читал, но не длинное ли имя файла так закодировано? По два байта на символ...


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Oct 25 2007, 10:21
Сообщение #28


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(Dron_Gus @ Oct 25 2007, 13:53) *
Я описание ФАТ давно читал, но не длинное ли имя файла так закодировано? По два байта на символ...

Именно длинное имя пишется в UTF16 !
Причём используется практически все 32 байта записи.
Причём если имя длинное - используют несколько записей.
Проще писать в формате 8+3 сомандером - тогда всё тип-топ будет.
Go to the top of the page
 
+Quote Post
coolzero
сообщение Oct 25 2007, 10:23
Сообщение #29


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 16-05-06
Пользователь №: 17 135



Так точно , похоже на то .
Длину имен подрезал, стало получше, думал что совсем хорошо...
Но погонял и некоторая нестабильность в работе всё равно остаётся
Go to the top of the page
 
+Quote Post
Calculator
сообщение Oct 25 2007, 10:42
Сообщение #30


Участник
*

Группа: Свой
Сообщений: 45
Регистрация: 19-04-07
Пользователь №: 27 172



Цитата(coolzero @ Oct 25 2007, 16:23) *
Так точно , похоже на то .
Длину имен подрезал, стало получше, думал что совсем хорошо...
Но погонял и некоторая нестабильность в работе всё равно остаётся

Все-таки кабель Full Speed или High Speed? Что на нем написано?
Go to the top of the page
 
+Quote Post

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

 


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


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