Страница 17 из 44
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Вт ноя 01, 2011 19:54:29
Avarges
Всё правильно. Вчера оптимизировал код, максимум удалось получить 12.7 кадров в секунду, не хватает времени контроллеру, а дисплейчик явно способен на большее.
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Вт ноя 01, 2011 21:50:40
Зукс
А если взять допутсим АРМ и сжать видео в жпег формате?
З.Ы. если кто незнает то есть такой формат видео где все кадры сжимаются в жпег. Помоему этот формат самый простой и не потребудется много времени для декодировки. Зато места будет занимать в десятки раз меньше... Вот только проблема как написать декодер или где взять готовый код для декодирования этого формата...

З.Ы. ЗЗЗЗЗ.ЫЫЫЫЫЫ...: Хотя кстати тут в теме ктото писал что АРМ потянет декодиролвку видео...
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Вт ноя 01, 2011 22:35:32
Foks
Да, этот формат называется MJPEG (Motion JPEG).
Можно взять опенсоурсный.
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Вт ноя 01, 2011 22:45:33
Avarges
А если взять допутсим АРМ и сжать видео в жпег формате?
Какой смысл? Ты раньше правильно писал: разжимать на компе и посылать по шине USB, это самое реальное.
Хотя кстати тут в теме ктото писал что АРМ потянет декодиролвку видео...
Современные форматы MPEG4 видео и H264 не потянет, особенно если ARM7

Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Ср ноя 02, 2011 17:06:02
Зукс
чтоб видео по юсб слать это еще и для компа нужно прогу какуюто типа захвата экрана или чтото типа а это тоже гемор. и еще не стоит забывать что сжатое видео уменьшает скорость потока. Мне когдато давно заказывали сделать видеоролик. Просьба заказчика была - сделать полные несжатые кадры. Так у меня это видео с 720 пикселями по горизонтали на старом компе так тормозило ужасно. А дело в том что поток большой. На сжатое видео нужно больше процессорного времени зато поток будет намного меньше. Я так понял на контроллерах еще никто не пробовал декодировать видео? Мне кажется стоит попробовать какойто формат попроще...
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Ср ноя 02, 2011 17:43:36
Avarges
Зукс писал(а):Я так понял на контроллерах еще никто не пробовал декодировать видео? Мне кажется стоит попробовать какойто формат попроще...
Так попробуй

Обычная вычислительная задача, главное чтоб контроллеру хватало ресурсов на распаковку. Не обязательно даже сразу за MJPEG браться, можно и что попроще: индексированные цвета, RLE.
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Ср ноя 02, 2011 17:50:47
Зукс
в ближайшее время буду начинать заниматся этим. Хотя меня больше интересует воспроизведение видео через юсб
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Ср ноя 02, 2011 19:02:30
Avarges
Разобрался с дисплеем LPH9135-3 теперь:

из телефона Siemens C72, 16 битный цвет выводится, размер экрана 128*128
отличия в инициализации небольшие, можно и в 12 битном цвете использовать, кино с SD карты сразу пошло в уголок выводится, без переделок. Цветопередача мне понравилась намного больше - желтый цвет почти то, что надо.
А вот подсветку от 5 вольт не запитать, подключал 12 вольт через 1.5кОм резистор.
Распайка из гугла правдивая:
Pin number Pin name Pin Description I/O
1 LCD_CS Chip Select (active low) O
2 LCD_RESET Module Reset (active low) O
3 LCD_DC Data / Control Indicator O
4 LCD_CLK Serial Clock O
5 LCD_DATA Serial Data O
6 VDD Power Supply 2.9V DC O
7 GND GND O
8 LCD_ID LCD ID (usually not used) I
9 BL_A Backlight Anode O
10 BL_K Backlight Cathode O

Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Чт ноя 03, 2011 21:43:29
БАТАРЕЙКУС
а не могли бы вы поподробней рассказать каким образом вам удалось вывести видео на экран, какой формат видео использовали, и каков алгоритм программы
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Пт ноя 04, 2011 03:01:33
Foks
Уже же описали это всё - кадры несжатые были, т.е. просто набор пикселей

Что еще не понятно? Какой алгоритм? Три вложенных цикла - кадр, строка, столбец - это даже алгоритмом сложно назвать.
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Пт ноя 04, 2011 11:39:36
Avarges
Foks, немного не так - без вложенных циклов, порядок такой:
1. Подготавливается файл с потоком пикселей в формате RGB 444.
2. Инициализируется дисплей в режиме цветов - 12 бит.
3. Задаём дисплею размер квадрата и дальше непрерывно выгружаем подготовленный файл с пикселами: читается 1 байт по SPI с SD карты и сразу отправляется в дисплей.
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Пт ноя 04, 2011 16:22:05
Bonio
А не могли бы вы исходники показать?
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Пт ноя 04, 2011 18:22:33
Avarges
Bonio писал(а):
А не могли бы вы исходники показать?
Они у меня уже переправлены под дисплей 9135, там всё в кучу. Могу в личку кинуть "как есть".
Если вопрос в том как получить максимальный FPS, тогда ответ прост.
Эту процедуру вывода одного пиксела...
Код: Выделить всё
void LCD_Pixel(char xPos, char yPos, char color) {
Send_to_lcd( CMD, 0x2A );
Send_to_lcd( DAT, xPos );
Send_to_lcd( DAT, 127 );
Send_to_lcd( CMD, 0x2B );
Send_to_lcd( DAT, yPos );
Send_to_lcd( DAT, 127 );
Send_to_lcd( CMD, 0x2C );
Send_to_lcd( DAT, color );
}
...использовать ТОЛЬКО для вывода одного пиксела.
Чтобы посылать кадр на весь экран делать лучше так:
Код: Выделить всё
// Сначала задается размер квадрата
Send_to_lcd( CMD, 0x2A ); // по горизонтали
Send_to_lcd( DAT, 1 ); // координата левого угла
Send_to_lcd( DAT, 100 ); // правого
Send_to_lcd( CMD, 0x2B ); // по вертикали
Send_to_lcd( DAT, 1 ); // верхнего
Send_to_lcd( DAT, 80 ); // нижнего
// Командой 2С сообщаем дисплею, что пикселы пойдут
Send_to_lcd( CMD, 0x2C );
// Отправляем в дисплей пикселы в любом количестве
// рисуются они попиксельно слева направо и сверху вниз
// когда кадр отрисуется то начинает рисоваться следующий поверх
Send_to_lcd( DAT, color ); // Вывод первого пиксела
Send_to_lcd( DAT, color ); // второго
Send_to_lcd( DAT, color ); // третьего
....
Делая так в 8 раз ускоряется вывод 1 пиксела, потому что на один пиксел вызываем Send_to_lcd только 1 раз, а не 8
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Пт ноя 04, 2011 19:11:58
Bonio
Спасибо, Avarges. Если не трудно, скните исходник в личку.

Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Пт ноя 04, 2011 21:21:55
Avarges
Скинул.
Появилась у меня одна шальная мысль. Ведь эти дисплеи требуют последовательной загрузки данных, а что если взять внешнюю мс 74HC165, её тактировать от 32 МГц, к мк она подключается по параллельному интерфейсу, а выгружает последовательно. На базе атмеги8 нарастить в 2-3 раза FPS чтобы.
Сам сейчас подключил через чип CP2102 мк к компу, получил 1Мбит канал по USB. Но чтобы отрисовать один кадр 128*128 нужно передать 32768 байт, то есть в теории 2.7 фпс по такому каналу, на практике без оптимизации сразу получил жалкие 1.8 фпс

Думал раньше, что чип CP2102 способен выдать честные 12Мбит USB Full-Speed, ошибся.
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Пт ноя 04, 2011 22:09:00
SubDia
Ну допустим. А что с синхронизацией? Как осуществлять тактирование HC165-й? Кто будет давать контроллеру сигнал о передаче следующего байта? Контроллер самостоятельно эти операции не проделает (скорость маловата будет), давать такт на HC165 с внешнего источника бессмысленно - не будет синхронизации с МК. Тут бы с ПЛИСиной поэкспериментировать..
Avarges писал(а):Думал раньше, что чип CP2102 способен выдать честные 12Мбит USB Full-Speed, ошибся.
А я раньше думал, что CP2102 - преобразователь UART->USB.
Вы документацию на CP2102 смотрели? Там черным по белому написано: "
Baud rates: 300 bps to 1 Mbits"

Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Пт ноя 04, 2011 23:31:32
Кислый
Я вас поздравляю.
А давайте заглянем сюда :
http://www.silabs.com/products/interfac ... ridge.aspx
Features
USB 2.0 compliant, full-speed (12 Mbps)
No external crystal required
Up to 1024 Bytes of EEPROM or EPOM
User-programmable custom Baud rates
Supports all modem interface signals
Baud Rates: up to 2 Mbps
Industrial temp
–40 to +85 °C
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Пт ноя 04, 2011 23:41:00
SubDia
Кислый писал(а):USB 2.0 compliant, full-speed (12 Mbps)
Ну и что? Этого можно было даже не приводить.
А теперь заглянем сюда:
http://www.sparkfun.com/datasheets/IC/cp2102.pdf
Asynchronous Serial Data BUS (UART)
z All handshaking and modem interface signals
z Data formats supported:
- Data bits: 5, 6, 7, and 8
- Stop bits: 1, 1.5, and 2
- Parity: odd, even, mark, space, no parity
z
Baud rates: 300 bps to 1 Mbits
z 576 Byte receive buffer; 640 byte transmit buffer
z Hardware or X-On/X-Off handshaking supported
z Event character support
z Line break transmission
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Сб ноя 05, 2011 00:52:50
Кислый
в полудюплексном режиме он работает до 2М
Re: Дисплеи от мобильных телефонов- осцилограммы работы
Добавлено: Сб ноя 05, 2011 01:49:38
SubDia
Ясно. Но Avarges, видимо, все же рассчитывал на все 12М..