реклама на сайте
подробности

 
 
> STM32F4, DCMI и USB
zheka
сообщение Mar 20 2015, 06:46
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Коллеги, хочу передавать изображения с камеры OV7670 (640x480) на комп.
В распоряжении есть плата STM32F4Discovery, камера с ебея уже пересекает китайскую границу, проект использующий аппаратный DCMI и DMА я нашел.
Пока суровые китайские таможенники оформляют пересечение камерой границы, хочу хотя бы проэмулировать передачу данных, то есть искусственно заполнять буфер, куда DMA кидает данные тестовой картинкой и принимать ее на компе.

Оговорюсь сразу - задача специфическая, и большого FPS не потребует, 3 кадра в секунду меня устроят.Получается скорость должна составлять около 2 мбайт сек.

И что-то я в растерянности. Единственный мой опыт - USB HID на STM32F103, пакетами по 64 байта.
Отсюда первый вопрос - в орежиме USB HID какая максимально возможная скорость? 2 мбайт / сек потянет?

Далее -я пытался ковырятьс в примерах - есть там пример, который из платы дисковери делает мышку на акселерометре. Вроде бы это USB HID, но почему-то в тексте программы я встречал упоминание USB OTG. Насколько я знаю, USB HID является ведомым по отношению к компу, а комп - это всегда хост. Вроде бы, если я правильно понял - USB OTG - это разновидность USB Host, плата при этом сама становится "компом" и к ней можно подключать флешку например. Зачем для мышки USB OTG?

В общем, подскажите, что мне нужно для решения задачи?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zheka
сообщение Apr 14 2015, 09:38
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Возвращаюсь к проекту.
Мне удалось-таки настроить CDC на последней 5 версии KEIL и ее библиотеках. ПО упомянутой мной ранее СТАТЬЕ
Как выяснилось, отправка байтов все-таки не поспевала за командами контроллера. Ибо когда я поставил буфер 1024 байта, а отправляю единовременно по 640 байт, проблемы не возникает.
Но, сами понимаете, решение это временное. Хотелось бы знать, как мне организовать проверку, окончено ли задание по отправке пакета, можно ли направлять следующий? Как понять, свободен ли буфер? Перековырял всю библиотеку - то ли лыжи не едут... то ли я не пойму как это сделать...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- zheka   STM32F4, DCMI и USB   Mar 20 2015, 06:46
- - Dr.Alex   Цитата(zheka @ Mar 20 2015, 09:46) В обще...   Mar 20 2015, 08:20
|- - adnega   Цитата(Dr.Alex @ Mar 20 2015, 11:20) Прощ...   Mar 20 2015, 09:29
|- - Dr.Alex   Цитата(adnega @ Mar 20 2015, 12:29) Макси...   Mar 20 2015, 09:37
|- - zheka   Цитата(Dr.Alex @ Mar 20 2015, 12:37) Заче...   Mar 20 2015, 10:40
|- - Dr.Alex   Цитата(zheka @ Mar 20 2015, 13:40) можно ...   Mar 20 2015, 10:41
- - Golikov A.   ЦитатаUSB OTG - это разновидность USB Host OTG - э...   Mar 20 2015, 10:48
|- - mantech   Цитата(Golikov A. @ Mar 20 2015, 13:48) А...   Mar 20 2015, 15:29
- - Golikov A.   ЦитатаТак-то есть еще usb video class, это видать ...   Mar 20 2015, 16:57
- - zheka   Установил я virtual comport driver версия 1.4, ска...   Mar 20 2015, 17:58
- - zheka   Много бубнов разбил, но установил все-таки этот др...   Mar 21 2015, 12:15
|- - Andy Mozzhevilov   Цитата(zheka @ Mar 21 2015, 15:15) Объясн...   Mar 21 2015, 14:28
- - zheka   А из DMA тогда как в USB писать? Что записывать в...   Mar 21 2015, 14:36
- - zheka   ох... у меня голова уже опухла.. Вот здесь в конце...   Mar 21 2015, 17:36
- - zheka   Нашел что надо прописать. Компилится, линкуется. ...   Mar 22 2015, 05:37
- - zheka   Пробовал запустить пример кейловский Virtual ComPo...   Mar 22 2015, 16:26
|- - zheka   Господа, эта задача (настройка CDC на Discovery) н...   Mar 25 2015, 17:14
- - Golikov A.   Просто сказать нечего... А что если через куб сге...   Mar 25 2015, 17:37
- - zheka   Хорошо, вот вопрос для тех, у кого нет дискавери, ...   Mar 25 2015, 18:12
- - Golikov A.   Cube же делает проект с USB CDC и вроде даже выкид...   Mar 25 2015, 18:52
- - zheka   Слазил я в CUbeMX. Он генерирует только настройки....   Mar 25 2015, 19:58
- - Golikov A.   ну функции то он дает. и прерывание настраивает. в...   Mar 25 2015, 20:14
- - zheka   ставил я все галочки. там main пустой. И файла про...   Mar 25 2015, 20:18
- - Golikov A.   увы с 5 кейлом не помогу... ЦитатаНе видит при л...   Mar 25 2015, 20:23
- - zheka   Ну вот к примеру http://www.wolinlabs.com/blog/stm...   Mar 25 2015, 20:31
- - zheka   Заработало....   Mar 26 2015, 04:28
- - zheka   А как настраивается скорость CDC? У меня в проекте...   Mar 26 2015, 19:08
- - Golikov A.   скорость никак не настраивается.... Она не имеет с...   Mar 26 2015, 21:10
- - zheka   ОК. Тогда проблема следующая. ЗАпустил на компе пр...   Mar 27 2015, 04:30
- - Golikov A.   комп вряд ли. Надо смотреть что за коды ошибки воз...   Mar 27 2015, 05:39
- - zheka   Да как же это проверить, если функция всегда будет...   Mar 27 2015, 06:12
- - Golikov A.   эта хрень не уменьшается по мере отправки? APP_Rx_...   Mar 27 2015, 08:40
- - zheka   Действительно, проблема оказалась временно решенно...   Apr 14 2015, 11:55
- - esaulenka   Вроде б очевидно, что если функция не может отправ...   Apr 15 2015, 05:46
- - zheka   Спасибо, я уже в принципе и сам дошел до этого, ст...   Apr 15 2015, 05:56
- - esaulenka   Чёрт, ну вот как, как до этого можно догадаться?...   Apr 15 2015, 06:04
- - zheka   ЦитатаВроде б очевидно, что если функция не может ...   Apr 15 2015, 06:15
- - esaulenka   Если USBD_CDC_ACM_PutChar () не смог сделать этот ...   Apr 15 2015, 10:30
- - zheka   Про ошибки - проехали. ПРо быстродействие - я уже ...   Apr 15 2015, 10:54
- - Golikov A.   может где то в районе спецификации USB, по которой...   Apr 15 2015, 10:59
|- - zheka   Цитата(Golikov A. @ Apr 15 2015, 13:59) м...   Apr 15 2015, 11:09
- - esaulenka   цитаты из исходников кейла: * - 'Maximum Co...   Apr 15 2015, 11:42
- - zheka   ЦитатаБуфер, в который пишет USBD_CDC_ACM_WriteDat...   Apr 15 2015, 12:32
|- - aaarrr   Цитата(zheka @ Apr 15 2015, 15:32) Максим...   Apr 15 2015, 12:41
- - zheka   ЦитатаА то сейчас можно подумать, что DataOut[] ло...   Apr 15 2015, 12:58
- - zheka   Продолжаю пляски с бубном Прикрутил камеру. НА тек...   Apr 18 2015, 18:59
- - zheka   Таак... У меня каша в голове пока что.... Вот смот...   Apr 19 2015, 11:08
- - Golikov A.   В ДМА настраиваю ширину входного и выходного канал...   Apr 19 2015, 14:47
- - zheka   Вы мне объясните еще две вещи - как в DCMI настрои...   Apr 20 2015, 03:13
- - zheka   Вот черт же, где правда? Стр.41 даташита https://...   Apr 22 2015, 15:56
- - zheka   Оказывается есть аппаратная функция захвата ОБЛАСТ...   Apr 22 2015, 17:17
- - zheka   Какой-то шайтан... Как не настраиваю, DCMI все рав...   Apr 22 2015, 19:21
- - zheka   Камера поддается, но не сдается. Куски картинки в ...   Apr 26 2015, 09:02
- - Golikov A.   А как мы можем быть уверены что у вас не такое ухо...   Apr 27 2015, 06:16
- - zheka   Как выяснилось, у меня размер буфера в DMA был рав...   Apr 27 2015, 17:19
|- - adnega   Цитата(zheka @ Apr 27 2015, 20:19) не нас...   Apr 27 2015, 18:28
- - zheka   adnega, а в комп чем передаете? Какова скорость?   Apr 27 2015, 18:33
- - adnega   Цитата(zheka @ Apr 27 2015, 21:33) adnega...   Apr 27 2015, 20:21


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th August 2025 - 14:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01395 секунд с 7
ELECTRONIX ©2004-2016