Мини-дисплей для ПК
реклама
Сама по себе идея подключения таких ЖКИ появилась достаточно давно. В первую очередь ее подхватили моддеры. В сети есть огромное количество вариантов подключения этих индикаторов к различным портам ПК - LPT, RS232, USB.
Есть и фирмы-производители, специализирующиеся на их производстве - Matrix Orbital, Crystalfontz и др.
Подтянулись и производители периферии - в игровых клавиатурах Logitech серии "G" уже достаточно давно применяются небольшие графические панели, на которые можно выводить как системную, так и игровую информацию.
Есть и полноценные ЖК-мониторы с небольшой диагональю (7-8"), подключаемые к компьютеру через USB-порт (напр., Samsung SyncMaster U70)
Казалось бы, чего проще - купить готовое изделие и не забивать себе голову тем, что давно уже изобретено, изготовлено и продается по 3руб/штука.
Однако же, в серийных изделиях на то время (а это было полтора года назад, сейчас, возможно, ситуация изменилась) меня не устраивали несколько моментов.
Первое - недостаточный функционал программ, обеспечивающих работу ЖКИ. Да, гламурные часики и свободное место на дисках - это нужные вещи. Температуры CPU и GPU - тоже. Но в современном компьютере существует около сорока различных параметров, которые в большей или меньшей степени представляют интерес для пользователя.
Второе проистекает из первого. Полновесные программы от производителей железа, обвешанные десятками библиотек и зачастую требующие для своей работы пресловутого .Net-а, так или иначе справляются с выводом необходимой информации. Но какой ценой ?
20-30МБ оперативной памяти, десятки мегабайт на жестком диске... Понимаю прекрасно, что при нынешних тенденциях "расползания" ПО на ГИГАбайты десяток-другой "метров" мало кого волнует. Но есть и еще один фактор - влияние этих программ на быстродействие самих ПК.
Опять-таки, не буду говорить за текущее состояние, но на тот момент вывод какой-либо графической информации через порт USB с помощью распространенных программ нагружал процессор (в зависимости от его быстродействия) на 5-15%. И в этом случае результаты, например, теста 3DMark уже не являлись корректными.
Да, есть относительно шустрые и универсальные программы типа LCDSmartie и LCDHype, но все они ЛИБО шустрые, ЛИБО универсальные. Первая не знает о существовании графических индикаторов, вторая - о том, что на дворе 21 век и пора бы уже чуть быстрее шевелить лаптями.
Впрочем, никого не хочу обидеть, любая из этих программ имеет широкое распространение, а, значит, устраивает многих пользователей.
У меня же была еще и третья (основная) причина - "свой собственный" дисплей я делал отчасти потому, что нужно было освоить для заказчика относительно новый цветной графический индикатор, который поставлялся нашими китайскими коллегами по отличной цене, а отчасти - из-за конкурса моддинга, проводимого в прошлом году украинским журналом "Домашний ПК".
Я собирал на этот конкурс небольшой компьютер, стараясь упаковать "средне-игровое" железо в небольшой объем.
Ворклог изготовления этого компьютера есть на modding.ru.
Если очень кратно - размеры корпуса 22х26х8см, внутри находятся E8400 и HD5770.
И на его лицевой панели ну никак не смотрелся ни один из доступных на тот момент заводских дисплеев.
Честно говоря, во время сборки компьютера меня не оставляла мысль, что железо в таком маленьком корпусе перегреется, задохнется и помрет. Поэтому в первую очередь должны были мониториться температуры. Также меня интересовала производительность связки CPU и GPU, и их загруженность в наиболее распространенных на тот момент играх. Ах, да - часы. Геймером я никогда не был, ночи напролет не просиживал, но текущее время где-нибудь на видном месте или на передней панели корпуса - это уже традиция.
Среди прочего софта, предназначенного для тестов и мониторинга железа особое место занимает AIDA64 (бывший Everest). Звезд с неба эта программа никогда не хватала, но и откровенно плохой ее назвать нельзя.
Что же выделяет ее? Возможность работы с внешними приложениями. Т.е. эта программа - не "вещь в себе", собирающая данные и выводящая их в лог/на монитор, но и охотно делящаяся этими данными с другими программами. Взаимодействие происходит либо через общую область оперативной памяти, либо через реестр Windows.
Т.о. для того, чтобы "подглядывать" за данными из AIDA64, достаточно создать программу, которая бы просматривала определенную область памяти и считывала эти данные оттуда. Кроме того, она же и будет отсылать их на индикатор.
К слову, сама AIDA64 занимает в оперативной памяти и на жестком диске не так уж и мало - 27 и 20МБ соответственно. Но зато не требует для себя .Net и очень слабо (не более 1%) нагружает процессор. На практике, во время прогона 3DMark разница в "попугаях" составляет и того меньше - ок. 0,1%.
Как вариант - можно самостоятельно написать полнофункциональную программу одновременно для мониторинга железа и индикации. Но я посчитал, что это будет еще один велосипед, долгий в своем создании и тяжеловесный в работе.
Сам дисплей представляет собой TFT-панель диагональю 2,4" и разрешением 320х240.
Имеет светодиодную подсветку.
Его название – TM240320, контроллер дисплея - ILI9325.
Интерфейс - параллельный, 8/16 бит данных и 5 бит - управление.
Разумеется, напрямую подключить к компьютеру такое количество выводов индикатора через распространенные порты невозможно (LPT - не в счет, он и отсутствует порой на современных компьютерах, и не обладает необходимой скоростью). Поэтому непосредственно для управления ЖКИ был применен микроконтроллер PIC18F2520 производства Microchip. Своего собственного интерфейса для работы с USB у него нет, поэтому его последовательный порт был переведен в скоростной режим, а для связи с компьютером использовался мост USB-RS232. Почему так сложно ? Одним из условий заказчиков было обеспечение работы модуля именно через последовательный порт, а проявлять инициативу и делать ему универсальное подключение у меня не было времени (да, если честно, и желания).
В любом случае, скорость обмена данными с компьютером составила 6MBs.
Частота обновления экрана - 4кадра/сек. Этого мало для живого видео, но вполне достаточно для вывода статичной информации.
Микроконтроллер с минимальной обвязкой был распаян на макетной плате, к индикатору он подключался парой тонких шлейфов от кабелей PATA. Это первоначальный вид макета -
Да не прогневаются на меня профессиональные программисты, но программа-"прослойка" между AIDA64 и моим дисплеем писалась на Delphi. Ее размер - 730кБ, объем занимаемой оперативной памяти - 4МБ.
Она выступает еще и launcher-ом, т.е. при своем старте запускает сначала АИДУ, ожидает от нее первых данных, а потом сворачивается в трей. Это позволяет полностью автоматизировать процесс авто-загрузки этих программ.
В окне настройки можно выбрать необходимые для отображения параметры (8 из почти 40 доступных), выводить их в виде числовых значений и/или полос. Цвет и масштаб этих полос, шрифты надписей, их размеры, взаимное расположение и пр. - все это можно менять.
Таким образом, отметив галками нужные параметры, можно выводить их на дисплей с достаточно высокой скоростью и независимо от задач, выполняемых компьютером в данное время.
Конечно, в плане дизайнерских изысков программа значительно уступает своим заводским собратьям, но все нужные МНЕ функции она выполняет:
Какие провода надо замкнуть, чтобы подключить его к компьютеру ?» (с)
Основная сложность при "запуске" этого и подобных ему индикаторов состоит в его инициализации - перед тем, как отсылать на него непосредственно графику, надо прописать во внутренних регистрах видеоконтроллера свыше десятка различных параметров - напряжения вольтодобавки, яркость/контрастность, направление развертки, ширину шины управления и ее тип и т.д. При этом надо соблюдать определенную очередность в их подаче и временные интервалы. Например, после установки напряжений вольтодобавки необходимо выдержать паузу в пару сотен миллисекунд, только после этого двигаться далее. Иначе на каком-то этапе контроллер дисплея просто не успеет обработать текущую команду и все последующие просто проигнорирует.
Хорошо, если производитель указывает в тех.документации на свой дисплей порядок команд, которые нужно отправить на индикатор, чтобы он просто "загорелся". Отлично, если эта документация вообще существует - в противном случае ЖКИ так и остается "прикольной стекляшкой", лежащей у своего хозяина долгие годы без особых надежд на ее использование.
Обсуждение.
реклама
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Сейчас обсуждают