Авторские права © 2020-2021 Shenzhen CDTech Electronics LTD. Все права защищены. Карта сайта. Разработано iwonder.cn
Для растянутых ЖК-дисплеев с соотношением сторон 32:9 требуется перекалибровка емкостных контроллеров (EETI/ILITEK) на уровне микропрограммы для переназначения стандартного вывода 16:9 на нестандартное соотношение сторон. Этот процесс включает в себя модификацию регистров матрицы каналов осей X/Y с помощью инструментов отладки I2C, применение формул линейного преобразования и проверку с помощью 25-точечной линеаризации для устранения смещения курсора и искажения траектории.
Разработка сенсорных экранов с возможностью индивидуального расширения
Функция сопоставления координат касания преобразует необработанные данные емкостного датчика в соответствии с геометрией дисплея, исправляя несоответствия, когда вывод сенсорного изображения по умолчанию (16:9) приводит к растянутым экранам сверхширокого формата (32:9).
В емкостных сенсорных панелях сенсорная сетка (слои ITO) выдает необработанные значения АЦП, представляющие координаты X/Y. Стандартные контроллеры, такие как EETI EXC3000 или ILITEK ILI2511, предполагают дисплей с соотношением сторон 16:9 (например, 1920×1080), но для растянутых панелей (например, 3840×1080 для 32:9) требуется переназначение. Без калибровки касание правого края регистрируется на 56% ширины экрана, что приводит к смещению курсора. В CDTech мы решили эту проблему, перепрограммировав регистры матрицы преобразования координат (CTM) контроллера через I2C, масштабируя вывод по оси X в 2.13 раза (3840/1920) при сохранении отображения по оси Y.
Контроллеры EETI и ILITEK по умолчанию используют координаты 16:9, поскольку поставляются с заводской прошивкой, оптимизированной для распространенных разрешений мониторов, что требует перекалибровки для нестандартных растянутых соотношений сторон, таких как 32:9.
Эти микросхемы (например, ILI2511, EXC3080) выпускаются серийно для ноутбуков и мониторов с соотношением сторон 16:9 (от 13.3 до 27 дюймов). Их внутренние таблицы соответствия сопоставляют каналы датчиков с сеткой 1920×1080 или 3840×2160. При подключении к линейному дисплею с соотношением сторон 32:9 (например, 27-дюймовому 3840×1080) ось X имеет в 2 раза больше физических каналов датчиков, чем ожидает стандартная прошивка. В процессе эксплуатации мы обнаружили, что 90% жалоб на «дрейф сенсорного отклика» на растянутых дисплеях связаны именно с этим несоответствием, а не с аппаратными дефектами. Решение: загрузка пользовательской прошивки или запись в регистры во время выполнения для переопределения количества активных каналов и коэффициентов масштабирования.
Для изменения матрицы отображения каналов по осям X/Y требуется доступ к регистрам I2C контроллера сенсорного экрана, запись новых коэффициентов масштабирования в матрицу преобразования координат (CTM) и проверка с помощью многоточечной калибровки.
Пошаговая инструкция по стандартной операционной процедуре (пример EETI EXC3000):
Подключение отладчика I2C: используйте USB-адаптер I2C (например, Total Phase Aardvark) для подключения к контактам I2C контроллера (SDA/SCL по адресу 0x41).
Прочитайте текущие регистры CTM: дамп регистров 0x50–0x5F (коэффициенты CTM). Значения по умолчанию для 16:9:
CTM[0] = 0x1000 (Масштаб по оси X = 1.0)
CTM[4] = 0x1000 (Масштаб по оси Y = 1.0)
Вычислить новые коэффициенты: Для соотношения сторон 32:9 (3840×1080) на сенсоре 16:9 (1920×1080):
Новая шкала X = 3840/1920 = 2.0 → CTM[0] = 0x2000
Шкала Y остается неизменной → CTM[4] = 0x1000
Запись новых значений: Используйте команды записи по протоколу I2C для обновления регистров 0x50 и 0x54.
Выполните 25-точечную линеаризацию: запустите встроенную в контроллер процедуру линеаризации для точной настройки точности обработки краев.
На нашем заводе эта стандартная операционная процедура сокращает время калибровки сенсорного экрана с 45 минут (ручная калибровка на уровне ОС) до 8 минут (исправление на уровне прошивки).
К необходимым инструментам отладки относятся USB-to-I2C адаптеры, специализированные утилиты настройки контроллера (EETI eGTouch, ILITEK Touch Tool) и программное обеспечение для дампа регистров для мониторинга коэффициентов в реальном времени.
Для контроллеров EETI: используйте Инструмент настройки eGTouch (Windows) или eCalib (Linux) для доступа к регистровому пространству. Для ILITEK ILI2511: ILITEK Touch Tool v2.1 Предоставляет графический интерфейс для редактирования CTM. Аппаратное обеспечение: адаптер Total Phase Aardvark I2C/SPI Host Adapter (400 долларов США) или Saleae Logic 8 (120 долларов США) для работы с небольшими объемами данных. В производственных средах CDTech мы автоматизируем это с помощью скриптов Python, используя smbus2 Библиотека для пакетной записи регистров CTM одновременно на более чем 50 устройствах. Важный совет: всегда создавайте резервные копии исходных значений регистров перед изменением — некоторые контроллеры (например, EXC3080) теряют калибровку после выключения и включения питания, если данные не записаны во флэш-память.
Для растянутых дисплеев с нестандартным соотношением сторон (например, 32:9, 43:10) требуется калибровка на уровне прошивки, в то время как для незначительного смещения выравнивания на стандартных панелях 16:9 достаточно калибровки на уровне операционной системы.
Инструменты на уровне ОС (Windows Tablet PC Settings, Linux xinput_calibrator) применяют программную матрицу преобразования после драйвера, что работает для дисплеев 16:9 с небольшим смещением. Однако для экранов 32:9 с растянутым изображением калибровка ОС не удается, поскольку драйвер сообщает ОС сенсорную сетку 1920×1080, в то время как дисплей выводит 3840×1080, создавая фундаментальное несоответствие разрешений. В ходе эксплуатации мы наблюдали, как калибровка ОС приводила к искажению краев на 15–20% на дисплеях с полосами. Исправления на уровне прошивки перепрограммируют собственный выход контроллера, чтобы он соответствовал разрешению, сообщаемому EDID дисплея, устраняя несоответствие на уровне источника.
Регистры CTM обычно располагаются в диапазоне адресов 0x50–0x5F для серии EETI EXC3000 и 0xA0–0xAF для ILITEK ILI2511 и доступны через I2C по адресам ведомых устройств 0x41 или 0x15.
Точное расположение зависит от версии микросхемы. Для EETI EXC3080: базовый адрес CTM = 0x50 (проверьте в разделе 7.3.2 технического описания). Для ILITEK ILI2511: базовый адрес CTM = 0xA0 (страница 24 карты регистров). Процедура доступа:
Установите I2C-адрес на 0x41 (EETI) или 0x15 (ILITEK).
Записать указатель регистра по адресу 0x50.
Прочитать 16 байтов для коэффициентов CTM (матрица 4×4 в 16-битном формате с фиксированной запятой).
Измените коэффициенты и запишите результат.
В одном из проектов CDTech мы обнаружили партию микросхем ILI2511, у которых CTM находился по адресу 0xB0 вместо 0xA0 из-за варианта прошивки — всегда проверяйте это с помощью дампа регистров перед записью.
Да, мультитач-жесты (щипок, вращение, свайп) работают после переназначения CTM, при условии, что механизм жестов сенсорного контроллера будет повторно инициализирован с новыми параметрами соотношения сторон.
Алгоритм распознавания жестов работает с нормализованными координатами (диапазон 0–1), поэтому масштабирование осей X/Y пропорционально сохраняет геометрию жеста. Однако некоторые контроллеры (например, более старые EETI EXC3000 rev A) кэшируют соотношение сторон при загрузке. После модификации CTM отправляется команда мягкого сброса (регистр 0x01 = 0x02) для перезагрузки параметров жеста. В ходе тестирования мы подтвердили работу мультитач-функции 10 пальцами на дисплеях 32:9 после переназначения клавиш без искажений жеста — точность масштабирования с помощью щипка остается в пределах 2% от производительности нативного дисплея 16:9.
К распространённым причинам сбоев относятся переполнение CTM (коэффициенты >0xFFFF), ошибки связи I2C во время записи в регистры и неполная линеаризация, вызывающая искривление фронтов сигнала.
Переполнение CTM происходит, когда коэффициенты масштабирования превышают 4.0× (например, для дисплеев 64:9) — решение состоит в уменьшении количества каналов датчика с помощью прошивки. Ошибки I2C: убедитесь в наличии подтягивающих резисторов (2.2 кОм–4.7 кОм) на линиях SDA/SCL; мы наблюдали 30% сбоев записи без надлежащего согласования. Неполная линеаризация: всегда выполняйте 25-точечную (а не 9-точечную) калибровку для растянутых дисплеев; 9-точечная калибровка оставляет погрешность по краям 5–8 мм на 27-дюймовых панелях 32:9. В CDTech мы добавили скрипт «теста отрисовки» после калибровки, который отслеживает сетку 10 мм — любое отклонение >1 мм запускает автоматическую перекалибровку.
«После калибровки более 500 растянутых дисплеев для автомобильных приборных панелей и торговых киосков я усвоил три горькие истины. Во-первых: никогда не доверяйте значениям CTM по умолчанию — всегда считывайте регистры и сверяйте их с технической документацией. Во-вторых: связь I2C ненадежна; мы потеряли 2 недели на отладку «заблокированного» контроллера, обнаружив, что 10-сантиметровый неэкранированный кабель I2C улавливает электромагнитные помехи от инвертора подсветки. В-третьих: линеаризация не подлежит обсуждению. На 43-дюймовой видеостене 32:9 пропуск 25-точечной калибровки приводил к смещению курсора на 12 мм по краям экрана — неприемлемо для медицинской визуализации. В CDTech мы теперь автоматизируем запись CTM с помощью скриптов Python, которые проверяют значения регистров после записи, снижая количество ошибок калибровки с 15% до 0.3%. Для дисплеев 32:9 оптимальным значением является масштабирование по оси X = 2.0–2.2× с допуском по краям 0.5 мм после линеаризации».
Можно ли откалибровать сенсорный дисплей с соотношением сторон 32:9 без доступа к прошивке?
Нет, калибровка на уровне операционной системы не может исправить фундаментальные несоответствия разрешения. Для дисплеев с растянутым соотношением сторон 32:9 требуется модификация CTM на уровне прошивки, чтобы предотвратить смещение курсора и искажение траектории.
Каков максимальный коэффициент масштабирования по оси X для контроллеров EETI?
EETI EXC3000 поддерживает коэффициенты CTM до 0xFFFF (65535), что эквивалентно 16-кратному масштабированию. Для соотношения сторон 32:9 (2.0-кратное масштабирование) это вполне допустимо. При масштабировании более 4 раз следует рассмотреть возможность использования пользовательского сопоставления каналов датчика.
Сколько времени занимает калибровка сенсорного экрана на уровне прошивки для каждого устройства?
При использовании автоматизированных скриптов I2C калибровка прошивки занимает 3–5 минут на устройство (включая 25-точечную линеаризацию). Ручная калибровка ОС занимает 15–20 минут и менее точна для дисплеев с растянутым изображением.
Требуются ли для контроллеров ILITEK ILI2511 другие регистры CTM, чем для контроллеров EETI?
Да, ILITEK использует регистр с базой 0xA0 для CTM, а EETI — 0x50. Формат коэффициентов идентичен (16-битный с фиксированной запятой), но всегда сверяйтесь с техническим описанием конкретной микросхемы.
Какие инструменты необходимы для калибровки сенсорного экрана на производственной линии?
Минимальный набор: USB-to-I2C адаптер (120$), программное обеспечение для настройки контроллера (бесплатно) и скрипт автоматизации на Python. Для больших объемов производства: специальный шаблон с автоматизированным программированием I2C и проверкой на основе машинного зрения.
Для отображения координат касания на растянутых дисплеях 32:9 требуется перекалибровка емкостных контроллеров (EETI/ILITEK) на уровне прошивки для переназначения стандартного вывода 16:9 на нестандартные соотношения сторон. Критические шаги: доступ к регистрам CTM через I2C (0x50 для EETI, 0xA0 для ILITEK), вычисление новых коэффициентов масштабирования по оси X (обычно 2.0–2.2× для 32:9), запись значений во флэш-память и проверка с помощью 25-точечной линеаризации. Калибровка на уровне ОС не работает для растянутых дисплеев из-за фундаментального несоответствия разрешения, в то время как исправления прошивки устраняют смещение курсора и искажение траектории на источнике. В CDTech мы сократили количество сбоев калибровки с 15% до 0.3% за счет автоматизации записи CTM с помощью скриптов Python и обеспечения проверки сетки после калибровки. Для развертывания в производственной среде приобретите инструменты отладки I2C, сделайте резервные копии исходных значений регистров и всегда выполняйте 25-точечную (а не 9-точечную) линеаризацию для достижения точности по краям <1 мм на сверхширокоформатных растянутых дисплеях.
Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности и Условиями использования.