Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: High Speed USB Cortex M0-M3
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Страницы: 1, 2, 3
pofikus
кто нибудь реально выпускает Cortex M0 или M3 с High Speed USB или надо ждать LPC1800?
aaarrr
А что нужно - device, host или OTG?

Вообще же есть у ST (STM32F2xx) и Atmel (SAM3U).
*rust*
Atmel выпускает серию SAM3U и в них реально High Speed USB. в библиотеке к ядру есть много примеров реализации USB, в том числе и MSD.
pofikus
Цитата(aaarrr @ Apr 7 2011, 23:01) *
А что нужно - device, host или OTG?

Вообще же есть у ST (STM32F2xx) и Atmel (SAM3U).



достаточно device...

надо будет посмотреть в сторону STM32.... Atmel уж очень ненадежный sad.gif

кстати.... никто не пробовал Kinetis?


Цитата(aaarrr @ Apr 7 2011, 23:01) *
А что нужно - device, host или OTG?

Вообще же есть у ST (STM32F2xx) и Atmel (SAM3U).



STM32F2xx -> Для реализации скорости в 480 Мбит/с необходим внешний высокоскоростной трансивер, подключаемый через ULPI.
aaarrr
Цитата(pofikus @ Apr 8 2011, 00:19) *
STM32F2xx -> Для реализации скорости в 480 Мбит/с необходим внешний высокоскоростной трансивер, подключаемый через ULPI.

Ну, это, пожалуй, не проблема - они доступны. Корпус только лишний.

А атмел испек довольно хороший процессор, пока что достойных альтернатив у конкурентов не наблюдается.
pofikus
Цитата(aaarrr @ Apr 7 2011, 23:38) *
Ну, это, пожалуй, не проблема - они доступны. Корпус только лишний.

А атмел испек довольно хороший процессор, пока что достойных альтернатив у конкурентов не наблюдается.


да Atmel делает хорошие процессоры только потом резко прекращает их выпускать и начинает производить новые и еще лучшие sm.gif
pofikus
Цитата(*rust* @ Apr 7 2011, 23:10) *
Atmel выпускает серию SAM3U и в них реально High Speed USB. в библиотеке к ядру есть много примеров реализации USB, в том числе и MSD.


бегло просмотрел SAM3U.... вроде как раз то что нужно.... а так не хотелось возвращаться назад к Atmelу....
Спасибо!
topkin
Цитата(aaarrr @ Apr 8 2011, 00:38) *
Ну, это, пожалуй, не проблема - они доступны. Корпус только лишний.

А атмел испек довольно хороший процессор, пока что достойных альтернатив у конкурентов не наблюдается.


И что же такое "испек" ATmel чего нет у NXP, TI, ST? Номенклатуру из 9 чипов?
А чипы доступны? Срок поставки?
Shuuura
Цитата(aaarrr @ Apr 8 2011, 00:38) *
Ну, это, пожалуй, не проблема - они доступны. Корпус только лишний.


Можно пример доступного чипа?
aaarrr
Цитата(topkin @ Apr 8 2011, 09:22) *
И что же такое "испек" ATmel чего нет у NXP, TI, ST? Номенклатуру из 9 чипов?

У NXP, TI, ST есть контроллер на базе Cortex-M с HS USB?

Цитата(topkin @ Apr 8 2011, 09:22) *
А чипы доступны? Срок поставки?

Доступны. Сроками можете поинтересоваться у своего поставщика, я ими не торгую.

Цитата(Shuuura @ Apr 8 2011, 09:57) *
Можно пример доступного чипа?

TI, SMSC, NXP. Возможно, вы их не найдете в ближайшем ларьке, но заказать образцы и потом партию проблемы не составляет.
etoja
Цитата(pofikus @ Apr 8 2011, 00:19) *
достаточно device...
надо будет посмотреть в сторону STM32.... Atmel уж очень ненадежный sad.gif
кстати.... никто не пробовал Kinetis?


LPC1343 имеет на борту USB 2.0 full-speed device controller with on-chip PHY. 90 рублей в розницу в Собянинске.

Серийных кинетисов ещё нет в природе.

Атмел - только выбросить.
aaarrr
Full и High - это как бы две очень большие разницы.
rezident
По-моему Cortex-ы до High-speed USB еще не доросли. Реальные устройства HS USB-device на CY7C68013A делают.
aaarrr
Цитата(rezident @ Apr 8 2011, 14:07) *
По-моему Cortex-ы до High-speed USB еще не доросли. Реальные устройства HS USB-device на CY7C68013A делают.

Простите, а реальному устройству обязательно надо использовать всю полосу шины? Кому-то скорость MSD, например, в 5Мбайт/с принесет огромное облегчение после 1Мбайт/с на full speed.
rezident
Цитата(aaarrr @ Apr 8 2011, 16:14) *
Простите, а реальному устройству обязательно надо использовать всю полосу шины?
Дык от задачи конечно зависит. laughing.gif Но тут пока вроде возможности, а не потребности обсуждаются. Или нет?
aaarrr
Вот из вашего поста и получается, что кортексы до получения этой возможности не доросли. С чем я категорически не согласен. Так можно и 100M EMAC упразднить, дескать, не доросли, пусть на 10M пока поработают sm.gif
rezident
Цитата(aaarrr @ Apr 8 2011, 16:30) *
Вот из вашего поста и получается, что кортексы до получения этой возможности не доросли.
"Дорастут" когда Cortex-M4 реально выйдет sm.gif
Цитата(aaarrr @ Apr 8 2011, 16:30) *
С чем я категорически не согласен.
Имеете полное право. laughing.gif
jasper
Из реально доступных и работающих есть еще AT32UC3A.

С Kinetis пока глухо. Больше надежд, что Texas Instruments к концу года свою серию на Cortex-M4 запустит.
pofikus
Цитата(jasper @ Apr 8 2011, 13:58) *
Из реально доступных и работающих есть еще AT32UC3A.

С Kinetis пока глухо. Больше надежд, что Texas Instruments к концу года свою серию на Cortex-M4 запустит.



ну вроде Digikey уже продает

http://search.digikey.com/scripts/DkSearch...40X256VLQ100-ND
Dir
Цитата(pofikus @ Apr 7 2011, 22:19) *
STM32F2xx -> Для реализации скорости в 480 Мбит/с необходим внешний высокоскоростной трансивер, подключаемый через ULPI.

Этот ULPI-PHY вроде бы нужен только для OTG dual-role HS. В остальных случаях (только Device или только Host) и внутренним HS-PHY обходится. По крайней мере я такой вывод сделал из рис. 79, 80, 81 в даташите на 205 и 207 чипы.
VslavX
Цитата(jasper @ Apr 8 2011, 13:58) *
Из реально доступных и работающих есть еще AT32UC3A.

С Kinetis пока глухо. Больше надежд, что Texas Instruments к концу года свою серию на Cortex-M4 запустит.

Ждем LPC18xx от NXP - должны быть доступны осенью
Velund
QUOTE (aaarrr @ Apr 8 2011, 13:03) *
Доступны. Сроками можете поинтересоваться у своего поставщика, я ими не торгую.


Вот именно услышав от моего поставщика "28 недель" по атмелевскому чипу который у нас уже 4 года идет в серийных изделиях я зарекся применять атмель в новых изделиях если есть малейшая альтернатива.
aaarrr
Цитата(Velund @ Apr 9 2011, 11:27) *
я зарекся применять атмель в новых изделиях если есть малейшая альтернатива.

А она в данном случае есть? Мы тоже отказались от атмеловской флеши по такой же причине.
Velund
QUOTE (aaarrr @ Apr 9 2011, 17:42) *
А она в данном случае есть? Мы тоже отказались от атмеловской флеши по такой же причине.


Минус месяц с лишним жизни - и она появилась... Альтернативы редизайну были сильно хуже.
MSL
Цитата(Dir @ Apr 8 2011, 20:40) *
Этот ULPI-PHY вроде бы нужен только для OTG dual-role HS. В остальных случаях (только Device или только Host) и внутренним HS-PHY обходится. По крайней мере я такой вывод сделал из рис. 79, 80, 81 в даташите на 205 и 207 чипы.


Да мучает тот же самый вопрос, мне нужно только HS device. Хотел впаять в STM32VLDISCOVERY STM32F205RGT6, но, насколько я понимаю, нет никаких примеров для 205й серии чтобы проверить как работает HS device. Кто-нибудь знает точно как на самом деле?
brag
тоже нужен контроллер с HS. раньше юзал AT32UC3A, но забросил, тк был оттормоз атмела на год по поставке...
пересел на cortex-m3, пока планирую на нем вистеь, много кода уже написано.
LPC18 вкусняшка...мож какраз раздуплюсь до того времени, как они появятся.
STM32F2 - нету внутреннего phy, леньки тулить внешний,так что отбой.
SAM3U - мало рамы, всего 96мгц, неа,не идет..
остальное особо не доступно...

Цитата
Этот ULPI-PHY вроде бы нужен только для OTG dual-role HS. В остальных случаях (только Device или только Host) и внутренним HS-PHY обходится. По крайней мере я такой вывод сделал из рис. 79, 80, 81 в даташите на 205 и 207 чипы.

смотрите страницу 151,152 (USB OTG HS peripheral-only connection in FS mode. USB OTG HS host-only connection in FS mode. OTG HS connection dual-role with external PHY)
стр 31
Цитата
When using the USB OTG HS in HS mode, an external PHY device connected to the ULPI is required.
sonycman
Да, вот как всегда - STM32F2xx могли бы быть конфеткой, но надо было ложку дерьма в виде отсутствия USB HiSpeed трансивера добавить sad.gif
Что, неужели было так сложно его интегрировать?

Зато теперь для этого надо доп. корпус типа QFN или BGA ставить, очень приятно, блин sad.gif

Может, есть где такой трансивер в QFP корпусе?
ZyBEX
Цитата(sonycman @ Jun 3 2011, 17:18) *
Зато теперь для этого надо доп. корпус типа QFN или BGA ставить, очень приятно, блин sad.gif

Может, есть где такой трансивер в QFP корпусе?

А почему боитесь QFN корпуса? Если страшно паять, так это совсем не проблема. Раньше тоже боялся, пока не попробовал. Нужно перед установкой залудить выводы, чтоб с припоем стали выпуклыми. И потом, полив флюсом посадочное место, просто ровненько приложить и термофеном (воздух почти на минимум) плавно прогреть на пониженной температуре (можно просто немного отдалив фен), потом добавить (приблизить фен) , припой расплавится и силами поверхностного натяжения корпус сам встанет как надо. 2 минуты и готово. А некоторые в QFN футпринте выводы удлиняют, чтобы даже паяльником можно было прогревать. Но фен рулит ))
sonycman
Цитата(ZyBEX @ Jun 3 2011, 18:39) *
А некоторые в QFN футпринте выводы удлиняют, чтобы даже паяльником можно было прогревать. Но фен рулит ))

Так и делаю, но всё равно считаю выводные корпуса ближе к телу sm.gif
На самом деле, QFN от QFP не далеко ушли в плане экономии места, контроллеры вон ведь выпускают до сих пор выводные, зато всякую мелочёвку сейчас любят лепить в BGA.

Интересно, а атмеловские SAM3U4 насколько близко по производительности подошли к LPC17xx? Частоты практически одинаковые - 96 и 100 МГц.
Может, не стоит париться с доп. трансивером и взять SAM, у него то он встроенный?
Вот только памяти масловато, 48к всего sad.gif
aaarrr
Цитата(sonycman @ Jun 3 2011, 21:47) *
Интересно, а атмеловские SAM3U4 насколько близко по производительности подошли к LPC17xx? Частоты практически одинаковые - 96 и 100 МГц.
Может, не стоит париться с доп. трансивером и взять SAM, у него то он встроенный?

Хотите сравним. Мне они показались вполне себе шустрыми.

Цитата(sonycman @ Jun 3 2011, 21:47) *
Вот только памяти масловато, 48к всего sad.gif

До 52-х, если не нужен NAND. Но да, очень мало, а через внешнюю шину медленно sad.gif
brag
QFN ноемальный корпус, ничем не хуже QFP, даже паять удобнее - посадку облудул, флюсом намазал, пригрел и готово..
А вот доп корпус вообще не в кайф...
SAM3U памяти категорически мало. хочется и ось, и дма, буфферы... тут 64кб не хватает//
лучший выбор пока nxp, imho
sonycman
Цитата(aaarrr @ Jun 3 2011, 21:29) *
Хотите сравним. Мне они показались вполне себе шустрыми.

Интересно было бы сравнить. После впечатляющего быстродейсвия LPC17xx не хочется откатываться на что либо тормозное типа STM32F1xx sm.gif

Цитата(brag @ Jun 4 2011, 01:03) *
лучший выбор пока nxp, imho

Не подскажете доступный кортекс от NXP с USB HS?
aaarrr
Цитата(sonycman @ Jun 4 2011, 05:56) *
Интересно было бы сравнить. После впечатляющего быстродейсвия LPC17xx не хочется откатываться на что либо тормозное типа STM32F1xx sm.gif

Беда в том, что у меня нет под рукой LPC17xx. Но можно собрать какой-нибудь тестовый код одинаковыми компиляторами и прогнать. Есть идеи?
А STM32F1xx изрядный тормоз, это верно.
sonycman
Цитата(aaarrr @ Jun 4 2011, 14:00) *
Беда в том, что у меня нет под рукой LPC17xx. Но можно собрать какой-нибудь тестовый код одинаковыми компиляторами и прогнать. Есть идеи?

Честно говоря, никогда не имел дела с бенчмарками на микроконтроллерах, но при желании могу сдуть пыль с моих железок и скомпилировать в ИАРе какой нибудь драйстоун по Вашей наводке, и затем прогнать его на LPC1768.

Странно, что даташит на SAM3U скромно умалчивает параметр быстродействия DMIPS, который обычно приводится на первой же страничке документа...
aaarrr
Цитата(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.
kan35
Вообще по-моему весь этот диалог праздный.
Чем вы (кому так не хватает HS) хотите загрузить канал 480мбит? Видеосигнал что-ли? это не тот камень (70-100МГц), даже при всех их DMA он не обеспечит загрузку канала.
Потому собственно и не делают в них USB HS. А кто и делает просто - маркетинговый ход.
aaarrr
Думаете, скорости между 12мбит и 480мбит никому не нужны? Никто, кажется, не требует с ножом у горла загружать весь канал целиком.
sonycman
Цитата(aaarrr @ Jun 4 2011, 18:54) *
Интересны две вещи:
- "попугаи" из dhrystone 2.1
- скорость копирования через memcpy (скажем, блоками по 8кБайт)
В последнем случае дополнительно интересен результат при копировании между двумя разными банками SRAM.

Хорошо, на днях попробую заняться.

К слову, посмотрел на различные USB HS PHY для STM32F2xx, и ни черта не понял, каким образом их инициализировать по ULPI интерфейсу перед началом работы?
У них внутри куча регистров, да взять хотя бы управление ключами VBUS или подтягивающими резисторами - как это происходить должно?
sonycman
Цитата(kan35 @ Jun 4 2011, 19:28) *
Потому собственно и не делают в них USB HS. А кто и делает просто - маркетинговый ход.

Да ладно, при частотах ядра в 100 - 150 МГц видеть, к примеру, что передача данных с устройства через USB идёт с черепашьей скоростью в 900 килобайт\сек, тогда как легко можно было бы получить до 10 мегабайт\сек - это маркетинговый ход?
Может, на контроллеры вообще тогда не стоит ставить что-то более быстрое, чем UART? biggrin.gif

Да, с документацией у ST всё так же неважно - после беглого просмотра мануала на USB OTG модуль в голове осталась только каша, настолько всё запутано и свалено в одну кучу.
А отсутствие физического уровня HS ещё больше запутывает sad.gif

Другое дело у Atmel и SAM3U - читать доку на их USB довольно приятно, всё разложено по полочкам.
aaarrr
Цитата(sonycman @ Jun 5 2011, 12:39) *
Другое дело у Atmel и SAM3U - читать доку на их USB довольно приятно, всё разложено по полочкам.

Если бы. На HSMCI почитайте - вот там каша.
kan35
Цитата(sonycman @ Jun 5 2011, 12:39) *
Да ладно, при частотах ядра в 100 - 150 МГц видеть, к примеру, что передача данных с устройства через USB идёт с черепашьей скоростью в 900 килобайт\сек, тогда как легко можно было бы получить до 10 мегабайт\сек - это маркетинговый ход?
Может, на контроллеры вообще тогда не стоит ставить что-то более быстрое, чем UART? biggrin.gif

Не могу не согласиться, но лишь отчасти.
Сами контроллеры по своей периферии не требуют широких каналов. Графических контроллеров нет, видео матрицу какую нибудь тоже не подключишь.
Ну а 10мбайт/с - легко ли? даже с SD карточки не выжмешь.
А ведь автору темы вообще в Cortex-M0 хочется HS - он наверное совсем забыл, что в нем нет DMA как класс, а без него это просто смешно.

В общем USB2HS USB3 это ничто иное как погоня за скоростью передачи мультимедиа сигнала. M3 и тем более M0 это не мультимедиа контроллеры как их ни крути.
sonycman
Цитата(aaarrr @ Jun 5 2011, 13:52) *
Если бы. На HSMCI почитайте - вот там каша.

Кстати, можно вопрос не по теме, раз уж Вы работали с SAM3U - я правильно понял, что модуль I2S имеет ущербный и примитивный до нельзя делитель для формирования клока? То есть никаким PLL или хотя бы фракционным делителем не пахнет?
Обидно, остаётся только либо подбор кварца (но это не выход, а костыль какой-то), либо ввод частоты с внешнего генератора sad.gif

Цитата(kan35 @ Jun 5 2011, 16:16) *
Ну а 10мбайт/с - легко ли? даже с SD карточки не выжмешь.

Почему не выжмешь, по четырёхбитному-то интерфейсу? Вы пробовали?
kan35
Цитата(sonycman @ Jun 5 2011, 16:36) *
Почему не выжмешь, по четырёхбитному-то интерфейсу? Вы пробовали?

Не пробовал по 4-битному, только по 1-, а вы пробовали? хотя бы просто вычитывать и складывать в память с такой скоростью он может? (хотя бы M3, про M0 уж точно спорить бессмысленно)
sonycman
Цитата(kan35 @ Jun 5 2011, 17:07) *
Не пробовал по 4-битному, только по 1-, а вы пробовали? хотя бы просто вычитывать и складывать в память с такой скоростью он может? (хотя бы M3, про M0 уж точно спорить бессмысленно)

А почему не сможет, DMA включаешь и вперёд. Говорят, 8 MB\с получается для mass storage device по USB HS.
Прямое чтение с SD в память должно быть ещё быстрее.
aaarrr
Цитата(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 или хотя бы фракционным делителем не пахнет?
Обидно, остаётся только либо подбор кварца (но это не выход, а костыль какой-то), либо ввод частоты с внешнего генератора sad.gif

В плане тактирования у SAM3U есть огромная засада: входная частота PLLA ограничена снизу на уровне 6MHz, в то время как UPLL требует на вроде 12MHz ровно. То есть при использовании USB кварц должен иметь частоту 12MHz, а входной делитель для PLLA всегда будет равен 1, что весьма сужает сетку частот на выходе.
Для I2S кодеков остается ставить внешний генератор и запускать процессорный I2S в режиме slave.

Цитата(sonycman @ Jun 5 2011, 17:37) *
Прямое чтение с SD в память должно быть ещё быстрее.

А вот тут облом как раз: памяти этой настолько мало, что приличной скорости просто не развить. Разве что с внешней быстрой статикой.
DmitryM
Цитата(aaarrr @ Jun 5 2011, 19:10) *
Для I2S кодеков остается ставить внешний генератор и запускать процессорный I2S в режиме slave.

Ну на SAM7S я формировал частоту и стробы с помощью таймеров (с выхода PCK=18,432 MHz на вход TCLK) и для SSC и для внешнего кодека Texas. В SAM3U вроде как тоже можно использовать эту фичу: PA28 TK PWMH0; PA29 RK PWMH1; PA30 TF TIOA2; PA31 RF TIOB2.
Ножка одна, а служит и выходом для внешнего кодека и входом для SSC. Ну само собой выходом таймера.
kan35
Цитата(aaarrr @ Jun 5 2011, 19:10) *
Так-таки и нет?

Признаю свою неправоту, у NXP что то такое появилось. Просто из тех, что есть на рынке не встречались.
aaarrr
Цитата(DmitryM @ Jun 5 2011, 21:52) *
Ну на SAM7S я формировал частоту и стробы с помощью таймеров...

Проблема не в том. Из-за входных ограничений на SAM3U с "юсбовым" кварцем на 12MHz нельзя получить частоту не кратную 6MHz на выходе "процессорной" PLLA. Да и с любым другим входной делитель может меняться лишь в диапазоне 1-3, а не 1-20, как было на SAM7. Что и бесит несколько.

А кодек можно и заточенный под USB взять, которому от 48MHz MCLK хорошо.
sonycman
Цитата(aaarrr @ Jun 3 2011, 22:29) *
До 52-х, если не нужен NAND. Но да, очень мало, а через внешнюю шину медленно sad.gif

В смысле, насколько медленно через внешнюю шину?
Думаю вот, стоит ли прикручивать внешнюю память...
aaarrr
Цитата(sonycman @ Jun 6 2011, 12:48) *
В смысле, насколько медленно через внешнюю шину?
Думаю вот, стоит ли прикручивать внешнюю память...

Ну, чисто теоретически, если взять 10ns память, то можно и 96MHz на внешней шине получить. На деле, думаю, более реальны такие варианты:
- 48MHz Fast SRAM
- 16MHz Low Power SRAM/PSRAM (как на ките)
Первый вариант в 4 раза медленнее внутренней памяти, второй - аж в 12.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.