|
|
  |
High Speed USB Cortex M0-M3 |
|
|
|
Jul 16 2011, 13:43
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(KnightIgor @ Jul 16 2011, 16:13)  Предполагаю, что тот, кто писал о подтормаживании, что-то неправильно в программе сделал. Я тоже сразу на это указал, но меня уверили, что всё в порядке, код один и тот же для всех контроллеров - тормозит именно STM32. Цитата Перекину проект на STM32F103RC, расскажу. Пусть не в тему тут. Хотя упомянутый мной SAM3U4E на SAM3U-EDK я взял, чтобы разобраться как раз с HS USB. Очень интересно  Ну а какие впечатления от HS USB? Каких скоростей удалось добиться? Код основан на каких либо примерах, или самописанный?
|
|
|
|
|
Jul 16 2011, 14:32
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(sonycman @ Jul 16 2011, 15:43)  Я тоже сразу на это указал, но меня уверили, что всё в порядке, код один и тот же для всех контроллеров - тормозит именно STM32. Очень интересно  Ну а какие впечатления от HS USB? Каких скоростей удалось добиться? Код основан на каких либо примерах, или самописанный? Пока никаких, т.к. руки не дошли. Писать с нуля USB весьма непросто. Разобраться, конечно, можно, но зачем изобретать велосипеды? - будем юзать примеры. Правда, где ATMEL, а где разумные библиотеки... В этом смысле ST гораздо дружественнее.
|
|
|
|
|
Jul 19 2011, 22:03
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763

|
Цитата(goodwin @ Jul 19 2011, 20:49)  ~600-650 кбайт/сек. LPC1758, 72 Мгц, FatFS, MP3 файл с SDHC. Понятно, т.е если мне надо не 0.65 а 1 мбайт/с, то вместо 72мгц надо минимум 110мгц, возможно со 120мгц 1769 получится? А что именно у Вас тормозило, USB или все остальное ? SDHC была подключена через USB ?
|
|
|
|
|
Jul 20 2011, 10:19
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(Allregia @ Jul 20 2011, 02:03)  Понятно, т.е если мне надо не 0.65 а 1 мбайт/с, то вместо 72мгц надо минимум 110мгц, возможно со 120мгц 1769 получится? А что именно у Вас тормозило, USB или все остальное ? SDHC была подключена через USB ? А Вам надо читать обязательно с USB флешки, то есть LPC будет выполнять роль USB хоста? STM32 в режиме MSС девайса с SD карты на компьютер передаёт данные со скоростью до 950 кБ\с, в среднем 800 кБ\с. В режиме хоста, имхо, будет ещё медленнее. Думаю, гарантированных 8 мегабит с USB флешки через USB FS не получить
|
|
|
|
|
Jul 20 2011, 16:03
|

Местный
  
Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267

|
Цитата(Allregia @ Jul 20 2011, 02:03)  SDHC была подключена через USB ? Да. Через usb картридер. С 16Гиг usb флэхи примерно такая же скорость получилась. Да - читал блоками по 4 кб ( кратными 512 байт).
|
|
|
|
|
Jul 20 2011, 20:25
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763

|
Цитата(sonycman @ Jul 20 2011, 12:19)  А Вам надо читать обязательно с USB флешки, то есть LPC будет выполнять роль USB хоста? Да. И это может быть не только флешка, но и винчестер. Цитата STM32 в режиме MSС девайса с SD карты на компьютер передаёт данные со скоростью до 950 кБ\с, в среднем 800 кБ\с. В режиме хоста, имхо, будет ещё медленнее. Думаю, гарантированных 8 мегабит с USB флешки через USB FS не получить  Наверное Вы правы, я сейчас попробовал на компе с USB1.1 скопировать в ФАРе большой файл(фильм) в nul, так скорость плавала от 0.96 до 1.1 МБ. Учитывая что нам надо гарантированных 0.98, то с USB FS скорее всего не получится даже на 120мгц кортексе.
|
|
|
|
|
Jul 20 2011, 21:21
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Allregia @ Jul 21 2011, 00:25)  Учитывая что нам надо гарантированных 0.98, то с USB FS скорее всего не получится даже на 120мгц кортексе. Ох, дались Вам эти мегагерцы, честное слово! Чтобы забить полностью полосу USB 1.1 столько и близко не нужно. Другое дело, что для получения гарантированной скорости чтения 0.98 крайне желательно иметь приличную буферизацию и некоторый запас по скорости интерфейса. В случае USB FS этот запас получается небольшим, хотя и его должно хватить в случае использования носителя на флеш, где возможные задержки при чтении относительно невелики. Кроме того, реализация файловой системы должна быть достаточно интеллектуальна, чтобы не дергать носитель лишними обращениями к FAT. Не знаю, как тут обстоят дела у FatFS.
|
|
|
|
|
Jul 21 2011, 11:54
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763

|
Цитата(sonycman @ Jul 21 2011, 10:22)  Горлышко в низкой пропускной способности самого интерфейса USB FullSpeed - частота клока всего 12 МГц. В теории получается около 1.5 мегабайта\сек, но на практике минус накладные расходы - передача команд MSC и т.п. - остаётся около мегабайта без запаса вообще или даже ещё меньше. Ну, была надежда что хоть до 1.1 МБайт дотянет (т.е. 73% от клоковых 12Мгц), но увы. Будем расчитывать на что-то с HS, а пока, боссы просят в демонстрационных целях сделать образец хоть с чем-то. У нас там на имеющейся плате с 1768 предусмотрена установка PHY эзернета, боссы надемо с кабелем "добро" дают. Вот я подумал - чисто в демо-целях, временно, может вместо USB пока шнурочком к компу подключить? Эзернет все-же побыстрее чем USB FS. Практически, чтобы было попроще, идея такая - на девасе поставиь IP-стек и FTP-клиент, на компе - FTP-сервер. Тут наверное с гарантированным 0.98МБайт не должно быть проблем?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|