STM32F411 Мне нужно отправить много данных по USB с высокой скоростью - PullRequest
0 голосов
/ 08 октября 2018

Я использую STM32F411 с библиотекой USB CDC, и максимальная скорость для этой библиотеки составляет ~ 1 Мбит / с.Я создаю проект, в котором у меня есть 8 микрофонов, подключенных к линии АЦП (эта часть работает нормально), мне нужен 16-битный сигнал, поэтому я повышаю точность, добавляя первые 16 сигналов от одной линии (АЦП дает только 12-битовый сигнал).В моем проекте мне нужно 96 тыс. 16-битных отсчетов для одной строки, так что это 0,768 млн. Сигналов для всех 8 линий.Для этого сигнала требуется пространство 12000 КБ, но STM32 имеет только 128 КБ SRAM, поэтому я решил отправить около 120 с данными 100 КБ за одну секунду.

Вывод: мне нужно ~ 11,72 МБ / с для отправки.

Проблема в том, что я не могу этого сделать, потому что CDC USB ограничил меня до ~ 1 Мбит / с.

Вопрос в том, как увеличить скорость USB до 12 Мбит / с для STM32F4.Мне нужна подсказка или библиотека.

Или, может быть, я должен настроить «аудиоустройство» в CubeMX?

1 Ответ

0 голосов
/ 08 октября 2018

Если маленький b означает байт в вашем вопросе, ответ таков: это невозможно, так как у вашего микро есть FS USB, максимальная скорость которого составляет 12M бит в секунду.

Если это означает биты, то ваше предположение о скорости в 1 Мб (бит) неверно.Но вы не достигнете 12-битной передачи полезной нагрузки.

Вы можете попытаться написать (только если b означает бит) свой собственный класс, но, боюсь, вы не найдете готовую библиотеку.Вам также необходимо написать драйвер устройства на главном компьютере

...