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

 
 
> 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
 
Start new topic
Ответов
Ivan Kuznetzov
сообщение Feb 7 2011, 14:04
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 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   ARM + 4.3" LCD + OV7660 CMOS Cam   Jul 27 2010, 18:48
- - scifi   Цитата(Ivan Kuznetzov @ Jul 27 2010, 22:4...   Jul 27 2010, 20:43
- - KRS   А сколько такие дисплеи стоят? Не проще ли постави...   Jul 27 2010, 22:20
- - zksystem   Цитата(Ivan Kuznetzov @ Jul 27 2010, 22:4...   Jul 28 2010, 04:51
- - wanderer   Цитата(Ivan Kuznetzov @ Jul 27 2010, 21:4...   Aug 5 2010, 10:39
|- - Ivan Kuznetzov   Цитата(wanderer @ Aug 5 2010, 16:39) Кита...   Aug 5 2010, 22:33
- - proba   лучще посмотрите SH7262 от ренесас, все в одном чи...   Aug 5 2010, 23:21
|- - Ivan Kuznetzov   Цитата(proba @ Aug 6 2010, 07:21) лучще п...   Dec 19 2010, 12:21
- - Клим   Если только как зеркало заднего вида, то может, им...   Aug 6 2010, 06:46
- - goodwin   Кетайский нафигатор (4.3", вынь ЦЕ ) за 3700 ...   Aug 6 2010, 16:59
|- - Ivan Kuznetzov   Цитата(goodwin @ Aug 6 2010, 22:59) Кетай...   Aug 6 2010, 17:14
- - proba   1.a. флеш деиствително нет, но и аналогичных проц...   Aug 6 2010, 21:04
- - ClockworkOrange   OV7660, MT9V032, TCM8240MD.. - а где Вы вообще д...   Sep 17 2010, 05:53
- - Ivan Kuznetzov   Есть проект с камерой OV7670 -> AL422B FIFO -...   Dec 20 2010, 02:00
|- - =SSN=   Цитата(Ivan Kuznetzov @ Dec 20 2010, 08:0...   Dec 24 2010, 05:11
- - Ivan Kuznetzov   как вариант предложили 8 битный регистр, но как то...   Dec 24 2010, 05:04
- - Ivan Kuznetzov   фото всего девайса, может дело в проводах?   Feb 7 2011, 15:33
- - Ivan Kuznetzov   Может проблема в том что MAX3000 это LVTTL?   Feb 8 2011, 15:29
|- - Alla_student   Цитата(Ivan Kuznetzov @ Feb 8 2011, 19:29...   Apr 12 2011, 21:29
- - ведущий_специалист   stm32f207 и овцы целы и волки сыты. В наличие к пр...   Apr 17 2011, 17:40


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

 


RSS Текстовая версия Сейчас: 20th August 2025 - 07:11
Рейтинг@Mail.ru


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