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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> ARM + 4.3" LCD + OV7660 CMOS Cam, порекомендуйте оптимальную связку
Ivan Kuznetzov
сообщение Jul 27 2010, 18:48
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Интересует подобная связка. Надо просто с камеры изображение гнать на LCD где-то с 10-15fps (видео-зеркало-заднего-вида) с возможностью по SCCB(I2C) интерфейсу CMOS камеры подстраивать яркость, цветность, изображение в негативе делать.

Дисплей MI0240(ILI9320) c 16-и битной шиной оказался маловат (3.2") хотя и достаточно шустер в режиме 16-битной шины

Вопросы собственно такие:
1) Какой порекомендуете дисплей брать (надо не менее 4.2") и с какой шиной ?
2) Какой МК брать для разжовывания этого всего (я склоняюсь пока к STM32F107 какому-нибудь, и ног много и 70 мегагерц все-таки)
3) Модуль CMOS OV7660 мне нравится, но законченных камерок с оптикой я на этом чипе я не встречал (может кто тоже чего подскажет или ткнет носом?)

P.S.
Вообще копаясь в инете не нашел чтобы с STM32 сопрягали дисплеи с разрешением более 320х240...


Сообщение отредактировал Ivan Kuznetzov - Jul 27 2010, 18:52


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
scifi
сообщение Jul 27 2010, 20:43
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Ivan Kuznetzov @ Jul 27 2010, 22:48) *
Вообще копаясь в инете не нашел чтобы с STM32 сопрягали дисплеи с разрешением более 320х240...

Мы давно работаем с дисплеями 480x272. Ставим графический контроллер S1D13A05. Сейчас как будто появился S1D13781, но пока купить его трудно. Обязательно нужен микроконтроллер с внешней шиной (у STM32 она называется FSMC).
Go to the top of the page
 
+Quote Post
KRS
сообщение Jul 27 2010, 22:20
Сообщение #3


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



А сколько такие дисплеи стоят?
Не проще ли поставить что то типа LPC2478.
Да и вообще NXPшные ARM гораздо быстрее. LPC17xx вообще до 100 Mhz да и флешовый ускоритель у них правильный...
Go to the top of the page
 
+Quote Post
zksystem
сообщение Jul 28 2010, 04:51
Сообщение #4


embedder
***

Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911



Цитата(Ivan Kuznetzov @ Jul 27 2010, 22:48) *
Интересует подобная связка. Надо просто с камеры изображение гнать на LCD где-то с 10-15fps (видео-зеркало-заднего-вида) с возможностью по SCCB(I2C) интерфейсу CMOS камеры подстраивать яркость, цветность, изображение в негативе делать.

Дисплей MI0240(ILI9320) c 16-и битной шиной оказался маловат (3.2") хотя и достаточно шустер в режиме 16-битной шины

Вопросы собственно такие:
1) Какой порекомендуете дисплей брать (надо не менее 4.2") и с какой шиной ?
2) Какой МК брать для разжовывания этого всего (я склоняюсь пока к STM32F107 какому-нибудь, и ног много и 70 мегагерц все-таки)
3) Модуль CMOS OV7660 мне нравится, но законченных камерок с оптикой я на этом чипе я не встречал (может кто тоже чего подскажет или ткнет носом?)

P.S.
Вообще копаясь в инете не нашел чтобы с STM32 сопрягали дисплеи с разрешением более 320х240...

посмотрите сайт starterkit.ru, там есть и платы с LCD и платы с контроллерами к которым они соединяются. Там же из схем к платам можно много почерпнуть.


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
wanderer
сообщение Aug 5 2010, 10:39
Сообщение #5





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



Цитата(Ivan Kuznetzov @ Jul 27 2010, 21:48) *
Интересует подобная связка. Надо просто с камеры изображение гнать на LCD где-то с 10-15fps (видео-зеркало-заднего-вида) с возможностью по SCCB(I2C) интерфейсу CMOS камеры подстраивать яркость, цветность, изображение в негативе делать.
P.S.
Вообще копаясь в инете не нашел чтобы с STM32 сопрягали дисплеи с разрешением более 320х240...

Китайцы предлагают вот такой остроумный вариант http://www.egochina.net.cn/e-shop/ebay/dat...9328_ov7670.rar правда немного с другой камерой.
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Aug 5 2010, 22:33
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Цитата(wanderer @ Aug 5 2010, 16:39) *
Китайцы предлагают вот такой остроумный вариант http://www.egochina.net.cn/e-shop/ebay/dat...9328_ov7670.rar правда немного с другой камерой.


спасибо, видел такое, только там дисплей маловат...

посоветуйте, может есть в природе "большие" (от 4") дисплеи на ili932x и 16 битной шине?


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
proba
сообщение Aug 5 2010, 23:21
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 358
Регистрация: 29-05-05
Пользователь №: 5 526



лучще посмотрите SH7262 от ренесас, все в одном чипе. в качестве камеры исползовал MT9V032, лензы от Sunex.


Сообщение отредактировал proba - Aug 5 2010, 23:33
Go to the top of the page
 
+Quote Post
Клим
сообщение Aug 6 2010, 06:46
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 230
Регистрация: 7-04-08
Из: Украина, Запорожье
Пользователь №: 36 541



Если только как зеркало заднего вида, то может, имеет смысл использовать аналоговую камеру ?
Есть в природе готовые модули дисплеев, которые понимают PAL/NTSC видео-сигнал.
Go to the top of the page
 
+Quote Post
goodwin
сообщение Aug 6 2010, 16:59
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267



Кетайский нафигатор (4.3", вынь ЦЕ ) за 3700 целковых и камера заднего вида к нему за 800 выйдут намного дешевле, чем осуществлять собственные телодвижения... А то и камера+ЖКИ монитор заднего вида могут сгодиться...

Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Aug 6 2010, 17:14
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Цитата(goodwin @ Aug 6 2010, 22:59) *
Кетайский нафигатор (4.3", вынь ЦЕ ) за 3700 целковых и камера заднего вида к нему за 800 выйдут намного дешевле, чем осуществлять собственные телодвижения... А то и камера+ЖКИ монитор заднего вида могут сгодиться...

эхх.. все бы ничего, но необходимы еще и эффекты типа высококонтрастное изображение/негатив-позитив/возможность регулировки цветности/гаммы. Все это есть в цмос камерках, особенно понравилась омни-вижн. Также склоняюсь в сторону TCM8240MD от тошибы, получил ее тут недавно. Мож кто поделится кодом инициализации для неё?

Цитата(proba @ Aug 6 2010, 05:21) *
лучще посмотрите SH7262 от ренесас, все в одном чипе. в качестве камеры исползовал MT9V032, лензы от Sunex.


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

2) камера MT9V032 понравилась,
а. особенно то, что питается едиными 3.3 родными вольтами
б. в стерео объединяется ))
в. кода инициализации пока не нашол, к сожалению ((
г. как с доставаемостью самой камеры и оптики и где вообще эту оптику для таких чип-камер брать?

Сообщение отредактировал Ivan Kuznetzov - Aug 6 2010, 17:16


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
proba
сообщение Aug 6 2010, 21:04
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 358
Регистрация: 29-05-05
Пользователь №: 5 526



1.a. флеш деиствително нет, но и аналогичных процессорах арм9 тоже нет, можно боотит с сериал флеш.
1.b компилеры- ренесасовскии хев, иар, фрееваре кпит.
2. камерами такое дело что и омни и аптина (микрон) только по нда выдают даташит.
мт9v032 в принципе и без доп инит картинку выдает.
разницы между мт9v032 и 022 почти нет, об последнем инфы гораздо болще, напр http://www.analog.com/static/imported-file..._258r262006.pdf
Go to the top of the page
 
+Quote Post
ClockworkOrange
сообщение Sep 17 2010, 05:53
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 337
Регистрация: 17-05-07
Пользователь №: 27 784



OV7660,
MT9V032,
TCM8240MD..

- а где Вы вообще достаёте в России подобные сенсоры? (и линзы к ним)


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Dec 19 2010, 12:21
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Цитата(proba @ Aug 6 2010, 07:21) *
лучще посмотрите SH7262 от ренесас, все в одном чипе. в качестве камеры исползовал MT9V032, лензы от Sunex.

Извините, а можно поподробней, где можно опитку Sunex достать у нас?

Цитата(ClockworkOrange @ Sep 17 2010, 13:53) *
OV7660,
MT9V032,
TCM8240MD..

- а где Вы вообще достаёте в России подобные сенсоры? (и линзы к ним)


через оф диллера, промэлектронику


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Dec 20 2010, 02:00
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Есть проект с камерой OV7670 -> AL422B FIFO -> ILI9325 LCD 8bit. Каждый байт с камеры стробируется PCLK сигналом. Два байта = 1 пиксел в формате RGB565.
До настоящего момента я использовал дисп, который может работать в 8и битном режиме, на контроллере ILI9325, сейчас хочу использовать SSD1963, который не может работать по шине 8 бит в режиме RGB565, но может работать в режиме 16 бит RGB565.
Вопрос, что поставить между камерой и диспом, чтобы две 8и битовые посылки преобразовать в 16 бит слово? Может какую-нибудь жесткую логику чтоли...

Сообщение отредактировал Ivan Kuznetzov - Dec 20 2010, 02:30
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Dec 24 2010, 05:04
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



как вариант предложили 8 битный регистр, но как тогда лучше поделить PCLK ?


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
=SSN=
сообщение Dec 24 2010, 05:11
Сообщение #16


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

Группа: Участник
Сообщений: 161
Регистрация: 9-09-08
Из: РФ
Пользователь №: 40 076



Цитата(Ivan Kuznetzov @ Dec 20 2010, 08:00) *
Вопрос, что поставить между камерой и диспом, чтобы две 8и битовые посылки преобразовать в 16 бит слово? Может какую-нибудь жесткую логику что-ли...

OMAP3530. rolleyes.gif
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Feb 7 2011, 14:04
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Всем привет! Помогите с проблемой, пожалуйста! Собрал схему "видеоглазка" на базе (STM32) + (ALTERA EPM3032) + (SSD1963 LCD) +(MT9V111)

1) Контроллер: STM32
2) Дисплей на SSD1963, подключен к STM32 через FSMC и работает отлично! (картинки из флеш грузит)
3) По прерыванию от кадрового импульса, STM32 задает "окошко" в LCD и посылает команду на запись, затем переводит шину FSMC контроллера STM32 в Z состояние (конфигурирую как обычные GPIO на INPUT_FLOATING)
4) Выставляю пин OE в высокое состояние, тем самым подключая ПЛИСину к дисплею
5) ПЛИСина начинает прокачивать RGB565 поток с камеры распределяя его на 16 бит шину дисплея и дергая ножкой WR
6) И так до следующего VSYNC

Дак вот, когда ПЛИС не подключена к шине - все идет нормально - на дисплее "окошко" с помехами - типа данных нет.
Подключаю линии [7..0] с ПЛИС к шине диспа - после пары кадров происходит сбой, дисп заливается белым цветом, по-видимому дисп ловит какую-то помеху.
Подключаю линии [15..8] с ПЛИС к общей шине - на диспе появляется картинка с искаженными цветами и геометрией

Проблема в том, что с альтеры по-видимому идет помеха по линиям D[7..0]...

Прилагаю свою чудо-схему и код:

Прерывание по VSYNC:
Код
void EXTI4_IRQHandler(void) // Обработчик прерывания по VSYNC
{    
    
     if(EXTI_GetITStatus(EXTI_Line4) != RESET)
     {
      
        GPIO_ResetBits(GPIOC, GPIO_Pin_0);              // 1) Запрещам ПЛИСину по входу OE
            
        LCD_TO_STM32();                     // 2) GPIO STM32 на FSMC           
        
        LcdSetArea(0,0,479,271);                     //Задаем окно LCD GRAM
        
            WriteCommand(0x2C);                 // разрешение на запись GRAM
      
        LCD_TO_CPLD();                      // 3) GPIO STM32 в Z-состояние
        
            GPIO_SetBits(GPIOC, GPIO_Pin_0);             // 4) Подключаем ПЛИС к LCD входом OE
      
       EXTI_ClearITPendingBit(EXTI_Line4);
     }
  
}


Конфигурация порта STM32 для работы с ПЛИС:
Код
void LCD_TO_CPLD(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;
  
  /* SRAM Data lines configuration */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_8 | GPIO_Pin_9 |
                                GPIO_Pin_10 | GPIO_Pin_14 | GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 |
                                GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 |
                                GPIO_Pin_15;
  GPIO_Init(GPIOE, &GPIO_InitStructure);
  
  /* SRAM Address lines configuration */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 |
                                GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_12 | GPIO_Pin_13 |
                                GPIO_Pin_14 | GPIO_Pin_15;
  GPIO_Init(GPIOF, &GPIO_InitStructure);
  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 |
                                GPIO_Pin_4 | GPIO_Pin_5;
  GPIO_Init(GPIOG, &GPIO_InitStructure);
    
  /* NOE and NWE configuration */  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
    
  /* NE3 configuration */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  GPIO_Init(GPIOG, &GPIO_InitStructure);
  
  /* NBL0, NBL1 configuration */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1;
  GPIO_Init(GPIOE, &GPIO_InitStructure);
  
  //--------------  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_11 | GPIO_Pin_12; // RD# pin to HIGH
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
  
   GPIO_ResetBits(GPIOD,GPIO_Pin_12); //CS low
  
  GPIO_SetBits(GPIOD,GPIO_Pin_4);   //RD high
  GPIO_SetBits(GPIOD,GPIO_Pin_11); //RS to data


Ноги на FSMC STM32:
Код
void LCD_TO_STM32(void)
{
   GPIO_InitTypeDef GPIO_InitStructure;
  /* SRAM Data lines configuration */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_8 | GPIO_Pin_9 |
                                GPIO_Pin_10 | GPIO_Pin_14 | GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 |
                                GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 |
                                GPIO_Pin_15;
  GPIO_Init(GPIOE, &GPIO_InitStructure);
  
  /* SRAM Address lines configuration */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 |
                                GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_12 | GPIO_Pin_13 |
                                GPIO_Pin_14 | GPIO_Pin_15;
  GPIO_Init(GPIOF, &GPIO_InitStructure);
  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 |
                                GPIO_Pin_4 | GPIO_Pin_5;
  GPIO_Init(GPIOG, &GPIO_InitStructure);
  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
  
  /* NOE and NWE configuration */  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 |GPIO_Pin_5;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
  
  /* NE3 configuration */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  GPIO_Init(GPIOG, &GPIO_InitStructure);
  
  /* NBL0, NBL1 configuration */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1;
  GPIO_Init(GPIOE, &GPIO_InitStructure);
}


Сообщение отредактировал Ivan Kuznetzov - Feb 7 2011, 14:11
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Feb 7 2011, 15:33
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



фото всего девайса, может дело в проводах? biggrin.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Feb 8 2011, 15:29
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Может проблема в том что MAX3000 это LVTTL?


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
Alla_student
сообщение Apr 12 2011, 21:29
Сообщение #20


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

Группа: Участник
Сообщений: 84
Регистрация: 5-04-11
Пользователь №: 64 146



Цитата(Ivan Kuznetzov @ Feb 8 2011, 19:29) *
Может проблема в том что MAX3000 это LVTTL?


Возможно у вас проблема с метастабильностью плисины, т.е. ПЛИС не синхронизирована с тактовой частотой и процессором.
Go to the top of the page
 
+Quote Post
ведущий_специали...
сообщение Apr 17 2011, 17:40
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 24-11-07
Пользователь №: 32 645



stm32f207 и овцы целы и волки сыты. В наличие к примеру в компэле. Сама сложит RGB565 в регистр и по дма отправит куда скажешь. Ядро при этом обращать внимание на это не будет, так как все аппаратно.
Go to the top of the page
 
+Quote Post

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

 


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


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