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

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

Добрый день.

Давайте разберёмся с инициализирующей последовательностью дисплея Nokia 1202 (ST).

Исходный материал: http://tuxotronic.or...ent/lcd/ste2007

Ноги дисплея: !RES, !CS, SDA, SCK

Инициализирую, дёргая ноги контроллера attiny (такт. ч-та 1MHz, питание 3.3V) по следующему алгоритму.

1) Исходное состояние: !RES=1, !CS=1, SDA=0, SCK=0

2) Reset: !RES->0, пауза 0.5сек, !RES->1, пауза 0.5сек

3) Передача инициализирующей последовательности (0xA4, 0x2F, 0xAF, 0xA5)



[font=courier new,courier,monospace]CLI                       ; запретить прерывания до конца передачи по SPI

MOV R16, URxBYTE          ; байт данных (будет сдвигаться)
LDI R18, 0x08             ; счётчик сдвига -> 8
CBI INTERFACE_PORT, CSPIN ; !CS->0
CBI INTERFACE_PORT, SDAPIN ; SDA->0 (!D/C)
SBI INTERFACE_PORT, SCKPIN ; SCK _/- (по + фронту бит передаётся в LCD)

on0xBX_1_TxLoop:              ; ЦИКЛ ПЕРЕДАЧИ БАЙТА
CBI INTERFACE_PORT, SCKPIN    ; SCK -\_
MOV R17, R16
ANDI R17, 0x80                ; берём старший бит данных
BST R17, 7                    ; сохраняем в T
IN R19, INTERFACE_PORT
BLD R19, SDAPIN ; T -> SDAPIN
OUT INTERFACE_PORT, R19
LSL R16 ; R16<<1 (байт данных)
DEC R18
SBI INTERFACE_PORT, SCKPIN ; SCK _/-
BRNE on0xBX_1_TxLoop

CBI INTERFACE_PORT, SCKPIN    ; SCK -\_ (по - фронту выполняется команда в LCD)
SBI INTERFACE_PORT, CSPIN     ; !CS->1 (по + фронту !CS вып. команда LCD)

SEI                           ; разрешить прерывания по окончании передачи SPI

RJMP pRxB_ret                 ; возвращаемся в точку выхода[/font]

то есть перед началом передачи:

- !CS->0 (активация интерфейса)

- SDA->0 (первый бит=0, обозначает начало команды)

- SCK->1 (по + фронту данные записываются в приёмник дисплея)

в процессе передачи:

- SDA-> очередной бит данных

- SCK ->0, ->1 (формируем тактовый импульс, данные переносятся по + фронту)

после передачи:

- SCK ->0 (в исходное)

- !CS -> 1 (исходное, отключение интерфейса LCD)

И вот. НИКАКОЙ реакции.

Начальные последовательности какие только не пробовал, и с ресетом (0xE2) и без. И в разной последоваетльности крутил разные команды.

Хотя один раз у меня вдруг отобразились все точки (0xa5 сработала таки?) (причём в тот раз у меня тактовые импульсы подавались вообще ~ 1 гц). Потом показал какую-то рябь на экране, и с тех пор всё.

У кого какие мысли? Я уже мозги сломал.

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

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

в репу каждому, кто отсылает в гугл !!

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

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

мертвяк просто..

Ну чего, "ногодрыгом" не балуемся?.. Столько народу этот дисплей юзают, и всё, видать, на готовом. А где же полёт мысли?.. Ну просто хотя бы отписались те кто запустил, хоть как-то.

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

в репу каждому, кто отсылает в гугл !!

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

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

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

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

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

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

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

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

ага, это всё я уже перечитал.

Большинство юзают библиотеку под С от Chiper. Только там hex выходит непомерного размера (за 13 кБ самый минимум, при том что я вообще выбросил все определения символов (это пара килобайт)), соответственно никуда не влазит. Да и вообще, это из пушки по воробьям. Тем более что для понимания, через обратный инжениринг по С-шной программе восстанавливать алгоритм.. то ещё удовольствие.

Может с частотой что-то. Проскакивала инфа, что слишком малая частота по SPI для дисплея не хорошо. Почему? В даташите ничего не сказано про нижний предел SCK. И что за осциллятор в контроллере дисплея? Зачем он нужен? Там разве не простая логика - загрузил байт - переслал в регистры. Что такое частота обновления экрана? Почему она выставляется при инициализации дисплея? Экран, выходит, перерисовывается циклически? Что за фигня, разве не проще SRAM жёстко привязать к пикселям: единица - ячейка закрашена, 0 - прозрачная. Осциллятор нужен для встроенного преобразователя напряжения (который, кстати, говорят, может сжечь матрицу если выставить слишком большую кратность), но и только.

Нифига не понимаю..

Может резюки надо по входным линиям дисплея цеплять определённого сопротивления? Может уровень 0 какой-то особый, у меня от Tiny напрямую запитано. Хотя она выдаёт 0.03В в нуле, куда ещё-то..

По-прежнему жду в тему человека сведущего. Или простой hex для Tiny2313 для проверки дисплея.

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

в репу каждому, кто отсылает в гугл !!

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

Вот какой контроллер я не знаю.

На дисплее круглая наклейка: ST 0313. Я решил, что это STE2007, как наиболее распространённый.

Народ пишет, что можно считать ID дисплея, но в момент подключения у этого на SDA никаких сигналов я не наблюдал (2МГц осцилл)

Диспей и контроллер питаю от 3.3В, линии подключены к МК непосредственно. Tiny26L

В предыдущей версии питание дисплея 2.8В, питание МК 3.3В, подключение через резисторы 220 Ом. (ур. логического 0 на выходах МК 30мВ)

А с тактовой частотой по SPI как? Там же полностью статическая логика, или нет?

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

в репу каждому, кто отсылает в гугл !!

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

Фигеть читаю,... думаю архив... внизу гляжу - изменено сегодня :)

Уже вроlе разжевано давно. Контроллер там STE2007, ссылок в гугле вагон. Например здесь: http://kazus.ru/forums/attachment.php?attachmentid=23514&d=1309980950 Кое чем отличается от PCF8814

но тестовый пример http://digitalchip.r...cheskom-rezhime залитый в мегу8 заработал сразу. Правда, вылезла другая бяка - слишком большая контрастность... победил инициализацией из даташита (раздел 8.12. VLCD set).

З.Ы. Там 9 битный режим передачи. 9-й бит указывает на тип (команда/данные). Сам дисплей ничего не отдает, только принимает. Может здесь собака порылась?

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

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

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

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

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

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

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

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

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

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

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