Например TDA7294

Форум РадиоКот • Просмотр темы - Подключение дисплея Powertip PG240160C от ПЧ к Discovery
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб дек 27, 2025 02:20:49

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Вт окт 01, 2013 12:00:45 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
Накрылась панель от преобразователя частоты (Altivar 61). Просто горит подсветка дисплея и всё. Прогревание платы помогло, но хватило на неделю. Панель из соседнего частотника в этом частотнике работает. В общем панель под замену. Пришла новая, поставили, всё нормально.

Но дурная голова рукам покоя не дает, поэтому разобрал панель, достал дисплей и хочу попробовать запустить его на плате STM32 Discovery, возможно дисплей живой. Дисплей Powertip PG240160C. На сайте производителя есть описание дисплея. Построен он на двух контроллерах ST8024 и ST8016:
Вложение:
ST8016T.pdf [979.57 KiB]
Скачиваний: 740
Вложение:
Sironix ST8024T V0.12.pdf [647.07 KiB]
Скачиваний: 783

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

Изображение Изображение Изображение Изображение Изображение

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Вт окт 01, 2013 14:43:25 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
Нашел статью: LCD controller for ST8024+ST8016 based displays

Там автор подключает подобный дисплей только 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 -> земля

Так что ли?

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Вт окт 01, 2013 15:38:05 
Это не хвост, это антенна
Аватар пользователя

Карма: 12
Рейтинг сообщений: 102
Зарегистрирован: Вс дек 02, 2012 03:13:48
Сообщений: 1433
Откуда: Калининград
Рейтинг сообщения: 0
Можно для общего понимания почитать Reference manual на STM32L152xx, раздел "15 Liquid crystal display controller (LCD)"

Если вкратце - LCD сегменты они требуют для того чтобы гореть переменного напряжения. И они портятся от того, что через них протекает постоянный ток. Вот из-за этого факта так и строят контроллеры LCD дисплеев.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Вт окт 01, 2013 16:15:04 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
balmer писал(а):
Если вкратце - LCD сегменты они требуют для того чтобы гореть переменного напряжения. И они портятся от того, что через них протекает постоянный ток.

Про это я знаю.

Не пойму какой пин на дисплее за что отвечает. Например frame reverse signal, Bias voltage for non-select - что это такое?

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Сб окт 05, 2013 00:36:09 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср июн 29, 2011 14:16:22
Сообщений: 108
Откуда: __.DP.UA
Рейтинг сообщения: 0
"frame reverse signal" на разъёме дисплея - это то же сигнал, что и FR в драйвере. По сути является входом модуляции для драйвера, каждый кадр нужно менять его логич. состояние. На временной диаграмме в даташитах на драйверы это показано.
Bias voltage for non-select - эти выводы подключаются к источнику опорных напряжений, ориентировочная схема которого опять же есть в даташитах. Конкретную схему этого узла (с номиналами резисторов делителей) нужно срисовывать с платы контроллера дисплея.

_________________
На любой вопрос даю любой ответ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Ср янв 15, 2014 12:57:04 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
Решил снова заняться этим дисплеем. Нашел куда подключается питание в оригинальной плате. Подал туда 24 вольта и увидел что дисплей всё таки жив (видимая область заливается черным):
Изображение

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

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):
Изображение

Амплитуда 3,3 вольта:
Изображение

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

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

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

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

11-й вывод (Data shift pulse):
Изображение

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

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

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

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Ср янв 15, 2014 16:16:14 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
Длина 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 строк.

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

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Пт янв 17, 2014 11:56:01 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
Снял лог логическим анализатором. Не пойму как выставляются данные на входе. Latch переводится как защелка, Shift - сдвиг.

Изображение

Изображение

Изображение

Лог целиком можно открыть в Saleae Logic 1.1.15
Вложение:
Всё.zip [723.84 KiB]
Скачиваний: 326


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 байта всегда меняются. Может это какая то доп. информация?? Перерыл весь даташит на контроллер, никакого упоминания не нашел.

Изображение

Если не считать этих 2-х не понятных байт, то в принципе можно пробовать писАть код под Discovery. Только 4 разных bias voltage меня смущают.

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Пн янв 20, 2014 20:29:40 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 27
Зарегистрирован: Вт авг 09, 2011 15:01:44
Сообщений: 271
Откуда: Харьков
Рейтинг сообщения: 0
больше всего, контроллер рассчитан на разрешение 256x160, а матрица стоит 240x160, вот и пихают в последние 2 байта что попало, все ровно их не видно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Ср янв 22, 2014 18:13:03 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
Пытаюсь вывести изображение. Сделал двумерный массив строки/данные строки. Значения битов записаны начиная с левого верхнего угла изображения.
Код:
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;             //

                 }
            }
    }
}

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

Попробовал жестко выставить данные на линиях:
Код:
   GPIO_SetBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_1);
   GPIO_ResetBits(GPIOC, GPIO_Pin_2 | GPIO_Pin_3);

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

Сомневаюсь в этих строках:
Код:
GPIOC->ODR = picture[STROKA][BYTE] >> 4;
...
GPIOC->ODR = picture[STROKA][BYTE];

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

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Ср янв 22, 2014 20:23:29 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 27
Зарегистрирован: Вт авг 09, 2011 15:01:44
Сообщений: 271
Откуда: Харьков
Рейтинг сообщения: 0
попробуйте такую конструкцию, за одно она не будет мешать старшим битам порта:
Код:
__inline void lcd_dat(uint8_t dat){
   ((dat & (1<<0)) ? (GPIOC->BSRR = GPIO_ODR_ODR0) : (GPIOC->BRR = GPIO_ODR_ODR0));
   ((dat & (1<<1)) ? (GPIOC->BSRR = GPIO_ODR_ODR1) : (GPIOC->BRR = GPIO_ODR_ODR1));
   ((dat & (1<<2)) ? (GPIOC->BSRR = GPIO_ODR_ODR2) : (GPIOC->BRR = GPIO_ODR_ODR2));
   ((dat & (1<<3)) ? (GPIOC->BSRR = GPIO_ODR_ODR3) : (GPIOC->BRR = GPIO_ODR_ODR3));
}

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

                   lcd_dat((picture[STROKA][BYTE]) >> 4);
                   GPIOA->BSRR = GPIO_BSRR_BR3;             // защелкнули данные
                   GPIOA->BSRR = GPIO_BSRR_BS3;             //

                    lcd_dat(picture[STROKA][BYTE]);
                   GPIOA->BSRR = GPIO_BSRR_BR3;             // защелкнули данные
                   GPIOA->BSRR = GPIO_BSRR_BS3;             //

                 }


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Ср янв 22, 2014 21:42:28 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
drakon писал(а):
GPIOC->BSRR =GPIO_ ODR_ODR0;


Когда нибудь влетишь с подобным ...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Ср янв 22, 2014 23:08:17 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 27
Зарегистрирован: Вт авг 09, 2011 15:01:44
Сообщений: 271
Откуда: Харьков
Рейтинг сообщения: 0
все норм, я слежу :)
Код:
  __IO uint32_t BSRR;
  __IO uint32_t BRR;
#define GPIO_ODR_ODR0                        ((uint16_t)0x0001)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Чт янв 23, 2014 10:28:06 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
drakon писал(а):
попробуйте такую конструкцию

То же самое.

Там получается обратная зависимость, если бит равен 1 то пиксель гасится, если 0 то зажигается.

Код:
GPIOC->ODR = 0x00;
...
GPIOC->ODR = 0x00>>4;

Изображение

Все нули в массиве:
Изображение

Картинка:
Изображение

Вообще ничего не понимаю :(

Я бы понял он ничего не отрисовывал, но полоски то 1100 рисует. Если бы частота где то сбивалась, то наверное хаотично. А тут четко пропуск посередине и всё. Хотя и при отрисовке 0х00 из массива пропуски есть. Всё таки что то не то с выводом.

Ещё раз уточню как я понимаю:
Изображение

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Чт янв 23, 2014 15:45:52 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 27
Зарегистрирован: Вт авг 09, 2011 15:01:44
Сообщений: 271
Откуда: Харьков
Рейтинг сообщения: 0
а те 2 непонятных байта вы добавляете в каждую строку?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение дисплея Powertip PG240160C от ПЧ к Discovery
СообщениеДобавлено: Чт янв 23, 2014 20:26:08 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
drakon писал(а):
а те 2 непонятных байта вы добавляете в каждую строку?

Нет. Но вроде бы их и не надо

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 16 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 46


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y