|
|
  |
High Speed USB Cortex M0-M3 |
|
|
|
Jun 4 2011, 14:54
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(sonycman @ Jun 4 2011, 17:46)  Честно говоря, никогда не имел дела с бенчмарками на микроконтроллерах, но при желании могу сдуть пыль с моих железок и скомпилировать в ИАРе какой нибудь драйстоун по Вашей наводке, и затем прогнать его на LPC1768. Интересны две вещи: - "попугаи" из dhrystone 2.1 - скорость копирования через memcpy (скажем, блоками по 8кБайт) В последнем случае дополнительно интересен результат при копировании между двумя разными банками SRAM. Цитата(sonycman @ Jun 4 2011, 17:46)  Странно, что даташит на SAM3U скромно умалчивает параметр быстродействия DMIPS, который обычно приводится на первой же страничке документа... Насколько я помню, он вполне соответствовал заявленным ARM 1.25DMIPS/MHz для Cortex-M3.
|
|
|
|
|
Jun 5 2011, 08:39
|

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

|
Цитата(kan35 @ Jun 4 2011, 19:28)  Потому собственно и не делают в них USB HS. А кто и делает просто - маркетинговый ход. Да ладно, при частотах ядра в 100 - 150 МГц видеть, к примеру, что передача данных с устройства через USB идёт с черепашьей скоростью в 900 килобайт\сек, тогда как легко можно было бы получить до 10 мегабайт\сек - это маркетинговый ход? Может, на контроллеры вообще тогда не стоит ставить что-то более быстрое, чем UART? Да, с документацией у ST всё так же неважно - после беглого просмотра мануала на USB OTG модуль в голове осталась только каша, настолько всё запутано и свалено в одну кучу. А отсутствие физического уровня HS ещё больше запутывает  Другое дело у Atmel и SAM3U - читать доку на их USB довольно приятно, всё разложено по полочкам.
|
|
|
|
|
Jun 5 2011, 12:16
|
Знающий
   
Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594

|
Цитата(sonycman @ Jun 5 2011, 12:39)  Да ладно, при частотах ядра в 100 - 150 МГц видеть, к примеру, что передача данных с устройства через USB идёт с черепашьей скоростью в 900 килобайт\сек, тогда как легко можно было бы получить до 10 мегабайт\сек - это маркетинговый ход? Может, на контроллеры вообще тогда не стоит ставить что-то более быстрое, чем UART?  Не могу не согласиться, но лишь отчасти. Сами контроллеры по своей периферии не требуют широких каналов. Графических контроллеров нет, видео матрицу какую нибудь тоже не подключишь. Ну а 10мбайт/с - легко ли? даже с SD карточки не выжмешь. А ведь автору темы вообще в Cortex-M0 хочется HS - он наверное совсем забыл, что в нем нет DMA как класс, а без него это просто смешно. В общем USB2HS USB3 это ничто иное как погоня за скоростью передачи мультимедиа сигнала. M3 и тем более M0 это не мультимедиа контроллеры как их ни крути.
|
|
|
|
|
Jun 5 2011, 12:36
|

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

|
Цитата(aaarrr @ Jun 5 2011, 13:52)  Если бы. На HSMCI почитайте - вот там каша. Кстати, можно вопрос не по теме, раз уж Вы работали с SAM3U - я правильно понял, что модуль I2S имеет ущербный и примитивный до нельзя делитель для формирования клока? То есть никаким PLL или хотя бы фракционным делителем не пахнет? Обидно, остаётся только либо подбор кварца (но это не выход, а костыль какой-то), либо ввод частоты с внешнего генератора  Цитата(kan35 @ Jun 5 2011, 16:16)  Ну а 10мбайт/с - легко ли? даже с SD карточки не выжмешь. Почему не выжмешь, по четырёхбитному-то интерфейсу? Вы пробовали?
|
|
|
|
|
Jun 5 2011, 15:10
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(kan35 @ Jun 5 2011, 16:16)  Ну а 10мбайт/с - легко ли? даже с SD карточки не выжмешь. С карточки, с NAND, с устройств на внешней шине - легко. Цитата(kan35 @ Jun 5 2011, 16:16)  А ведь автору темы вообще в Cortex-M0 хочется HS - он наверное совсем забыл, что в нем нет DMA как класс, а без него это просто смешно. Так-таки и нет? Цитата(sonycman @ Jun 5 2011, 16:36)  Кстати, можно вопрос не по теме, раз уж Вы работали с SAM3U - я правильно понял, что модуль I2S имеет ущербный и примитивный до нельзя делитель для формирования клока? То есть никаким PLL или хотя бы фракционным делителем не пахнет? Обидно, остаётся только либо подбор кварца (но это не выход, а костыль какой-то), либо ввод частоты с внешнего генератора  В плане тактирования у SAM3U есть огромная засада: входная частота PLLA ограничена снизу на уровне 6MHz, в то время как UPLL требует на вроде 12MHz ровно. То есть при использовании USB кварц должен иметь частоту 12MHz, а входной делитель для PLLA всегда будет равен 1, что весьма сужает сетку частот на выходе. Для I2S кодеков остается ставить внешний генератор и запускать процессорный I2S в режиме slave. Цитата(sonycman @ Jun 5 2011, 17:37)  Прямое чтение с SD в память должно быть ещё быстрее. А вот тут облом как раз: памяти этой настолько мало, что приличной скорости просто не развить. Разве что с внешней быстрой статикой.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|