12.07.2008, 21:59 | #1 |
Старший Пользователь
Регистрация: 05.12.2006
Город: Тула
Регион: 71
Машина: Range Rover\Acura MDX
Сообщений: 177
|
Custom Resolutions on Intel Graphics
Этот топик может быть полезен тем, кто в своем проекте CarPC ориентируется на использование UMPC с подключением non-DDC монитора. К категории non-DDC относятся мониторы штатных навигаций и большинство китайских поделок для автомобильных нужд. Подобная концепция реализуется в моем проекте Acura MDX.
Суть проблемы: интеловская графика (i910, i915, i945...), оккупировавшая привлекательный рынок UMPC, не имеет адаптивного инструментария настройки пользовательских разрешений для non-DDC мониторов и, особенно, мониторов с черезстрочной разверткой. Решаемая задача: подключение монитора штатной навигации (interlaced, pixelclock <20MHz) к Asus eeePC 701 4G. Всеми любимый PowerStrip от EnTech не справляется с поставленной задачей. За период работы (пляски с бубнами) над темой: - внимательно изучены имеющиеся интернет ресурсы. Особо следует отметить наличие полезной, но неисчерпывающей иформации на AVS Forum и Intel® Software Network Knowledge Base Wiki. Да еще заслуживает внимания этот блог, хотя автор и отказался решить задачку за несколько баксов; - проработана техническая документация на чипсет Intel® Graphics Media Accelerator 900 Series Software Developer's Guide; - проведена генерация пользовательских драйверов в соответствии с Intel® Embedded Graphics Drivers and Video BIOS v8.0. Много буковок и никакого результата! В документации нет прямых ограничений на работу чипсета в нужном нам режиме. Не могут они композитную синхронизацию выдавать на CRT порт - это прописано, а про interlaced молчок. Должен работать и не работает! Постепенно осознание проблемы сузилось на некорректной работе связки VBIOS\драйвер. Девелоперы от интела вводят ограничения на пользовательские разрешения исходя из легенды, что ими можно вывести из строя монитор. Но все же - где собака зарыта? Не в драйвере - генерация пользовательского не дает результата. Значит VBIOS, почему-то не нравятся ему тайминги с pixelclock <20MHz. Задача генерации пользовательского VBIOS решаема, но отнимет уйму времени, которого нет. Уже хотел прекратить пляски, но тут натолкнулся на форум любителей подключеня PC к мониторам игральных автоматов. И проблема схожая и утилитка соответствующая есть Soft15khz. Поставил ее не глядя - появилась куча дополнительных возможных разрешений, но нужного нет. Подправил реестр и монитор заработал! При этом LVDS в режиме 800х480р, а CRT -720х480i. Повторяемости получить не удалось, но вынес главное - задача решаема. И решение оказалось очень простым. Ниже приведена методика, которая может быть использована для всего ряда интеловских чипсетов (с родными драйверами) при подключении non-DDC мониторов. Для экспериментов нам необходимо иметь: - значения таймингов для планируемых разрешений non-DDC монитора; - DTD калькулятор от Clevertechnologies; - PowerStrp, не очень старый. У меня 3.78 b616; - не обязательно, но может пригодиться заглушка на D-Sub15. Приступаем к танцу, тьфу - к операции. Пациент, ничего выдающегося - стандартная комплектация, лицензионная ось. Испытания проводились и на обрезанной. Результат аналогичен и на тему не влияет. Чипсет 910, штатные дравера Делаем необходимую пластику реестру. Штатным Regedit. Ищем ключи, содержащие TotalDTDCount Изменяем найденное значение 0 на 5. Заменить эти значения надо во всех строчках реестра (их 18). Так что F3 жать не забываем. Указанная операция позволит нам создать пять пользовательских разрешений для CRT порта. Больше интел не позволяет. Продолжаем операцию. Или руками, или пользуя DTD калькулятор. Прописываем исходные тайминги разрешений, начиная с низшего. Для мониторов штатных навигаций важны параметры interlaced и sync (-hsync -vsync). Для других типов мониторов надо знать параметры синхронизации. Для 720х480i это выглядит так: Для 800х480i Прописываем скалькулированные строчки в реестр. Делать это надо последовательно. Т.е после занесения значений таймингов для каждого разрешения идем в раздел Regisry Hack, жмем соответствующую кнопку Get Calculated. Для 720х480i - DTD1 , для 800x480i - DTD2. На скрине 800x480i прописано еще и в DTD3,4,5. Прихоть - можно и не делать. Жмем клавишу Write DTDs to Registry. Все - первая часть операции закончена. Не забываем перегрузиться. Для мониторов с прогрессивной разверткой последующие шаги могут и не понадобться. Если тайминги известны достоверно, то все должно работать. Для черезстрочных мониторов надо дать разрешение драйверу на работу с низким pixelclock. И поможет нам в этом PowerStrip. На этом этапе необходимо к CRT порту (D-SUB 15) компьютера подключить настраиваемый монитор. Не забываем про физику синхроимпульсов. Запускаем PS и выбираем необходимое нам разрешение из списка прогрессивных разверток. PS не может работать с interlaced, но нам и не надо, мы уже в реестре его прописали. Создаем пользовательские разрешения. Настраиваем выбранные разрешения внешнего монитора. На первоначальные значения частот синхронизации, кадровой и строчной разверток внимания не обращаем, они могут быть искажены. Как правило, при достижении нужного значения частоты синхронизации на мониторе отображается устойчивая картинка (клон основного). Для удовольствия можно подвигать стрелочками. При оргазме жмем - применить. Один раз, но целый день. То же для 800х480i Изменение разрешения внешнего монитора теперь доступно в линеечке PS, так или так Осталось настроить желаемые параметры цветности средствами интела И получить удовольствие от результата Приведенная методика позволяет весьма просто получить клон изоображения на дополнительном non-DDC мониторе. При этом клон будет такого же разрешения как и основной монитор. Режим 800х600 доступен (вертикальный скроллинг, т.к. монитор 16:10). А вот 640х480i получить не удается. PS не может опустить pixelclock ниже 15MHz (где-то половина VGA). Подозреваю, что это физические ограничения чипсета от интела. В документации пишут - от 20MHz.... Да и первоначальная задача получения клона с разными разрешениями LVDS и CRT не решена. Вероятно, что и она имеет решение.... Но и полученный результат позволяет расширить возможность использования UMPC (и не только) с интеловской графикой и нестандартные мониторы в архитектуре проектов СarPC. Последний раз редактировалось slden; 05.02.2017 в 03:40. |
13.07.2008, 01:40 | #2 |
Старший Пользователь
Регистрация: 15.09.2007
Возраст: 43
Город: Видное, М.О.
Регион: 50, 90, 150
Машина: 2006\Ford\Mondeo
Сообщений: 352
|
картинки не отображаются.
__________________
ВАЗ 21099i Было c 12.2006 по 10.2010: \ Mystery 8120S; E-10000; D945GCLF2, Atom330; DDR2 2gb; 120GB WD sata; Wi-Fi; LART USB FM; AnyData ADU-300A SkyLink Internet; Keyboard BTC 9116 Black; IR-Link+JVC RM-RK39; корпус CFI Group CFI-A6719. \ WinXP ProSP3; Centrafuse 2.1.1331.1; Сейчас - лучше! |
14.07.2008, 01:05 | #3 |
Гуру
Регистрация: 03.10.2005
Город: МКАД восток-запад
Регион: 77, 97, 99, 177
Машина: 09\Опиль\АстраХ
Сообщений: 2,013
|
Сразу два глупых вопроса:
1. У меня intel 82865G встроенный в msi на 468 сокете. Он лечится на 800х480? 2. Можно куданить завтра вечерком подъехать чтобы опытные руки автора топика все с первого раза сделали в конкретном авто, монитор стандартный лилипут-пролоджи семерка, ессно без ddc. ? зы.Небесплатно ясенпень. ззы. Картинки отличные, супер.
__________________
Установил: у меня в машине Монитор PCM700, Системник P4-478 2Гц, БП SL545. DR-GPS-Android тестируем! Программы: оболочка - InCarTerminal, Пробковорот, Видеозапись дороги, Смилинк с камерами, интернет-радио, Скайлинк Anydata300 |
14.07.2008, 01:18 | #4 |
Новый Пользователь
Регистрация: 28.10.2007
Регион: 77, 97, 99, 177
Машина: Honda Civic Aerodeck '98 B18C4
Сообщений: 9
|
Карл Маркс, ФридрихЭнгельс и Инесса Арманд!!!!
И все в одном флаконе!
ЗЫ Мне вроде пока сие не надо, но обстоятельность, сам слог и описание процесса с постановкой задачи, решением и заключением вкупе с фотками вызывают глубочайшее уважение ЗЗЫ Стыдно мне... А что такое ddc- и non-ddc монитор? Последний раз редактировалось MaxyMax; 14.07.2008 в 01:19. Причина: dcc и ddc наверное разные вещи;) |
14.07.2008, 12:25 | #5 |
Гуру
Регистрация: 03.10.2005
Город: МКАД восток-запад
Регион: 77, 97, 99, 177
Машина: 09\Опиль\АстраХ
Сообщений: 2,013
|
DDC - display data channel. Это такой отдельный проводок в VGA кабеле по которому монитор сообщает свои поддерживаемые режимы, разрешения, частоты видеоадаптеру, чтобы он не подал ему лишнего, чтобы не сгорел. Производители (вродебы 100%) автомобильных мониторов вместо DDC сделали check out of range, монитор просто вырубается когда идет неподдерживаемый режим и не сгорает.
__________________
Установил: у меня в машине Монитор PCM700, Системник P4-478 2Гц, БП SL545. DR-GPS-Android тестируем! Программы: оболочка - InCarTerminal, Пробковорот, Видеозапись дороги, Смилинк с камерами, интернет-радио, Скайлинк Anydata300 |
14.07.2008, 12:45 | #6 | |
Старший Пользователь
Регистрация: 02.01.2007
Возраст: 61
Город: Ростов-на-Дону
Регион: 61
Машина: Renault Scenic F3R
Сообщений: 254
|
Цитата:
to Dimon - а в каком формате идет инфа по проводку?
__________________
Машинка почти такая же как у MediaCar -------------------------------------------------- Case Z39 "ПилимСами"+моник уперли+БП SL( )+Advantech PCM-9580+Celeron 2,2 спалил +SAMSUNG DDR (512Mb+256Mb)+120 Gb 3.5"+NEC сдох+Terratec Aureon 5.1 USB MKII+BU-353+AverTV Hybrid FM Volar+CardReader 3,5"+DUB-H4+DBT-122+DWL-AG132+DDT2000, Digitronik LPG...LeoCar( ) |
|
14.07.2008, 13:14 | #7 |
Гуру
Регистрация: 28.03.2007
Возраст: 60
Город: Москва
Регион: 77, 97, 99, 177
Сообщений: 630
|
I2C/////
|
14.07.2008, 13:29 | #8 |
Гуру
Регистрация: 03.10.2005
Город: МКАД восток-запад
Регион: 77, 97, 99, 177
Машина: 09\Опиль\АстраХ
Сообщений: 2,013
|
+1
В бытовых условиях чтобы добавить в систему ddc обычно паяют Y-образный VGA-разветвитель и на свободный конец вешаю платку от любого монитора (запитанную) отплоского, кинескопного - без разницы. Положительный опыт ищется по нику sigurno, тоже димон.
__________________
Установил: у меня в машине Монитор PCM700, Системник P4-478 2Гц, БП SL545. DR-GPS-Android тестируем! Программы: оболочка - InCarTerminal, Пробковорот, Видеозапись дороги, Смилинк с камерами, интернет-радио, Скайлинк Anydata300 |
14.07.2008, 14:00 | #9 |
Старший Пользователь
Регистрация: 02.01.2007
Возраст: 61
Город: Ростов-на-Дону
Регион: 61
Машина: Renault Scenic F3R
Сообщений: 254
|
хм....в мониторах I2C..... в магнитолах I2C.....
пора бы задуматся о разработке универсального USB-to-I2C контроллера управляемого из под Windows.... или I2C у каждого девайса свой и заточенный по разному у разных производителей?
__________________
Машинка почти такая же как у MediaCar -------------------------------------------------- Case Z39 "ПилимСами"+моник уперли+БП SL( )+Advantech PCM-9580+Celeron 2,2 спалил +SAMSUNG DDR (512Mb+256Mb)+120 Gb 3.5"+NEC сдох+Terratec Aureon 5.1 USB MKII+BU-353+AverTV Hybrid FM Volar+CardReader 3,5"+DUB-H4+DBT-122+DWL-AG132+DDT2000, Digitronik LPG...LeoCar( ) |
14.07.2008, 14:12 | #10 | ||
Старший Пользователь
Регистрация: 05.12.2006
Город: Тула
Регион: 71
Машина: Range Rover\Acura MDX
Сообщений: 177
|
Димон
Цитата:
Цитата:
Если без шуток и в условиях отсутствия понимания проблемы - для эксперимента надо 5 минут. Лилипут работает в VGA стандарте, значит надо на CRT порт ему и давать, то, что просит.. Во многом зависит от драйвера на компе. У него для LVDS должно быть доступно 800х480. Правишь реестр, прописываешь в DTD тайминги, типа таких 40,00 800 864 928 1088 480 481 484 509 +hsync + vsync (36.8 kHz) галку interlaced ставить НЕ надо. И в полярности синхры для лилипута не уверен. Не мое, но в сети встречал прямую правку реестра для лилипута: ============================ Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Video\{8FD55F0B-1CF7-4D92-8D9A-01B21ED48717}\0000\Config\1\Port\5\General] "Rotation"=dword:00000000 "Flip"=dword:00000000 "Edid"=dword:00000000 "EdidNotAvail"=dword:4 "PortEnable"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Video\{8FD55F0B-1CF7-4D92-8D9A-01B21ED48717}\0000\Config\1\Port\5\Dtd\1] ; 38570 "PixelClock"=dword:96AA ; 800 "HorzActive"=dword:320 ; 32 "HorzSync"=dword:20 ; 56 "HorzSyncPulse"=dword:38 ; 0 "HorzBorder"=dword:0 ; 252 "HorzBlank"=dword:fc ; 480 "VertActive"=dword:1e0 ; 7 "VertSync"=dword:7 ; 3 "VertSyncPulse"=dword:3 ; 0 "VertBorder"=dword:0 ; 20 "VertBlank"=dword:14 ; 25 "HorzSize"=dword:19 ; 16 "VertSize"=dword:10 ; 0 "Flags"=dword:0 =========================== Часики разные, в диапазоне 38-40MHz, PS подправить потом можно. Если в буке нет 800х480 для LVDS , то свой драйвер генерить .. Или чужой вкорячить.. Я на 910 драйвера от 945 впихивал.. Живут .. |
||
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
Опции темы | Поиск в этой теме |
|
|