Solomon SSD1963 (LCD-P0005)
Два драйвера SSD1963 от Tibbo
- Драйвер «Solomon SSD1963» позволяет переназначать все связанные линии ввода-вывода. Для подключения к WR и RD можно выбрать любые линии GPIO (линии ввода-вывода общего назначения). Любой порт тоже можно назначить шиной данных LCD.
- Драйвер «Solomon SSD1963 (fixed I/O-2)» - тот же драйвер, но все линии ввода-вывода (и порт) назначены заранее. Этот драйвер с фиксированными линиями заметно быстрее «гибкого». Советуем выбирать его при работе с платформой TPP2W (TPS2L). Учтите, что код инициализации LCD (приведён ниже) нужен и с «фиксированным» драйвером.
Совет: чтобы выбрать драйвер, откройте диалог Project Settings и нажмите Customize. В диалоге Customize Project дважды щёлкните Display panel type и выберите нужный драйвер. И не забудьте установить Display (lcd.) object = Enabled.
Назначение линий ввода-вывода для SSD1963
Панели нужны пять линий ввода-вывода и 8-битная шина данных. Управляющие линии: RESET, RS, WR, RD и CS.
Каждая управляющая линия должна быть настроена как выход.
С «гибким» драйвером для управления LCD можно выбрать любые линии GPIO. С «фиксированным» драйвером линии выбраны в Tibbo, и изменить их нельзя.
Чтобы дисплей заработал, значение свойства lcd.iomapping должно быть задано верно (см. Подготовка дисплея к работе). Для этого дисплея строка назначения состоит из шести десятичных значений через запятую:
- Номер линии ввода-вывода, подключённой к RESET. Для «фиксированного» варианта (и платформы TPP2W) это #55.
- Номер линии ввода-вывода, подключённой к RS. Для «фиксированного» варианта (и платформы TPP2W) это #43.
- Номер линии ввода-вывода, подключённой к WR. Для «фиксированного» варианта (и платформы TPP2W) это #42.
- Номер линии ввода-вывода, подключённой к RD. Для «фиксированного» варианта (и платформы TPP2W) это #41.
- Номер линии ввода-вывода, подключённой к CS. Для «фиксированного» варианта (и платформы TPP2W) это #40.
- Номер порта ввода-вывода, подключённого к DB7-0. Для «фиксированного» варианта (и платформы TPP2W) это #0.
Номера линий ввода-вывода берутся из перечисления pl_io_num, номер порта - из перечисления pl_io_port_num. Номера линий и портов зависят от платформы. Список констант pl_io_num и pl_io_port_num см. в спецификациях платформ.
Исходя из сказанного, для платформы TPP2W (и устройства TPS2L) свойство lcd.iomapping нужно установить в "55,43,42,41,40,0."
В TPS2L LCD установлен вверх ногами
Поэтому в коде ниже есть строка lcd.rotated = YES!
Без подсветки вы ничего не увидите
Код ниже включает подсветку (активный уровень LOW). Строго говоря, линия управления подсветкой к драйверу Solomon отношения не имеет: это обычная линия GPIO. Но она необходима, поэтому показана здесь. Для управления подсветкой подойдёт любая линия GPIO, даже с «фиксированным» драйвером (опять же потому, что управление подсветкой - независимая линия).
Пример кода - TPP2W
Этот код правильно настроит и включит данный контроллер и панель (предполагается, что тестирование идёт на TPP2). Не забудьте выбрать быстрый драйвер «Solomon SSD1963 (fixed I/O-2)».
lcd.iomapping="55,43,42,41,40,0" 'RESET,RS,WR,RD,CS,DB7-0
io.num=PL_IO_NUM_55 'RESET
io.enabled=YES
io.num=PL_IO_NUM_43 'RS
io.enabled=YES
io.num=PL_IO_NUM_42 'WR
io.enabled=YES
io.num=PL_IO_NUM_41 'RD
io.enabled=YES
io.num=PL_IO_NUM_40 'CS
io.enabled=YES
'set resolution
lcd.width=320
lcd.height=240
lcd.rotated=YES 'the LCD is mounted up side down inside the TPS2L
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_54
io.enabled=YES
io.state=HIGH