|
|
  |
Скоростной АРМ - использование в качестве МК |
|
|
|
Jul 6 2012, 09:48
|
Группа: Участник
Сообщений: 13
Регистрация: 30-06-12
Пользователь №: 72 569

|
Цитата(greenie @ Jul 5 2012, 14:58)  Конечно, вся работа с камерой вручную - кадры считывать с ног, но я не нашел скоростную камеру с каким-нибудь интерфейсом, которым я могу к ней прицепиться и получать изображения так быстро (20 раз в секунду) и еще успевать все обработать до прихода нового. у меня почти аналогичная задача про работу вручную вы наверное имеете ввиду через какой-то спец интерфейс проца? Я заказал плату на таком проце AT91SAM9XE512, по скорости он вам вряд ли подойдет, но в нем есть ISI интерфейс для руления камерой, как бы в теории все просто, настроить нужные регистры, кадр пишется напрямую в память, по окончании кадра получаем прерывание, обрабатываем кадр. Как будет на практике еще не знаю  по поводу самой камеры, то вроде бы сейчас не проблема 30 fps (кадров в секунду), видел много 60 fps, так что получать кадры с 20fps вроде бы не проблема, проблема успеть обработать
|
|
|
|
|
Jul 6 2012, 11:13
|
Местный
  
Группа: Свой
Сообщений: 231
Регистрация: 7-12-06
Из: Киев
Пользователь №: 23 248

|
Цитата(sasamy @ Jul 6 2012, 12:09)  Используя эти примеры максимум что вы сделаете- аналог u-boot, который ни по скорости ни по функционалу рядом не лежит с Linux. Глупость. Оптимален Linux или нет - зависит от поставленной задачи. Перечитайте задачу топикстартера. Написанный Вами софт работающий под Linux-ом ну никак не может быть быстрее софта, работающего без оси. Правда это зависит и от программиста. Цитата(sasamy @ Jul 6 2012, 12:09)  Как вы собираетесь использовать 2D,3D графические процессоры, видеопроцессор ? Я не собираюсь этого делать и судя по задаче топикстартер тоже. Цитата(sasamy @ Jul 6 2012, 12:09)  к примеру контроллер dma (sdma - smart dma) это отдельный 16 битный risc-процессор для которого фирмвари пишут специально обученые люди  Что представляет из себя контроллер SDMA я знаю, так как работаю с iMX257. Что касается скриптов контроллера, то писать ничего не надо, так как они уже написаны "специально обученными людьми". Бери и пользуйся. Цитата(sasamy @ Jul 6 2012, 12:09)  с тем же видеозахватом и программированием IPU заплюхаетесь разбираться. Заплюхается товарищ или нет зависит только от него. Главное терпение и желание. В свое время под свою задачу полностью поднял iMX21, который работает без ОС, но при этом кроилась память с использованием MMU. Был поднят декодер H.263, мультимедиа ускоритель eMMA, интерфейс CMOS сенсора + VGA сенсор и много другое. Не заплюхался
|
|
|
|
|
Jul 6 2012, 12:07
|
Знающий
   
Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858

|
Цитата(SergeyDDD @ Jul 6 2012, 15:13)  Оптимален Linux или нет - зависит от поставленной задачи. Глупость - в любом случае оптимальней использовать готовое чем изобретать велосипеды. Цитата Написанный Вами софт работающий под Linux-ом ну никак не может быть быстрее софта, работающего без оси. еще одна глупость - заапросто будет потому что смогу использовать всю мощь gpu и vpu. Цитата Заплюхается товарищ или нет зависит только от него. Главное терпение и желание. главное - голова на плечах, а у кого она есть берет ОС и не парится над низкоуровневым программированием а решает свои задачи. Цитата Что касается скриптов контроллера, то писать ничего не надо, так как они уже написаны "специально обученными людьми". Бери и пользуйся. вот - есть же зачатки рационализма, не все потеряно у вас еще
Сообщение отредактировал sasamy - Jul 6 2012, 13:21
|
|
|
|
|
Jul 6 2012, 13:31
|
Местный
  
Группа: Свой
Сообщений: 231
Регистрация: 7-12-06
Из: Киев
Пользователь №: 23 248

|
Цитата(sasamy @ Jul 6 2012, 15:07)  Глупость - в любом случае оптимальней использовать готовое чем изобретать велосипеды.
еще одна глупость - заапросто будет потому что смогу использовать всю мощь gpu и vpu.
главное - голова на плечах, а у кого она есть берет ОС и не парится над низкоуровневым программированием а решает свои задачи. Мы видимо говорим о разных вещах. При чем здесь gpu и vpu. Еще раз перечитайте тему топика и что нужно топикстартеру. Я не против ОС. Просто там где она нужна я ее использую, а где не нужна - нет. Желаете пихать линух куда угодно и не париться над низкоуровневым программированием? Удачи!!! ... "вот - есть же зачатки рационализма, не все потеряно у вас еще" Ну Ё маЁ. У меня все зашибись. А Ваш сомнительный "рационализм" девайте сами знаете куда.
|
|
|
|
|
Jul 6 2012, 14:42
|
Местный
  
Группа: Свой
Сообщений: 231
Регистрация: 7-12-06
Из: Киев
Пользователь №: 23 248

|
Цитата(sasamy @ Jul 6 2012, 16:38)  ему нужно вот это http://gstreamer.freedesktop.org/data/doc/...ns-v4l2src.htmlможно и напрямую работать с v4l, для Linux у фрискейл есть неплохая библиотека unit test. gpu и vpu в основном для вас ответ - почему вы никогда не станете майором  [DELETED]Сообщение №5 топика " У Freescale довольно неплохая поддержка своей продукции. Для быстрого запуска документации достаточно. Я бы наверное сначала посоветовал бы ознакомится с Linux SDK этой платы и запуститься под Линуксом. Думаю с этим вариантом сэкономите массу времени. А потом будет виднее - нужна ОС или нет. " Или "рацональней" прикручивать левое "нечто"?
Сообщение отредактировал IgorKossak - Jul 6 2012, 14:45
|
|
|
|
|
Jul 6 2012, 15:23
|
Группа: Участник
Сообщений: 12
Регистрация: 4-07-12
Из: Barnaul
Пользователь №: 72 628

|
Очень рад, что обсуждение бурное, надеюсь хоть немного все прояснить. Цитата(kovigor @ Jul 6 2012, 03:14)  Компилятор такой. Для i.MX53 качайте виртуальную машину (Ubuntu) с сайта FreeScale, ставьте в ней CodeSourcery, собирайте библиотеку NewLib и пробуйте писать простейшие программки: Ubuntu: http://www.freescale.com/webapp/sps/site/p...esign_Tools_TabВыберите: "Board Support Packages" CodeSourcery: https://sourcery.mentor.com/GNUToolchain/su...757fcaeae081292Выберите: "Download Sourcery CodeBench Lite 2012.03-56" Вот статья, по которой я разбирался с newlib: https://balau82.wordpress.com/2010/12/16/us...metal-programs/Coce Sourcery скачал, теперь хочу объединить с Eclipse по инструкции https://sites.google.com/site/stm32discover...ery-development Линукс для компиляции программы ведь необязателен, или я неправильно понял? Цитата(dinam @ Jul 6 2012, 08:51)  Насчет матрицы LUPA-300. Я попробовал штук 6 разных матриц разных производителей. Так вот эта оказалась самой паршивой по качеству изображения, может и я что-то где-то накосячил, но с другими такого не было. Плюс был аппаратный глюк в самой матрице, да и её производитель поменялся. Так что с поддержкой, будет наверное совсем плохо. Рекомендую попробовать MT9V034. Дешевая, легко покупаемая, беспроблемная. Читаю даташит к MT9V034C12STM, но не могу найти диапазон регистрируемых длин волн. Мне нужно ИК светом освещать предмет и регистрировать проходящий, чтобы узнать степень поглощения. Какой бы вы сенсор еще посоветовали? Вначале я вообще надеялся найти готовый модуль - сенсор с контроллером, чтобы подключиться к нему по spi, usb или ethernet, благо сейчас эти все порты в контроллерах есть, а в таких продвинутых, как мне нужен из-за быстродействия, и подавно. Но такого не нашел, решил подцеплять сенсор вручную на ноги, правда пока смутно представляю, как я это дело все запущу и подозреваю, что не один месяц уйдет на запуск железа, что совсем не касается научной работы, а есть только инструмент. Цитата(andrewlekar @ Jul 6 2012, 15:48)  Мне кажется или описанную задачу можно с наименьшим геммороем решить на ПК? По-моему, вполне реально обрабатывать видеопоток с указанной скоростью и сервоприводом пошевелить с заданной реакцией. ПК просто это лишнее, тем более ситуация следующая: предмет свободно падает, на одном уровне я его фотографирую, пока обрабатываю изображение, он летит дальше, а внизу орган воздействия - мне нужно его включить четко вовремя, а как это сделать с ОС, пусть и ОСРВ, я не знаю. Зато знаю, что такое прерывания, таймеры и т.д. в МК  Поэтому и выбрал данный путь - управлять процессором как микроконтроллером. Мне бы только к регистрам обращаться возможность получить, а там уж дело техники  Цитата(AlexMik1 @ Jul 6 2012, 16:48)  у меня почти аналогичная задача про работу вручную вы наверное имеете ввиду через какой-то спец интерфейс проца? Я заказал плату на таком проце AT91SAM9XE512, по скорости он вам вряд ли подойдет, но в нем есть ISI интерфейс для руления камерой, как бы в теории все просто, настроить нужные регистры, кадр пишется напрямую в память, по окончании кадра получаем прерывание, обрабатываем кадр. Как будет на практике еще не знаю  по поводу самой камеры, то вроде бы сейчас не проблема 30 fps (кадров в секунду), видел много 60 fps, так что получать кадры с 20fps вроде бы не проблема, проблема успеть обработать А вы камеру подобрали? Это больной вопрос... Дело даже не в частоте смены кадра, а скорее в выдержке, если можно так выразиться. Предмет же падает, поэтому время экспонирования должно быть минимальным, т.к. смаз в 2-3 пиксела это уже плохо. Цитата(sasamy @ Jul 6 2012, 19:07)  Глупость - в любом случае оптимальней использовать готовое чем изобретать велосипеды. еще одна глупость - заапросто будет потому что смогу использовать всю мощь gpu и vpu. главное - голова на плечах, а у кого она есть берет ОС и не парится над низкоуровневым программированием а решает свои задачи. вот - есть же зачатки рационализма, не все потеряно у вас еще  Просто тут ОС не знаю даже, зачем нужна. Мне только изображение получить нужно и все. Обработка - это просто алгоритм над массивом байтов, ну и дернуть ногой через заданное количество миллисекунд...
|
|
|
|
|
Jul 6 2012, 15:31
|
Местный
  
Группа: Свой
Сообщений: 231
Регистрация: 7-12-06
Из: Киев
Пользователь №: 23 248

|
Цитата(sasamy @ Jul 6 2012, 18:20)  Рациональнее не витать в облаках - Linux тут просто очевидное решение. Какой смысл разбираться с работой конкретного устройства конкретного производителя когда можно написать код _один раз_ и он будет работать на любом процессоре где работает Linux, а это без преувеличения все процессоры на баз cortex-a8. При этом автоматически сюда попадут и устройства UVC и сенсоры с цифровым выходом и платы с АЦП. Завтра вам предложат китайцы процессоры по полбакса за мешок и вы сядете в лужу потому что не сможете им воспользоваться, потому что документации на них нет вообще никакой кроме портированного ядра Linux, а я смогу даже не пересобирая свой код  Глупо спорить с человеком, который слышит только себя. Перечитайте мое сообщение №5 может тогда все станет на свои места. Надеюсь моя информация помогла топикстартеру. А майорам желаю заслуживать свои погоны. Ув. sasamy, предлагаю завершить сей глупый спор.
|
|
|
|
|
Jul 6 2012, 15:34
|
Группа: Участник
Сообщений: 12
Регистрация: 4-07-12
Из: Barnaul
Пользователь №: 72 628

|
Цитата(sasamy @ Jul 6 2012, 22:20)  Рациональнее не витать в облаках - Linux тут просто очевидное решение. Какой смысл разбираться с работой конкретного устройства конкретного производителя когда можно написать код _один раз_ и он будет работать на любом процессоре где работает Linux, а это без преувеличения все процессоры на баз cortex-a8. При этом автоматически сюда попадут и устройства UVC и сенсоры с цифровым выходом и платы с АЦП. Завтра вам предложат китайцы процессоры по полбакса за мешок и вы сядете в лужу потому что не сможете им воспользоваться, потому что документации на них нет вообще никакой кроме портированного ядра Linux, а я смогу даже не пересобирая свой код  Если линукс позволит пользоваться драйвером порта, к которому штатно можно подключить скоростную камеру и я воспользуюсь готовой функцией для получения кадра, а потом еще и дрыгнуть нужной ногой, то это было бы замечательно и стоило бы времени на освоения "ембеддед линукс". Отсчитать миллисекунды можно параллельно подключенным маленьким МК, который только и будет, что регистрировать начало отсчета и включать, если надо, воздействие. Только вот я пока не нашел такую камеру.
|
|
|
|
|
Jul 6 2012, 15:56
|
Группа: Участник
Сообщений: 13
Регистрация: 30-06-12
Пользователь №: 72 569

|
Цитата(greenie @ Jul 6 2012, 18:23)  А вы камеру подобрали? Это больной вопрос... Дело даже не в частоте смены кадра, а скорее в выдержке, если можно так выразиться. Предмет же падает, поэтому время экспонирования должно быть минимальным, т.к. смаз в 2-3 пиксела это уже плохо. это зависит от динамического диапазона сенсора, освещения, ... в общем можно смотреть разные сенсоры (aptina.com ...) и потом искать какие есть камеры на них с сенсорами вроде бы все просто, а вот с камерами ... как то плохо находятся, я еще не выбрал Цитата(greenie @ Jul 6 2012, 18:23)  Просто тут ОС не знаю даже, зачем нужна. Мне только изображение получить нужно и все. Обработка - это просто алгоритм над массивом байтов, ну и дернуть ногой через заданное количество миллисекунд... ОС нужна только чтобы не иметь гемороя с камерой, мне аналогично, нужен кадр, и его обработка (чистый С++) если не думать о переносе на другое железо или камеру, то как бы все нормально, если думать, то ... х.з. может и под линукс делать
Сообщение отредактировал AlexMik1 - Jul 6 2012, 15:56
|
|
|
|
|
Jul 6 2012, 15:58
|
Группа: Участник
Сообщений: 12
Регистрация: 4-07-12
Из: Barnaul
Пользователь №: 72 628

|
Цитата(SergeyDDD @ Jul 5 2012, 12:40)  У Freescale довольно неплохая поддержка своей продукции. Для быстрого запуска документации достаточно. Я бы наверное сначала посоветовал бы ознакомится с Linux SDK этой платы и запуститься под Линуксом. Думаю с этим вариантом сэкономите массу времени. А потом будет виднее - нужна ОС или нет.
И еще... К этому процессору существует библиотека "On-Board Diagnostics Suite (OBDS) for the Freescale i.MX53 SBRTH LCB platform" с исходниками периферии. Простите за чайниковский вопрос, но к примеру если пользоваться линуксом, то компилировать программу так же в "Eclipse+CodeSourcery"?
|
|
|
|
|
Jul 6 2012, 16:18
|
Знающий
   
Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858

|
Цитата(greenie @ Jul 6 2012, 19:34)  Если линукс позволит пользоваться драйвером порта, к которому штатно можно подключить скоростную камеру и я воспользуюсь готовой функцией для получения кадра, а потом еще и дрыгнуть нужной ногой, то это было бы замечательно и стоило бы времени на освоения "ембеддед линукс". Отсчитать миллисекунды можно параллельно подключенным маленьким МК, который только и будет, что регистрировать начало отсчета и включать, если надо, воздействие. Только вот я пока не нашел такую камеру. Отсчитывать миллисекунды вам не нужно - драйвер сам ставит таймштампы на буфер http://v4l2spec.bytesex.org/spec-single/v4l2.html#BUFFERдрыгать ножкой элементарно через sysfs, 20 fps даст любая камера - смотря какое разрешение нужно, а вот конкретно это Цитата предмет же падает, поэтому время экспонирования должно быть минимальным, т.к. смаз в 2-3 пиксела это уже плохо. тут не знаю что сказать. Кстати - gstreamer тут будет избыточен, вам достаточно напрямую кадры брать http://v4l2spec.bytesex.org/spec-single/v4...CAPTURE-EXAMPLE
Сообщение отредактировал sasamy - Jul 6 2012, 16:25
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|