Юзаем дисплеи от сотовых и других потаскунчиков.

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Mrshilov
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Ср дек 11, 2013 01:28:14
Откуда: Санкт-Петербург

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение Mrshilov »

А если так попробовать:

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

   SSPEN = 0;
   nCS = 0;      // Разрешаем LCD
   SDO = CD;
   CLK = 0;
   CLK = 1;
Реклама
Chettuser

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение Chettuser »

Вы про этот код?

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

   TRISC3 = 1;
   SSPEN  = 1;      // включить SPI
   TRISC3 = 0;

Ну да, пришлось устранять "лишний" импульс при включении SPI в режиме CKE=1.
На самом деле "перекрытие" наблюдается совсем не в этом месте, а где то в тех 8 "аппаратных" битах. Так что налицо провода 20см и ещё какие то ёмкости. :))
Реклама
Mrshilov
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Ср дек 11, 2013 01:28:14
Откуда: Санкт-Петербург

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение Mrshilov »

Судя по вашим наблюдениям "иногда даёт 0xF8, или 0x78", т.е. дело в старшем бите. Как раз при включении SPI может проскакивать "ненужный" фронт. Вот я и предложил оставить перед его включением линию CLK в 1. Если SPI при включении ставит тоже 1, то фронта не будет, а если ставит 0, то спадающий уровень дисплей проигнорирует.
А у вас перед включением SPI стоит 0.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение dosikus »

Chettuser писал(а): Так что налицо провода 20см и ещё какие то ёмкости. :))
Провода не шлейф часом ? Отдельными и покороче попробуй...
Реклама
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение HHIMERA »

Да там и пробовать нечего... 2520 просто не подходит, а 25К20 со своей ерратой просто верх идиотизма...
Тема уже не раз поднималась... но ТС тупит на своём... Для такого дисплея ПИК24 как минимум... там можно получить непрерывный SPI 9 бит... всё остальное - пустая трата времени...
"Я не даю готовых решений, я заставляю думать!"(С)
Реклама
Chettuser

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение Chettuser »

HHIMERA писал(а): но ТС тупит на своём..
Поосторожнее на поворотах, уважаемый!
Аватара пользователя
abc
Друг Кота
Сообщения: 3686
Зарегистрирован: Чт мар 20, 2008 01:06:40
Откуда: Севастополь

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение abc »

HHIMERA писал(а):Да там и пробовать нечего... 2520 просто не подходит...
Плохому танцору яйца мешают ?
http://forum.modding.ru/viewtopic.php?f ... &start=135 и следующие 3-4 страницы
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение HHIMERA »

Там не танцоры... там кастраты!!! :)))
Это дисплей, примененный в этом проекте, еще на стадии проектирования.
2 десятка проводов, подпаянных к его шлейфу, имеющему шаг 0,5мм
Это SPI???
По теме есть что сказать... или только в луже пузырьки???
Если всё так зашибись... почему у ТС всё так плохо???
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
abc
Друг Кота
Сообщения: 3686
Зарегистрирован: Чт мар 20, 2008 01:06:40
Откуда: Севастополь

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение abc »

Да, сорри, перепутал.
http://forum.modding.ru/viewtopic.php?f ... 2&start=60 - вот похожий, правда, тут у SPI только 4 MHz
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение HHIMERA »

Даже не пытайтесь ещё что-то показывать... :)))
2520 и 25K20 не годятся для SPI 9 бит... результат будет просто унылый... точка...
Мега, STM8 ещё как-то (хотя тоже "плач Ярославны")... ПИК24 и выше, все STM32 (упаковка на лету в режиме 16 бит) уже хорошо... STM32F0xx - вообще без проблем... 9 бит в наличии...
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
wss60
Потрогал лапой паяльник
Сообщения: 350
Зарегистрирован: Пт сен 10, 2010 20:48:01
Откуда: Минск

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение wss60 »

Может, есть у кого нибудь полная инициализация дисплея от Samsung S5230?
Дисплей запускается, но разделен на 2 части и мерцает.
Спойлерvoid initLCD (void)
{
_delay_ms(100);
lcd_cs_hi;
lcd_rs_hi;
lcd_wr_hi;
_delay_ms(10);
lcd_cs_lo;
_delay_ms(10);

//************* Start Initial Sequence **********//
s6d04d1_send_com(0x11); // SLPOUT
_delay_ms(100);

s6d04d1_send_com(0x3A);
s6d04d1_send_dat(0x08);

s6d04d1_send_com(0x36); //Ориентация верх-низ дисплея
s6d04d1_send_dat(0x14); //Шлейф внизу - 0,0 вверху справа

s6d04d1_send_com(0x2A);
s6d04d1_send_dat(0x00);
s6d04d1_send_dat(0x00);
s6d04d1_send_dat(0x00);
s6d04d1_send_dat(0xEF);

s6d04d1_send_com(0x2B);
s6d04d1_send_dat(0x00);
s6d04d1_send_dat(0x00);
s6d04d1_send_dat(0x01);
s6d04d1_send_dat(0x8F);

s6d04d1_send_com(0x29); // DISPON
_delay_ms(100);

}
Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение Sergi »

Пользуюсь вот такой
Вложения
LCD_DRV_FSMC.c
(6.9 КБ) 361 скачивание
Chettuser

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение Chettuser »

Делал попытку переписать команды с даташита... потом надоело, может поможет?
Правда мне и самому интересно стало узнать полную структуру инициализации. :)
Спойлер

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

/****** Команды и параметры S6D04D1 (LCD Samsung S5230) *********/
// LEVEL 1
#define NOP			0x00 // W 5.2.1 Пустой оператор
#define SWRESET		0x01 // W 5.2.2 Программный сброс
#define RDDIDIF		0x04 // R (ID10-ID17, ID20-ID27, ID30-ID37) 5.2.3 Чтение ID дисплея
#define RDDST		0x09 // R (D25-D31, D16-D22, D9-D10, D5) 5.2.4 Чтение статуса дисплея
						 // D26 - RGB<->BGR, 1 - BGR, 0 - RGB
						 // D22-D20, 101=16bit/pixel, 110=18bit/pixel, 111=24bit/pixel
#define RDDPM		0x0A // R (D2-D7) 5.2.5  Чтение диспея POWER Mode
#define RDDMADCTL	0x0B // R (D2-D7) 5.2.6  Чтение MADCTL
#define RDDCOLMOD	0x0C // R (D0-D6) 5.2.7  Чтение pixel format
						 // D2-D0, 101=16bit/pix, 110=18bit/pix, 111=24bit/pix 
#define RDDSM		0x0E // R (D7-D6) 5.2.8 Чтение режима сигнала дисплея (Tearing Effect)
#define RDDSDR		0x0F // R (D6-D7) 5.2.9 Чтение результатов дисплейной самодиагностики
#define SLPIN		0x10 // W 5.2.10 Включить спящий режим (~120мс)
#define SLPOUT		0x11 // W 5.2.11 Выключить спящий режим (~5 мс)
#define PTLON		0x12 // W 5.2.12 Включение частичного отображения дисплея
#define NORON		0x13 // W 5.2.13 Включить режим нормального дисплея (частичный выкл)
#define DISPOFF		0x28 // W 5.2.14 Выключение дисплея (матрицы)
#define DISPON		0x29 // W 5.2.15 Включение дисплея (матрицы)
#define CASET		0x2A // W (SC8-SC15, SC0-SC7, EC8-EC15, EC0-EC7) 5.2.16 Установка области столбца
#define PASET		0x2B // W (SP8-SP15, SP0-SP7, EP8-EP15, EP0-EP7) 5.2.17 Установка области страницы (строк?)
#define RAMWR		0x2C // W (D0-D7) 5.2.18 Запись в память
#define RAMRD		0x2E // R (-,D0-D7) 5.2.19 Чтение из памяти
#define PTLAR		0x30 // W (SR8-SR15, SR0-SR7, ER8-ER15, ER0-ER7) 5.2.20	Зона частичного режима
#define TEOFF		0x34 // W 5.2.21 Выключение разрыва изображения
#define TEON		0x35 // W (M) 5.2.22 Включение разрыва изображения
#define MADCTL		0x36 // W (D2-D7) 5.2.23 Регистр контроля доступа к памяти
						 // D4-Направление вертикального обновления ML=0 - сверху вниз
						 // ML=1 - снизу вверх
						 // D3 - RGB<->BGR направление 0-RGB, 1-BGR
						 // D2-Направление горизонтального обновления MH=0 - слева направо
						 // MH=1 - справа налево
#define IDMOFF		0x38 // W 5.2.24 Режим ожидания выключить 24bit Color, нормальная частота обновления
#define IDMON		0x39 // W 5.2.25 Режим ожидания включить 8-bit Color
#define COLMOD		0x3A // W (D0-D2, D4-D6) 5.2.26 16/18/24-bit/pixel
#define RDID1		0xDA // R (ID10-ID17) 5.2.27 Производитель LCD модуля
#define RDID2		0xDB // R (ID20-ID26) 5.2.28 Версия LCD модуля/драйвера
#define RDID3		0xDC // R (ID30-ID37) 5.2.29 Идентификатор LCD модуля/драйвера
#define WRDISBV		0x51 // W (RIGHT0-RIGHT7) 5.2.30 Яркость вручную [0...255], управление см. BCMODE, а так же MIE
#define RDDISBV		0x52 // R (RIGHT0-RIGHT7) 5.2.31 Чтение уровня яркости дисплея
#define WRCTRLD		0x53 // W (BL, DD, BCTRL) 5.2.32 Режим подсветки
#define RDCTRLD		0x54 // R (BL, DD, BCTRL) 5.2.33 Чтение значений подсветки
#define WRCABC		0x55 // W (ODE0-ODE1) 5.2.34 Запись MIE режима (яркость) 00-выкл, 01-User, 10-фотоснимок, 11-фильм
#define RDCABC		0x56 // R (ODE0-ODE1) 5.2.35 Чтение режима MIE
#define WRCABCMB	0x5E // W (RIGHT0-RIGHT7) 5.2.36 Установка минимального значения яркости
#define RDCABCMB	0x5F // R (-, RIGHT0-RIGHT7), 5.2.37 Чтение регистров минимальной яркости
#define MIECTL1		0xCA // W (RRC0-RRC7, IERC0-IERC7, SERC0-SERC4-насыщенность ONOFF_DIMM_EN-плавная яркость) 5.2.38 
#define BCMODE		0xCB // W (DE0-DE1) 5.2.39 Режим подсветки 00-откл, 01-ручн, 10-MIE, 11-MIE+ручн

// LEVEL 2
#define DSTB		0xB0 // W (DSTB) 5.3.1 Глубокий режим ожидания
#define SE			0xC6 // W (GAIN0, GAIN1,... SE_M ODE) 5.3.1 Повышенная четкость
#define MIECTL2		0xCC // R/W 5.3.2 Запись в регистры MIE (CAT - определяет резкость перехода, CST - плавность перехода, WIN - область перехода
#define MIECTL3		0xCD // R/W 5.3.2 Диммирование подсветки
#define MTPCTL		0xD0 // R/W 5.3.3 Управление смещением VCOM +31...-31
#define WRVCMOC		0xD1 // R/W 5.3.4 Управление VCOML
#define WRVMLOC		0xD2 // R/W 5.3.5 Установка смещения VCOML +15...-15
#define WRGVDOC		0xD3 // R/W 5.3.6 Установка смещения GVDD +15...-15
#define WRID		0xD4 // R/W 5.3.7 ID definition
#define RDOFFSETC	0xD5 // R 5.3.8 Чтение OFSET CONTROL
#define MDDICTL		0xE0 // W (VWAKE_EN, MDDI_SLP) 5.3.10 Режим MDDI, пробуждение
#define MDDILIK		0xE1 // W MDDI Start position
#define WRPWD		0xF0 // R/W (TEST0-TEST7) 5.3.11
#define DISCTL		0xF2 // R/W 5.3.12 Display control register (частичный экран, инверсия, четные/нечетные строки, 
#define PWRCTL		0xF3 // R/W 5.3.13 Управление питанием драйвера и бустером
#define VCMCTL		0xF4 // R/W 5.3.14 Управление напряжением VCOM
#define SRCCTL		0xF5 // R/W 5.3.15
#define IFCTL		0xF6 // R/W 5.3.16 Управление интерфейсом (565bit)
#define RPGAMCTL	0xF7 // R/W 5.3.17 Положительная гамма для красного
#define RNGAMCTL	0xF8 // R/W 5.3.18 Отрицательная гамма для красного
#define GGAMCTL		0xF9 // R/W 5.3.19 -//- для зеленого
#define GNGAMCTL	0xFA // R/W 5.3.20 -//- для зеленого
#define BGAMCTL		0xFB // R/W 5.3.21 -//- синего
#define BNGAMCTL	0xFC // R/W 5.3.22 -//- синего
#define GATECTL		0xFD // R/W 5.3.23
#define DCON		0xD9 // R/W 5.3.24
#define TESTKEY		0xF1 // W (TESTK0-TESTK7) 5.3.25
#define EDSTEST		0xFF // R/W 5.3.26
Кому не лень исправьте/дополните и пусть валяется на форуме - авось кому пригодится.
Аватара пользователя
wss60
Потрогал лапой паяльник
Сообщения: 350
Зарегистрирован: Пт сен 10, 2010 20:48:01
Откуда: Минск

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение wss60 »

Sergi писал(а):Пользуюсь вот такой
Спасибо!!! Запустился нормально! :music:
Аватара пользователя
CyberVad
Встал на лапы
Сообщения: 142
Зарегистрирован: Сб дек 24, 2011 12:39:03

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение CyberVad »

Я делал так:

_delay_ms(100);
//************* Reset LCD Driver ****************//
ON(Res); // -> 0
_delay_ms(10);
OFF(Res); // -> 1
_delay_ms(10);
ON(CS); // -> 0
//************* Start Initial Sequence **********//
//-------------------------Вывод из спячки------------------------------
LCDCommand(0x11); // SLPOUT
_delay_ms(100);
//--------------Ориентация----2 старших бита отвечают за зеркалирование -------------
LCDCommand(0x36); //Ориентация верх-низ дисплея
LCDData(0b11011100); //Шлейф вверху - 0,0 внизу слева
// LCDData(0b00011100); //Шлейф внизу - 0,0 вверху справа
//-------------------------------Дисплей включить--------------------------
LCDCommand(0x29); // DISPON

Минимально и достаточно ))
Вышел из себя.
Пришел в себя.
Ушел в себя.
И решил больше сегодня никуда не ходить
Chettuser

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение Chettuser »

Некоторые почему то мерцают от минимальной инициализации, судя по отзывам с форума.
Chettuser

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение Chettuser »

Попалась матрица серии C070VW, на сайте http://www.mt-system.ru/catalog/tablica-tft-displeev указан тип интерфейса TTL. Это чего такое? Реально заюзать? На плате стоит что то вроде ARM'а (наименование затёрто), вроде бы без преобразователей типа LVDS.
celladon1
Родился
Сообщения: 19
Зарегистрирован: Ср сен 09, 2009 15:15:59

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение celladon1 »

Может даташит поможет ?
Вложения
C070VW02 V.0.pdf
(1.23 МБ) 348 скачиваний
Ответить

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