Samsung S6B0108 (Winstar WG12864F)

Контроллер
Samsung S6B0108.
Панель
Winstar WG12864F и аналогичные панели.
Тип
LCD с синей подсветкой и белыми точками, монохромный (1 бит на пиксель), вертикальная упаковка пикселей.
Блокировка
Поддерживается, но при блокировке дисплея изображение на нём не видно. Из-за этого при блокировке и разблокировке на дисплее заметен «сбой».
Тестовое оборудование
тестовая плата TEV-LB0. Эта плата входит в состав отладочного комплекта EM1000TEV.

Назначение линий ввода-вывода для WG12864F

Для этой панели нужны шесть линий ввода-вывода и 8-битная шина данных. Линии управления - RST, EN, CS1, CS2, D/I и R/W. Каждую линию управления можно подключить к любому выводу ввода-вывода вашего устройства, и каждый такой вывод должен быть настроен как выход (если устройство требует явной настройки буфера линии ввода-вывода). Шину данных можно подключить к любому 8-битному порту. НЕ настраивайте этот порт как выход.

Для работы дисплея свойство lcd.iomapping должно быть задано правильно (см. Подготовка дисплея к работе). Для этого дисплея строка назначения состоит из семи десятичных значений через запятую:

  1. Номер линии ввода-вывода, подключённой к RST.
  2. Номер линии ввода-вывода, подключённой к EN.
  3. Номер линии ввода-вывода, подключённой к CS1.
  4. Номер линии ввода-вывода, подключённой к CS2.
  5. Номер линии ввода-вывода, подключённой к D/I.
  6. Номер линии ввода-вывода, подключённой к R/W.
  7. Номер порта ввода-вывода, подключённого к DATA7-0.

Номера линий ввода-вывода берутся из перечисления pl_io_num. Номер порта берётся из перечисления pl_io_port_num. Номера линий и портов зависят от платформы. Список констант pl_io_num и pl_io_port_num см. в спецификациях платформы.

Для TEV-LB0 свойство lcd.iomapping нужно установить в "44,46,40,41,43,42,4."

Пример кода - TEV-LB0

Этот код правильно настроит и включит данный контроллер/панель (предполагается, что тестирование ведётся на TEV-LB0):

lcd.iomapping="44,46,40,41,43,42,4" 'RST,EN,CS1,CS2,D/I,R/W,DATA7-0
'configure control lines as outputs
io.num=PL_IO_NUM_46 'EN
io.enabled=YES
io.num=PL_IO_NUM_44 'RST
io.enabled=YES
io.num=PL_IO_NUM_40 'CS1
io.enabled=YES
io.num=PL_IO_NUM_41 'CS2
io.enabled=YES
io.num=PL_IO_NUM_42 'R/W
io.enabled=YES
io.num=PL_IO_NUM_43 'D/I
io.enabled=YES
'set resolution
lcd.width=128
lcd.height=64
'optionally set lcd.rotated here
lcd.enabled=YES 'done!
'turn on the backlight (strictly speaking, this is not related to the LCD control, but we still show it here)
io.num=PL_IO_NUM_47
io.enabled=YES
io.state=HIGH
set_lcd_contrast(11) 'this is for external contrast control circuit

Регулировка контрастности

Это не часть самой панели, но код, который будет работать на TEV-LB0, всё же приводится:

Sub set_lcd_contrast(level As Byte)
   'enable port, output data
   io.portnum=PL_IO_PORT_NUM_4
   io.portenabled=255
   io.portstate=level
   'generate strobe for the data register (on the LCD PCB)
   io.num=PL_IO_NUM_48
   io.enabled=YES
   io.state=HIGH
   io.state=LOW
   'disable port
   io.portenabled=0
End Sub

Можно, конечно, разработать собственную схему регулировки контрастности.

Исходный материал Tibbo обновлён 3 августа 2022Оригинал на docs.tibbo.com · Сообщить об ошибке