Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Электроника и схемотехника > Опсание DV-16230


Автор: ANDLL 31.07.07, 18:29
Вообще Белгород город славный. Но некоторые вещи в нем найти сложно.
Например из знакосентизирующих индикаторов я нарыл только сабж.
Решил я перед покупочкой поискать мануалы на сабж.
На чипедипе, на официальном сайте и в гугле вообще максимум что я нашел это распиновку.
В частности, там пины

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    RS Register Select Signal
    R/W Read/Write Select Signal H : Read L : Write
    E Enable Signal (No pull-up Resister)
    DB0 - DB7 - датарегистры


Ни описаний протоколов, ничего подобного я не нашел.
Вопрос, как с этим делом работать? Есть ли у кого описание протокола этого девайса?

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

Автор: Змей Горыныч 31.07.07, 21:47
Цитата ANDLL @
На чипедипе, на официальном сайте и в гугле вообще максимум что я нашел это распиновку

гугл жжот, яндекс рулит. с первой страницы: линк на Платан

саму доку я качать не стал, пдфка весит 1.6 метра... по тексту, что лежит в вышеприведённой сцылке, получается что нужное там есть.

если чего не так - ищи доку на контроллер KS0076 - в той доке сказано, что твой нидикатор на нём построен. :)

Автор: AlexJ 31.07.07, 22:56
У себя не нашел даташитов на это китайское чудо,
может спросить у http://scope.narod.ru/lanko/index.html ?
и здесь http://www.crystalfontz.com/forum/archive/index.php/f-7.html

Автор: medved_68 01.08.07, 04:58
Хм...насколько я помню DV-16230 Двухстрочный шестнадцатизначный индикатор на контроллере Hitachi 44780, аналоги KS0066,KS0076.ANDLL если это так то вот даташит, там все расписано - как и что подавать, по каким шинам, и тактировки. :)

Автор: ANDLL 01.08.07, 05:35
AlexJ
Посмотрю, спасибо...
Змей Горыныч
Нет, жжете друг мой вы, полагая что я написав что пользовался гуглом, на самом деле им не пользовался :whistle:
medved_68
Архив поврежден

Автор: medved_68 01.08.07, 07:07
Цитата ANDLL @
medved_68
Архив поврежден

А вот так??? Просто ПДФ файл???

Автор: AlexJ 01.08.07, 07:08
medved_68
кстати даташита на touch screen P141-5, тоже от Data Vision нет случайно ?
что то не могу найти.

Автор: medved_68 01.08.07, 07:08
Цитата AlexJ @
кстати даташита на touch screen P141-5, тоже от Data Vision нет случайно ?
что то не могу найти.

Сегодня посмотрю. ;)

Добавлено
AlexJ кстати полное название модуля (желатльно со всеми цифрами и буквами) - легче искать по базе. :D

Автор: AlexJ 01.08.07, 07:16
Цитата medved_68 @
AlexJ кстати полное название модуля (желатльно со всеми цифрами и буквами) - легче искать по базе. :D

А фиг его знает
http://cgi.ebay.com/NEW-Data-Vision-P141-5-7-LCD-Touch-Screen-7-inch_W0QQitemZ140141786611QQihZ004QQcategoryZ3698QQcmdZViewItem

Автор: medved_68 01.08.07, 07:24
Цитата AlexJ @
А фиг его знает

Посмотрю.

Автор: ANDLL 01.08.07, 10:25
Медвед, спасибо!
Кажеться, что надо.

Но, к сожалению чтото у меня не получается.

Я правильно понимаю, команда передается так:

A0 выставляется в 0
Dr0-Dr7 выставляется код команды
RW в 0
E в 1
Ждем скажем 1мс
E в 0

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

Автор: medved_68 01.08.07, 12:35
Цитата ANDLL @
Потом передаю инициализирующие команды, как у тебя написано.

1.Команды выбора режима шины - 3 раза с паузой 40 мкс. После вкл. питания. Выполнено???
2.Установка разрядности шины (8 или 4 бита). Выполнено??? После снятия Е читаем флаг занятости BS - если 0 контроллер готов к следующей команде и диалог начался. Если нет - то ждать в цикле (но если что то не так по времени - то я бы задумался насчет соответствия протокола, ведь все таки аналог :( ). Ну а далее по даташиту. Кстати - глянь вот это там Coolibin на грабли налетел с 4 битовым режимом.

Автор: ANDLL 01.08.07, 13:07
Слушай... А проблема может быть в том что я не могу ждать 40 мкс и жду 1 мс?

Автор: kolobok0 01.08.07, 15:33
Цитата ANDLL @
Слушай... А проблема может быть в том что я не могу ждать 40 мкс и жду 1 мс?

в моментинициализации лучше всего выдерживатьвсе интервалы строго...
большинство не состыковок именно на этом этапе...

с уважением
(круглый)

Автор: medved_68 01.08.07, 15:54
Цитата ANDLL @
А проблема может быть в том что я не могу ждать 40 мкс и жду 1 мс?

Цитата kolobok0 @
в моментинициализации лучше всего выдерживатьвсе интервалы строго...
большинство не состыковок именно на этом этапе...

Хм...не думаю, я на Пике выжидал примерно 120 мкс и ничего, нормально.ANDLL флаг готовности контроллера BS что сообщает??? Ты его читаешь после подачи 4 команды???

Автор: ANDLL 01.08.07, 16:04
Он 1 все время после 4 команды. Вообще все биты 1 после нее
Режим 8-бит

Автор: medved_68 01.08.07, 16:13
Цитата ANDLL @
Он 1 все время после 4 команды. Вообще все биты 1 после нее

Хм..сегодня в даташитах покопаюсь. Может и найду еще что то или различия на край. :wacko:

Автор: ANDLL 01.08.07, 16:22
Там вроде чип другой, KS0076... Или они одинаковые?

Автор: medved_68 02.08.07, 05:27
Цитата ANDLL @
Там вроде чип другой, KS0076... Или они одинаковые?

ANDLL Если речь о DV-16230 то все в норме. Кстати просмотрел (нашел все таки в архиве :D ) оригинальный даташит на семейство (если интересно могу залить на FTP, вес 1,7М) различие в том, что можно выбрать режим только одной строки. Еще надо сравнить тайминги поднятия Е и удержания, т.к. контроллер после активации Е не сразу "считает", что данные валидны (было дело - мучался) + "какая то хрень" с инициализацией, похоже наши перестраховались, подавая команду выбора режима трижды, но точнее пока не скажу (даташит бегло просматривал). :)

Автор: ANDLL 02.08.07, 05:36
Я сделал тайминг после E в 1 мс. Этого ему должно ведь вхатить?

Автор: medved_68 02.08.07, 06:35
Цитата ANDLL @
Я сделал тайминг после E в 1 мс. Этого ему должно ведь вхатить?

Да. Там вообще счет на наносекунды идет. Команду включения дисплея подавал???

Автор: ANDLL 02.08.07, 06:59
Не могу, после инициализации и установки разрядности bs = 1 все время

Автор: medved_68 02.08.07, 08:15
Цитата ANDLL @
Не могу, после инициализации и установки разрядности bs = 1 все время

ANDLL попробуй убрать инициализацию, просто первой командой подай включение дисплея (все равно по умолчанию 8 бит шина). Что то в родном даташите ничего об этом (инициализация) не говорится. ;)
З.Ы. При подаче напряжения (до подачи команд) на дисплей глянь в каком положении BS.

Автор: ANDLL 02.08.07, 11:24
После включения
жду 10 ms
послыаю команду 0b1000 (включить дисплей)
После нее BS=1 все время. Вообще, все биты DR равны 1. Время между поднятием и опусканием E делаю 1 мс, при чтении и при записи. При чтении читаю сразу после ожидания, непосредственно до спускания линии E

Добавлено
То что я на оба питания(чипа и дисплея, VCC и V0) подаю +5 вольт это нормально?

Автор: medved_68 02.08.07, 11:45
Цитата ANDLL @
То что я на оба питания(чипа и дисплея, VCC и V0) подаю +5 вольт это нормально?

Да, просто уменьшение питания на 3 приводит к снижению контраста.
Цитата ANDLL @
послыаю команду 0b1000 (включить дисплей)

Это как (в какой системе счисления???) :wacko: Команда включения - 00001111 (0х0F)- курсор мигающий блок, 00001110 (0x0E) - курсор - подчеркивание.??? :wacko:

Добавлено
Или у тебя распайка на шине нестандарт??? :wacko:

Автор: ANDLL 02.08.07, 11:53
Цитата medved_68 @
в какой системе счисления???)
Двоичной. Просто старшие нули не написал. Ну знаешь, можно написать 010, а можно 10 это одно и то же. Контроллер выставляет все 8 пинов, это точно. Наименее значимый бит соответсвует DR0, наиболее значимый - DR7
заменил на 00001111, все равно BS все время 1

Автор: medved_68 03.08.07, 07:08
Цитата ANDLL @
Контроллер выставляет все 8 пинов, это точно.

ANDLL а управление??? Контролировать можешь??? Например, осциллографом?? Просто непонятно пока, почему на "хвосте команды не чует". :wacko:

Автор: ANDLL 03.08.07, 08:07
Можешь сказать что именно нужно контролировать?

Автор: XDN 03.08.07, 09:51
Очень долго мучился с инициализацией похожего индикатора. :) Через месяц дошло, что я слишком шустрил, и контроллер не успевал выставить шину. Единственное "но": у меня не было возможности проверить флаг занятости.

Автор: medved_68 03.08.07, 11:20
Цитата ANDLL @
Можешь сказать что именно нужно контролировать?

Сигнал W/R и сигнал Е. Попробуй вообще поднимать сигналы отдельными битовыми командами (если конечно сейчас не так) и в последовательности:
А0, W/R, ШД, E. У меня был глюк (но ни на этих типах), когда вообще не воспринимал одновременную подачу ШД и Е, несмотря на то, что в даташите была прописана задержка "восприятия" данных порядка 80 ns.

Добавлено
Цитата XDN @
что я слишком шустрил, и контроллер не успевал выставить шину.

Хм..тоже мысль, но для этого и есть BS.

Автор: ANDLL 03.08.07, 11:52
Эмм, не пинайте ногами, а там какая распиновка?
у меня там помечены два выхода - 1 и 13...
Я использую такую
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    1 3 5 7 9  11 13
    2 4 6 8 10 12 14

А может правильно так:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    1 4 5 8 9  12 13
    2 3 6 7 10 11 14
(в обоих случаях 1 и 13 попадают правильно)
??

Автор: medved_68 03.08.07, 13:19
Цитата ANDLL @
а там какая распиновка?
Цитата ANDLL @
Я использую такую

Хм..правильно используешь. :wacko:
Цитата ANDLL @
А может правильно так:

Хочешь сказать - китайцы, все может быть??? :) Проверь тогда DB7 - BS по пинам после включения питания, без подачи каких нибудь команд. Может повезет - при установке бита чтения ноль выловишь. :wacko:

Автор: ANDLL 03.08.07, 17:30
1.
Все время 1 все биты. Ерунда какаято....

Автор: medved_68 04.08.07, 12:12
Цитата ANDLL @
Все время 1 все биты. Ерунда какаято....

Единица или импеданс??? И чем смотришь??? Если на Е низкий уровень или он в воздухе болтается - то на остальных будет импеданс (отключены от внутренней шины).

Автор: ANDLL 04.08.07, 13:56
Эмм, нет я читаю как надо - выставляю a0 в 0, rw в 0, e в 1, жду 1 мс, потом читаю. Ни разу небыло еще что бы хоть один из битов на DR не был равен при этом 1. Пробовал читать сразу после инициализации, после команды включения дисплея(с инициализацией и без)...

Автор: medved_68 05.08.07, 10:32
Цитата ANDLL @
e в 1, жду 1 мс, потом читаю.

ANDLL дальше что, после ожидания 1 мс?? Перед чтением и само чтение, подробней пожалуйста. Кстати индикатор (по твоим словам, см. выше) зажигается и гаснет до записи, при подаче питания сразу или после нее???

Автор: ANDLL 05.08.07, 19:11
Цитата medved_68 @
Перед чтением и само чтение, подробней пожалуйста
Эмм, просто выставляю e в 1, 1мс, сохраняю в переменной значение записанное на каждой из ножек dr0-dr7, ставлю e в 0. Усе чтение. Ну перед этим конечно выставляю a0 и rw как писал до этого. вот весь код на бейсике
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    Function ReadStatus()As Byte
        Dim r As Byte
        Low a0
        High rw
        High e
        Wait 1
        r=Bytein(bdr)
        Low e
        ReadStatus=r
    End Function
(дада, у меня извращенческий контроллер который понимает бейсик)
Цитата medved_68 @
а. Кстати индикатор (по твоим словам, см. выше) зажигается и гаснет до записи, при подаче питания сразу или после нее???
При подаче питания. И при отключении питания. Даже если просто вытсавлять и вынимать ножку с ground то виден такой эффект.

Автор: medved_68 06.08.07, 04:38
ANDLL попробуй снимать через 1мс строб Е и не трогая сигналов А0 и R/W производить чтение через 1 мс. Строб - на то и строб, что бы его снять, и контроллер мог что то выполнить. (была похожая проблема с принтером, пробовал читать флаг BUSY при выставленном STROBE . Разумеется получал дырку от бублика :D). Типа так:
Цитата

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    Function ReadStatus()As Byte
        Dim r As Byte
        Low a0
        High rw
        High e
        Wait 1
        Low e
        Wait 1 ' //Попробуй затем это убрать, по даташиту данные остаются валидны  до следующей инструкции или смены    
               ' //управления.
        r=Bytein(bdr)
        ReadStatus=r
    End Function


Цитата ANDLL @
(дада, у меня извращенческий контроллер который понимает бейсик)

:) Марку подкинь. ;)
З.Ы. Ау модераторы!!! А где кнопка CODE??? :wacko:

Автор: ANDLL 06.08.07, 06:03
Цитата medved_68 @
Марку подкинь.

http://cubloc.com/product/01_01cb405.php
Код гляну чуть позже

Добавлено
Опять то же самое... Не помогает :(

Автор: medved_68 06.08.07, 12:07
Цитата ANDLL @
Опять то же самое... Не помогает

ANDLL остается тогда пошагово проходить каждую команду и контролировать сигналы на шине, вплоть до каждого бита. ;) Чудес обычно не бывает, если маркировка соответствует девайсу и он исправен. :)

Автор: AlexJ 06.08.07, 15:40
Цитата medved_68 @
З.Ы. Ау модераторы!!! А где кнопка CODE??? :wacko:

Теперь вместо кнопки CODE есть комбобох CODE(справа от COLOR) что бы сразу выбирать правильную подсветку.
P.S. цитатку обрамил в тэги ;)

-Added
Цитата ANDLL @
Опять то же самое... Не помогает :(

А с тем парнем с narod.ru не получилось связаться ?
Может действительно какое то отличие в контроллерах LCD ?
Обычно такие LCD работают без проблем, даже с заметным нарушением временных диаграмм.

Автор: ANDLL 06.08.07, 15:50
medved_68
Спасибо огромное!!
Вобщем, приеду через месяц в мокву куплю в чипедипе какой нибуддь нормальный дисплейчик(кстати, что посоветуешь?)
На этот пока забью

Автор: medved_68 07.08.07, 04:42
Цитата ANDLL @
(кстати, что посоветуешь?)

Хм...я сейчас работаю с МТ фирмы МЭЛТ - аналоги - BOLUMIN, достаточно дешевые (по крайней мере SC1602ESLB(аналог) стоит порядка 230-360 руб., а по функционалу - тоже самое, что и твой DV, но, как ни странно, у меня работают без проблем, даже при наплевательском отношении на временные диаграммы (необходимо только выдерживать порядок подачи сигналов). Кстати, в ЧипДипе не самые дешевые (есть практически все, но цены.... :( ). Попробуй на выходные (желательно суббота) попасть на Митинский рынок (там есть представительства фирм + розничная торговля от того же "Платан" и т.д.), глядишь, что-нибудь и подберешь. Но я обычно заказываю на фирмах по телефону, а потом мой представитель просто забирает заказ в Митино в субботу и там же оплачивает его. ;)
Цитата AlexJ @
Может действительно какое то отличие в контроллерах LCD ?
AlexJ даташит полностью соответствует тому, что я выложил на русском (проверил, надеюсь тщательно). Единственный затык может быть либо в неработоспособном девайсе, либо в несоответствии девайса и маркировки на нем (было и такое, налетал, но не с DV). ANDLL подкинь полную марку (как написано на дисплее или стикере) девайса, попробую в течении месяца заказать и проверить на конструкции (правда на Пиках), благо сейчас есть устройство (ридер дисконтных карт), который работает на аналогичном BOLUMIN, перепаять - раз плюнуть. Заодно и совместимость проверим. :D

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)