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

И снова о Winstar (WG320240B0-TFH-TZ)

Здравствуйте, товарищи!

Я купил выше обозначенный дисплей, но что-либо вывести на него не получается. Использую вот эту либу, поменяв функции для работы с GPIO на современные HALовские и задержки виде "asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");" на нормальные "HAL_Delay(1);".

Из-за дурацкой документации на выше обозначенный дисплей мне никак не удаётся ничего вывести и вот почему:

1. Куда притягивать вывод SEL для работы с этой либой? В документации нет внятной инфы по поводу того 0 это 8080, или наоборот? В любом случае я притягивал SEL и туда и туда и ничего.

2. Команды я подаю после старта следующие:

Spoiler

  GLCD_Initialize();
  GLCD_ClearGraphic();
  GLCD_Circle(100, 100, 30);

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

3. На выходе Vee ничего не намеряется, хотя судя по скудным сведениям там должен быть какой-то минус. Я подключил два одинаковы резюка между Vee, Vo и Vdd как в даташите на другой дисплей:

Spoiler

0aace0.jpg

4. Быть может ещё с уровнями проблема? На Vdd подаю 5в, а на управляющем STM32 уровни логики 3.3В. Вроде оно должно работать насколько я раньше пользовался подобными устройствами. Но может у winstar здесь что-то иначе?

Подскажите, куда копать? 

Изменено пользователем Prizrak_Kommunizma

Поделиться сообщением


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

Тихо сам с собой веду беседу. Узнал из даташита на контроллер дисплея что надо выбирать SEL 0 для интерфейса 8080. Удалось заставить его как-то чихать. При старте после команд:

  GLCD_Initialize();
  GLCD_ClearGraphic();

наблюдаю неоднозначную и каждый раз разную реакцию дисплея. Ниже пару примеров:

Spoiler

IMG_20200803_000526.thumb.jpg.9c890a28778b3d124aebb76f4c4e5a3e.jpgIMG_20200803_000455.thumb.jpg.69f4518ea1b1bd14816f5109ea888964.jpg

Запитываю от штатного источника на 5В на моей плате с МК, напряжение которого сильно скачет:

Spoiler

image.thumb.png.e9d17a057df29c59861b063396ef9d6a.png

При питании от лабораторника такого нет (ни пульсаций питания, что очевидно, ни какой-либо картинки), но за то и тестовые команды:

  GLCD_SetPixel(20, 20, 1);
  GLCD_SetPixel(21, 21, 0);
  GLCD_Rectangle(10, 10, 10, 10);
  GLCD_WriteText("HELLO");

Не дают никакого результата. Собственно как и при работе от штатного источника. Пробовал на лабораторнике выставлять 5.3 , 4.8, 5 и даже 3.3В. Результата нет.

Изменено пользователем Prizrak_Kommunizma

Поделиться сообщением


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

1 hour ago, Prizrak_Kommunizma said:

Тихо сам с собой веду беседу. Узнал из даташита на контроллер дисплея что надо выбирать SEL 0 для интерфейса 8080. Удалось заставить его как-то чихать. При старте после команд:

1. Так а контроллер то на плате какой стоит ? RA8835 или SED1335 ? :) а то ножки SEL там - 2 шт. По картинкам - вы ничего не заставили, контроллер просто сума сходит от ваших манипуляцый с питанием.

У контроллера ЖКИ много настроек ( времянки, память, слои,... ), если их неправильно указать - контроллер может: ничего не показывать / показывать какую-то ерунду / показывать картинку но картинка "дрожит" ... и еще много чудесных артефактов...

Путь только один - задать контроллеру все настройки.

Винстар - да... документация у них хромает :)  Но по большому счету - вам не особо нужна документация на Винстар - а больше нужна на основной контроллер - который установлен в ЖКИ.

Если контроллер все- таки  RA8835 (фото вы не показали) - то он умеет работать от 3,3В питания.

Подключение CS - все таки верните как было, когда все заработает - попробуете подключить на "0", но я бы не советовал так делать :)

2.

"  GLCD_Initialize(); "

что там за параметры контроллера задал хозяин библиотеки - надо разбираться, ... когда я подключал SED1335 - помнится что параметры там были совсем не те, что  нужны были моему контроллеру и ЖКИ.

 

3. Схему надо брать именно на ваш дисплей из документации на него же от производителя дисплея, а не от какого-то непонятного "16 символов 2 строки".

И подключать туда надо не "два одинаковых резюка", а то что нарисовано по схеме - переменный резистор. Резистор подстроить по лучшей контрастности картинки.

4. Копать ... выяснить - какой же все таки контроллер стоит и найти на него документацию.

Найти полную нормальную документацию на сам ЖКИ.

Привести питание ЖКИ в порядок. 

Сделать нормальную полную инициализацию параметров контроллера ЖКИ под "стекло Винстар".

поробовать найти готовый драйвер для контроллера ( например от какого-то GUI ) - но все равно придется разбираться с правильной инициализацией :)

И при условии - что в схеме подключения ошибок нет.

 

 

 

Поделиться сообщением


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

Контроллер RA8835. Собственно вижу,что на дисплее именно он. На всякий случай вот ДШ:

https://www.terraelectronica.ru/pdf/show?pdf_file=%2Fds%2Fpdf%2FW%2FWG320240B0.pdf

 Я нагуглил что RA8835 и SED1335 одно и то же. SEL на RA8835 один выходит на разъём, другим я вообще не управляю, он должен быть подтянут куда надо на самой плате дисплея.

А как то можно проверить, что аппаратный уровень работает? Что угодно подать и что угодно принять, вывести точку, что угодно что уместится в пару дрыгов ножкоами? Просто когда речь заходит о длинной инициализации, пойти не так может что угодно на любом этапе и искать на каком именно долго. По этому надо отладить нижний уровень, а потом приниматься за верхний.

Изменено пользователем Prizrak_Kommunizma

Поделиться сообщением


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

1 hour ago, Prizrak_Kommunizma said:

Контроллер RA8835. Собственно вижу,что на дисплее именно он. На всякий случай вот ДШ:

https://www.terraelectronica.ru/pdf/show?pdf_file=%2Fds%2Fpdf%2FW%2FWG320240B0.pdf

Ок, с контроллером уточнили ...

Это не ДШ - это ... как бы мягче сказать ? "Продаванская замануха " - они всегда так делают - зачем - не знаю, хотя догадываюсь - маркетинг.... Ищите полный ДШ ...  

Например вот такой: http://biakom.com/pdf/WG320240B0_Winstar.pdf

 

1 hour ago, Prizrak_Kommunizma said:

 Я нагуглил что RA8835 и SED1335 одно и то же.

"Совместимо"  и "одно и тоже"  - это разные вещи,  RA8835  - если правильно помню Тайвань,  SED1335 - Epson Япония., года производства разные, и работают - немного по разному.

Можете сравнить - вот этот файл на сайте производителя: https://www.raio.com.tw/data_raio/Datasheet/RA88 Series/RA8835_Simple_DS_v13_Eng.pdf  -6 страниц :) 

 ... а вот этот - полный: https://www.newhavendisplay.com/app_notes/RA8835.pdf - 90 страниц :) 

 

1 hour ago, Prizrak_Kommunizma said:

А как то можно проверить, что аппаратный уровень работает? Что угодно подать и что угодно принять, вывести точку, что угодно что уместится в пару дрыгов ножкоами? Просто когда речь заходит о длинной инициализации, пойти не так может что угодно на любом этапе и искать на каком именно долго. По этому надо отладить нижний уровень, а потом приниматься за верхний.

Проверить? Осциллограф или лучше Логический анализатор есть? если нет - то только следить за поведением стекла после подачи команд управления контроллеру. 

Картинка на стекле будет меняться - только после команды  "включить дисплей", а она обычно идет вконце инициализации - чтоб не видно было "мусора" из памяти. Можно включение сделать раньше для теста :)

 

Читайте ДШ который 90 страниц - там есть объяснение всех команд , и есть пример инициализации - с картинками - что после какого шага должно быть на стекле.

Страница 60 - как раз разбор примера инициализации для стекла 320х240.

Еще для проверки из экрана можно иногда читать ... или то что записали, или флаг занятости, или адрес курсора... при рабочем контроллере - должно быть что-то осмысленное.

Но опять же, очень советую, пересмотреть - пересчитать все значения в настройках, и выставлять только что-то осмысленное. 

Сейчас стекла 320х240 под рукой нет, проверить настройки на живом не могу :) Последнее которое настраивал - было 160х160 - там параметры - совсем другие :)

 

 

Поделиться сообщением


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

Таки заработало с той самой либой.

Оказывается всё это время проблема была с той самой злосчастной контрастностью. Я, увидев что при загрузке на дисплее пробегают какие-то видимые помехи, решил, что с контрастностью у меня всё нормально настроено, ведь иначе я бы их не видел. АНННЕТ! Оказывается это были артефакты, характерные исключительно для загрузки дисплея. А чтобы увидеть изображение из RAM, нужно таки настраивать напряжение VDD - V0 так чтобы оно было в районе 24В, что я нашёл в совершенно другом даташите из интернета, которого НЕТ НА ОФИЦИАЛЬНОЙ СТРАНИЦЕ ДИСПЛЕЯ ГОСПОДИ КТО ИХ ПУСТИЛ НА РЫНОК С ТАКОЙ ДОКУМЕНТАЦИЕЙ ВООБЩЕ!:dash2:

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

Теперь у меня менее животрепещущие, но важные вопросы:

1. Можно ли сделать так, чтобы при старте никаких артефактов на экране вообще не возникало? Это ведь некрасиво для конечного пользователя.

2. Вопрос уже больше по STM32, но чтобы не плодить темы, задам его тут. В библиотеке её создатель изначально описал задержки через несколько "nop" и с ними работает, но моему это в общем случае не верно, ведь на STM32F7 уже есть конвеер, который эти "nop" может поломать. У меня частота ядра МК 100 МГц но если я пытаюсь написать функции задержки с шагом 10 ns, время выполнения инструкций съедает слишком много (сразу до микросекунд минимальная задержка растёт). Вопрос, можно ли сделать функцию для задержки в наносекундах?

Изменено пользователем Prizrak_Kommunizma

Поделиться сообщением


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

Кстати для тех кто случайно нарвётся на эту тему в поисках ответов по работе с CS в RA8835: Нет, его не обязательно дёргать. Достаточно один раз притянуть на землю.

Поделиться сообщением


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

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

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

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

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

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

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

×
×
  • Создать...