The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Проект Raspberry Pi представил плату Pico на основе собствен..."
Отправлено n80, 26-Янв-21 12:39 
> DMA в основном большой кус без проца пульнуть интересно. IRQ = сохранение
> + восстанов + флаги снять + транзакцию перезарядить, время всеж. Толкнуть
> так 64 байта? Сравнимо по действиям с упомянутым, нет?

Ну тут накладывается такой момент, что по USB нельзя просто так взять и передавать в любой момент, а только когда хост спрашивает (причём, конкретный endpoint). Поэтому очень удобно заранее положить данные в буфер, настроить DMA для соответствующего EP (указатель + количество) и пусть себе хост когда хочет, тогда и забирает этот буфер, не прерывая работу ядра вообще. Аналогично с записью с хоста, заранее настроил буфер для обмена и дальше только ловить прерывание, что он заполнен и можно другой буфер подставлять. Правда, у меня с USB знакомство больше с колокольни всяких 8051, поэтому довольно специфичный взгляд. На STM32 так получилось, что с Ethernet я разобрался раньше USB (задача была, в которой именно Ethernet нужен), так что до его USB так толком и не добрался.

>> Дык, не перебор же. Вот банально у F1: 2 АЦП по 12 бит, 1Msps. Это уже 24 Мбит/с,
>> не считая накладных расходов
> 1) 2 АЦП не у всех F1. Скажем в F100 1. Правда там и usb нет.

F100 — маркетологический огрызок, физически в F100~F103 один и тот же кристалл и всё там есть, разве что на заводе не тестировалось или не прошло тесты (по словам ST). В общем-то, так все делают, но большинство жадных контор ещё и fuse'ами блокируют или доступными только из системного режима регистрами (см. PSoC4), а ST позволяет на свой страх и риск пользоваться. Причём, брать F100 (как и 101 или 102) уже давно нет никакого смысла: если поначалу он и был дешевле F103, потом за счёт непопулярности он оказался уже даже дороже (цена при штучных поставках сильно выше, чем при больших партиях, в итоге получаются вот такие перекосы). Так что не аргумент.

> 2) Постоянный поток, на комп нужен далеко не всем. И для такого
> наверное лучше камень покруче, а там и HS как раз.

Ну, он на самом-то деле не совсем постоянный, но набегами и их нужно быстро разгребать, т.е. растягивать передачу и обработку до начала следующего набега — не вариант.

> А вы даташит читали? Чтобы именно столько, потребуется весь аналог специально под
> ЭТО затачивать. Либо получите дикое вранье в отсчетах и половину LSB как раз можно выкинуть.
> Хинт: перезаряд ADC S&H cap @ 1MHz канал просаживает если поляну не готовили (повторитель на БЫСТРОМ опампе?). Хрень померять можно.

Я, конечно, тот ещё самоучка с не очень прямыми лапками, но и фильтры, и повторители конечно же есть. Олсо, 1 Msps — это же всего лишь сигналы до 100-200 кГц, очень скромно с т.з. аналоговых цепей. Шум на пару LSB присутствует, конечно, но как-то в моём манямирке получается лучше передать вместе с этими битами и потом эту информацию в обработке учесть (накопление, осреднение, программная фильтрация, вот это вот всё), чем отрезáть заранее.

> DMA - bus master, шину делит на двоих с процом. Разве что команды не гоняет. На cortex >=M3 I и D шины раздельные, I может с флеша читать пока D в оперативу лезет, так профита поменьше. А вот M0 с одной шиной, там интереснее.

В каком смысле «интереснее»? В смысле, что сложнее из-за того что DMA и ядро мешают друг другу ещё сильнее, чем на M3? Ну есть такое, но это опять не в пользу выбора M0.

>> Отож, просто их необходимость быстрее обнаруживается.
> Ошибки CRC там не отменяли.

Это да, но задержка при обнаружении такой ошибки (и последующей перепосылке) куда меньше, чем время реакции TCP/IP на потерянный/битый пакет. Понятно, что так-то можно и не по TCP передавать, и таймауты крутить, но как-то всё-таки USB выглядит удобнее. Ну да ладно, это всё частные случаи.

>> В том-то и претензия, что не такой он и большой.
> 480 мбитов - приличный уже.

Ну вот опять про максимальный, да что ж такое. Я уже говорил, что между 12 и 480 Мбит/с есть ещё много интересных значений и этот провал не особо есть чем заполнить.

> И еще требует 480МГц (!!!) PLL. В разы превосходит остальные частоты в чипе. Возможно требования к техпроцессу повышало? F1 дизайнили ~10 лет назад все же.

Это да, это существенная проблема. Даже глянул по даташиту: только до 148 МГц разрешено выжимать из PLL3 на F1xx.

>> Помнится мне, даже прямо в даташите подобные примеры рассматриваются (типовая конфигурация для даталогера/плеера с флешкой).
> Это в каком шите? Из F1xx плеер - "не очень". Там M4F какой-нибудь уместнее, для жирных котов^W аудиокодеков. Или чего им плеить? ADPCM? :)

Воу-воу, не надо грязи, целочисленных реализаций кодеков (особенно MP3) более чем достаточно в природе. Конечно, на какой-нибудь эквалайзер или эффекты может и не хватить мощности (но это не точно, помню один проект…), но уж просто декодирование там с большим запасом помещается. А уж если заморочиться с фиксированной точкой, вообще ух! И да, как тут не процитировать reference manual на F1xx:
> A single 25 MHz crystal can clock the entire system and all peripherals including the

Ethernet and USB OTG FS peripherals. In order to achieve high-quality audio performance,
an audio crystal can be used. In this case, the I2S master clock can generate all standard
sampling frequencies from 8 kHz to 96 kHz with less than 0.5% accuracy.
For more details about clock configuration for applications requiring Ethernet, USB OTG FS
and/or I²S (audio), please refer to "Appendix A Applicative block diagrams" in your
connectivity line device datasheet.

Но, да, комментарий «но производителю главное продать :) а потом не его проблемы» тут очень уместен.

> А, про формальное обозначение. Так вроде и на 1.х надо же сертифицироваться чтобы usb logo юзать? Это никак не фича usb 2.0, оно и до этого было IIRC.

Да, оно и раньше было. Просто у меня такое ощущение, что для CM0 и USB 1.1 у конторы RPi уже все бумаги были и они очень не хотели тратиться на что-либо новое ради этого проекта.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру