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

 
 
> STM32F103. USB 2.0 full-speed?, Реальная скорость передачи через USB.
Danis
сообщение Dec 14 2010, 11:57
Сообщение #1


Twilight Zone
***

Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990



Привет, спецы!

Решил освоить USB на STM32. Для начала взял пример из библиотеки STM32_USB-FS-Device_Lib_V3.2.1, а именно Custom_HID. Контроллер здесь работает в режиме устройства. Передел проект так чтобы контроллер посылал непрерывно буфер 256 byte в ПК, настолько быстро насколько это возможно, других ресурсоемких задач нет. Для ПК создал драйвер и начал замерять скорость обмена. Посчитал, что за секунду передается 341333 byte, что примерно 2.7 Mbit.

В pdf на STM32 написано:

USB main features
● USB specification version 2.0 full-speed compliant

а это как я понимаю 12 Мбит/с,

хотя точно не уверен, в Википедии написано Full-speed, 0,5—12 Мбит/с (аудио-, видеоустройства)

Так как полученная скорость, маленькая или норма для этого проца?


--------------------
Magic Friend
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alex6441161
сообщение Jan 15 2015, 16:50
Сообщение #2





Группа: Участник
Сообщений: 9
Регистрация: 12-08-14
Пользователь №: 82 528



Здравствуйте, помогите новичку, я делаю на диплом устройство которое связано по USB с компом. МК AT90USB162 может передавать на Full Speed, а на комп я так понимаю мне надо писать драйвер. подскажите где почитать про написание драйвера?
Go to the top of the page
 
+Quote Post
Xenia
сообщение Jan 15 2015, 17:45
Сообщение #3


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(alex6441161 @ Jan 15 2015, 19:50) *
Здравствуйте, помогите новичку, я делаю на диплом устройство которое связано по USB с компом. МК AT90USB162 может передавать на Full Speed, а на комп я так понимаю мне надо писать драйвер. подскажите где почитать про написание драйвера?


Драйвер писать не надо - если это CDC, то подходит стандартный "usbser.sys", но inf-файл нужно приложить, чтобы комп знал, что для вашего устройства именно usbser.sys годится, а не какой-то другой.

Обычно берешь inf-файл от какого-то другого CDC-устройства (лучше для Атмеловского) и переправляешь в нем VID и PID на свои (этот файл текстовый). Или при программировании AT90USB162 уставливаешь ему такие VID и PID, какие указаны в чужом inf-файле.

А еще лучше взять inf-файл от демки самого AT90USB162 - из архива at90usb162-cdc-1_0_1.zip , т.к. он именно usbser.sys использует. Но только он устарел маленько (2007 год), а потому для Win7 и Win8, возможно, не годится.

P.S. Если оно только ради диплома надо, то можно не горбатиться, а взять целиком пример из at90usb162-cdc-1_0_1.zip , таким, каков он есть, дописав к нему передачу ваших данных. Стандартно тот код всё, что принимает от UART, передает в USB. А то что принимает от USB, передает в UART. Т.е. работает, как USB/COM-конвертер. Разорвать эту цепь очень просто, если UART вам не нужен.

P.P.S. В свежем "Atmel Software Framework (ASF)" версии 3.21.0 (08.01.2015) есть универсальный USB-драйвер для всех атмеловских примеров:
"Windows 2000, XP, Vista, 7 and 8 (x32 and x64) setup file for Atmel CDC Devices" - этот для всех версий Windows подойдет.
Выкладываю только inf-файл, т.к. здесь по-прежнему используется драйвер usbser.sys из дистрибутива Windows. Перед использованием распаковать из rar-архива.
Прикрепленные файлы
Прикрепленный файл  atmel_devices_cdc.inf.rar ( 1.41 килобайт ) Кол-во скачиваний: 16
 
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 07:32
Рейтинг@Mail.ru


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