Дисплеи от мобильных телефонов- осцилограммы работы

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
Bonio
Прорезались зубы
Сообщения: 230
Зарегистрирован: Вт сен 27, 2011 21:23:36

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение Bonio »

Отдали старую nokia 6101. У неё два цветных экрана, внутренний большой и внешний маленький, у маленького 10 выводов, у большого 22 вывода.
Может есть у кого по ним какая информация?

Изображение
Изображение
Изображение
Аватара пользователя
Avarges
Вымогатель припоя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50
Контактная информация:

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение Avarges »

Bonio, тут есть схема телефона:
http://www.radiomaster.net/load/06/kat/ ... index.html
Аватара пользователя
Bonio
Прорезались зубы
Сообщения: 230
Зарегистрирован: Вт сен 27, 2011 21:23:36

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение Bonio »

Распиновка значит есть, дисплеи работают по I2C? а как ими управлять то? какие команды в него записывать? как инициализировать?
s64
Потрогал лапой паяльник
Сообщения: 321
Зарегистрирован: Пн окт 18, 2010 21:18:21

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение s64 »

посмотри тут http://rossum.posterous.com/
Аватара пользователя
Bonio
Прорезались зубы
Сообщения: 230
Зарегистрирован: Вт сен 27, 2011 21:23:36

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение Bonio »

Он монохромный, и разрешение маленькое. Зато с ним работать легче.
Chettuser

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение Chettuser »

Нарыл англицкую книжку Лусио ди Джасио по PIC32 - там оказывается не просто есть примеры для вывода изображений, но и по видео. :shock:
Кто язык знает и имеет возможность надыбать халявный PIC32 может попробовать свои силы.
Аватара пользователя
Avarges
Вымогатель припоя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50
Контактная информация:

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение Avarges »

Ссылку на скачку книжки не помешало бы. А видео он выводит пожатое чем?
Chettuser

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение Chettuser »

http://hamradio.tomsk.ru/download/Programming%2032-bit%20Microcontrollers%20in%20C%20-%20Exploring%20the%20PIC32%20-%20Lucio%20Di,%20Elseiver.pdf
Part 3/Day13 - UTube

Примеры для MPLAB + C32.

В суть пока не вникал, вникать буду когда смогу по дешёвке намышковать PICkit 3 и что-нибудь из PIC32.
Аватара пользователя
Avarges
Вымогатель припоя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50
Контактная информация:

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение Avarges »

Part 3/Day13 - UTube

Та глава с дисплеями от мобильных телефонов никак не связана. Там описана генерация композитного сигнала для вывода на обычные телевизоры (как в ZX-Spectrum).

Надеялся там увидеть распаковку MPEG2 или хотя бы какого-нибудь кодека с выводом на экранчик от мобильного.
Тут был в соседней теме исходник вывода JPEG картинки на экран мобильника, так конечно скорость не супер, даже на ARM 0.2-0.3 секунды уходит на кадр, естественно 99% времени на распаковку JPEG
Аватара пользователя
BigallS
Опытный кот
Сообщения: 752
Зарегистрирован: Пт апр 15, 2011 21:11:22
Откуда: Россия

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение BigallS »

Bonio писал(а):Отдали старую nokia 6101. У неё два цветных экрана, внутренний большой и внешний маленький, у маленького 10 выводов, у большого 22 вывода.
Может есть у кого по ним какая информация?


На счёт маленького дисплея, помоему это аналог от 6100 вот здесь посмотри, http://vrtp.ru/index.php?showtopic=1120 ... ntry181732

а вот большой в этой же теме поищи, ссылки на 1 странице.
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение ELcat »

Здравствуйте, товарищи! Попалось стёклышко. Подскажите, пожалуйста что это, откуда, распиновку, протокол, ДШ - одним словом, можно ли его заюзать и как. Спасибо!
Вложения
3.JPG
(39.47 КБ) 671 скачивание
2.JPG
(77.36 КБ) 741 скачивание
1.JPG
(96.32 КБ) 762 скачивания
Аватара пользователя
neonix
Электрический кот
Сообщения: 1040
Зарегистрирован: Чт фев 19, 2009 17:46:34
Контактная информация:

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение neonix »

Судя по шлейфу похоже на дисплей от nokia5800, надо поискать по форумам ремонтников по маркировке.
Where technology meets enjoyment.
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение ELcat »

neonix писал(а):Судя по шлейфу похоже на дисплей от nokia5800, надо поискать по форумам ремонтников по маркировке.
Спасибо!
А как подпаять, заюзать?
Аватара пользователя
BigallS
Опытный кот
Сообщения: 752
Зарегистрирован: Пт апр 15, 2011 21:11:22
Откуда: Россия

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение BigallS »

ELcat писал(а):
neonix писал(а):Судя по шлейфу похоже на дисплей от nokia5800, надо поискать по форумам ремонтников по маркировке.
Спасибо!
А как подпаять, заюзать?


Схему можно найти, а вот заюзать очень трудно будет, вернее практически невозможно Там последовательный интерфейс, вернее два - LoSSI и HiSSI (скоростной дифференциальный). Где-то на vrtp.ru я об этом читал.
sdsrem
Открыл глаза
Сообщения: 53
Зарегистрирован: Вт апр 13, 2010 03:00:00

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение sdsrem »

Avarges писал(а):Удалось поднять FPS при выводе видео на дисплей, на неожиданную для себя величину: с 12.8 кадров в секунду до 17.9. Поэтому продолжу писать про оптимизацию алгоритма, может кому-то потом пригодится.

Вот тут

Код: Выделить всё

   // Отправляем в дисплей пикселы в любом количестве
   // рисуются они попиксельно слева направо и сверху вниз
   // когда кадр отрисуется то начинает рисоваться следующий поверх
   Send_to_lcd( DAT, color ); // Вывод первого пиксела
   Send_to_lcd( DAT, color ); // второго
   Send_to_lcd( DAT, color ); // третьего


Вот сама процедура Send_to_lcd

Код: Выделить всё

void Send_to_lcd (char RS, char data) {
   unsigned char mm;
   
   byte_to_send = data;
   LCD_CLK=0;
   LCD_DATA=0;
   if ((RS_old != RS) || (!RS_old && !RS)) { // проверяю старое значение RS и тут  (мол если прутся одни команды то дергаем CS)
      LCD_CS=1;
      LCD_RS=RS;
      LCD_CS=0;
   }
   for (mm = 0; mm < 8; mm++) { //собсно цикл передачи данных
      LCD_DATA = (byte_to_send >> 7);
      LCD_CLK=1;  // защелкиваю в дисплей
      byte_to_send = (byte_to_send << 1);
      LCD_CLK=0;  //  готовлю к следующей защелке
   }
   RS_old=RS;  // запоминаю значение RS
   LCD_DATA = 0;
}


Пикселы идут всегда с первым параметров для процедуры Send_to_lcd( DAT, ...
сразу можно убрать проверку эту " if ((RS_old != RS) || (!RS_old && !RS))", вместо этого один раз перед выводом пикселов:

Код: Выделить всё

   // Обнуление
   LCD_CLK=0;
   LCD_DATA=0;
   
   // Сообщаем что данные пойдут
   LCD_CS=1;
   LCD_RS=1;
   LCD_CS=0;


Дальше лучше процедуру Send_to_lcd вообще не использовать, потому что каждый вызов процедуры это RCALL и RET команды, по даташиту 3 и 4 машинных такта теряем на каждый пиксел. Поэтому лучше сразу вытащить вывод пиксела прямо в код:

Код: Выделить всё

   
unsigned char mm, cc, color;
...
      cc = color;
      for (mm = 0; mm < 8; mm++) { //собсно цикл передачи данных
         LCD_DATA = 0;
         if (cc > 127) { LCD_DATA = 1; }

         LCD_CLK=1;  // защелкиваю в дисплей
         cc = (cc << 1);
         LCD_CLK=0;  //  готовлю к следующей защелке
      }


Но после этого всего я получил только 12.8 FPS, а 17.9 после того как последний кусок превратил в прямой код (без цикла):

Код: Выделить всё

      LCD_DATA = 0;
      if ((cc & 128) == 128) { LCD_DATA = 1; }
      LCD_CLK=1;
      LCD_CLK=0;
      LCD_DATA = 0;
      if ((cc & 64) == 64) { LCD_DATA = 1; }
      LCD_CLK=1;
      LCD_CLK=0;
      LCD_DATA = 0;
      if ((cc & 32) == 32) { LCD_DATA = 1; }
      LCD_CLK=1;
      LCD_CLK=0;
      LCD_DATA = 0;
      if ((cc & 16) ==16) { LCD_DATA = 1; }
      LCD_CLK=1;
      LCD_CLK=0;
      LCD_DATA = 0;
      if ((cc & 8) == 8) { LCD_DATA = 1; }
      LCD_CLK=1;
      LCD_CLK=0;
      LCD_DATA = 0;
      if ((cc & 4) == 4) { LCD_DATA = 1; }
      LCD_CLK=1;
      LCD_CLK=0;
      LCD_DATA = 0;
      if ((cc & 2) == 2) { LCD_DATA = 1; }
      LCD_CLK=1;
      LCD_CLK=0;
      LCD_DATA = 0;
      if ((cc & 1) == 1) { LCD_DATA = 1; }
      LCD_CLK=1;
      LCD_CLK=0;


Подглядывал как WinAVR это компилирует в ассемблер, в файле .lss получается красивый код на базе SBRC, SBI, CBI команд.
И вот такой код уже даёт 17.9 FPS на том же самом видео из Терминатора-2.


Попробовал ваш код (ради интереса) и сравнил с апаратным SPI, небо и земля, апаратный SPI гораздо быстрей.
Почему вы не используете апаратный SPI ?
Аватара пользователя
Avarges
Вымогатель припоя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50
Контактная информация:

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение Avarges »

Аппаратный SPI использовал для чтения данных с SD. То что сам дисплей можно подключать к SPI в первый раз слышу и вообще-то сомнительно это. Если уж у вас получилось - рапортуйте о подробностях, всем пригодится.
Аватара пользователя
BigallS
Опытный кот
Сообщения: 752
Зарегистрирован: Пт апр 15, 2011 21:11:22
Откуда: Россия

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение BigallS »

sdsrem писал(а):
Avarges писал(а):Удалось поднять FPS при выводе видео на дисплей, на неожиданную для себя величину: с 12.8 кадров в секунду до 17.9. Поэтому продолжу писать про оптимизацию алгоритма, может кому-то потом пригодится.

....

Попробовал ваш код (ради интереса) и сравнил с апаратным SPI, небо и земля, апаратный SPI гораздо быстрей.
Почему вы не используете апаратный SPI ?


А можете исходники показать, и насколько быстро выводит.
sdsrem
Открыл глаза
Сообщения: 53
Зарегистрирован: Вт апр 13, 2010 03:00:00

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение sdsrem »

А чего рапортовать-то, сдесь вроде тоже самое есть,

Код: Выделить всё

// запись одного байта в дисплей
void lcd_write8(char dat)
{
  spi(dat);   //1 байт в регистр данных SPI
}

// запись двух байт
void lcd_write_(unsigned int dat)
{
  lcd_write8(dat>>8);
  lcd_write8 (dat);
}

void lcd_c(void)
{
  CS= 1;
  #asm("nop")
  CS= 0;
}

// выбор регистра в контроллере дисплея
void lcd_reg(char register_name)
{
  lcd_write8(0x74);  // стартовый байт на передачу команды
  lcd_write_(register_name);
  lcd_c();
}

// отправка двух байт в графическую память дисплея
void lcd_dat8(char register_dat1, char register_dat2)
{
  lcd_write8(0x76);  // стартовый байт на запись данных
  lcd_write8(register_dat1);
  lcd_write8(register_dat2);
  lcd_c();

}

// то же самое, но из 16-и битной переменной
void lcd_dat(unsigned int data)
{
  lcd_write8(0x76);  // стартовый байт на запись данных
  lcd_write_(data);
  lcd_c();
}
Аватара пользователя
BigallS
Опытный кот
Сообщения: 752
Зарегистрирован: Пт апр 15, 2011 21:11:22
Откуда: Россия

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение BigallS »

sdsrem писал(а):А чего рапортовать-то, сдесь вроде тоже самое есть,


И насколько быстрее варианта "Avarges", хотя бы 50 fps получается?
Ответить

Вернуться в «Периферия»