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

 
 
> LPC2138 vs видеосигнал, ОЧЕНЬ нужна помощь...
tolik_zp
сообщение Jun 13 2007, 13:48
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 2-08-06
Пользователь №: 19 265



Доброго времени суток!

Пытаюсь нарисовать свою картинку поверх телевизионного сигнала, поступающего с камеры, с помощью lpc2138, но ничего не получается...

Проблема в том, что:
1) не удается засинхронизироваться от видеосигнала (вход в прерывание - величина не постоянная);
2) не хватает скорости порта, чтобы выводить нужную мне информацию (проц не /01)

Есть ли какие-нибудь идеи? Или сразу плюнуть на много дней работы и поменять камень?
Кто-нибудь вообще делал подобные вещи на арме?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KAlex
сообщение Jun 14 2007, 10:19
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Цитата(tolik_zp @ Jun 13 2007, 17:48) *
Проблема в том, что:
1) не удается засинхронизироваться от видеосигнала (вход в прерывание - величина не постоянная);
2) не хватает скорости порта, чтобы выводить нужную мне информацию (проц не /01)

1) Считаешь время прошедшее с проедыдущего прерывания. Если больше 48мкс - это строчная, если меньше - кадровая. Схема выделения в аттаче.
2) В свое время был сделан титлер на АТ90S2313 10Мhz. Все прекрасно успевал. Выводил текст наложением на видеосигнал.
Прикрепленные файлы
Прикрепленный файл  SYNC.zip ( 9.79 килобайт ) Кол-во скачиваний: 83
 
Go to the top of the page
 
+Quote Post
tolik_zp
сообщение Jun 14 2007, 10:30
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 2-08-06
Пользователь №: 19 265



Цитата(KAlex @ Jun 14 2007, 13:19) *
1) Считаешь время прошедшее с проедыдущего прерывания. Если больше 48мкс - это строчная, если меньше - кадровая. Схема выделения в аттаче.
2) В свое время был сделан титлер на АТ90S2313 10Мhz. Все прекрасно успевал. Выводил текст наложением на видеосигнал.


спасибо, такая схема у меня присутствует на макете, прерыванием выделяю поля и активные строки. но даже из бесконечного цикла вход в прерывание выполняется через различное время, в результате чего при выводе картинки я получаю гребенку, ползущую вверх. соответственно возникают проблемы и с синхронизацией ацп при записи кадра.
Go to the top of the page
 
+Quote Post
KAlex
сообщение Jun 14 2007, 10:47
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Цитата(tolik_zp @ Jun 14 2007, 14:30) *
но даже из бесконечного цикла вход в прерывание выполняется через различное время, в результате чего при выводе картинки я получаю гребенку, ползущую вверх. соответственно возникают проблемы и с синхронизацией ацп при записи кадра.

Возможно не учитываешь разницу между четными и нечетными полями. Отсюда и гребенка.
У меня алгоритм такой: ловлю первый кадровый, далее следует еше несколько - пропускаем, как только попался строчный - начинаем отсчет активных строк.
Еше возможно проскакивают ложные импульсы из за замусоренного сигнала. Лечится подключением по входу конденсатора на землю на 470р.
Go to the top of the page
 
+Quote Post
tolik_zp
сообщение Jun 14 2007, 11:05
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 2-08-06
Пользователь №: 19 265



Цитата(KAlex @ Jun 14 2007, 13:47) *
Возможно не учитываешь разницу между четными и нечетными полями. Отсюда и гребенка.
У меня алгоритм такой: ловлю первый кадровый, далее следует еше несколько - пропускаем, как только попался строчный - начинаем отсчет активных строк.
Еше возможно проскакивают ложные импульсы из за замусоренного сигнала. Лечится подключением по входу конденсатора на землю на 470р.


как же не учитывать, если разница в пол строки wink.gif
я делал генератор синхроимпульсов через модуль сравнения и прерывания. в этом же прерывании дергал ногами - генерил синхроимпульсы и вертикальные полосы, естесственно получал гребенку. переделал генератор с прерываний на полностью программный - эффект исчез, но "точку" шириной менее пяти миллиметров на диагонали 14" так и не получил, думаю что из-за медленного порта.

Цитата(rat @ Jun 14 2007, 13:49) *
Несомненно справится, и даже на меньшей частоте, поймите, дело не в мегагерцах, а в разнице по сути между ПЛИС и процами, процы есть вещь последовательная, а ПЛИС за 1 такт может любой "огород сгородить". Блэкфин без ПЛИСа можно поставить, если Вы не собираетесь делать еще что-то серьезное, кроме врезки, да и последущее развитие и усложнение проекта в будущем будет под вопросом, потому как задачи будут "толкаться за время". Поставьте ПЛИС и, при любых усложнениях в последствии, Вы будете иметь гарантированные времянки. Строго говоря, это стратегия разработок - на потоках ПЛИСы, на математике и сервисе - процы.


Кроме врезки необходимо тактировать АЦП и ОЗУ для оцифровки сигнала, реализовать простенький детектор движения, записать кадр в MMC-карту, потом считать и вывести на экран тактированием ОЗУ и R2R ЦАПа. Если зватит времени - добавится еще и сжатие в JPEG. думаю, что самая критичная к времени задача - именно синхронизация от внешней синхросмеси (не считая сжатия). Ну а по мере усложнения проекта ПЛИС может быть и добавится. Я все-таки с ними еще не работал по серьезному, только схемы рисовал, так что изучение может занять достаточно много времени, учитывая их сомнительную полезность в текущем проекте. Ну а далее, естественно, и до ПЛИСов доберусь.
Go to the top of the page
 
+Quote Post
rat
сообщение Jun 14 2007, 11:09
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



Цитата(tolik_zp @ Jun 14 2007, 18:05) *
как же не учитывать, если разница в пол строки wink.gif
я делал генератор синхроимпульсов через модуль сравнения и прерывания. в этом же прерывании дергал ногами - генерил синхроимпульсы и вертикальные полосы, естесственно получал гребенку. переделал генератор с прерываний на полностью программный - эффект исчез, но "точку" шириной менее пяти миллиметров на диагонали 14" так и не получил, думаю что из-за медленного порта.
Кроме врезки необходимо тактировать АЦП и ОЗУ для оцифровки сигнала, реализовать простенький детектор движения, записать кадр в MMC-карту, потом считать и вывести на экран тактированием ОЗУ и R2R ЦАПа. Если зватит времени - добавится еще и сжатие в JPEG. думаю, что самая критичная к времени задача - именно синхронизация от внешней синхросмеси (не считая сжатия). Ну а по мере усложнения проекта ПЛИС может быть и добавится. Я все-таки с ними еще не работал по серьезному, только схемы рисовал, так что изучение может занять достаточно много времени, учитывая их сомнительную полезность в текущем проекте. Ну а далее, естественно, и до ПЛИСов доберусь.


ПЛИС, батенька, только ПЛИС, у Вас слишком много задач.
Go to the top of the page
 
+Quote Post
tolik_zp
сообщение Jun 14 2007, 11:20
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 2-08-06
Пользователь №: 19 265



Цитата(rat @ Jun 14 2007, 14:09) *
ПЛИС, батенька, только ПЛИС, у Вас слишком много задач.


расскажите пожалуйста поподробнее, почему в данном случае нельзя обойтись без ПЛИС? какие на него надо будет возложить функции, с которыми не справится DSP?
Go to the top of the page
 
+Quote Post
KAlex
сообщение Jun 14 2007, 11:43
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Цитата(tolik_zp @ Jun 14 2007, 15:20) *
расскажите пожалуйста поподробнее, почему в данном случае нельзя обойтись без ПЛИС? какие на него надо будет возложить функции, с которыми не справится DSP?

ПЛИС:
1.Снимает сигнал с АЦП, кладет в ОЗУ. При необходимости сжимает, кладет во флеш или др. носитель.
2. Раскрутка видео из ОЗУ.
3. Наложение OSD.
4. Доступ ЦП к ОЗУ. (рисуем в ОSD, детектор движения и пр.)
5. При желании реализуются функции зум, сглаживание и пр.
Прелесть в том, что делается это все в нескольких потоках, никоим образом не мешая друг другу.

Цитата(tolik_zp @ Jun 14 2007, 15:32) *
у меня стоит задача сделать что-то подобное ASV-MF05. на сколько мне известно, в нем Вы обошлись без блэкфинов, ПЛИСов... smile.gif

Там всем рулит SX48 тактовая 40М. Но только отдельные ч\б кадры. 512х256 точек.
В сквозняке ч\б меню на 256х256 точек наложением(врезкой) из ОЗУ.
Go to the top of the page
 
+Quote Post
tolik_zp
сообщение Jun 14 2007, 12:03
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 2-08-06
Пользователь №: 19 265



Цитата(KAlex @ Jun 14 2007, 14:43) *
ПЛИС:
1.Снимает сигнал с АЦП, кладет в ОЗУ. При необходимости сжимает, кладет во флеш или др. носитель.
2. Раскрутка видео из ОЗУ.
3. Наложение OSD.
4. Доступ ЦП к ОЗУ. (рисуем в ОSD, детектор движения и пр.)
5. При желании реализуются функции зум, сглаживание и пр.
Прелесть в том, что делается это все в нескольких потоках, никоим образом не мешая друг другу.
Там всем рулит SX48 тактовая 40М. Но только отдельные ч\б кадры. 512х256 точек.
В сквозняке ч\б меню на 256х256 точек наложением(врезкой) из ОЗУ.


С одной стороны - надо сделать быстро, пусть и просто. С другой стороны - еще больше хочется сделать что-нибуть более стоящее, но боюсь что не успею в срок, влезая в незнакомую для меня область.
Говорят, что на нормальное освоение плис нужно не менее месяца. Это не считая того, что в ЦОС я неграмотен. Да еще и делаю практически все "на коленке", из приборов - полуубитый С1-81 и моя голова.


Цитата(GetSmart @ Jun 14 2007, 14:47) *
По-моему всё абсолютно без проблем можно сообразить на арме. Непостоянная задержка входа в прерывание - совсем не проблема. Так или иначе строчную синхронизацию нужно делать через программный ФАПЧ.

как сделать ФАПЧ, если я не могу с уверенностью сказать, когда пришел строчный синхроимпульс? Где про это почитать?

Сообщение отредактировал tolik_zp - Jun 14 2007, 12:18
Go to the top of the page
 
+Quote Post
KAlex
сообщение Jun 14 2007, 12:25
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Цитата(tolik_zp @ Jun 14 2007, 16:03) *
как сделать ФАПЧ, если я не могу с уверенностью сказать, когда пришел строчный синхроимпульс?

Никаких ФАПЧей не нужно.
С той моей схемки идет прекрасный сигнал. Можно даже увидить на полуубитом С1-81. Подаешь его на ногу проца. Конфигурируешь прерывания по порту на спад фронта. Если есть другие прерывания - устанавливаем наивысший приоритет, либо вообще запрещаем(про вложенные прерывания тут недавно было). В прерывании считываем и обнуляем таймер. Смотрим что получилось, кадровый или строчный. Все.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- tolik_zp   LPC2138 vs видеосигнал   Jun 13 2007, 13:48
- - Abo   Цитата(tolik_zp @ Jun 13 2007, 17:48) Доб...   Jun 13 2007, 14:19
|- - tolik_zp   Цитата(Abo @ Jun 13 2007, 17:19) Если оче...   Jun 13 2007, 14:42
|- - Abo   Цитата(tolik_zp @ Jun 13 2007, 18:42) spi...   Jun 13 2007, 15:02
|- - tolik_zp   Цитата(Abo @ Jun 13 2007, 18:02) Там есть...   Jun 13 2007, 15:11
|- - KAlex   Цитата(tolik_zp @ Jun 13 2007, 19:11) воб...   Jun 14 2007, 11:13
|- - tolik_zp   Цитата(KAlex @ Jun 14 2007, 14:13) Делаем...   Jun 14 2007, 11:32
- - rezident   ИМХО лучше всего PIP (Picture-In-Picture) реализов...   Jun 13 2007, 15:16
|- - tolik_zp   чтобы не мудрить, вопрос 2: реально ли применить д...   Jun 13 2007, 15:38
- - etoja   Блэкфин может сжимать такие картинки со скоростью ...   Jun 14 2007, 03:10
- - Alex03   А чем ПЛИС то не нравится? Внешняя шина проца на П...   Jun 14 2007, 03:48
|- - tolik_zp   Цитата(Alex03 @ Jun 14 2007, 06:48) А чем...   Jun 14 2007, 08:26
|- - rat   Цитата(tolik_zp @ Jun 14 2007, 15:26) тог...   Jun 14 2007, 08:40
|- - tolik_zp   Цитата(rat @ Jun 14 2007, 11:40) У меня в...   Jun 14 2007, 08:44
|- - rat   Цитата(tolik_zp @ Jun 14 2007, 15:44) а к...   Jun 14 2007, 08:56
|- - tolik_zp   Цитата(rat @ Jun 14 2007, 11:56) Циклон, ...   Jun 14 2007, 09:29
|- - rat   Цитата(tolik_zp @ Jun 14 2007, 16:29) afa...   Jun 14 2007, 09:34
|- - tolik_zp   Цитата(rat @ Jun 14 2007, 12:34) Малацы, ...   Jun 14 2007, 10:05
|- - rat   Цитата(tolik_zp @ Jun 14 2007, 17:05) мне...   Jun 14 2007, 10:34
|- - tolik_zp   Цитата(rat @ Jun 14 2007, 13:34) Поставьт...   Jun 14 2007, 10:39
|- - rat   Цитата(tolik_zp @ Jun 14 2007, 17:39) блэ...   Jun 14 2007, 10:49
||- - rat   Цитата(tolik_zp @ Jun 14 2007, 18:20) рас...   Jun 14 2007, 11:26
||- - tolik_zp   Цитата(KAlex @ Jun 14 2007, 15:25) Никаки...   Jun 14 2007, 12:31
||- - KAlex   Цитата(tolik_zp @ Jun 14 2007, 16:31) Это...   Jun 14 2007, 12:41
||- - tolik_zp   Цитата(KAlex @ Jun 14 2007, 15:41) Да хот...   Jun 14 2007, 12:54
||- - rat   Цитата(tolik_zp @ Jun 14 2007, 19:54) На ...   Jun 15 2007, 05:26
|- - rat   Цитата(KAlex @ Jun 14 2007, 17:19) 1) Счи...   Jun 14 2007, 10:40
- - GetSmart   По-моему всё абсолютно без проблем можно сообразит...   Jun 14 2007, 11:47
- - GetSmart   Реакция на FIQ от (с запасом) 3 до 30 тактов проца...   Jun 14 2007, 12:40
- - GetSmart   Цитата(KAlex)Да хоть 3000. Но оно всегда будет одн...   Jun 14 2007, 13:14
|- - tolik_zp   Цитата(GetSmart @ Jun 14 2007, 16:14) 213...   Jun 14 2007, 14:12
- - GetSmart   Из флэша можно дёргать с теми же 2-3 тактами. Нужн...   Jun 14 2007, 19:25
|- - tolik_zp   Цитата(GetSmart @ Jun 14 2007, 22:25) Из ...   Jun 15 2007, 06:12
- - proba   может это оффтоп, но аналогичное устроиство зделан...   Jun 15 2007, 06:25
- - tolik_zp   Цитата(proba @ Jun 15 2007, 09:25) может ...   Jun 15 2007, 06:32
- - KAlex   Цитата(proba @ Jun 15 2007, 10:25) может ...   Jun 15 2007, 06:38


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:02
Рейтинг@Mail.ru


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