Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.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 Посмотрю, спасибо... Змей Горыныч Нет, жжете друг мой вы, полагая что я написав что пользовался гуглом, на самом деле им не пользовался medved_68 Архив поврежден |
Автор: medved_68 01.08.07, 07:07 |
А вот так??? Просто ПДФ файл??? |
Автор: 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 кстати полное название модуля (желатльно со всеми цифрами и буквами) - легче искать по базе. |
Автор: AlexJ 01.08.07, 07:16 |
Цитата medved_68 @ AlexJ кстати полное название модуля (желатльно со всеми цифрами и буквами) - легче искать по базе. А фиг его знает http://cgi.ebay.com/NEW-Data-Vision-P141-5-7-LCD-Touch-Screen-7-inch_W0QQitemZ140141786611QQihZ004QQcategoryZ3698QQcmdZViewItem |
Автор: medved_68 01.08.07, 07:24 |
Посмотрю. |
Автор: ANDLL 01.08.07, 10:25 |
Медвед, спасибо! Кажеться, что надо. Но, к сожалению чтото у меня не получается. Я правильно понимаю, команда передается так: A0 выставляется в 0 Dr0-Dr7 выставляется код команды RW в 0 E в 1 Ждем скажем 1мс E в 0 ? Если да, то у меня чтото не получается. Питание вроде подвел. При включении дисплечик мигнет раз и становится темным. Потом передаю инициализирующие команды, как у тебя написано. Потом передаю команды "переместить курсор в начало" и "включить мигающий курсор". Но он не мигает и вообще ничего на экране не происходит. |
Автор: medved_68 01.08.07, 12:35 |
1.Команды выбора режима шины - 3 раза с паузой 40 мкс. После вкл. питания. Выполнено??? 2.Установка разрядности шины (8 или 4 бита). Выполнено??? После снятия Е читаем флаг занятости BS - если 0 контроллер готов к следующей команде и диалог начался. Если нет - то ждать в цикле (но если что то не так по времени - то я бы задумался насчет соответствия протокола, ведь все таки аналог ). Ну а далее по даташиту. Кстати - глянь вот это там Coolibin на грабли налетел с 4 битовым режимом. |
Автор: ANDLL 01.08.07, 13:07 |
Слушай... А проблема может быть в том что я не могу ждать 40 мкс и жду 1 мс? |
Автор: kolobok0 01.08.07, 15:33 |
в моментинициализации лучше всего выдерживатьвсе интервалы строго... большинство не состыковок именно на этом этапе... с уважением (круглый) |
Автор: medved_68 01.08.07, 15:54 |
Цитата kolobok0 @ в моментинициализации лучше всего выдерживатьвсе интервалы строго... большинство не состыковок именно на этом этапе... Хм...не думаю, я на Пике выжидал примерно 120 мкс и ничего, нормально.ANDLL флаг готовности контроллера BS что сообщает??? Ты его читаешь после подачи 4 команды??? |
Автор: ANDLL 01.08.07, 16:04 |
Он 1 все время после 4 команды. Вообще все биты 1 после нее Режим 8-бит |
Автор: medved_68 01.08.07, 16:13 |
Хм..сегодня в даташитах покопаюсь. Может и найду еще что то или различия на край. |
Автор: ANDLL 01.08.07, 16:22 |
Там вроде чип другой, KS0076... Или они одинаковые? |
Автор: medved_68 02.08.07, 05:27 |
ANDLL Если речь о DV-16230 то все в норме. Кстати просмотрел (нашел все таки в архиве ) оригинальный даташит на семейство (если интересно могу залить на FTP, вес 1,7М) различие в том, что можно выбрать режим только одной строки. Еще надо сравнить тайминги поднятия Е и удержания, т.к. контроллер после активации Е не сразу "считает", что данные валидны (было дело - мучался) + "какая то хрень" с инициализацией, похоже наши перестраховались, подавая команду выбора режима трижды, но точнее пока не скажу (даташит бегло просматривал). |
Автор: ANDLL 02.08.07, 05:36 |
Я сделал тайминг после E в 1 мс. Этого ему должно ведь вхатить? |
Автор: medved_68 02.08.07, 06:35 |
Да. Там вообще счет на наносекунды идет. Команду включения дисплея подавал??? |
Автор: ANDLL 02.08.07, 06:59 |
Не могу, после инициализации и установки разрядности bs = 1 все время |
Автор: medved_68 02.08.07, 08:15 |
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 |
Да, просто уменьшение питания на 3 приводит к снижению контраста. Это как (в какой системе счисления???) Команда включения - 00001111 (0х0F)- курсор мигающий блок, 00001110 (0x0E) - курсор - подчеркивание.??? Добавлено Или у тебя распайка на шине нестандарт??? |
Автор: ANDLL 02.08.07, 11:53 |
Двоичной. Просто старшие нули не написал. Ну знаешь, можно написать 010, а можно 10 это одно и то же. Контроллер выставляет все 8 пинов, это точно. Наименее значимый бит соответсвует DR0, наиболее значимый - DR7 заменил на 00001111, все равно BS все время 1 |
Автор: medved_68 03.08.07, 07:08 |
ANDLL а управление??? Контролировать можешь??? Например, осциллографом?? Просто непонятно пока, почему на "хвосте команды не чует". |
Автор: ANDLL 03.08.07, 08:07 |
Можешь сказать что именно нужно контролировать? |
Автор: XDN 03.08.07, 09:51 |
Очень долго мучился с инициализацией похожего индикатора. Через месяц дошло, что я слишком шустрил, и контроллер не успевал выставить шину. Единственное "но": у меня не было возможности проверить флаг занятости. |
Автор: medved_68 03.08.07, 11:20 |
Сигнал W/R и сигнал Е. Попробуй вообще поднимать сигналы отдельными битовыми командами (если конечно сейчас не так) и в последовательности: А0, W/R, ШД, E. У меня был глюк (но ни на этих типах), когда вообще не воспринимал одновременную подачу ШД и Е, несмотря на то, что в даташите была прописана задержка "восприятия" данных порядка 80 ns. Добавлено Хм..тоже мысль, но для этого и есть 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 и 13 попадают правильно)1 4 5 8 9 12 13 2 3 6 7 10 11 14 ?? |
Автор: medved_68 03.08.07, 13:19 |
Хм..правильно используешь. Хочешь сказать - китайцы, все может быть??? Проверь тогда DB7 - BS по пинам после включения питания, без подачи каких нибудь команд. Может повезет - при установке бита чтения ноль выловишь. |
Автор: ANDLL 03.08.07, 17:30 |
1. Все время 1 все биты. Ерунда какаято.... |
Автор: medved_68 04.08.07, 12:12 |
Единица или импеданс??? И чем смотришь??? Если на Е низкий уровень или он в воздухе болтается - то на остальных будет импеданс (отключены от внутренней шины). |
Автор: ANDLL 04.08.07, 13:56 |
Эмм, нет я читаю как надо - выставляю a0 в 0, rw в 0, e в 1, жду 1 мс, потом читаю. Ни разу небыло еще что бы хоть один из битов на DR не был равен при этом 1. Пробовал читать сразу после инициализации, после команды включения дисплея(с инициализацией и без)... |
Автор: medved_68 05.08.07, 10:32 |
ANDLL дальше что, после ожидания 1 мс?? Перед чтением и само чтение, подробней пожалуйста. Кстати индикатор (по твоим словам, см. выше) зажигается и гаснет до записи, при подаче питания сразу или после нее??? |
Автор: ANDLL 05.08.07, 19:11 |
Эмм, просто выставляю 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 . Разумеется получал дырку от бублика ). Типа так: Цитата <{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 Марку подкинь. З.Ы. Ау модераторы!!! А где кнопка CODE??? |
Автор: ANDLL 06.08.07, 06:03 |
http://cubloc.com/product/01_01cb405.php Код гляну чуть позже Добавлено Опять то же самое... Не помогает |
Автор: medved_68 06.08.07, 12:07 |
ANDLL остается тогда пошагово проходить каждую команду и контролировать сигналы на шине, вплоть до каждого бита. Чудес обычно не бывает, если маркировка соответствует девайсу и он исправен. |
Автор: AlexJ 06.08.07, 15:40 |
Теперь вместо кнопки CODE есть комбобох CODE(справа от COLOR) что бы сразу выбирать правильную подсветку. P.S. цитатку обрамил в тэги -Added А с тем парнем с narod.ru не получилось связаться ? Может действительно какое то отличие в контроллерах LCD ? Обычно такие LCD работают без проблем, даже с заметным нарушением временных диаграмм. |
Автор: ANDLL 06.08.07, 15:50 |
medved_68 Спасибо огромное!! Вобщем, приеду через месяц в мокву куплю в чипедипе какой нибуддь нормальный дисплейчик(кстати, что посоветуешь?) На этот пока забью |
Автор: medved_68 07.08.07, 04:42 |
Хм...я сейчас работаю с МТ фирмы МЭЛТ - аналоги - BOLUMIN, достаточно дешевые (по крайней мере SC1602ESLB(аналог) стоит порядка 230-360 руб., а по функционалу - тоже самое, что и твой DV, но, как ни странно, у меня работают без проблем, даже при наплевательском отношении на временные диаграммы (необходимо только выдерживать порядок подачи сигналов). Кстати, в ЧипДипе не самые дешевые (есть практически все, но цены.... ). Попробуй на выходные (желательно суббота) попасть на Митинский рынок (там есть представительства фирм + розничная торговля от того же "Платан" и т.д.), глядишь, что-нибудь и подберешь. Но я обычно заказываю на фирмах по телефону, а потом мой представитель просто забирает заказ в Митино в субботу и там же оплачивает его. AlexJ даташит полностью соответствует тому, что я выложил на русском (проверил, надеюсь тщательно). Единственный затык может быть либо в неработоспособном девайсе, либо в несоответствии девайса и маркировки на нем (было и такое, налетал, но не с DV). ANDLL подкинь полную марку (как написано на дисплее или стикере) девайса, попробую в течении месяца заказать и проверить на конструкции (правда на Пиках), благо сейчас есть устройство (ридер дисконтных карт), который работает на аналогичном BOLUMIN, перепаять - раз плюнуть. Заодно и совместимость проверим. |