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

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Chettuser

Сообщение Chettuser »

Подскажите в каких телефонах стояли дисплеи от Nokia 7110?
Он есть в моём любимом PROTEUS'е.
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 475
Зарегистрирован: Вт дек 07, 2010 15:34:19
Откуда: UA

Сообщение dmirrr »

как не глупо звучит, но в Nokia 7110
Реклама
Chettuser

Сообщение Chettuser »

Я имею ввиду в каких еще, или это конкретный оригинал для конкретного телефона?
Друг Кота
Аватара пользователя
Сообщения: 16545
Зарегистрирован: Вт сен 07, 2010 03:01:06
Откуда: Moscow-Izmaylovo

Сообщение m.ix »

Есть от sgh-e250 дисплей
Может кто то где то видел какую то самоделку типа часы
Лечу лечить WWWашу покалеченную технику.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 85
Зарегистрирован: Пт фев 01, 2013 17:47:26
Откуда: Украина, Луганская область

Сообщение srg320 »

Chettuser, походу dmirrr прав, видимо этот дисплей только для Nokia 7110 (что для Nokia необычно). Просмотрев прайсы трёх фирм, торгующих комплектующими для мобильников, этот дисплей везде идёт отдельной позицией.
Реклама
Родился
Сообщения: 1
Зарегистрирован: Сб мар 09, 2013 11:40:49

Сообщение TimON-I »

Доброе времечко! Есть парочка дисплеев от принтера Epson R390 (принтеры тоже есть, но не сабж). Изведано, что передача последовательная, возможно SPI, есть сигнал data/command. Сама шина представляет собой сигналы SCLK, SCE, SData0, SData1, SData2, RST. Sdata1, SData2 - можно просто отключить - дисплей работает, только вертикально +--+--+--+-- столбцы (полные RGB, а не отдельные цвета) будут отсутствовать. Сделаные выводы: Обмен командами происходит только по SData0. Ибо отключение SData0, независимо от подключение Sdata1 и SData2 приводит к полной незапускаемости дисплея.
Читаю с помощью AVR @20Mhz (больше не получается, контроллер мега8 не стартует) первое прочитанное в качестве команды 0011 0000,0000 0000,0000 далее SCE уходит в "1" и снова падает в "0" Далее идет 1111 0000,0000 0000, 0000 и снова в "1" уходит SCE, далее массив нулей на более повышенной частоте (ну мне так показалось).
Быть может кто-нить поможет "раскусить" как эти дисплеи "оседлать", возможно нечто подобное уже кто-либо где-то видел.. Ну или поделится опытом как его дальше "раскусывать". Частоту работы принтера снизил с 48 до 20 мгц, иначе AVR на 20 мгц совсем ничего не цепляет.. Рассчитываю на вашу помощь..
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 307
Зарегистрирован: Ср мар 31, 2010 11:45:58
Откуда: Славянск

Сообщение Moto_v3x »

TimON-I Вам еще повезло что у вас под руками рабочий принтер, мне подарили такой дисплей, но найти даташит на A00910700 пока не удалось, все что удалось найти на Epson в 100 выводном корпусе не совпадает по распиновке. если не трудно опишите распиновку CN1 а то по схеме принтера не очень понятно. И по перехвату данных наверно лучше в этой теме http://radiokot.ru/forum/viewtopic.php?f=20&t=26497
Встал на лапы
Аватара пользователя
Сообщения: 99
Зарегистрирован: Сб янв 12, 2013 22:43:10
Откуда: Москва

Сообщение -Valerius- »

Поскажите какой контроллер стоит в китайском дисплее TFT8K0594FPC-A1-E
Или ткните - где можно "покопать")
Грызет канифоль
Аватара пользователя
Сообщения: 271
Зарегистрирован: Вт авг 09, 2011 15:01:44
Откуда: Харьков

Сообщение drakon »

какой даташит стоит в LS020?
и еще на L2F50.
Chettuser

Сообщение Chettuser »

Надыбал дисплеи от Qtek S200 (PM300) и HTC (не уточнил пока).
Что реально из этого заюзать?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар

Сообщение Кислый »

кто-нибудь крутил ноги дисплею от NINTENDO DSI NDSI или 3DS ?
Спойлерhttp://www.ebay.com/itm/TOP-UPPER-LCD-SCREEN-REPLACEMENT-NINTENDO-DSI-NDSI-Tool-/190635929069?rt=nc&_trksid=p2047675.m1851&_trkparms=aid%3D222002%26algo%3DSIC.FIT%26ao%3D1%26asc%3D14954%26meid%3D6893491951419243527%26pid%3D100005%26prg%3D1118%26rk%3D1%26sd%3D221001178093%26
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Контактная информация:
Родился
Сообщения: 7
Зарегистрирован: Вт апр 09, 2013 07:01:28

Сообщение Владимир58 »

доброе время суток.Здравствуйте!Можете помочь? Не приходилось работать с драйвером для LCD V61188? По Datasheet V61188 вроде бы ни чего сложного, но на практике пока не получается нормально работать. Может быть, у кого завалялся исходник? Подойдет на любом языке. Или помоги, пожалуйста, разобраться.

Записываю данные в V61188 так:

//подготовка
CLK = 0;
STR = 0;
int i = 0;
Byte addr = 0b10000000;//адрес строки
Byte addrBit = 0;

//задержка
Delay(100ms);

//запись данных в цикле. Заполняются 40 столбцов в определенной строке
for(i = 0 ; i<40 ; i++)
{
CLK = 1;
DI = 1 или 0;//данные
CLK = 0
}

//запись адреса строки сразу после данных
for(i = 0 ; i<8 ; i++)
{
CLK = 1;
addrBit = addr << i;//последовательно выбираем биты адреса для передачи путем сдвига влево
DI = addrBit.B7;//очередной бит адреса строки
CLK = 0
}

STR = 1;
STR=0;

Что я не так делаю? Результат на дисплее не адекватный. Чего-то я видимо не до понял из даташита. В начале какой-то сброс драйвера должен быть? Физически на микросхеме нет такого вывода для сброса. Подаю отдельно импульсы с генератора на 155ЛА3 на вывод FR микросхемы V611188 с частотой при которой исчезает мерцание на дисплее.
Родился
Сообщения: 7
Зарегистрирован: Вт апр 09, 2013 07:01:28

Сообщение Владимир58 »

доброе время суток.Здравствуйте!Можете помочь? Не приходилось работать с драйвером для LCD V61188? По Datasheet V61188 вроде бы ни чего сложного, но на практике пока не получается нормально работать. Может быть, у кого завалялся исходник? Подойдет на любом языке. Или помоги, пожалуйста, разобраться.

Записываю данные в V61188 так:

//подготовка
CLK = 0;
STR = 0;
int i = 0;
Byte addr = 0b10000000;//адрес строки
Byte addrBit = 0;

//задержка
Delay(100ms);

//запись данных в цикле. Заполняются 40 столбцов в определенной строке
for(i = 0 ; i<40 ; i++)
{
CLK = 1;
DI = 1 или 0;//данные
CLK = 0
}

//запись адреса строки сразу после данных
for(i = 0 ; i<8 ; i++)
{
CLK = 1;
addrBit = addr << i;//последовательно выбираем биты адреса для передачи путем сдвига влево
DI = addrBit.B7;//очередной бит адреса строки
CLK = 0
}

STR = 1;
STR=0;

Что я не так делаю? Результат на дисплее не адекватный. Чего-то я видимо не до понял из даташита. В начале какой-то сброс драйвера должен быть? Физически на микросхеме нет такого вывода для сброса. Подаю отдельно импульсы с генератора на 155ЛА3 на вывод FR микросхемы V611188 с частотой при которой исчезает мерцание на дисплее.
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1303
Зарегистрирован: Вс апр 19, 2009 17:20:22
Откуда: г.Ростов-на-Дону/г.Таганрог/г.Геленджик

Сообщение КАШАК »

Доброго времени суток :)

Пытаюсь запустить дисплей на контроллере LS020 с STM32VL Discovery. Инициализация проходит, заливка работает, но вывести какую-либо графику не получается. Все время начинается вывод с краю дисплея и все время какая-то абракадабра. Инициализация вот такая:
Спойлер

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

void SPIsend(int Data)
{
	SPI1->DR = Data;
	while(!((SPI1->SR)&SPI_SR_TXE));
}

void lcd_init_c(void)
{
const unsigned int  INIT1[2] ={0xFDFD,0xFDFD};
const unsigned int  INIT2[10] ={0xEF00,0xEE04,0x1B04,0xFEFE,0xFEFE,0xEF90,0x4A04,0x7F3F,0xEE04,0x4306};
const unsigned int  INIT3[20]={0xEF90,0x0983,0x0800,0x0BAF,0x0A00,0x0500,0x0600,0x0700,0xEF00,0xEE0C,
							   0xEF90,0x0080,0xEFB0,0x4902,0xEF00,0x7F01,0xE181,0xE202,0xE276,0xE183};
const unsigned int  INIT4[3] ={0x8001,0xEF90,0x0000};

 unsigned char cnt;

	RSHi;
	CSHi;
	delay_ms(10);

	RSTLow;
        RSLow;
	delay_ms(15);
	RSTHi;
	CSHi;
	delay_ms(15);
	RSHi;
	delay_ms(15);
	CSLow;
	delay_ms(15);

for (cnt=0; cnt<2; cnt++)
	SPIsend(INIT1[cnt]);
delay_ms(50);

for (cnt=0; cnt<10; cnt++)
	SPIsend(INIT2[cnt]);
delay_ms(7);

for (cnt=0; cnt<20; cnt++)
	SPIsend(INIT3[cnt]);
delay_ms(50);

for (cnt=0; cnt<3; cnt++)
	SPIsend(INIT4[cnt]);
delay_ms(3);

	CSHi;
}
Заливка
Спойлер

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

uint8_t lcd_cmd(uint16_t data)
{
  RSHi;
  CSLow;

  SPI1->DR = data;
  while (!((SPI1->SR)&SPI_SR_RXNE));

  RSLow;
  CSHi;

  return(SPI1->DR);
}

void fill_screen(uint16_t color)
{
  uint16_t i;
  
  lcd_cmd(0xEF90);
  lcd_cmd(0x0500);
  lcd_cmd(0x0600);
  lcd_cmd(0x0700);
 
  for (i = 0; i < DISP_W*DISP_H; i++)
	  SPIsend(color);
}
А вот так пытаюсь вывести пиксель:
Спойлер

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

void put_pixel(int x, int y,long int color)
 {
	  RSHi;
	  CSLow;

	  SPIsend(0xEF90);
	  SPIsend(0x0504);
	  SPIsend((0x06<<8)+y);
	  SPIsend((0x07<<8)+x);

	  RSLow;
	  CSHi;

	  lcd_dat(color); 
 }
В итоге начинается вывод точек из угла дисплея и постепенно заполняются горизонтальные строки. SPI настроен вот так:
Спойлер

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

void SPIinit (void)
{
	SPI1->CR1 |= SPI_CR1_MSTR;		

	SPI1->CR1 |= SPI_CR1_DFF;			

	SPI1->CR1 |= SPI_CR1_SSI | SPI_CR1_SSM;

	SPI1->CR1 |= SPI_CR1_SPE; 		
}
Что я делаю неправильно?

P.S.
На AVR дисплей работал нормально.
Опыт растет прямо пропорционально выведенному из строя оборудованию...
Контактная информация:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1303
Зарегистрирован: Вс апр 19, 2009 17:20:22
Откуда: г.Ростов-на-Дону/г.Таганрог/г.Геленджик

Сообщение КАШАК »

Так, с дисплеем LS020 разобрался, обнаружился непропай на линии CS. Теперь пытаюсь запустить вот такой вот дисплей:
ИзображениеИзображение

В нем вроде как контроллер SSD1289. Подключаю к STM32VL Discovery. Нашел вот такую библиотеку изменил выводы МК для подключения дисплея, скомпилировал в Eclipse (Sourcery CodeBench Lite Toolchain). Но дисплей не запускается. Может кто-нибудь работал с подобным устройством?
Последний раз редактировалось КАШАК Пт май 03, 2013 19:40:01, всего редактировалось 1 раз.
Опыт растет прямо пропорционально выведенному из строя оборудованию...
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

КАШАК писал(а): Может кто-нибудь работал с подобным устройством?
да
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1303
Зарегистрирован: Вс апр 19, 2009 17:20:22
Откуда: г.Ростов-на-Дону/г.Таганрог/г.Геленджик

Сообщение КАШАК »

Можете помочь с запуском? :roll:

Так, нашел еще одну статью, поколдовал над кодом и дисплеем, удалось добиться некоторых результатов. Стали появляться какие-то вертикальные полосы. При чем если брать инициализацию из кода по ссылке выше, полос много, а если брать инициализацию из статью, то полоса всего одна. да и вообще эта самая инициализация почему-то разная :dont_know: Заливка работать отказывается. В какую сторону копать?
Опыт растет прямо пропорционально выведенному из строя оборудованию...
Контактная информация:
Держит паяльник хвостом
Аватара пользователя
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Сообщение SubDia »

Странные вещи проделывает парень из статьи с ногой WR, это навскидку бросилось в глаза. Ну да ладно. По сути.
Вообще я этот дисплей прикручивал к МК по FSMC, но учитывая отсутствие контроллера FSMC в STM32F100, стоящем в VL Discovery, сделать так не выйдет.
В процессе извращенных игрищ с STM32Java, переделывал программу для STM32F407 под софтовый дрыг ногами. Все работало.
Этим могу поделиться (в исходниках запутаетесь, посему могу просто выкинуть в спойлере функции инициализации и записи индекса регистра/данных в регистр).
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1303
Зарегистрирован: Вс апр 19, 2009 17:20:22
Откуда: г.Ростов-на-Дону/г.Таганрог/г.Геленджик

Сообщение КАШАК »

Давайте, буду разбираться :) Главное ведь, инициализировать, дальше легче :) Да, после инициализации на экране должен быть цветной шум?
Опыт растет прямо пропорционально выведенному из строя оборудованию...
Контактная информация:
Ответить

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