> Ещё, как минимум, в аппаратуре должна быть поддержка таких длинных пересылок, а
> то будет, например, счёткик у DMA 6-битный и всё.Это была бы странная реализация DMA, бессмысленная и беспощадная. Дело в том что сетап транзакции требует возни - возможно вполне сравнимой с передачей 64 байтов вручную. Зачем такой dma надо? Поиздеваться над пользователями фичой которая есть, но бессмысленна?
У STM32F0/1/2/L0/1 например 16 битов под размер транзакции. Влупить до 64К за присест "отсюда сюда" - недурно уже. Тем более что столько памяти только у старших моделей есть. Так что в целом вполне сбалансировано. А желавшие 480Мбит все же идут за чипом пожирнее.
> Ну вот опять-25. Зачем контроллеру переваривать ровно такой поток?
Без этого нет особого смысла в жручем скоростном трансивере и куче ассоциированых с ним проблем и усложненном обвесе.
> Вот хочу я пересылать 30, 50 или даже 100 МБит/с (а такой поток на
> железках на STM32 у меня бывает, и совсем не захлёбывается ядро),
> почему не имею права хотеть делать это по USB?
Потому что система должна быть сбалансированой. И 100 мбит/сек sustained для мелких F0/F1/etc все же перебор. А в более старших и 480Мбит трансиверы есть как раз. А заодно и подсистемы памяти и тактовые частоты более под стать.
> 12 Мбит/с уже не хватит (особенно после вычитания накладных расходов),
> а какой-нибудь Ethernet имеет бóльшую задержку (особенно с учётом большей
> вероятности потерь/повреждения пакета, т.е. нужно быть готовым к перепосылкам,
В usb перепосылки тоже возможны, внезапно. И в целом большой поток данных при слабом ядре и подсистеме памяти на грани - скорее экзотика или специлизированные чипы, типа тех 51 в флешках.
> которые у USB железно реализованы), да и просто лишние звенья при связи с большой ЭВМ.
Это просто нишевая задача, F1xx не сватаются на ТАКОЕ.
> На банальном STM32F1xx можно подключить USB Hi-Speed PHY через ULPI,
Это уж точно совершенно не основное применение F1. А то что кто-то и автомобилем вертолет может сбить не означает что это отличное решение на все случаи.
> ядро при этом M3 на ~100 МГц. Зачем тут M4 (который по сути
> просто добавляет FPU)?
Так там же комплексный подход - тактовые частоты повыше, матрицу шин пожирней, памяти побольше, все такое. Комплексный апгрейд параметров в достаточно логичном допущении что большим задачам - больше ресурсов. В целом, а не 1 конкретном закоулке.
> Да и между M0 и M3 разница по производительности всего раза в 2 (а тут ещё
> и усиленный M0, с аппаратным делением и прочими плюшками).
Как бы M0 с 480 мбитами довольно извратно, если не подперто спецпериферией как тот 51 в флешке.
> В общем, ИМХО у сабжа такие странные характеристики сугубо из-за соображений сертификации,
> а не потому что это такое прям сбалансированное решение.
В смысле - сертификации? Я думаю что они не стали возиться с скоростным трансивером при том что остальное в системе не соответствует по параметрам. Да и ты же не думаешь что нубы на питоне будут такие потоки данных гонять?