Заведи экран: свой TFT–дисплей
Замутим такой вот девайс для вывода графики на дисплей от NOKIA.
Ты конечно понимаешь, мой друг, как можно использовать этот девайс в своих хакерских (и не только) целях. Если выбрать все детальки SMD-шные, то можно получить реально небольшое устройство для вывода на экран с портом RS232. Дисплей использовал: Nokia 6100/6610/7200/7250/3100 в рамке с коннектором.
Такой экран несложно найти в Интернет-магазинах, например www.siruist.ru, www.sparkfun.com или в палатках, где продают запчасти для мобильных телефонов (стоит он 150-200 руб). Либо просто выдрать дисплей из старого телефона. Но если такой не нашёл - не беда. Изучив эту статью и исходные коды и поразмыслив головой, ты можешь завести дисплеи от Nokia N95 или Sony PSP.
Почему я выбрал такой дисплей – он удобен в пайке. Смотри на скриншоте распиновку.
Как видно, существует коннектор на дисплее к которому тяжело подпаяться (шаг 0.5мм). Поэтому лучше ищите дисплеи с такой распиновкой как здесь.
Распиновка дисплея:
-
VCC-Digital (3.3V)
-
RESET
-
SDATA
-
SCK
-
CS
-
VCC-Display (3.3V)
-
N/C
-
GND
-
LED GND
-
LED V+ (6-7V)
На рисунке вы можете видеть 3 дисплея:
На крайнем левом отсутствуют контакты для удобной пайки (только коннектор). На остальных контакты и коннектор присутствуют. Также важно, что встроенный контроллер у каждого экрана разный. Для этого дисплея существует 2 вида контроллеров:
-
PCF8833;
-
Epson S1D15G10.
У каждого контроллера своя система команд и, соответственно, софт для одного из них не будет работать для другого. Народ научился различать эти контроллеры по цвету коннектора: коричневый - Epson S1D15G10, зелёный - PCF8833.
Но это не факт. Я советую прошить микроконтроллер для 2 видов дисплеев и посмотреть результат. К примеру на скриншоте все дисплеи с контроллером PCF8833. Я писал исходный код микроконтроллера для PCF8833, но совершенно не сложно изменить его и для Epson`a!
Ну вроде с трудностями закончили, переходим к нашей схемке:

| Контроллер | Atmega32 , др. с объёмом памяти Flash-16кб. |
| Преобразователь(CMOS/TTL) | MAX232A или аналог. |
| Преобразователь из 5В в 3.3В | MC33269DT-3.3 или аналог. |
| Преобразователь из 5В в 6.5В | MP1541 |
А остальное всё есть на схеме.
6.5В нам нужно на подсветку (от 6В до 7В = max). Регулируется подстроечным R8. Также ВАЖНО – разделить землю у дисплея (т.е. землю (выводы 8,9 коннектора) напрямую присоединить к входу 2 разъёма источника питания) – это нужно для защиты от помех. Желательно поставить 2 различных преобразователя из 5В в 3.3В – один для питания контроллера и периферии дисплея, второй – для непосредственно дисплея (выходы 1,6 – соответственно коннектора дисплея).
После разбора с железкой и пайкой приступаем к программированию для Atmega.
Открываем WinAVR, создаём проект, будем писать на С. Я отказался от assembler`a потому что код стал реально громоздким.
#include
#include //для задержки
#include "lcd.h" //определения для PFC8833
#include "font.h" //определение шрифта
void sendCMD(byte cmd); //послать команду на PFC8833
void sendData(byte cmd); //послать байт данных
void InitLCD(void); //инициализация дисплея
void shiftBits(byte b); //перестановкой выводов портов эмулируем SPI
void setPixel(byte r,byte g,byte b);
//пишет в видеопамять дисплея 3 байта (r,g,b) с заданным цветом
…..
void PointXY(int x,int y,byte r,byte g,byte b)
// рисует точку на экране с координатами x,y и цветом r,g,b
{
sendCMD(CASET); //column set (po x)
sendData(x);
//команда CASET – задаёт область рисования по x, от byte1 до byte2
sendData(x); //у нас byte1=byte2 , так как рисуем точку
sendCMD(PASET); //page set (po y)
sendData(y); //аналогично для y
sendData(y);
sendCMD(RAMWR);
setPixel(r,g,b); //пишем в память
}
…
Я привёл только часть кода. Все исходники можно найти в архиве. У данного дисплея – 4096 цветов, следовательно 12 бит на пиксел RRRRGGGGBBBB.
Так же я написал консольную прожку для компа для рисования (исходники также есть в архиве).
В итоге наш девайс способен выводить:
-
точку;
-
окружность;
-
линию;
-
прямоугольник (закрашенный/нет);
-
символ (первой половины ASCII (0x00
текст;
изображение (до (132 на 132)).
С символами нет проблем, ты можешь запросто добавить любой шрифт. Давайте взглянем на результаты:
Выводы
Ну вот в итоге и завели дисплей. Какие перспективы? Вот они:
-
добавить поддержку системных шрифтов и поместить их не в память микроконтроллера, а посылать символы по байтам по RS232;
-
воспроизвести анимацию;
-
попробовать завести дисплеи покруче – от Iphone, N95, PSP.
Zotac разрабатывает видеокарту GeForce GTX 260 с поддержкой DisplayPort
Большинство высококлассных видеокарт оснащено портами dual-DVI и S-Video, некоторые производители добавляют к этому “джентльменскому набору” разъем HDMI. А вот компания Zotac объявила о разработке графической карты на основе GeForce GTX 260, оснащенной интерфейсом DisplayPort.

На инженерном образце Zotac GeForce GTX 260, по мнению экспертов Еxpreview, специалисты компании временно заменили один из портов на разъем DisplayPort, поэтому данная видеокарта оснащена интерфейсами и DVI и DisplayPort. Кроме того, разъем DVI может поддерживать (вероятно, через специальные адаптеры) работу с интерфейсами D-Sub и HDMI, что пригодится, к примеру, при подключении двух дисплеев.
Проверка с помощью утилиты GPU-Z, предоставляющей информацию о видеокарте, показала, что Zotac GeForce GTX 260 основана на графическом ядре G200, созданном по нормам 55 нм тех. процесса. Кроме того, программисты Zotac разработали собственную версию BIOS, поддерживающую функцию DisplayPort. А поскольку на референсной карте GeForce GTX 260 имеется место для установки функционального чипа, графический акселератор Zotac реализует функцию DisplayPort именно через этот процессор. Чип Analogix ANX9805 поддерживает интерфейс DisplayPort 1.1а и функцию Deep Color с глубиной цвета до 36 бит на пиксель. Кроме того, он поддерживает режим шифрования контента HDCP 1.3.
К сожалению, графическая карта Zotac GeForce GTX 260 с интерфейсом DisplayPort разрабатывается только для китайского рынка. Пока неясно, появится ли этот интересный продукт где-либо за пределами Поднебесной.
Повысив напряжение питания, ASUS смогла увеличить производительность 3D-карт серии EAH4890
Компания ASUS представила 3D-карты серии ASUS EAH4890. Основной особенностью графических ускорителей, в которых используется самый производительный GPU, является применение технологии Voltage Tweak. Дебютировавшая в картах указанной серии, эта технология, по словам компании, позволяет поднять производительность на величину до 15%.
Повышение производительности обеспечивается с помощью программного управления параметрами GPU. Чтобы карты устойчиво работали в нештатном режиме, с помощью утилиты SmartDoctor повышается напряжение питания. Для тех, кто хочет получить высокую производительность, используя установки по умолчанию, ASUS выпустила карту EAH4890 TOP, которая превосходит по производительности референсный эталон на 8%.
Технология Voltage Tweak позволяет поднять напряжение питания GPU с 1,312 до 1,4 В. В свою очередь, это обеспечивает возможность увеличения частот ядра и памяти с 850 и 3900 до 950 и 4600 МГц сообразно. В тесте 3DMark Vantage Extreme Preset такое увеличение дает прирост результата с 4612 до 5300 баллов, или на 15%.
Тактовые частоты компонентов EAH4890 TOP равны 900 и 4000 МГц. Это позволяет карте набрать в тесте 3DMark Vantage Extreme Preset 4980 баллов, что на 8% превосходит результат карты, работающей на штатных частотах, равный 4612.