maloii 0 29 февраля, 2008 Опубликовано 29 февраля, 2008 · Жалоба Возникла задача собрать схемку на меге8 которая будет выводить по верх изображения буковки. Тоесть, есть PAL видео сигнал который идёт от камеры, нужно наложить некий текст поверх изображения, допустим время. Сам я ещё новечёк, микроконтроллеры знаю мало, прочёл книжку "Создаём устройства на микро контроллерах" А. В. Белов. Получил общее представление, но как видео сигнал создать ещё мало представляю. В общем предполагаю что нужно создать сигнал и параллельно кинуть его на провод от камеры. Искал здесь похожие темы, чтото нашел но там всё описано всё более глубже, а я хочу для начала научится посто выводить буквы, а потом уже конкретные данные :05: . Может кто выложит простенькую схемку и алгоритм. Только просьба без лишних наворотов, а то бошка вскипит :07: . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 29 февраля, 2008 Опубликовано 29 февраля, 2008 · Жалоба 2 maloii - тема в принципе не новая - но так навскидку помнится писали, что мега едва справляеться - типа лучше фпга или цплд поставить.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
acex2 0 29 февраля, 2008 Опубликовано 29 февраля, 2008 · Жалоба Возникла задача собрать схемку на меге8 которая будет выводить по верх изображения буковки. Тоесть, есть PAL видео сигнал который идёт от камеры, нужно наложить некий текст поверх изображения, допустим время. Сам я ещё новечёк, микроконтроллеры знаю мало, прочёл книжку "Создаём устройства на микро контроллерах" А. В. Белов. Получил общее представление, но как видео сигнал создать ещё мало представляю. В общем предполагаю что нужно создать сигнал и параллельно кинуть его на провод от камеры. Искал здесь похожие темы, чтото нашел но там всё описано всё более глубже, а я хочу для начала научится посто выводить буквы, а потом уже конкретные данные :05: . Может кто выложит простенькую схемку и алгоритм. Только просьба без лишних наворотов, а то бошка вскипит :07: . Если без наворотов и без познаний в основах видеосигнала, то берите готовую микросхему OSD (on-screen display). Например, MAX7456. Там уже все сделано, надо просто через SPI команды передавать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maloii 0 29 февраля, 2008 Опубликовано 29 февраля, 2008 · Жалоба Если без наворотов и без познаний в основах видеосигнала, то берите готовую микросхему OSD (on-screen display). Например, MAX7456. Там уже все сделано, надо просто через SPI команды передавать. не хочу именно изучить, чё до как :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rv3dll 0 29 февраля, 2008 Опубликовано 29 февраля, 2008 · Жалоба для начала научиться выводить пустое окно для этого надо отследить кадровый импульс (изображение передаётся полукадрами) соответственно отследить 2 импульса потом отследить строчные - кадровые импульсы относительно строчных если мне не изменяют память сдвинуты - так как первый полукадр снизу дорисовывает до середины экрана и возвращается вертикально вверх по кадру, соотв начиная строку сверху рисовать с середины, а заканчивается второй до конца и обратный ход возврат по диагонали в левый верхний угол и так далее как только отследите точки отсчитывайте от строчных импульсов время и переключайте пушки на окно и обратно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maloii 0 29 февраля, 2008 Опубликовано 29 февраля, 2008 · Жалоба для начала научиться выводить пустое окно для этого надо отследить кадровый импульс (изображение передаётся полукадрами) соответственно отследить 2 импульса потом отследить строчные - кадровые импульсы относительно строчных если мне не изменяют память сдвинуты - так как первый полукадр снизу дорисовывает до середины экрана и возвращается вертикально вверх по кадру, соотв начиная строку сверху рисовать с середины, а заканчивается второй до конца и обратный ход возврат по диагонали в левый верхний угол и так далее как только отследите точки отсчитывайте от строчных импульсов время и переключайте пушки на окно и обратно Легко сказать :05: , покажите пример схемы и код, или где почитать :07: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jasper 0 29 февраля, 2008 Опубликовано 29 февраля, 2008 · Жалоба Легко сказать :05: , покажите пример схемы и код, или где почитать :07: Simple VGA/Video adapter with ATmega AVR Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maloii 0 6 марта, 2008 Опубликовано 6 марта, 2008 · Жалоба Чтото уже более осмысленное стало выводится но не до конца. По логике вещей должна вывестись одна линия, но выводится 2, плюс они очень реагируют на внешние факторы, видео прилагаю. http://sale-music.com/MPEG0002.AVI непойму чё не так :07: #incl*ude <mega8.h> #incl*ude <delay.h> int i=0; int start_line=200; // íà÷èíàåì âûâîä ñ ëèíèè íîìåð 100 // ñàì òåñòîâûé ñèìâîë (íàðèñîâàí 0 åäèíè÷êàìè) // External Interrupt 0 service routine interrupt [EXT_INT0] void ext_int0_isr(void) { if (i>start_line && i<start_line+90) { delay_us(20); PORTD.7 = 1; PORTD.7 = 1; PORTD.7 = 1; PORTD.7 = 1; PORTD.7 = 0; } i++; } // External Interrupt 1 service routine interrupt [EXT_INT1] void ext_int1_isr(void) { i=0; } // Declare your global variables here void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00; DDRB=0x00; // Port C initialization // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00; DDRC=0x00; // Port D initialization // Func7=Out Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=1 State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x80; DDRD=0x80; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped TCCR0=0x00; TCNT0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: On // INT0 Mode: Any change // INT1: On // INT1 Mode: Any change GICR|=0xC0; MCUCR=0x05; GIFR=0xC0; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // Global enable interrupts #asm("sei") PORTD.7 = 0; while (1) { #asm("sleep") }; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
m-s 0 3 ноября, 2008 Опубликовано 3 ноября, 2008 · Жалоба Делали проэкт на этом максе, очень симпотно получилось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maximiz 0 3 ноября, 2008 Опубликовано 3 ноября, 2008 · Жалоба не хочу именно изучить, чё до как :) Начните тогда с ГОСТ 7845-92 http://handmade.default.lv/viewtopic.php?t=402 Если не париться с чресстрочностью, то легше, это зависит от размера фонта но выводится 2 ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться