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

 
 
 
Reply to this topicStart new topic
> USB с чего начать
Alex_1811
сообщение Jun 23 2008, 20:18
Сообщение #1


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

Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821



Народ, может кто знает где найти доступную(с подробним описанием) литературу которая поможет
с освоением USB интерфейса.
В наличии есть плата с AT91SAM7S256 и желание разобраться help.gif .
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Jun 24 2008, 03:20
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Цитата(Alex_1811 @ Jun 24 2008, 00:18) *
Народ, может кто знает где найти доступную(с подробним описанием) литературу которая поможет
с освоением USB интерфейса.
В наличии есть плата с AT91SAM7S256 и желание разобраться help.gif .



Книга "Практика программирования USB" Павел Агуров

А если речь идёт об обмене между ПК и Вашим устройством и большие скорости не нужны , вообще ни в чём разбиратся не нужно, так как есть микросхемы FTDI


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
Уриман
сообщение Jun 24 2008, 21:07
Сообщение #3





Группа: Участник
Сообщений: 13
Регистрация: 27-05-08
Из: Россия, Краснодарский край, г. Геленджик
Пользователь №: 37 848



Для начала рекомендую: Агуров Интерфейс USB Практика использования и программирования
У меня есть в электронном виде + диск( martrob@yandex.ru )
Все излошено лучше, чем в спецификации...


--------------------
Per Aspera Ad Astra!!!
Go to the top of the page
 
+Quote Post
uriy
сообщение Jun 25 2008, 03:53
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Странно мне кажется книга не удачная. Информация разрознена. Куски кода где-то для делфи где-то для си. Хотя к спецификации не обращался. Но для начала наверно книга все таки пойдет. У меня плата AT91SAM7S64, в свобоодное от работы время тоже хочу освоить USB. Пока нахожусь на стадии освоения самого контроллера.
Go to the top of the page
 
+Quote Post
Alex_1811
сообщение Jun 25 2008, 06:44
Сообщение #5


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

Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821



Предлагаю сюда выкладывать свои нароботки, мысли, коментарии по поводу начальной инициализации
USB до обмена данными с ПК.
Тема я думаю актуальная и многим пригодится.
Информации по USB хватает но ничего конкретного и доступного для понимая я не нашел.
Go to the top of the page
 
+Quote Post
Artem
сообщение Jun 25 2008, 07:13
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 72
Регистрация: 4-02-05
Пользователь №: 2 424



Да, по поводу разрозненности информации в книге, это точно. Но для того, чтобы хотябы понять как происходит обмен, она мне кажется пойдёт. Я делал девайс с USB, разбирался в начале по книге, потом смотрел в спецификации. Делал тоже на AT91SAM7. Можно посмотреть в примерах IAR и Keil. В IAR по моему без прерываний пример, а у Кейла есть пример с прерываниями.
Go to the top of the page
 
+Quote Post
altlogic
сообщение Jun 25 2008, 07:24
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 222
Регистрация: 2-12-06
Из: г. Хабаровск
Пользователь №: 23 035



Работал с USB в своё время. Агуров хорош для начала, но спецификация конечно надёжней. Ещё есть замечательная книга на английском языке "USB System Architecture (USB 2.0).pdf"

Сообщение отредактировал altlogic - Jun 25 2008, 07:24


--------------------
С уважением, Вячеслав
Go to the top of the page
 
+Quote Post
evg123
сообщение Jun 25 2008, 08:57
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282



Далее, чтобы не писать под Винду USB-драйвер собственноручно, берите готовый. WinDriver8.11 и выше найти можно. Я его пользовал. Вещь достойная.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 25 2008, 09:07
Сообщение #9


Гуру
******

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



Цитата(Alex_1811 @ Jun 25 2008, 10:44) *
Информации по USB хватает но ничего конкретного и доступного для понимая я не нашел.

Посмотрите даташиты на Cypess'овские EzUSB - у них в свое время было очень доступное и качественное описание работы USB.
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Jun 25 2008, 10:44
Сообщение #10


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Неплохая книга Addison Wesley - USB System Architecture, 2nd edition.
Еще залил Axelson J.USB Complete.Everything you need to develop custom USB peripherals
Залил в /upload/DOCs/Books/USB
Go to the top of the page
 
+Quote Post
hwdev
сообщение Jun 28 2008, 19:34
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 334
Регистрация: 1-09-06
Из: Москва
Пользователь №: 20 008



Я извиняюсь - а автора не хочет уточнить с какой стороны он хочет изучить USB - с электрической или программной? Если читать USB System Architecture то можно много чего нового узнать. Но это теория. Если автору действительно хочется понять программный принцип взамодействия между USB устройствами, то надо брать исходники Linux ядра или какие-нибудь библиотеки и смотреть как там всё устроено. Ну может ядро Линукса сразу сложно будет, а вот скажем MyUSB библиотека очень простая и понятная. Тем более, в ней есть ряд реализованных устройств (CDC, mouse, kbd..). Затем покупаешь плату Olimex AVR-USB-162 за 1т.р. и моргаешь лампочками, цепляешь устройства и прочее..
Go to the top of the page
 
+Quote Post
=AK=
сообщение Jun 29 2008, 01:53
Сообщение #12


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



USB - достаточно сложная система, в двух словах ее не объяснишь и с наскоку не освоишь. Именно поэтому книги и описания кажутся маловразумительными. Однако несколько слов скажу на тему, которая как правило мало акцентирована в описаниях и потому ускользает от восприятия начинающими.

Все обмены в USB организованы в фреймы. Для Full Speed длительность фрейма равна 1 мс. В течении этого периода хост контроллер производит обмены со всеми (или почти всеми) устройствами. Это значит, что у хоста есть список устройств, в этом списке обозначен и тип устройства, и его текущее состояние, и надо/не надо с ним сейчас общаться (в зависимости от запросов драйверов), и т.п.

Внутри фрейма хост ведет обмен в определенном порядке: сначала идет обмен по Control Pipes, потом - по изохронным пайпам и пайпам прерывания, в конце, "по остаточному принципу" - по Bulk Pipes. Это задает и приоритет пайпов: Control Pipes - самые важные, Bulk Pipes - самые неважные, если нет времени общаться в текущем фрейме, обмен по Bulk Pipes может подождать до какого-то из следующих фреймов, когда траффик будет поменьше.

Все периферийные устройства обязаны уметь разговаривать по Control Pipe 0. Все остальные пайпы - факультативные, необязательные. При подключении устройства оно докладывает хосту о себе через Control Pipe 0: что за тип устройства, кто изготовитель, сколько тока питания от USB ему требуется, какие у устройства есть пайпы помимо Control Pipe 0, и т.п. Хост ищет драйвер для вновь подключенного устройства, выделяет ему бюджет питания (если есть достаточно тока), планирует обмены по заявленным устройством пайпам (если есть такая возможность), и т.п.

Так что USB радикально отличается от простых интерфейсов, таких как RS232 и пр. И хотя USB может до какой-то степени имитировать функциональность RS232, в реальности обмен по USB сильно отличается, и не все протоколы RS232 хорошо ложатся поверх "эмулированного RS232". Важная особенность - наличие в USB фреймов.
Go to the top of the page
 
+Quote Post
Alex_1811
сообщение Jun 29 2008, 17:18
Сообщение #13


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

Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821



Цитата(hwdev @ Jun 28 2008, 22:34) *
Я извиняюсь - а автора не хочет уточнить с какой стороны он хочет изучить USB - с электрической или программной?


Нужно разобраться с программной реализацией. Разобраться с тем что посылает хост устройству и что нужно ему отвечать, ну и как организувать обмен данными.
Go to the top of the page
 
+Quote Post
hwdev
сообщение Jun 29 2008, 19:41
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 334
Регистрация: 1-09-06
Из: Москва
Пользователь №: 20 008



Цитата(Alex_1811 @ Jun 29 2008, 21:18) *
Нужно разобраться с программной реализацией. Разобраться с тем что посылает хост устройству и что нужно ему отвечать, ну и как организувать обмен данными.

Ну если надо разбираться с хостом, то как тут АРМ7 поможет? У него же только функция device реализована. Или вы хотите смотреть как к устройству приходят пакеты? Ну тогда еще раз прошу обратить внимание на библиотеку MyUSB к которой есть описание функций, документация. Лежит тут: http://www.fourwalledcubicle.com/MyUSB.php
Еще проще - тяжело придумать. Если хотите могу заслать книжку USB Complete, но там в основном рассказывают как со стороны Виндов работает USB-host. Для понимания можно почитать. Полегче будет, чем USB System Arch..
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 29 2008, 19:48
Сообщение #15


Гуру
******

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



Цитата(hwdev @ Jun 29 2008, 23:41) *
Ну если надо разбираться с хостом, то как тут АРМ7 поможет? У него же только функция device реализована.

Боюсь показаться занудой, но ARM7 - это ядро. Процессоры с ядром ARM7 и USB host'ом среди периферии в природе тоже встречаются.
Go to the top of the page
 
+Quote Post

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

 


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


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