| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Програмная эмуляция дисплея |
| Автор: RinOSpro 29.9.2008, 12:08 |
| Здравствуйте! Есть алфавитно-цифровой индицирующий модуль на основе контроллера HD44780. 4 строки на 20 символов. Данные поступают по 4-х разрядной шине. Цель заключается в следующем выводить данные не на LCD экран, а на монитор копьютера. То есть считывать эти биты и интерпретировать их... Хотел узнать есть ли какие нибудь програмные эмуляторы дисплея? Еще проблема в маске, я не знаю правильно ли я читаю данные, ведь от маски зависит все... Люди кто работал с ней помагите плиз!!! |
| Автор: smalcom 29.9.2008, 19:04 | ||||
что именно имеется ввиду? можно выходы с устройства для дисплея кинуть на железку которая генерит видео-сигнал, а можно к примеру на LPT компа и софтом выводить в окошке данные.
ну и? надо угадать как читаешь? |
| Автор: RinOSpro 30.9.2008, 09:11 |
вот примерно это и надо как то интерпретировать получаемый сигнал... но как... там ведь поток неизвестных байтов... и к тому же этот поток предназначен для этой LCD панели... а вот я хз по какому принципу там картинка строиться... Ах забыл сказать данные поступают по 4-х разрядной шине от чипа FTDI2232C по USB в системе ее видно как 2 COM порта, использую их библиотеку. Пишу на Delphi. |
| Автор: Mazzi 30.9.2008, 10:12 | ||
| Возьми документацию на твой дисплей, припаяйся к выводам, затем по даташиту программно определяешь, что в него пихают. На самом деле, там всё не так сложно, вот тебе пример работы с таким дисплеем, из которого ты многое поймёшь(может быть
|
| Автор: RinOSpro 30.9.2008, 12:27 |
| Mazzi - Все уже припаяно... я программист поэтому ни че не паяю... Мне нужно читать данные которые уже шлются в режиме биг банг... (вроде так электронщики говарят) так вот читать я могу но незнаю какую точно маску задавать... в процедуре FT_SetBitMode (эта процедура из библиотеки D2XXUnit чипа FTDI2232C) как я понял от этой маски зависит почти все... |
| Автор: smalcom 30.9.2008, 21:45 | ||||||
| может поможет http://www.embeddedrelated.com/usenet/embedded/show/9020-1.php
для этой... распространенней этой модели наверно и нету - это ж стандарт
картинка ту непричем, там оччень простой набор команд. не пожалей времени - осиль доку.
п...ц. я так понял вы не особо думая(архитектор или электронщики) тупо прибили 4портовый вариант на входные линии USB. передай умельцам, что еще есть R/-W и строб. вобщем выбери кто недоделал - или ты не дорасказал или они недопаяли |
| Автор: Mazzi 1.10.2008, 09:10 | ||
Интересно, где ты взял такую микросхему? На сайте производителя, http://www.ftdichip.com/FTProducts.htm такой нет... Вот список, чипов которые есть: FT232R - USB UART IC (Lead Free) FT245R - USB FIFO IC (Lead Free) FT2232C - Dual USB UART/FIFO IC FT2232L - Dual USB UART/FIFO IC (Lead Free) FT2232D - Dual USB UART/FIFO IC (Lead Free) FT232BM - USB UART IC FT232BL - USB UART IC (Lead Free) FT232BQ - USB UART IC (QFN-32 Lead Free Package) FT245BM - USB FIFO IC FT245BL - USB FIFO IC (Lead Free) FT245BQ - USB FIFO IC (QFN-32 Lead Free Package) FT8U232AM - USB UART IC FT8U245AM - USB FIFO IC FT8U100AX - Multi-Function USB 1.1 Hub Controller IC |
| Автор: Mazzi 1.10.2008, 13:49 |
| Так в чём проблема? Эта микросхема всего лишь преобразователь на железном уровне, в поток данных он не вносит ничего своего. Бери исходник который я выложил раньше и потрудись почитать. В противном случае, тебе не сможет помочь никто. (я имею в виду, если не будешь ничего делать). |
| Автор: RinOSpro 1.10.2008, 15:35 |
| Вот нарисовал примерную схему: http://ipicture.ru/ Mazzi с кодом ознакомился. Но это не совсем то... помоему у меня как раз наоборот не писать в чип который управляет экраном а читать то что идет на него. И наверно придется формировать кодовую таблицу как у знакогенератора HD44780. Тут еще проблема со чтением с 4 битной шины, никогда не читал с такой... может подскажите литературу? В общем как говарит разработчик нужно читать когда 3 бит установле в 1 потом когда он идет в 0 как бы по этому стробу нужно получить первый полубайт потом получить второй полубайт и потом их склеить... вот мне просто интересно где гарантии что я не пропущу первый или 2 полубайт... и к томуже разработчик говарит что там между 2 полубайтами время 15 мкр секунд. я из под винды вообще можно их прочитать? этож вроде оч. быстро... |
| Автор: smalcom 1.10.2008, 20:37 | ||||
доку все-таки не читал?...
но коментс. судя по схеме и по тому что говорит разработчик данная тема вообще плохо относится именно к LCD-модулю. 15микросекунд, то поймать можно но в лупе ждать их... плюс еще и юсб... это изврат у меня возникла мысль, что проще подойти к шефу и сказать, что пусть разработчик железа перепишет прошивку. |
| Автор: Mazzi 2.10.2008, 08:44 |
| RinOSpro, одно из двух, либо ты пытаешься поглумиться над нами, либо не понимаешь, что четырёхбитная шина и ЮСБ это несколько разные вещи и выполнить то, что ты говоришь, именно так как ты говоришь нереально. Ты пишешь для компа, значит данные с ЮСБ к тебе должны приходить в какой нибудь буфер, и не нужно ловить никаких стробов. |
| Автор: xvr 2.10.2008, 11:45 | ||
Сдается мне, что человеку нужно сделать из компа эмулятор железной HD44780, подключив его (комп с программой эмулятором) через FT2232C. IMHO cие невозможно. Нужен какой нибудь CPLD/FPGA/MCU для отлова записей/чтений в эмулируемую HD44780, их буферизации и заливки в USB. |
| Автор: RinOSpro 2.10.2008, 12:38 |
| xvr +1. Ну наконец кто то понял что я хочу. xvr скажи пожалуста на языке электронщиков почему это не возможно? я им попытаюсь объяснить это на их языке... А это что? |
| Автор: smalcom 2.10.2008, 13:24 | ||||||||||||
неа. лучше просмотреть схемку которую выложил топикстартер. по-крайней мере если хочет чтоб действительно помогли кусок схемы в студию
правильно заданный вопрос содержит половину ответа. обратимся к первому сообщению
и? где тут разговор о знакогенераторе
те мало того что топик стартер не разбирается в теме вопроса так еще и основывает некоторые утверждения на своем заблуждении
знаю я таких людей. вполне возможно что в какойто конторе с динозаврами электронщиками новоиспеченому програмисту на делфях дали задание - простажироваться. но топикстартер не внемлет того что ему говорят и продолжает биться головой о стену, якобы - не пойду к электронщикам и сам все разгребу. дык вот нет, эта проблема в данном освещении неразгребаема. действия, топикстартер, действия должны быть. |
| Автор: RinOSpro 2.10.2008, 14:36 | ||
| Повторяю еще раз что не понимаю в железе! Я даже вопрос не знал как точно задать, потому что плохо разбираюсь в этом вопросе! smalcom и что ты меня там везде процитировал? хотя по сути не сказал ни бита полезной информации! Но зато могу сказать большое спасибо Mazzi и xvr. А то что тебе там кажется:
это кажется лично тебе, мне кажется это самое совсем по другому. Как уже сказал Mazzi и xvr вроде это не возможно сделать. и тут уже всатёт вопрос о компетентности наших электронщиков... что они мне такую железку дали... И если не чем помощь, то хотя бы не ненадо захломлять топик насмешками. |
| Автор: smalcom 2.10.2008, 17:29 | ||||||||
в таком случае идут к электронщикам и просят карту состояний, а не призрачное упоминание о каком-то модуле
динозавры - это означает, что стары и огромны, обленились и заж... обленились короче. для успешного развития нужна свежая струя, вот что это значит
пролистни, плиз, назад и посмотри когда я тебе об этом сказал
какие насмешки, я тебе помочь пытаюсь, для этого естественно нужно больше информации. нихочеш - как хочеш - мучайся сам. тем более тебе тут уже вроде и помогли |
| Автор: xvr 2.10.2008, 17:29 | ||
Внимательно изучил datasheet на FT2232. Похоже, если не надо ЧИТАТЬ с эмулируемого HD44780, то это сделать можно FT2232 должен быть включен в режиме 245 FIFO Mode. Команды, вместе с битом адреса для HD44780 будут записываться в FIFO по каждому стробу записи. Со стороны PC их можно будет читать сплошным потоком. Если же нужно и чтение, то на одном голом FT2232 уже не получится. Это всякие железки, на которых можно сделать полную эмуляцию HD44780 |
| Автор: RinOSpro 8.10.2008, 10:24 |
| Завтра совещание... скажите как грамотно объяснить пути решения проблемы! |
| Автор: xvr 8.10.2008, 22:16 | ||
Я же писал (2 письма назад) - это возможно при некоторых ограничениях:
Про режим BitBang можно вообще забыть - стробы записи/чтения на дисплей много короче. |
| Автор: RinOSpro 9.10.2008, 09:13 |
| xvr я мож опять туплю но Вообще то не дисплей... а провод который раньше шел к дисплею теперь идет к FT2232. |
| Автор: Mazzi 9.10.2008, 09:54 |
| Тогда такой вопрос, были переделки электронной части, или просто отброшен дисплей? |
| Автор: xvr 9.10.2008, 09:55 | ||
Я это и имел в виду. И вообще, пусть ваши электронщики выдадут схему (электрическую принципиальную) что и куда они подключили, без нее все это гадание на кофейной гуще |
| Автор: RinOSpro 9.10.2008, 13:06 |
| Как можно включить в режиме 245 FIFO MODE |
| Автор: Mazzi 9.10.2008, 13:15 |
| Схема в студии будет? Или это запретная тема? |
| Автор: smalcom 9.10.2008, 14:49 | ||||||
яж говорил, что у него просто отброшен готовый блок с дисплеем и кнопками
для этого надо ставить внешний EEPROM и при помощи утилитки от FTDI ключить нужный режим ОФФ:
думаю схемы не будет. |
| Автор: RinOSpro 12.12.2008, 17:56 |
| Отвечу... лучше поздно чем ни когда. Как предпологал я и как сказали вы! Всетаки это оказалось не возможно. У меня получалось выхватывать некоторые полубайты и складывать из них слова, слоги (как повезет) но нормальной стабильной передачи не было. Не потомучто я хреновый программист а потому что: Во первых поток не синхронный, а во вторых данные шли очень быстро сплошным потом. После они перепаяли его и сделали на контроллере, а мне приходили 1 и 2 полубайт. А дальше дело за малым... Написть эмулятор HD44780. Написал... Эмулятор разделял данные и команды. Сделал адресацию памяти как в чипе, реализовал команды (команды чаще это всего указатели на адреса по которым должны писаться данные), а данные записывал по этим адресам. В общем все классно получилось ) даж самому нравиться. Теперь в красивой, удобной программе вижу, то что, должно было бы находиться в тяжёлом и дорогом пульте ) |