Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ATmegaXX+usb веб-камера + запись на флэш-карту
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2
admiral
Значит возникла идея: брать изображение с вебкамеры с частотой примерно 5 кадров в секунду и писать эти изображения на флэш-карту (microSD). Т.к. я занялся изучением АВРов, то думаю использовать какую-нибудь мегу16 к примеру.
Полистал я информацию по этому делу, но почти везде информация о том, как подключить АВР к компу. А нужно наоборот, что бы контроллер был в качестве хоста.
Реально ли такое сделать? Интересует именно подключение усб-камеры к контроллеру. Флэшку я думаю как подключить наверное сам разберусь.
В обще интересует реально литакое сделать? И, если уже есть вебкамера, какой прожкой можно прослушивать порт USB что бы с протоколом разобраться?
sash_u
Цитата(admiral @ Dec 17 2007, 13:39) *
Значит возникла идея: брать изображение с вебкамеры с частотой примерно 5 кадров в секунду и писать эти изображения на флэш-карту (microSD). Т.к. я занялся изучением АВРов, то думаю использовать какую-нибудь мегу16 к примеру.
Полистал я информацию по этому делу, но почти везде информация о том, как подключить АВР к компу. А нужно наоборот, что бы контроллер был в качестве хоста.
Реально ли такое сделать? Интересует именно подключение усб-камеры к контроллеру. Флэшку я думаю как подключить наверное сам разберусь.
В обще интересует реально литакое сделать? И, если уже есть вебкамера, какой прожкой можно прослушивать порт USB что бы с протоколом разобраться?

Насчёт реализации USB на AVR-ках попробуй посмотреть вот здесь
http://www.obdev.at/products/avrusb/prjall.html
там много проектов с использованием USB, но хоста вроде никто так и не делал (хотя может я и ошибаюсь).
Я думаю что впринципе это сделать вполне реально, скорость конечно заранее не рассчитаешь (да и зависит от размера картинки с камеры),н ос камерой думаю можно работать,т.к. тут нужна точка-точка и довольно упращённые команды.


Цитата(admiral @ Dec 17 2007, 13:39) *
И, если уже есть вебкамера, какой прожкой можно прослушивать порт USB что бы с протоколом разобраться?


Прослушать USB бы советовал USBTrace.Сам им неоднократно пользовался,остался доволен wink.gif
Удачи.
kolobok0
Цитата(admiral @ Dec 17 2007, 14:39) *
... А нужно наоборот, что бы контроллер был в качестве хоста....


внешнии хосты - есть. на МК хост - вроде пока не было решения. Народ отмечал енто пол-года, год назад (если ничего не путаю)...
у Агурова можете найти типовую схему хоста с внешней микросхемой...


с уважением
(круглый)
admiral
Цитата(kolobok0 @ Dec 17 2007, 16:01) *
внешнии хосты - есть. на МК хост - вроде пока не было решения. Народ отмечал енто пол-года, год назад (если ничего не путаю)...
у Агурова можете найти типовую схему хоста с внешней микросхемой...
с уважением
(круглый)

Извинясь, но кто такой Агуров? Я тут новенький.
Схемы Агурова не видел пока, но вообще я подумывал, чтобы реализовать это устройство с как можно меньшими затратами по железу.
Тем более, как новичек,мне бы хотелось самому разобраться во всех тонкостях программирования. smile.gif
Кстати, я привык программировать на ассемблере, стоит ли мне изучать СИ? Реально ли это даст пользу?
xemul
Цитата(admiral @ Dec 17 2007, 15:10) *
Извинясь, но кто такой Агуров?

Автор серии книг по комповым интерфейсам.
Цитата
Схемы Агурова не видел пока, но вообще я подумывал, чтобы реализовать это устройство с как можно меньшими затратами по железу.
Тем более, как новичек,мне бы хотелось самому разобраться во всех тонкостях программирования. smile.gif
Кстати, я привык программировать на ассемблере, стоит ли мне изучать СИ? Реально ли это даст пользу?

имхо, для Вашей задумки ATmegaXX будет маловато. Возьмите для начала задачу попроще.
ПисАть или не писАть на С - дело Ваше, но его знание потребуется для разборок с имеющимися примерами.
admiral
Цитата(xemul @ Dec 17 2007, 16:23) *
Возьмите для начала задачу попроще.

Задачу попроще в каком смысле? Использовать дополнительную микруху или вообще пока забыть про эту идею пока опыта не наберусь?
sash_u
Цитата
имхо, для Вашей задумки ATmegaXX будет маловато. Возьмите для начала задачу попроще.


Почему. Идея достаточно интересна и наверно не стоит говорить о её практической пользе.
А что если совместными усилиями попробовать реализовать этот хост.
Повторюсь,ведь тут наверняка половины функций будет незадействовано.
Поидее установил соединение,кинул команды на передачу картинки и принимай себе поток.
с виду конечно просто,но и о камнях никто не спорит.
Имхо,было бы желание.
aesok
Цитата(admiral @ Dec 17 2007, 15:32) *
Задачу попроще в каком смысле? Использовать дополнительную микруху или вообще пока забыть про эту идею пока опыта не наберусь?


Забудьте как страшный сон.
yarunt
Съест SD ,за пол часа ,каких размеров она не была.Делал проект с обычным видеоглазком .Задача его была фотографировать объекты .На подобии домофона и схема была такая,да и запись потока в ММС 512кб занимает около секунды.
sash_u
Цитата(admiral @ Dec 17 2007, 14:32) *
Задачу попроще в каком смысле? Использовать дополнительную микруху или вообще пока забыть про эту идею пока опыта не наберусь?

xemul наверное имел ввиду, попробовать хост попроще чем с камерой.К примеру с чем нибудь "статичным",т.е. где нет больших обьёмов данных.
Ведь попадаются же в инете статьи про подключение клавы,мыши к МК, это же тоже вроде в каком-то смысле хост,или я не прав?
jasper
ИМХО для такой задачи посмотрите лучше в сторону AVR32 UC, и ресурсов больше, и USB-хост есть.
sash_u
Цитата(jasper @ Dec 17 2007, 14:52) *
ИМХО для такой задачи посмотрите лучше в сторону AVR32 UC, и ресурсов больше, и USB-хост есть.

А цена?
admiral
Цитата(yarunt @ Dec 17 2007, 16:37) *
Съест SD ,за пол часа ,каких размеров она не была.Делал проект с обычным видеоглазком .Задача его была фотографировать объекты .На подобии домофона и схема была такая,да и запись потока в ММС 512кб занимает около секунды.

Я не думаю, что картинки сильно быстро забьют флешку. Сколько примерно весит картинка 320х240? jpeg. Килобайт максимум 10. Если взять флешку на гиг - то это 100000 картинок / 5 кадров в сек = 20тыс. секунд. это около 5.5 часов. А, забыл сказать, что старые картинки должны будут удалятся. Т.е. запись по кругу должна быть.
В общем должно быть что-то вроде видеонаблюдения.
xemul
Цитата(sash_u @ Dec 17 2007, 15:38) *
xemul наверное имел ввиду, попробовать хост попроще чем с камерой.К примеру с чем нибудь "статичным",т.е. где нет больших обьёмов данных.

Исходя из вопроса про С, я предположил, что admiral не имеет достаточного опыта, чтобы воплотить задумку в жизнь.
Цитата
Ведь попадаются же в инете статьи про подключение клавы,мыши к МК, это же тоже вроде в каком-то смысле хост,или я не прав?

Вы совершенно справедливо отметили большие объемы данных при обработке видео (совершенно несопоставимые с клавамышами). ПисАть их на карту памяти без сжатия бессмысленно, а реализовывать рилтаймовое сжатие на ATmega еще более бессмысленно, если, конечно, речь не идет о кадре форматом 4х4х1.
admiral
Цитата(xemul @ Dec 17 2007, 16:58) *
ПисАть их на карту памяти без сжатия бессмысленно, а реализовывать рилтаймовое сжатие на ATmega еще более бессмысленно, если, конечно, речь не идет о кадре форматом 4х4х1.

Веб-камера сама все сжимает в jpg. На выходе у нее готовые сжатые картиночки.
sash_u
Цитата(xemul @ Dec 17 2007, 14:58) *
Исходя из вопроса про С, я предположил, что admiral не имеет достаточного опыта, чтобы воплотить задумку в жизнь.

Вы совершенно справедливо отметили большие объемы данных при обработке видео (совершенно несопоставимые с клавамышами). ПисАть их на карту памяти без сжатия бессмысленно, а реализовывать рилтаймовое сжатие на ATmega еще более бессмысленно, если, конечно, речь не идет о кадре форматом 4х4х1.


Стоп.Осмелюсь несогласиться. Современные USB камеры поддерживают JPEG и сжимают картинку аппаратно.
И если нужно использовать хост только в качестве моста камера-флеш, то никаких конверсий и сжатий не нужно.А если учесть что пусть даже картинка будет 100кб, и то что запись можно делать по кругу.
То на 1Гб флешку можно впихнуть достаточно.
yarunt
Цитата(admiral @ Dec 17 2007, 16:02) *
Веб-камера сама все сжимает в jpg. На выходе у нее готовые сжатые картиночки.

Сильно сомневаюсь что вебкамера сжимает в мпег.
admiral
Цитата(yarunt @ Dec 17 2007, 17:08) *
Сильно сомневаюсь что вебкамера сжимает в мпег.

Извиняюсь, я в начале неправильно написал. Не мпег, jpg надо. Уже подправил.

Т.е. на самом деле, у микроконтроллера-то то посути просто будет функция моста между вебкамерой и флэшкой (как написал sash_u). Такое вообще реально сделать?
aesok
Цитата(yarunt @ Dec 17 2007, 16:08) *
Сильно сомневаюсь что вебкамера сжимает в мпег.


Все Full-Speed камеры сжимают картинку, но могут использовать разные агоритмы как закрытые так и открытые в зависимости от контролера в камере.

High-Speed имеют режимы передачи без сжатия картинки.

Какая у вас камера?

Подсказка: если хотите узнать протокол по которому работает ваша конкретная камера, попробуйте найти для нее драйвер для linux.

Анатолий.
yarunt
Цитата(admiral @ Dec 17 2007, 16:12) *
Извиняюсь, я в начале неправильно написал. Не мпег, jpg надо. Уже подправил.

Но всеравно, запись на ММС или SD без ФАТ занимает много времени. АВР в реалтайме не потянет
sash_u
Цитата(yarunt @ Dec 17 2007, 15:22) *
Но всеравно, запись на ММС или SD без ФАТ занимает много времени. АВР в реалтайме не потянет

Дык а что мешает FAT16 задействовать? А насчёт реалтайма то в режиме Full-Speed почему бы и не успеть. Можно же наверно получать не обязательно максимальный поток кадров/сек, а к примеру 1-2 (условно). Этим можно управлять?
admiral
Цитата(aesok @ Dec 17 2007, 17:20) *
Все Full-Speed камеры сжимают картинку, но могут использовать разные агоритмы как закрытые так и открытые в зависимости от контролера в камере.

High-Speed имеют режимы передачи без сжатия картинки.

Какая у вас камера?

Подсказка: если хотите узнать протокол по которому работает ваша конкретная камера, попробуйте найти для нее драйвер для linux.


Какая камера - сейчас ее название сказать не могу. Под линуксом завести ее мне не удалось (несколько прожек ставил по снятию изображения с вебкамеры, возможно что-то не так делал), хотя когда тыкаю в усб - то модуль какой-то автоматом подгружается (название тоже сейчас не помню).
Вот фотки вебкамеры: чип там стоит zc0301PLH. JPG она точно умеет делать.
GDI
AT90USB1287 и 647 имеют на борту аппаратный USB-Host http://atmel.com/dyn/products/product_card.asp?part_id=3875, в Питерском ЭФО стоят 10,43 и 7,84 Доллера, соответственно http://efo.ru/doc/Atmel/price.pl, остается всего ничего, купить и разобраться как это все работает.
admiral
Цитата(GDI @ Dec 17 2007, 18:14) *
AT90USB1287 и 647 имеют на борту аппаратный USB-Host http://atmel.com/dyn/products/product_card.asp?part_id=3875, в Питерском ЭФО стоят 10,43 и 7,84 Доллера, соответственно http://efo.ru/doc/Atmel/price.pl, остается всего ничего, купить и разобраться как это все работает.

Спасибо, вроде это как раз то что нужно. Займусь изучением. smile.gif
sash_u
Цитата(GDI @ Dec 17 2007, 16:14) *
AT90USB1287 и 647 имеют на борту аппаратный USB-Host http://atmel.com/dyn/products/product_card.asp?part_id=3875, в Питерском ЭФО стоят 10,43 и 7,84 Доллера, соответственно http://efo.ru/doc/Atmel/price.pl, остается всего ничего, купить и разобраться как это все работает.

А вы уверены что именно HOST?
Там написано что это OTG контроллер. А насчёт того что камера сможет работать с OTG я что-то сильно сомневаюсь.
GDI
Цитата
А вы уверены что именно HOST?
Там написано что это OTG контроллер. А насчёт того что камера сможет работать с OTG я что-то сильно сомневаюсь.

Сам я их не использовал, но в таблице выбора контроллеров на том же атмел.ком проставлено ЮСБ-Девайс - есть, ЮСБ-Хост - есть. А чем тогда сакрально отличается просто Host от OTG, кроме того что последний может быть еще и Девайсом?
sash_u
Цитата(GDI @ Dec 17 2007, 17:08) *
Сам я их не использовал, но в таблице выбора контроллеров на том же атмел.ком проставлено ЮСБ-Девайс - есть, ЮСБ-Хост - есть. А чем тогда сакрально отличается просто Host от OTG, кроме того что последний может быть еще и Девайсом?

Я тоже не использовал,но думаю что очень даже отличаются.
В OTG реализован так называемый псевдохост,т.е. некое подобие хоста,который может работать в упращённом режиме с устройствами имеющими OTG поддержку. Это,к примеру цифровой фотоаппарат,который сам по себе как слейв устройство при подключении к компу для обмена, и в то же время при подключении напрямую к принтеру,минуя комп он становится именно хостом с ограниченными возможностями wink.gif , во как выразился.
Так что имхо OTG намного менее функционален чем полнофункциональный хост.
Где-то ссылка была у меня про это, найду - выложу.
sash_u
А вот любопытно. Собственно в чём должны быть главная проблема реализации такого устройства?
Скажем а если нам нужно просто проинициализировать камеру и прочитать с неё например слово состояния или ещё что,это реально сделать на AVR-ке?Тут-то нет никаких больших обьёмов данных...
jasper
Цитата(GDI @ Dec 17 2007, 20:08) *
Сам я их не использовал, но в таблице выбора контроллеров на том же атмел.ком проставлено ЮСБ-Девайс - есть, ЮСБ-Хост - есть. А чем тогда сакрально отличается просто Host от OTG, кроме того что последний может быть еще и Девайсом?

Первое, у OTG ограниченно питание внешних устройств от него 20-ю mA, а обычный хост тянет 100 mA и даже 500 mA, по стандарту. Этот вопрос решается дополнительным питанием девайса.
Второе, к OTG можно подключить только одно USB-устройство, т.е. подключить несколько устройств через USB-хаб не выйдет. Но ведь речь идет только о подключении одной камеры? Так что, тоже проблем не видно. laughing.gif
Цитата
А вот любопытно. Собственно в чём должны быть главная проблема реализации такого устройства?
Скажем а если нам нужно просто проинициализировать камеру и прочитать с неё например слово состояния или ещё что,это реально сделать на AVR-ке?Тут-то нет никаких больших обьёмов данных...

А как вы собираетесь перекачивать большой объем графических данных на карточку в реальном времени? Ведь у обычных AVR нет DMA.
sash_u
Цитата(jasper @ Dec 20 2007, 09:14) *
А как вы собираетесь перекачивать большой объем графических данных на карточку в реальном времени? Ведь у обычных AVR нет DMA.

Ну это уже другой вопрос. Тут смотря что считать реальным временем. Например если камера гонит поток 10 кадров в секунду в этом самом реальном времени,то получая например 1 кадр в секунду или кадр в 2 секунды с этого потока - это уже вроде как не реальное время,а некоторое прореживание.
Вот если их так и принимать.
Так ведь наверное возможно реализовать?
aesok
Цитата(sash_u @ Dec 20 2007, 11:50) *
Ну это уже другой вопрос. Тут смотря что считать реальным временем. Например если камера гонит поток 10 кадров в секунду в этом самом реальном времени,то получая например 1 кадр в секунду или кадр в 2 секунды с этого потока - это уже вроде как не реальное время,а некоторое прореживание.
Вот если их так и принимать.
Так ведь наверное возможно реализовать?


Камера может передавать 30 кадров в секунду, 1 кадр в секунду возможно даже 1 кадр в минуту, но при этом этот информация об этом кадре передаваться за 1/30 секунды. И нужно за эти 1/30 секунды приннять этот кадр и гдето сохранить во флеш если успеете или в RAM.

Анатолий.

PS: Задачу сохранения видео с Web-камеры теоритечески можно, но это сложная практическая задача. По моим пирикидкам порядка 5000 строк С кода. Если вы хотите этим заниматься серьездно начните с изучения спецификации USB.
admiral
Цитата(aesok @ Dec 20 2007, 14:03) *
PS: Задачу сохранения видео с Web-камеры теоритечески можно, но это сложная практическая задача. По моим пирикидкам порядка 5000 строк С кода. Если вы хотите этим заниматься серьездно начните с изучения спецификации USB.

Вот со спецификации по usb как раз и начал. Очень хорошая книга Павла Агурова "Интерфейс USB. Практика использования и программирования". Там как раз есть то что нужно. Полистаю на днях...
А Вы подсчитали про 5000 тысяч строк - это если какой контроллер брать - с поддержкой USB или программно реализовывать?
aesok
Цитата(admiral @ Dec 20 2007, 16:05) *
Полистаю на днях...
А Вы подсчитали про 5000 тысяч строк - это если какой контроллер брать - с поддержкой USB или программно реализовывать?


Вы что Full-Speed режим програмно реализовывать собрались?

Анатолий.
sash_u
Цитата(aesok @ Dec 20 2007, 15:21) *
Вы что Full-Speed режим програмно реализовывать собрались?

А почему бы и нет! В самом названии темы было походу заложено что USB будет програмный.
И что в этом такого страшного,ведь делают же разные преобразователи и программаторы на USB реализованном програмно на Mega или на Tiny. Вот человеку наверное поэтому и захотелось реализовать интерфейс с камерой по подобию.

Кстати, вот нашёл хорошее обьяснение принципа построения таких схем с программной реализацией протокола.
http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR309.htm
aesok
Цитата(sash_u @ Dec 20 2007, 18:26) *
А почему бы и нет! В самом названии темы было походу заложено что USB будет програмный.
И что в этом такого страшного,ведь делают же разные преобразователи и программаторы на USB реализованном програмно на Mega или на Tiny. Вот человеку наверное поэтому и захотелось реализовать интерфейс с камерой по подобию.

Кстати, вот нашёл хорошее обьяснение принципа построения таких схем с программной реализацией протокола.
http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR309.htm


Все web-камеры работают как минимум в Full-Speep режиме. Когда вы наконец прочтете спецификацию USB шины то узнаете что скорость обмена информацией в этом режиме равна 12 Мбит в секунду. Это значит что даже если вы запустите контроллер на частоте 24 мегагерца, то будет 1 команд для того чтобы переслать бит в порт, и одна команда для того чтобы подготовить следующий бит для передачи. ФЛАГ ВАМ В РУКИ!!!! Я уже не говорю о приеме где нужно считывать состояние линии в четыре раза чаще чем скорость передачи.

Те ссылки которые вы пивели описывают использование Low-Speed режима. К Web-камерам он никакого отношения не имеет.

Анатолий.
jasper
Во-во, и я про тоже.
Это надо чтобы был аппаратный USB-хост контроллер, который бы full speed тянул. Плюс еще аппаратный контроллер карточки, а сам микроконтроллер мог бы между ними DMA канал поддерживать.
Т.е. микроконтроллер надо брать AVR32, например, либо что-нибудь из ARM.
Либо, если контроллер карточки и USB – это отдельные микросхемы, связь между ними реализовать на ПЛИС, а AVR использовать в качестве общего управляющего контроллера.

ЗЫ: Еще можно взять КПК со слотом для карточек и USB-хостом и написать свою софтину. laughing.gif
celladon
Вот интересный проект на AVR и SD из журнала Circuit Cellar.
http://www.circuitcellar.com/archives/view...itti202/12.html
Что интересно программа написана на бейсике Bascom AVR.
Правда сохраняется на карточке не видео а картинки.
sash_u
Цитата(aesok @ Dec 20 2007, 21:34) *
Все web-камеры работают как минимум в Full-Speep режиме.
Анатолий.

А можно поинтересоваться откуда такая информация? И почему в LS они не могут работать?
Может быть камеры тоже разные бывают,или я не прав?
aesok
Цитата(sash_u @ Dec 21 2007, 12:27) *
А можно поинтересоваться откуда такая информация? И почему в LS они не могут работать?
Может быть камеры тоже разные бывают,или я не прав?


Скорость USB шины в Low-Speed режиме 1.5Mb/s.

Сколько кадров размером 320х240 пикселей и 16 битным представлением цвета можно передать теоритически по этому в каналу в секунду? Сколько, если кадр сжат в 8 раз? Сколько идиотов в мире согласяться купить такую камеру?

Анатолий.
sash_u
Цитата(aesok @ Dec 21 2007, 12:46) *
Скорость USB шины в Low-Speed режиме 1.5Mb/s.

Сколько кадров размером 320х240 пикселей и 16 битным представлением цвета можно передать теоритически по этому в каналу в секунду? Сколько, если кадр сжат в 8 раз? Сколько идиотов в мире согласяться купить такую камеру?

Анатолий.

Хм,дружище,таки осмелюсь снова не согласиться с вами.
Видеорегистраторы ведь разные бывают. У некоторых камер видеонаблюдения видели какое "тормознутое быстродействие",но ведь устраивает же народ. Даже скажем кадр в секунду - это вполне может устроить.Всё зависит от цели применения.Вот например если поставить такой регистратор в авто,для того чтобы вслучае ДТП или ещё каких спорных моментов можно было предоставить дополнительные сведения.ИМХО тут кадра 4 в секунду вполне бы хватило.Это конечно не домашнее ТВ и видео будет,но для отмазки сгодится. У меня ксати знакомые давно про такой регистратор в машину спрашивали,всё не было времени переварить.
aesok
Цитата(sash_u @ Dec 21 2007, 14:16) *
Хм,дружище,таки осмелюсь снова не согласиться с вами.
Видеорегистраторы ведь разные бывают.


Я говорю о USB Web-камерах. Ее средние потребительские характеристики это 320х240 пикселей, 16/24 битный цвет, 15-30 кадров в секунду, с сжатием. Картинка с худшими характеристиками некомфортно выглядит. Этот видеопоток нельэя передать по USB в Low-Speed режиме. А Full-Speed нальзя реализовать програмным образом на контроллере работающем на 16Мгц.

С другими "Видеорегистраторами" я не работал.

Работу с Web-камерой не удасться организовать и на AT90USB1287, несмотря на то что она имеет USB контроллер который может работать в хост режиме, максимальный размер пакета с которым она может работать - 256 байт. А камеры, для того чтобы максимально использовать пропускную способность USB, используют пакеты по 1023 байта.

Анатолий.
sash_u
И всё же не сдаёмся!
Может ли кто из людей, хорошо знающих спецификацию USB сказать, что произойдёт если web камеру подключить к хосту который умеет работать только в режиме LS,т.е. 1,5Мб\с ?
Может быть реально задержкой ответов от мастера (типа NAK) можно снижать темп работы камеры?
ведущий_специалист
Народ! А че вы на усб зациклились?? Я например спокойно расколупал камеру genius и использую от неё только сам глазок( хотя нашел доку и на чип, работающий с усб, и на саму камеру.
Могу смело заявить что работать просто с камерой намного проще нежели с усб.Тем более НИ ОДИН АВР НЕ УСПЕЕТ хватать изображение кодируя его одновременно с шины усб,записывать его во внешнюю срамку, и еще и писать в фат. А потом , ну сами подумайте, за сколько износится ресурс циклов стирания\записи вашей флэши....
Выход один.Работать сразу с глазом, запоминая иногда самую хорошую картинку.Пойдет для этого мега 128 с внешней срамкой и флэшой.(проверенно экспериментами в течении вот уже полугода) .Кто выводил видео авром, тот поймет......
Если интересно, сходите на форум vrtp.ru. Там кое что есть.

Цитата(aesok @ Dec 20 2007, 13:03) *
PS: Задачу сохранения видео с Web-камеры теоритечески можно, но это сложная практическая задача. По моим пирикидкам порядка 5000 строк С кода. Если вы хотите этим заниматься серьездно начните с изучения спецификации USB.

lol.gif lol.gif
Я на бейсике это делал,,,, 14% кода от всего объема меги 162.
Может я не правильно понял 5000 строк комментариев?????? lol.gif Писатель прямо!!
aesok
Цитата(ведущий_специалист @ Dec 22 2007, 13:44) *
: Задачу сохранения видео с Web-камеры теоритечески можно, но это сложная практическая задача. По моим пирикидкам порядка 5000 строк С кода. Если вы хотите этим заниматься серьездно начните с изучения спецификации USB.

Я на бейсике это делал,,,, 14% кода от всего объема меги 162.
Может я не правильно понял 5000 строк комментариев?????? Писатель прямо!!


Вы написали USB-хост и он поместился в 2 кила кода?

Анатолий.
ведущий_специалист
Цитата(aesok @ Dec 21 2007, 13:46) *
Сколько кадров размером 320х240 пикселей и 16 битным представлением цвета можно передать теоритически по этому в каналу в секунду? Сколько, если кадр сжат в 8 раз? Сколько идиотов в мире согласяться купить такую камеру?

07.gif НИ ОДНА веб камера не будет иметь такую разрядность цвета.Вы, уважаемый с камерами то работали?
Насколько мне известно, почти все вебки, стоимостью до 2000 рублей имеют в своём составе CIF камеру. А это говорит о том, что максимальное разрешение такой камеры 357х220 точек при 8МИ БИТНОМ цвете.Причем на максимальном разрешении ни один идиот не станет передавать видео по усб1.1. Кстати, вопрос ко всем! Кто нибудь видел камеру с 16ти битным разрешением цвета?
Я конечно про дешевые вебки, стоимостью до 2х тысяч рублей.


Цитата(aesok @ Dec 22 2007, 13:50) *
Вы написали USB-хост и он поместился в 2 кила кода?

Анатолий.


Я че, маньяк чтоли?? Работа по и2ц напрямую с глазом. Вот камеру пришлось распаять конечно. Дал ей тактовую частоту около 5ти мегагерц контроллер на скорости 20 мегагерц и по параллельному потоку хорошо справляюсь.Камера то сама по себе слабенькая.
aesok
Цитата(ведущий_специалист @ Dec 22 2007, 14:07) *
07.gif НИ ОДНА веб камера не будет иметь такую разрядность цвета.Вы, уважаемый с камерами то работали?
Насколько мне известно, почти все вебки, стоимостью до 2000 рублей имеют в своём составе CIF камеру. А это говорит о том, что максимальное разрешение такой камеры 357х220 точек при 8МИ БИТНОМ цвете.Причем на максимальном разрешении ни один идиот не станет передавать видео по усб1.1. Кстати, вопрос ко всем! Кто нибудь видел камеру с 16ти битным разрешением цвета?
Я конечно про дешевые вебки, стоимостью до 2х тысяч рублей.


Разные камеры (мы здесь говорим о дешевых камерах) имеют разные разные наборы разрешения или производные от VGA (320x240...) или от теливизионных стандартов CIF (352x288...) или оба. В контексте моего вопроса это не имеет принципиального значения. В первом случее кадр содержит 76800 пикселей, во втором 101376.

Что касаеться цветового разрешения то я говорил о количестве бит на пиксел, а не на цвет. Камеры используют или 16-битное предсталение цвета (R и B - по 5 бит, G - 6) или 24 битное (по 8-бит на цвет).

Ни кто не может передать это видео поток по Full-Speed (12Mb/s) USB шине без сжатия 352x288 * 16 (информация о цвете) * 15..30 (кадров в секунду) = 24 330 240 .. 48 660 480 b/s. Поэтому все Full-Speed USB Web-камеры используют сжатие. High-Speed может передовать такой поток без сжатия.

Цитата
Я че, маньяк чтоли?? Работа по и2ц напрямую с глазом. Вот камеру пришлось распаять конечно. Дал ей тактовую частоту около 5ти мегагерц контроллер на скорости 20 мегагерц и по параллельному потоку хорошо справляюсь.Камера то сама по себе слабенькая.


Я писал про подключен6ие USB Web-камеры к AVR, как спрашивал автор темы.

Анатолий.
ведущий_специалист
Цитата(aesok @ Dec 22 2007, 14:45) *
Ни кто не может передать это видео поток по Full-Speed (12Mb/s) USB шине без сжатия 352x288 * 16 (информация о цвете) * 15..30 (кадров в секунду) = 24 330 240 .. 48 660 480 b/s. Поэтому все Full-Speed USB Web-камеры используют сжатие. High-Speed может передовать такой поток без сжатия.
Я писал про подключен6ие USB Web-камеры к AVR, как спрашивал автор темы.

Да вот я о том же. Автор похоже задал вопрос не подумав.
Вобщем делаем общий вывод:
Вопрос не по существу. Авр физически не справится с этой задачей.Намного проще работать с самой камерой.
Единственное решение.Запоминаем кадр во внешнюю срамку.Потом либо переписываем его во флэшку, либо даже можно сконвертировать в крайнем случае в gif. Где то исходники даже валялись.
Кстати для запаковки в гиф надо иметь по 4 килобайта на каждый цвет,,, тоже внешняя память.
Сам щас с этим мучусь.Работаю над проектом с камерой. Хочу запоминать в сдшке.
sash_u
Цитата(ведущий_специалист @ Dec 22 2007, 17:32) *
Вобщем делаем общий вывод:
Вопрос не по существу.
Авр физически не справится с этой задачей.Намного проще работать с самой камерой.

Про работать напрямую - это несомнненно проще,но не годится, хочется универсальности.

И всё же снова мысль по теме:
Неужели в системе где задаёт темп работы мастер (в данной задумке AVR) и который работает только в режиме LS,а камера в режиме ведомого устройства невозможно их состыковать??? Мастер же должен быть инициатором обмена. Кто может сказать возможно ли функционирование такой системы в общем (не беря в счёт веб камеру)?
sensor_ua
Пытаться делать USB-HOST на AVR? - Есть такой изврат - http://osainto.free.fr/USBHOST/UKP/Version...translate_c.htm
Но успеть ещё и чем-то полезным заниматься врятли получится. А камеру (не USB) к AVR цепляли там -
http://www.riccibitti.com/witnesscam/abstract.htm
ведущий_специалист
и здесь http://ledeffects.net/pages/?id=23.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.