Перейти к содержанию

Подключение Дисплея Powertip Pg240160C От Пч К Discovery


Рекомендуемые сообщения

Накрылась панель от преобразователя частоты (Altivar 61). Просто горит подсветка дисплея и всё. Прогревание платы помогло, но хватило на неделю. Панель из соседнего частотника в этом частотнике работает. В общем панель под замену. Пришла новая, поставили, всё нормально.

Но дурная голова рукам покоя не дает, поэтому разобрал панель, достал дисплей и хочу попробовать запустить его на плате STM32 Discovery, возможно дисплей живой. Дисплей Powertip PG240160C. На сайте производителя есть описание дисплея. Построен он на двух контроллерах ST8024 и ST8016.

У дисплея нет своей памяти и его нужно постоянно обновлять, т.е. нужен буфер под изображение. Разрешение 240х160. Значит 240*160=38400 бит. 38400/8/1024 ~ 4,7кБ. На дискавери 8 кБ RAM т.е. хватит. Вопрос в другом, я не понимаю распиновку указанную производителем, потому что никогда не имел дела с подобными дисплеями. Что такое frame reverse signal и почему их аж 3 штуки? Bias voltage for non-select? И т.д. по списку. Не знаю с чего начать подключение.

5dmqzu3eh.jpg 5dmrjjmn6.jpg 5dmrmm9ka.jpg 5dmrp6bmk.jpg 5dkmo048b.JPG

ST8016T.pdf

Sironix ST8024T V0.12.pdf

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Нашел статью: LCD controller for ST8024+ST8016 based displays http://elektronika.k...HNNIS3_eng.html

Там автор подключает подобный дисплей только 320х240. И пишет: "чтобы отправить кадр надо установить FLM в 1, подать отрицательный импульс на CL1 чтобы сбросить вертикальный счетчик, вернуть FLM в 0. Теперь отправить 80 4-х битных слов тактированных CL2. После этого подать отриц. импульс на CL1 чтобы увеличить вертикальный счетчик и подождать определенное время до следующей линии. Повторить процедуру отправки для всех линий и снова синхронизировать кадр."

Если посмотреть на распиновку моего дисплея, то получается:

4 -> +18 вольт (контраст)

5 -> +3,3 вольта (питание)

6 -> синхронизация кадра (FLM из примера) ?

7 -> земля

8 -> импульс защелки данных (CL1 из примера) ?

10 -> +3,3 вольт (включаем дисплей)

11 -> импульс смещения данных (CL2 из примера) ?

14-17 -> 4-х битная шина данных

18 -> плюс подсветки

19 -> земля

Так что ли?

Изменено пользователем mr_smit
Ссылка на комментарий
Поделиться на другие сайты

Hongfa для различных применений в Компэл. Большой выбор в наличии!

Компания HONGFA - это не только крупнейший в мире производитель электромеханических реле, но также производитель конденсаторов, вакуумных прерывателей, трансформаторов и низковольтного коммутационного оборудования. На складе КОМПЭЛ регулярно поддерживаются около 100 самых популярных позиций электромеханических реле. Реле Hongfa могут заместить многие изделия производства недоступных брендов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Тренды и лучшие решения для разработки зарядных станций в России

К 2029 году в России прогнозируется увеличение числа зарядных станций до 40 000. При этом отечественный рынок электротранспорта имеет климатические, потребительские и географические особенности. Для успешной разработки и построения инфраструктуры станций заряда в России идеальным вариантом является использование решений и электронных компонентов китайских производителей – лидеров индустрии электротранспорта и возобновляемой энергетики, которые уже представлены в КОМПЭЛ. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

похоже на правду.

столько гемора из-за маленького монохрома. Разве что спортивный интерес, не более

На самом деле уже штук 10 таких панелей накрылись. Мне и интересно ЖК умирает или железо. Массово посыпались через ~ 5-6 лет эксплуатации. Вот такой вот Schneider Electric.

Изменено пользователем mr_smit
Ссылка на комментарий
Поделиться на другие сайты

  • 3 месяца спустя...

Секреты депассивации литиевых батареек FANSO EVE Energy

Самыми лучшими параметрами по энергоемкости, сроку хранения, температурному диапазону и номинальному напряжению обладают батарейки литий-тионилхлоридной электрохимической системы. Но при длительном хранении происходит процесс пассивации. Разберем в чем плюсы и минусы, как можно ее избежать или уменьшить последствия и как проводить депассивацию батареек на примере продукции и рекомендаций компании FANSO EVE Energy. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Решил снова заняться этим дисплеем. Нашел куда подключается питание в оригинальной плате. Подал туда 24 вольта и увидел что дисплей всё таки жив (видимая область заливается черным):

8mnjbgs2c.jpg

Замерил напряжения:

2 (bias voltage) - 2,2 вольта

3 (bias voltage) - 26 вольт

4 (Power supply for LCD) - 28,4 вольта

5 (Power supply for Logic) - 3,3 вольта

12 (bias voltage) - 4,4 вольта

13 (bias voltage) - 24 вольта

Взял осциллограф. Выводы 1,9,20 (Frame Reverse Signal):

8mnkgi056.jpg

Амплитуда 3,3 вольта:

8mnsvt8l3.jpg

Причем все 3 вывода синхронны и повторяют друг друга:

8mnucvcvh.jpg

6-й вывод (Scan start-up signal) - на нем ноль.

На 8-м выводе (Data Latch Pulse) присутствуют импульсы длительностью ~0,6 мкс с интервалом ~80 мкс:

8mo0vm6z8.jpg 8mo2hvk65.jpg

Синхронизация 8-го вывода с 1,9,20. Сверху сигнал с 1 (Frame Reverse Signal), снизу 8 (Data Latch Pulse).

8mo7g8ttv.jpg

11-й вывод (Data shift pulse):

8mocyifis.jpg

Синхронизация 1 (Frame Reverse Signal) и 11 (Data shift pulse). Сверху 11 снизу 1:

8moepbd4s.jpg

Выводы 14-17 (Data bus 3-0) - видно что есть какая то активность.

Пока перевариваю информацию. Может есть у кого идеи? Сделал плату адаптер под дисплей с двумя повышающими преобразователями (делал ещё до замеров к сожалению):

8mombm5j4.jpg

Длина Frame Reverse Signal составляет 13 мс. Интервал импульсов Data Latch Pulse примерно 80 мкс. Получается 13000 мкс / 80 мкс = 162,5 т.е. с учетом погрешности измерения 160. У нас как раз дисплей имеет 160 строк. Но что тогда делает Data shift pulse ? И почему они следуют как бы по два?

Примерно понимаю так: в начале кадра Frame Reverse Signal меняет своё значение. В этот же момент на Data Latch Pulse идет импульс с 0 в 1 и в этот же момент на Data shift pulse идет импульс с 1 в 0 (типа начало передачи строки). После каждого Data Latch Pulse на DATA 3-0 выплевываются данные строки. После завершения передачи строки ещё один импульс Data shift pulse с 1 в 0. Ждем начала следующего Data Latch Pulse. И так все 160 строк.

Но что то пока до конца не понимаю. Прошу помощи.

Ссылка на комментарий
Поделиться на другие сайты

только хотел спросить про втрп, но смотрю вы туда уже обратились. Правда там тематика диспы от сотовых, но в свое время он меня выручил и по фотодисплеям

В поисках работы..

Looking for job

Ссылка на комментарий
Поделиться на другие сайты

Снял лог логическим анализатором. Не пойму как выставляются данные на входе. Latch переводится как защелка, Shift - сдвиг.

8ot5fh86q.png

8ot5vmy72.png

8ot6aob1j.png

Лог целиком можно открыть в Saleae Logic 1.1.15

Всё.zip

Frame Reverse Signal меняет своё состояние каждый кадр. Scan start-up signal - сигнализирует о начале нового кадра. Data Latch Pulse - сигнализирует о начале новой строки. После этого на выводах Data3-0 устанавливаются данные которые тактируются импульсами Data shift pulse. Импульс как бы двойной потому что байт задвигается за 2 раза (по 4 бита) по спадающему фронту Data shift pulse.

Строка состоит из 240 бит (30 байт). Т.е. мы должны отправить 60 раз по 4 бита или 30 байт. Но почему в интервал между строчными импульсами Data Latch Pulse укладывается 32 байта?? Откуда 2 лишних байта?? Причем если все байты равны 0 (дисплей полностью залит), то именно эти 2 байта всегда меняются. Может это какая то доп. информация?? Перерыл весь даташит на контроллер, никакого упоминания не нашел.

8oxp0lnu8.PNG

Изменено пользователем mr_smit
Ссылка на комментарий
Поделиться на другие сайты

Пытаюсь вывести изображение. Сделал двумерный массив строки/данные строки. Значения битов записаны начиная с левого верхнего угла изображения.

const uint8_t picture[160][30] =
{
{ 0xC3, 0x9F, 0xFF, 0xFF, 0xFF, ...},
{ 0xC3, 0x9F, 0xFF, 0xFF, 0xFF, ...}
...
}

Вывожу на дисплей:

#include <stm32f10x.h>
#include <stm32f10x_conf.h>

#include <stm32f10x_gpio.h>
#include <stm32f10x_rcc.h>
#include <pic.h>

uint8_t			 STROKA, BYTE;
GPIO_InitTypeDef	 PORT;

int main(void)
{
// подаем тактовую частоту на порты
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

// инициализируем порты
PORT.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;
PORT.GPIO_Mode = GPIO_Mode_Out_PP;
PORT.GPIO_Speed = GPIO_Speed_50MHz;
// порт управления
GPIO_Init(GPIOA, &PORT);
// порт данных
GPIO_Init(GPIOC, &PORT);

// начальная установка портов
GPIO_ResetBits(GPIOA, GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2);
GPIO_SetBits(GPIOA,GPIO_Pin_3);

while(1)
{
GPIOA->ODR^=GPIO_ODR_ODR0;	 // каждый кадр инвертируем вывод

GPIOA->BSRR = GPIO_BSRR_BS1;	 // подаём импульс начала кадра
GPIOA->BSRR = GPIO_BSRR_BR1;	 //

	 // построчно отправляем данные
	 for (STROKA = 0; STROKA < 160; STROKA++) {

	 GPIOA->BSRR = GPIO_BSRR_BS2; // импульс новой строки
	 GPIOA->BSRR = GPIO_BSRR_BR2; //

		 // отправляем 30 8-битных слов
		 for (BYTE = 0; BYTE < 30; BYTE++) {

		 GPIOC->ODR = picture[sTROKA][bYTE] >> 4;
		 GPIOA->BSRR = GPIO_BSRR_BR3;			 // защелкнули данные
		 GPIOA->BSRR = GPIO_BSRR_BS3;			 //

			 GPIOC->ODR = picture[sTROKA][bYTE];
		 GPIOA->BSRR = GPIO_BSRR_BR3;			 // защелкнули данные
		 GPIOA->BSRR = GPIO_BSRR_BS3;			 //

			 }
	 }
}
}

Но вместо изображения вижу:

8tmxzjmxh.JPG

Попробовал жестко выставить данные на линиях:

GPIO_SetBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_1);
GPIO_ResetBits(GPIOC, GPIO_Pin_2 | GPIO_Pin_3);

Всё правильно. Чередуются через 2 бита.

8tmz7emcb.JPG

Сомневаюсь в этих строках:

GPIOC->ODR = picture[sTROKA][bYTE] >> 4;
...
GPIOC->ODR = picture[sTROKA][bYTE];

Правильно ли я записываю массив 8-ми битных данных в 16 битный порт (пачками по 4 бита) ?

Изменено пользователем mr_smit
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...