Форумы Modlabs.net: USB + LCD = проще простого. - Форумы Modlabs.net

Перейти к содержимому

  • (3 Страниц)
  • +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

USB + LCD = проще простого.

#41 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 05 Декабрь 2003 - 03:28

А. да, забыл сказать. связка из моей мотороловской схемы (с MT-12232), dlportio interceptor и LCD monitor замечательно работает.
0

#42 Пользователь офлайн   ProniX 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 744
  • Регистрация: 25 Ноябрь 03

Отправлено 05 Декабрь 2003 - 10:21

Да, возвращаясь к топику - привезли мне тут кристаллы CY7C68001 - высокоскоростной USB 2.0 (400 мегабит) - пошел тестировать :)
0

#43 Пользователь офлайн   Зинец Виктор 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 204
  • Регистрация: 02 Июнь 03

Отправлено 05 Декабрь 2003 - 10:43

listener
имхо для текстового как раз все, что > 2313/меги есть неоправданно дорого (имхо имхо имхо)

у меня только текстовый щас, + (ура!!!) ремонту капец, так что готов поотлаживаться :)
0

#44 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 07 Декабрь 2003 - 04:58

Зинец Виктор
Я прикинул, все получается очень просто и симпатично. Если не гнаться за топовой скоростью, и ограничиться примерно 4К в секунду, изменения в прошивке будут минимальны (нужно переписать реализацию двух функций, одной - с одним параметром и одной - с четырьмя). Соответственно, никаких изменений в виндовую часть не вносится.
Ничего специально эмулировать не придется. Все должно поместиться в dlportio.dll. Если все пойдет нормально, в понедельник пошлю исходники и правки для прошивки.

Кстати, касательно цен: MT-12232 стоит примерно вдвое дешевле, чем текстовый индикатор 20x4. Т.е., если контроллер обходится меньше, чем в $10, то дешевле подключить графический индикатор и контроллер (без разницы, по какому интерфейсу, USB, COM или LPT). В принципе, самый дешевый вариант получается из MT-12232 подключенного к LPT и софтового эмулятора HD44870.
0

#45 Гость_digitalr_*

  • Группа: Гости

Отправлено 08 Декабрь 2003 - 14:24

Я, конечно, извиняюсь :gigi: , но, если позволите, - глупый вопрос:
А ежели сделать передачу данных не через SetPortData direction, А через SendRS232Buffer? Только вместо передачи отдельных команд индикатору, передавать блоки данных, которые контроллер будет напрямую писать в граф. ОЗУ индикатора. По приблизительным прикидкам получается 10-12 фпс на 20х4 текстовике.
Дополнительно я ввел возможность сохранять/восстанавливать пользовательские символы в/из энергонезависимого ОЗУ контроллера - самое оно для спектроскопа - быстро и надежно. Собственно, пока я не наткнулся на LCDMonitor (Огромная благодарность уважаемому Виктору за его труд (обязательно куплю свежую версию)), я делал наброски для аналогичной утилитки, поэтому кой-какие идеи и наработки по этому поводу есть - готов обсудить и выслушать критику.
0

#46 Пользователь офлайн   Зинец Виктор 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 204
  • Регистрация: 02 Июнь 03

Отправлено 08 Декабрь 2003 - 14:49

digitalr
у меня подобные мысли появлялись недели 2 назад - то-ли в момент перед засыпанием, то-ли в транспорте :lol:

только в "железе" никак не мог проверить со своим ремонтом... а теперь может и проверю :gigi:
0

#47 Гость_digitalr_*

  • Группа: Гости

Отправлено 08 Декабрь 2003 - 16:55

Цитата

меня подобные мысли появлялись недели 2 назад - то-ли в момент перед засыпанием, то-ли в транспорте

только в "железе" никак не мог проверить со своим ремонтом... а теперь может и проверю

Я сегодня допроверяю.
В общем-то у меня сейчас реализованы 5 основных команд:
инициализация, запись блока указанной длины с указанного адреса в (назовем это так) видеопамять, запись блока как символьный генератор пользователя номер такой-то, восстановление симгена пользователя и вывод заставки ( заданной пользователем - экран приветствия)
В общем-то метод записи данных блоками непосредственно в видеоозу индикатора позволит на уровне фирмвари отказатся от задания геометрии индикатора - выгодно, имхо. для 16х2 - софт ( на стороне ПК) пишет два блока с адресом 0х00 и 0х40) - для 20х4 - 4 и т.д. - можно сделать одну универсальную паршивку для всех типов текстовых ЖКИ.
Однако чем дальше - тем больше возникает желание расковырять Игореву длл-ку, на предмет подгонки под конкретную задачу.

PS: :lol: Вот и нашлось применение индикатору 128х64. А то он у меня года 4 лежал без дела. Осталось только откопать в своих старых бумажках схемку инвертора для питания подсветки. Уж думаю 150 мА USB как нибудь потянет :gigi:

Кстати, Виктор, А можно ли Вам денюжку переводом выслать?
А то у нас в Полтаве все только таращат удивленно глаза, на вопрос по поводу оплаты по системе Web-money.
0

#48 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 08 Декабрь 2003 - 18:50

digitalr
Это было бы хорошо и правильно, за тем исключением, что прием для RS232 блоков в данной прошивке данных не реализован, а если принимать побайтно, скорость получится в 4 раза меньше.

Далее. Что мне хочется сделать (да, в общем-то оно уже сделано): модуль для того, чтобы любая программа могла использовать произвольный индикатор (в моем случае - MT12232 на USB) (без написания дополнительных плагинов). В случае, если используется индикатор той же модели, не требуется даже дополнительная трансляция команд.

Насчет команд - посмотри: http://listener.fatal.ru/protocol.html (если нужны исходники - пиши).

dll-ку я расковыривал. ничего особо сложного там нет. (Кстати, исходники драйвера уже выложены, я думаю, dllка скоро будет тоже) В крайнем случае, организовать vendor request самомтоятельно - не такое сложное дело.
0

#49 Гость_digitalr_*

  • Группа: Гости

Отправлено 09 Декабрь 2003 - 10:03

Цитата

Далее. Что мне хочется сделать (да, в общем-то оно уже сделано): модуль для того, чтобы любая программа могла использовать произвольный индикатор (в моем случае - MT12232 на USB) (без написания дополнительных плагинов


Во! Именно то, что я и хотел сказать :)

Большое спасибо за ссылку. Буду (м)учиться дальше.

PS: а можно ли будет посмотреть где-то на исходники драйвера/длл-ки?
0

#50 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 09 Декабрь 2003 - 18:37

digitalr
В последнем архиве на www.cesko.host.sk есть исходники драйвера. Насчет dll - есть только база IDA с некоторым количеством моих комментариев (но с dll просто - если понимаешь, что она делает - ее гораздо проще написать самому, если не понимаешь - то и копаться в ней бесполезно).

Если интересны мои исходники - пиши мылом или подожди, пока я проверю и выложу.
0

#51 Пользователь офлайн   Константин 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 312
  • Регистрация: 05 Август 03

Отправлено 09 Декабрь 2003 - 23:54

listener мала жизнь а если не дают учить другой язык? что делать?
0

#52 Гость_digitalr_*

  • Группа: Гости

Отправлено 10 Декабрь 2003 - 09:45

Мдя... Жизнь принесла очередное разочарование. Дописал новую прошивку, отладил, решил проверить скорость вывода на экран. 5 фпс :P в режиме записи блоками по 4 байта напрямую в видеопамять на индикаторе 16х4 (16 блоков по 4 байта)...
Ну, думаю - накосячил где-то в процедурке блочной печати. Пробую побайтный доступ - закономерный результат - 1-2 фпс....
Граждане!!! Это я такой тупой, или косяк у Игоря в софте?
0

#53 Пользователь офлайн   Зинец Виктор 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 204
  • Регистрация: 02 Июнь 03

Отправлено 10 Декабрь 2003 - 10:31

вот что он писал:

Цитата

The reason of this behaviour is that USB devices transmit/receive
data in packets and one packet is transmitted every milisecond: in
our case: 1ms per question + 1ms per answer + some computer time =
cca 4ms (as you write).

и далее

Цитата

My device is simple and it transfer with command SetOutDataPort in
the data packet 8 bytes per miliseconds (function number + parameter
+ data to port + USB related header). Therefore per miliseconds is
executed 1 command with 1 byte to output port.

If you see my next USB project:
http://www.cesko.hos...32/IgorPlug-USB (AVR) RS232.htm
http://www.cesko.hos...gUSB_RS232...VR)%20RS232.htm

there are implemented FIFO buffer. The receiving speed is here 57600
baud which is equivalent to cca 7kByte/second. And the maximum
theoretical speed for the Low speed USB device is 8kB/s (8 bytes per
miliseconds is in specification for USB device).


з.ы. это я так, с утра еще даже не понял, о чем вы там беседуете :P
0

#54 Пользователь офлайн   Константин 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 312
  • Регистрация: 05 Август 03

Отправлено 10 Декабрь 2003 - 11:05

поглядим ссылочки...............
0

#55 Гость_digitalr_*

  • Группа: Гости

Отправлено 10 Декабрь 2003 - 15:25

Tам у него уже и исходники длл-ки лежат.
Списал, переписал, обрадовался - фпс вырос в два с половиной раза.
Теперь сделаю еще обмен блоками по 8 и 16 байт.
думаю еще в 2-4 раза поднять можно.
0

#56 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 10 Декабрь 2003 - 23:29

digitalr
Теоретически, больше 7 байт проходить не должно ... (8байт пакет, 1 байт - код операции)
(т.е. на 8ми байтных блоках должен либо не передаваться последний байт, либо немного падать скорость по сравнению с 4хбайтными пересылками)
0

#57 Гость_digitalr_*

  • Группа: Гости

Отправлено 11 Декабрь 2003 - 10:31

Мдя... Тупанул я, что тут сказать. Совершенно забыл, что в комманд моде для низкоскоростных устройств 8 байт на пакет... Спасибо, что ткнули меня носом, а то я б еще два дня пытался понять в чем проблема.

Обнаружил еще одну проблемку: под вин98 работает значительно быстрее чем под вин2000/ХР. Абыдна... Буду учить/копать дальше.
0

Поделиться темой:


  • (3 Страниц)
  • +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 members, 1 guests, 0 anonymous users