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

 
 
> Бардак с at91sam7s64, Не работает норм ЮСБ
SolarA
сообщение Sep 9 2008, 12:50
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 28-08-08
Пользователь №: 39 873



Народ не работает ЮСБ. help.gif
Скачал с сайта Атмела примеры версии 1.4 и попробовал вшить usb mass storage device. После этого плата определяет как просто device которому нужны драйвера и все(пробовал на 2000 и на ХР). Пробовал также версии которые идут с ИАР 5.2(по идеи тот же 1.4) а также версия 1.3. Все точно так же. Уже не знаю че делать. Устройство нормально не определяется и все. (тока один раз я нашел бинарник с GCCшного проекта поидеи который вшился и заработал, тоесть определил платку как масс сторедж с 0 байтов вообще и 0 байтов свободного места. это устройство нельзя отформатировать)

Задача
Мне надо организовать обмен данными между ПК и МК. Примерно 600 байт туда и обратно раз в милисекунду гдето(лучше чаще). Думал сделать через масс сторедж, дабы с ПК писало в какойто файл, а читало с другого. Выделить под эти файлы допустим по 2 кБ в РАМ(для с64 всего 16кб РАМ) и спокойно себе писать в файл с ПК и читать область памяти в проге на МК.
Или как вариант написать драйвера под винду для своего девайса и через них уже както общатся.

Хотелось бы услышать какието идеи или замечания как это сделать и если кому не сложно, попробуйте вшить иаровский пример - будет ли он у вас работать. Если будет, то пришлите ссылочку откуда скачали или же сам проект.
Буду премного благодарен за инфу
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Sep 9 2008, 13:10
Сообщение #2


Гуру
******

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



Во-первых, действительно ли оно у Вас просит драйверы, или говорит "unknown device"?

Во-вторых, 600 байт/мс туда и обратно через шину элементарно не пройдут.
Go to the top of the page
 
+Quote Post
SolarA
сообщение Sep 9 2008, 13:21
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 28-08-08
Пользователь №: 39 873



Цитата(aaarrr @ Sep 9 2008, 16:10) *
Во-первых, действительно ли оно у Вас просит драйверы, или говорит "unknown device"?

Во-вторых, 600 байт/мс туда и обратно через шину элементарно не пройдут.

Пишет вот так:
USBDevice
"Для устройства не установлены драйверы. (Код 28)
Нажмите "Переустановить" для переустановки драйверов этого устройства."
Я понял вопрос, я вшивал core project он сразу просит установить драйвера,а этот в 2000 у меня не просит, а на ХР говорит что устройство сконфигурировано неправильно или чтото в таком духе.

Почему 600 байт/мс не пройдут? Скорость для фулл спид 12Мбит/сек=12кбит/мс вроде правильно считаю, ясно что такой скорости не будет, но 1кбит/мс думаю, что точно должно тянуть.

Плюс еще хотел спросить а то с даташита к at91sam7s64 не ясно: у UDP есть свои встроенные буфера FIFO или как в USARTе они работают с контроллером ПДП или их вообще нада назначать с РАМ в проге как какието масивы например
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 9 2008, 13:34
Сообщение #4


Гуру
******

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



Цитата(SolarA @ Sep 9 2008, 17:21) *
Пишет вот так:
USBDevice
"Для устройства не установлены драйверы. (Код 28)
Нажмите "Переустановить" для переустановки драйверов этого устройства."
Я понял вопрос, я вшивал core project он сразу просит установить драйвера,а этот в 2000 у меня не просит, а на ХР говорит что устройство сконфигурировано неправильно или чтото в таком духе.

Понятно. Видимо нужно сказать спасибо кривым примерам.

Цитата(SolarA @ Sep 9 2008, 17:21) *
Почему 600 байт/мс не пройдут? Скорость для фулл спид 12Мбит/сек=12кбит/мс вроде правильно считаю, ясно что такой скорости не будет, но 1кбит/мс думаю, что точно должно тянуть.

1кбит/мс будет, а 4.8кбит/мс в обе стороны не будет.

Цитата(SolarA @ Sep 9 2008, 17:21) *
Плюс еще хотел спросить а то с даташита к at91sam7s64 не ясно: у UDP есть свои встроенные буфера FIFO или как в USARTе они работают с контроллером ПДП или их вообще нада назначать с РАМ в проге как какието масивы например

В даташите все предельно ясно: у UDP есть свои FIFO и нет PDC.
Go to the top of the page
 
+Quote Post
SolarA
сообщение Sep 9 2008, 14:02
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 28-08-08
Пользователь №: 39 873



С UDP понял. Как собсно и с примерами.
Может у когото есть правильный пример инициализации для mass storage device?

По поводу скорости: я указал самый худший вариант. На самом деле там большую часть времени будет к ПК 270 байтов, с ПК на МК 300 байтов. Думаю будет успевать.

Сразу такой вопрос: можно ли организовать mass storage device с памятью в РАМ? Я ща копаюсь в исходниках недопримера там вроде выставляются адрес начала памяти и ее количество. Но не совсем понятно как оно все работает.

Плюс забыл сказать что тот бинарник с GCCшного примера пользует одинаковые библиотеки с моим проектом. Отсюда напрашивается такие вопросы:
1. Не из-за компилятора ли у меня не работает пример?
2. Не из-за того ли, что у меня не атмеловский evaluation board, а какойто полусамопальный наш(без кнопок, памяти, дисплея и т.д.), не работает пример? (По типу, он лезет в СДРАМ которой нету и поэтому както бочит)

Кстати толькошо нашел заглушку (если чегото там нету то прога не доходит до инициализации ЮСБ), убал ее. Теперь у меня неизвестное ЮСБ запоминающее устройство для которого в 2000 нада поставить драйвера, а ХР попросту говорит что оно сконфигурировано не правильно. Но зато уже определяет Vendor ID, Product ID и еже с ними.
Кстати там есть 2 такие строки

// Configure baud rate
AT91C_BASE_DBGU->DBGU_BRGR = BOARD_MCK / (115200 * 16);
// Enable receiver and transmitter
AT91C_BASE_DBGU->DBGU_CR = AT91C_US_RXEN | AT91C_US_TXEN;

Без которых устройство не определяется. Ума не приложу какое отношение DBGU имеет к UDP
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 9 2008, 14:10
Сообщение #6


Гуру
******

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



Цитата(SolarA @ Sep 9 2008, 17:56) *
Может у когото есть правильный пример инициализации для mass storage device?

Едва ли кто-то станет делиться правильным примером бесплатно, увы sad.gif

Цитата(SolarA @ Sep 9 2008, 17:56) *
По поводу скорости: я указал самый худший вариант. На самом деле там большую часть времени будет к ПК 270 байтов, с ПК на МК 300 байтов. Думаю будет успевать.

В таком виде должно. Только учтите, что нагрузку на процессор это даст довольно заметную.

Цитата(SolarA @ Sep 9 2008, 17:56) *
Сразу такой вопрос: можно ли организовать mass storage device с памятью в РАМ?

Можно, почему нет?

Цитата(SolarA @ Sep 9 2008, 17:56) *
1. Не из-за компилятора ли у меня не работает пример?
2. Не из-за того ли, что у меня не атмеловский evaluation board, а какойто полусамопальный наш(без кнопок, памяти, дисплея и т.д.), не работает пример? (По типу, он лезет в СДРАМ которой нету и поэтому както бочит)

1. Это Вам должно быть виднее.
2. Насколько я помню, для атмеловского примера для S64 нужен только исправный процессор с правильным кварцем.

Цитата(SolarA @ Sep 9 2008, 18:02) *
Ума не приложу какое отношение DBGU имеет к UDP

Если выключить DBGU, то процессор просто зависнет при попытке отправить через него диагностику.
Go to the top of the page
 
+Quote Post
SolarA
сообщение Sep 9 2008, 14:17
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 28-08-08
Пользователь №: 39 873



звучит тупо-но я чтото сделал и у меня нормально определилось устройство.
Пока у него 0 байт всего
буду копать дальше. Спасибо за поддержку beer.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- SolarA   Бардак с at91sam7s64   Sep 9 2008, 12:50
|- - SolarA   Цитата(SolarA @ Sep 9 2008, 17:17) звучит...   Sep 9 2008, 15:33
- - uriy   ЦитатаУже продолжая тему, может комуто сгодится, я...   Sep 9 2008, 16:21
- - SolarA   Не получается выделить память. Пишу такое : M...   Sep 10 2008, 09:59
|- - aaarrr   Цитата(SolarA @ Sep 10 2008, 13:59) По ид...   Sep 10 2008, 10:43
- - SolarA   Почему мало? Вы имеете ввиду что его винда определ...   Sep 10 2008, 10:54
- - aaarrr   4096 байт - это 8 секторов. Для FAT на них нужно р...   Sep 10 2008, 11:16
- - SolarA   МДА... я уже сам прогуглил. Получается что действи...   Sep 10 2008, 11:38
- - aaarrr   По-хорошему Вам нужно сделать программный эмулятор...   Sep 10 2008, 11:44
|- - SolarA   Цитата(aaarrr @ Sep 10 2008, 14:44) По-хо...   Sep 10 2008, 12:52
|- - aaarrr   Цитата(SolarA @ Sep 10 2008, 16:52) Тоест...   Sep 10 2008, 13:20
- - misyachniy   ИМХО - Явно какие-то проблемы с дескрипторами. Или...   Sep 10 2008, 12:58
|- - SolarA   Цитата(misyachniy @ Sep 10 2008, 15:58) И...   Sep 10 2008, 13:36
- - aaarrr   Драйвер можно взять и готовый. pragma pack управл...   Sep 10 2008, 13:52
- - galjoen   Цитата(SolarA @ Sep 9 2008, 16:50) Задача...   Sep 10 2008, 14:31
|- - SolarA   Цитата(galjoen @ Sep 10 2008, 17:31) Это ...   Sep 10 2008, 14:36
||- - aaarrr   Цитата(SolarA @ Sep 10 2008, 18:36) Мне п...   Sep 10 2008, 14:42
||- - SolarA   Цитата(aaarrr @ Sep 10 2008, 17:42) Опиши...   Sep 10 2008, 15:03
||- - galjoen   Цитата(SolarA @ Sep 10 2008, 19:03) Описы...   Sep 10 2008, 15:54
||- - SolarA   Цитата(galjoen @ Sep 10 2008, 18:54) Для ...   Sep 10 2008, 15:57
|- - _4afc_   Цитата(galjoen @ Sep 10 2008, 18:31) У ме...   Sep 11 2008, 09:40
|- - galjoen   Цитата(_4afc_ @ Sep 11 2008, 13:40) Не по...   Sep 12 2008, 09:33
- - aaarrr   Дело в том, что bulk-передачи не предназначены для...   Sep 10 2008, 15:15
|- - SolarA   Цитата(aaarrr @ Sep 10 2008, 18:15) Дело ...   Sep 10 2008, 15:31
- - aaarrr   Контроллер будет работать на частоте 48MHz, если и...   Sep 10 2008, 15:37
- - SolarA   Цитата(aaarrr @ Sep 10 2008, 18:37) Контр...   Sep 10 2008, 15:53


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 14:52
Рейтинг@Mail.ru


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