|
STM32F4, DCMI и USB |
|
|
|
Mar 20 2015, 06:46
|
Гуру
     
Группа: Участник
Сообщений: 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?
В общем, подскажите, что мне нужно для решения задачи?
|
|
|
|
|
 |
Ответов
|
Apr 14 2015, 09:38
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
Возвращаюсь к проекту. Мне удалось-таки настроить CDC на последней 5 версии KEIL и ее библиотеках. ПО упомянутой мной ранее СТАТЬЕКак выяснилось, отправка байтов все-таки не поспевала за командами контроллера. Ибо когда я поставил буфер 1024 байта, а отправляю единовременно по 640 байт, проблемы не возникает. Но, сами понимаете, решение это временное. Хотелось бы знать, как мне организовать проверку, окончено ли задание по отправке пакета, можно ли направлять следующий? Как понять, свободен ли буфер? Перековырял всю библиотеку - то ли лыжи не едут... то ли я не пойму как это сделать...
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|