система тактильной обратной связи с сохраненными эффектами

Классы МПК:G06F3/01 вводные устройства или комбинированные вводные и выводные устройства для взаимодействия пользователя с компьютером
Автор(ы):, ,
Патентообладатель(и):ИММЕРЖН КОРПОРЭЙШН (US)
Приоритеты:
подача заявки:
2008-02-04
публикация патента:

Изобретение относится к выводным устройствам для взаимодействия с пользователем и может быть использовано в карманных устройствах с сенсорным экраном. Техническим результатом является использование множества параметров низкого уровня для генерирования сохраненных тактильных эффектов. Система тактильной обратной связи включает в себя контроллер, соединенную с контроллером память, схему возбуждения привода, соединенную с контроллером, и привод, соединенный со схемой возбуждения привода. Память хранит в себе, по меньшей мере, один тактильный эффект, который выполняется контроллером, чтобы создать тактильный эффект. Также заявлены способ генерации тактильного эффекта и машиночитаемый носитель, хранящий инструкции для выполнения указанного способа. 3 н. и 30 з.п. ф-лы, 6 ил., 3 табл. система тактильной обратной связи с сохраненными эффектами, патент № 2461865

система тактильной обратной связи с сохраненными эффектами, патент № 2461865 система тактильной обратной связи с сохраненными эффектами, патент № 2461865 система тактильной обратной связи с сохраненными эффектами, патент № 2461865 система тактильной обратной связи с сохраненными эффектами, патент № 2461865 система тактильной обратной связи с сохраненными эффектами, патент № 2461865 система тактильной обратной связи с сохраненными эффектами, патент № 2461865

Формула изобретения

1. Система тактильной обратной связи, содержащая:

контроллер;

память, соединенную с упомянутым контроллером;

схему возбуждения привода, соединенную с упомянутым контроллером; и привод, соединенный с упомянутой схемой возбуждения привода;

причем упомянутая память хранит в себе по меньшей мере один тактильный эффект, который приводит в действие привод;

причем сохраненный тактильный эффект содержит множество байтов данных, и каждый байт данных определяет тактильный параметр, содержащий либо магнитуду, либо длительность по времени, и причем байт данных содержит указание произвольного наклона магнитуды;

причем контроллер генерирует тактильный эффект путем приема первого байта данных магнитуды и второго байта данных длительности по времени из памяти и формирования сигнала с магнитудой, указанной в первом байте данных магнитуды и в течение длительности, указанной во втором байте данных длительности по времени, и когда указан произвольный наклон в первом байте данных магнитуды, то магнитуду регулируют посредством упомянутого наклона;

и применяют сигнал к приводу.

2. Система тактильной обратной связи по п.1, в которой упомянутый тактильный эффект содержит множество дискретных точек магнитуды.

3. Система тактильной обратной связи по п.2, в которой магнитуда удерживается на постоянном уровне в течение некоторого периода времени.

4. Система тактильной обратной связи по п.2, в которой магнитуда модулируется по некоторому периоду времени как функция от времени.

5. Система тактильной обратной связи по п.2, в которой упомянутые дискретные точки магнитуды содержат начальную точку, точку поддерживания, точку торможения и нулевую точку.

6. Система тактильной обратной связи по п.1, в которой упомянутый тактильный эффект представляет собой предварительно вычисленный тактильный эффект.

7. Система тактильной обратной связи по п.6, в которой упомянутый тактильный эффект генерируется посредством инструмента разработки эффекта.

8. Система тактильной обратной связи по п.1, в которой упомянутый привод представляет собой линейный резонансный привод.

9. Система тактильной обратной связи по п.1, в которой упомянутый привод представляет собой пьезоэлектрический привод.

10. Система тактильной обратной связи по п.1, в которой тактильный эффект сохраняется как конструкция огибающей оцифрованного потока.

11. Система тактильной обратной связи по п.1, в которой тактильный эффект генерируется, когда первый приоритет тактильного эффекта является более высоким, чем второй приоритет текущего тактильного эффекта.

12. Способ генерации тактильного эффекта, содержащий этапы, на которых:

извлекают сохраненный тактильный эффект;

генерируют сигналы возбуждения на основании сохраненного тактильного эффекта и

применяют сигналы возбуждения к приводу;

причем сохраненный тактильный эффект содержит множество байтов данных, и каждый байт данных определяет тактильный параметр, содержащий либо магнитуду, либо длительность по времени, и причем байт данных содержит указание произвольного наклона магнитуды;

генерируют тактильный эффект путем приема первого байта данных магнитуды и второго байта данных длительности по времени и формирования сигнала с магнитудой, указанной в первом байте данных магнитуды и в течение длительности, указанной во втором байте данных длительности по времени, и регулирования магнитуды посредством наклона, если в первом байте данных магнитуды указан произвольный наклон; и

применяют сигнал к приводу.

13. Способ по п.12, в котором упомянутый тактильный эффект содержит множество дискретных точек магнитуды.

14. Способ по п.13, в котором магнитуда удерживается на постоянном уровне в течение некоторого периода времени.

15. Способ по п.13, в котором магнитуда модулируется по некоторому периоду времени как функция от времени.

16. Способ по п.13, в котором упомянутые дискретные точки

магнитуды содержат начальную точку, точку поддерживания, точку торможения и нулевую точку.

17. Способ по п.12, в котором упомянутый тактильный эффект представляет собой предварительно вычисленный тактильный эффект.

18. Способ по п.12, в котором упомянутый тактильный эффект генерируется посредством инструмента разработки эффекта.

19. Способ по п.12, в котором упомянутый привод представляет собой линейный резонансный привод.

20. Способ по п.12, в котором упомянутый привод представляет собой пьезоэлектрический привод.

21. Способ по п.12, в котором тактильный эффект сохраняется как конструкция огибающей оцифрованного потока.

22. Способ по п.12, в котором этап генерации тактильного эффекта содержит этап, на котором определяют, является ли первый приоритет тактильного эффекта более высоким, чем второй приоритет текущего тактильного эффекта.

23. Машиночитаемый носитель, хранящий в себе инструкции, которые при выполнении процессором побуждают процессор выполнять:

извлечение сохраненного тактильного эффекта;

генерацию сигналов возбуждения на основании сохраненного тактильного эффекта и применение сигналов возбуждения к приводу;

причем сохраненный тактильный эффект содержит множество байтов данных, и каждый байт данных определяет тактильный параметр, содержащий либо магнитуду, либо длительность по времени, и причем байт данных содержит указание произвольного наклона магнитуды;

причем процессор генерирует тактильный эффект путем приема первого байта данных магнитуды и второго байта данных длительности по времени и формирования сигнала с магнитудой, указанной в первом байте данных магнитуды и в течение длительности, указанной во втором байте данных длительности по времени, и регулирования магнитуды посредством наклона, если в первом байте данных магнитуды указан произвольный наклон, и применения сигнала к приводу.

24. Машиночитаемый носитель по п.23, в котором упомянутый тактильный эффект содержит множество дискретных точек магнитуды.

25. Машиночитаемый носитель по п.24, в котором магнитуда удерживается на постоянном уровне в течение некоторого периода времени.

26. Машиночитаемый носитель п.24, в котором магнитуда модулируется по некоторому периоду времени как функция от времени.

27. Машиночитаемый носитель по п.24, в котором упомянутые дискретные точки магнитуды содержат начальную точку, точку поддерживания, точку торможения и нулевую точку.

28. Машиночитаемый носитель по п.23, в котором упомянутый тактильный эффект представляет собой предварительно вычисленный тактильный эффект.

29. Машиночитаемый носитель по п.24, в котором упомянутый тактильный эффект генерируется посредством инструмента разработки эффекта.

30. Машиночитаемый носитель по п.24, в котором упомянутый привод представляет собой линейный резонансный привод.

31. Машиночитаемый носитель по п.24, в котором упомянутый привод представляет собой пьезоэлектрический привод.

32. Машиночитаемый носитель по п.24, в котором тактильный эффект сохраняется как конструкция огибающей оцифрованного потока.

33. Машиночитаемый носитель по п.23, причем тактильный эффект генерируется, когда первый приоритет тактильного эффекта более высоким, чем второй приоритет текущего тактильного эффекта.

Описание изобретения к патенту

Родственные заявки

Настоящая заявка притязает на приоритет предварительной патентной заявки США № 60/890690, поданной 20 февраля 2007 г.

Область техники

Один вариант осуществления настоящего изобретения направлен на карманное устройство с сенсорным экраном. В частности, один вариант осуществления настоящего изобретения направлен на карманное устройство с сенсорным экраном, которое включает в себя систему тактильной обратной связи.

Уровень техники

Производители электронных устройств стремятся предоставить пользователям интерфейс с широкими функциональными возможностями. Обычные устройства используют визуальные и звуковые сигналы для обратной связи с пользователем. В некоторых интерфейсах пользователю также предоставляется кинестетическая обратная связь (такая как активная и резистивная силовая обратная связь) и/или тактильная обратная связь (такая как вибрация, изменение текстуры и изменение температуры), что в совокупности обозначается термином "тактильная обратная связь". Тактильная обратная связь может предоставлять сигналы, которые усовершенствуют и упростят пользовательский интерфейс. В частности, виброэффекты и/или вибротактильные эффекты могут быть полезны при предоставлении пользователям сигналов, чтобы уведомлять пользователей о событиях или чтобы предоставлять реалистичную обратную связь для обеспечения более глубокого сенсорного восприятия симулированного или виртуального окружения.

Тактильная обратная связь также внедряется в портативные электронные устройства, такие как сотовые телефоны, Персональные Цифровые Секретари (Personal Digital Assistant, PDA), портативные игровые устройства и т.п. Например, некоторые портативные игровые приложения способны генерировать вибрацию так же, как и устройства управления (например, джойстики и т.п.), используемые в более крупных игровых системах, которые сконфигурированы для предоставления тактильной обратной связи. В добавление, устройства, такие как сотовые телефоны и PDA, способны предоставлять уведомления пользователям посредством вибрации. Например, посредством вибрации сотовый телефон может уведомить пользователя о входящем телефонном вызове. Аналогичным образом PDA может уведомить пользователя о запланированном событии в календаре или предоставить пользователю напоминание для элемента списка задач или назначения в календаре.

В последнее время в области портативных устройств имеет место тенденция перехода от физических кнопок к интерфейсам только с сенсорным экраном. Этот переход обеспечивает большую гибкость, уменьшение количества деталей и снижение зависимости от потенциально ненадежных механических кнопок. Причем это согласуется с современными тенденциями в дизайне подобных продуктов. Когда используется устройство ввода с сенсорным экраном, механическое подтверждение нажатия кнопки или другого действия пользовательского интерфейса может быть симулировано посредством тактильной обратной связи.

Некоторые известные устройства модифицируют или генерируют тактильные эффекты в реальном масштабе времени или "на лету". Несмотря на то, что данный подход позволяет генерировать широкий спектр тактильных эффектов, для его реализации может потребоваться существенный объем вычислительной мощности, причем быстрая разработка новых устройств не будет возможна, поскольку разные тактильные эффекты должны быть совместимы с аппаратным интерфейсом устройства.

Соответственно, существует необходимость в усовершенствованной системе и способе для генерации тактильных эффектов для устройства.

Раскрытие изобретения

Один вариант осуществления настоящего изобретения представляет собой систему тактильной обратной связи, которая включает в себя контроллер, соединенную с контроллером память, схему возбуждения привода, соединенную с контроллером, и привод, соединенный со схемой возбуждения привода. Упомянутая память хранит в себе, по меньшей мере, один тактильный эффект, который выполняется контроллером, чтобы создать тактильный эффект. В отличие от подхода тактильных эффектов, генерируемых в реальном масштабе времени, использование сохраненного тактильного эффекта уменьшает объем требуемой вычислительной мощности.

Краткое описание чертежей

Фиг.1 - структурная схема сотового телефона согласно одному варианту осуществления.

Фиг.2 - структурная схема системной архитектуры системы тактильной обратной связи согласно одному варианту осуществления.

Фиг.3 - структурная схема программной архитектуры согласно одному варианту осуществления.

Фиг.4 - структурная схема формата файла, используемого в одном варианте осуществления для конструкции огибающей оцифрованного потока.

Фиг.5 - структурная схема Блока Хранения Эффекта согласно одному варианту осуществления.

Фиг.6 - иллюстрация типового короткого сигнала управления или сохраненного тактильного эффекта, где явно выделены критические данные, которые должны быть кодированы, согласно одному варианту осуществления.

Осуществление изобретения

Фиг.1 представляет собой структурную схему сотового телефона 10 согласно одному варианту осуществления. Телефон 10 включает в себя экран 11 и клавиши 13. В одном варианте осуществления клавиши 13 являют собой клавиши механического типа. В еще одном варианте осуществления клавиши 13 могут быть реализованы посредством сенсорного экрана или другого типа чувствительной к прикосновению поверхности, так что клавиши 13 представляют собой клавиши сенсорного экрана, или они могут быть реализованы посредством любого другого способа. Внутри телефона 10 находится система тактильной обратной связи, которая генерирует вибрации на телефоне 10. В одном варианте осуществления вибрации генерируются по всему телефону 10. В других вариантах осуществления система тактильной обратной связи может активировать особые части телефона 10, включающие в себя отдельные клавиши 13, независимо от того, являются ли эти клавиши механическими, сенсорными или реализованными некоторым другим образом.

Система тактильной обратной связи включает в себя контроллер 12. С контроллером 12 соединена память 20 и схема 16 возбуждения привода, которая присоединена к вибрационному приводу 18. Несмотря на то, что вариант осуществления с фиг.1 представляет собой сотовый телефон, варианты осуществления настоящего изобретения могут быть реализованы в любом типе телефонных или мобильных/портативных устройств, или в любом устройстве, которое использует привод для генерации вибраций. Сверх того, настоящая система тактильной обратной связи может быть реализована как макетная плата, которая позволяет производителям телефонов с тактильной функцией выполнять быстрое макетирование.

Контроллер 12 может представлять собой любой тип контроллера или процессора общего назначения, или он может быть контроллером, специально разработанным для предоставления тактильных эффектов, таким как специализированная интегральная схема. Контроллер 12 может представлять собой тот же контроллер/процессор, который управляет работой всего телефона 10, или он может быть отдельным контроллером. Контроллер 12 может определять тактильные эффекты, которые должны быть воспроизведены, и порядок, в котором эти эффекты должны быть воспроизведены, на основании параметров высокого уровня. Обычно, параметры высокого уровня, которые определяют конкретный тактильный эффект, включают в себя величину, частоту и длительность.

Контроллер 12 выводит сигнал управления в схему 16 возбуждения, которая включает в себя электронные компоненты, используемые для подачи в привод 18 необходимого электрического тока и напряжения, чтобы вызвать желаемые тактильные эффекты. Привод 18 представляет собой тактильное устройство, которое генерирует вибрацию на телефоне 10. Привод 18 может включать в себя один или более силовых механизмов, которые способны прилагать вибротактильную силу к пользователю телефона 10 (например, через корпус телефона 10). Привод 18 может представлять собой, например, электромагнитный привод, Эксцентрическую Вращающуюся Массу (Eccentric Rotating Mass, ERM), в которой эксцентрически расположенная масса приводится в движение двигателем, Линейный Резонансный Привод (Linear Resonant Actuator, LRA), в котором прикрепленная к пружине масса приводиться в движение взад и вперед, или "умный материал", такой как пьезоэлектрический материал, электроактивные полимеры или сплавы с памятью формы. Память 20 может представлять собой устройство хранения любого типа, такое как ПЗУ или ОЗУ. Память 20 хранит в себе инструкции, которые исполняются контроллером 12. Память 20 также может быть расположена внутри контроллера 12, или может использоваться сочетание внутренней и внешней памяти.

Фиг.2 представляет собой структурную схему архитектуры системы 100 тактильной обратной связи согласно одному варианту осуществления. Система 100 включает в себя два или более приложений 30 и 32, которые посредством программных команд вызывают конкретный сохраненный тактильный эффект, который должен быть воспроизведен. Прикладной Программный Интерфейс (Application Program Interface, API) 34 интерпретирует программные команды и выполняет вывод по двум параллельным каналам - по одному для каждого типа привода. В других вариантах осуществления может быть реализован один или более каналов. На фиг.2 левый канал предназначен для пьезоэлектрического привода 50, а правый канал предназначен для привода 52 LRA.

С каждым из этих каналов соединена Конструкция 36 Огибающей Оцифрованного Потока (Digitized Stream Envelope, DSE), которая включает в себя сохраненные тактильные эффекты. В одном варианте осуществления хранятся четыре разных тактильных эффекта, однако может использоваться любое их количество. Каждый канал включает в себя драйвер 38 и 40 и интерфейс 39 и 41 поставщика служб, который включает в себя информацию о конкретном типе привода для данного канала. Это обеспечивает возможность независимости API от аппаратного обеспечения/привода.

Каждый канал, сверх того, включает в себя сигнал 42 и 46 возбуждения и электрическую схему 44 и 48 возбуждения для каждого привода. В заключение, приводы 50 и 52 генерируют вибрацию или иной требуемый тактильный эффект.

В одном варианте осуществления возбудитель пьезоэлектрического привода генерирует сигнал управления в виде дифференциальной синусоидальной волны. Один вариант осуществления программно генерирует синусоидальную волну с частотой 5 кГц и выводит ее в форме сигнала Широтно-Импульсной Модуляции (Pulse Width Modulation, PWM). Для достижения такого же восприятия устройства может использоваться более простой сигнал управления. Тем не менее в одном варианте осуществления для пьезоэлектрической схемы требуется PWM-сигнал с фиксированной частотой в диапазоне 20-50 кГц, рабочий цикл которого обновляется каждые 200 мкс.

В одном варианте осуществления присутствуют, по меньшей мере, 3 возможные физические конфигурации для приводов LRA:

1. Крепление к корпусу: в этой конфигурации приводы LRA жестко прикрепляются к внутренней части корпуса устройства. LRA приводится в движение на его резонансной частоте (от 175 Гц до 185 Гц), и устройство целиком приводится в движение.

2. Установка на экран - согласованная частота. Экран поддерживается на подвеске, механически изолированной от корпуса, и приводы LRA жестко прикрепляются к экрану. Приводы LRA, как правило, возбуждаются на резонансной частоте, и подвеска настраивается таким образом, чтобы усиливать эту частоту.

3. Установка на экран - двухрежимная система. Экран поддерживается на подвеске, механически изолированной от корпуса, и приводы LRA жестко прикрепляются к экрану. Привод LRA может возбуждаться на резонансной частоте LRA, и в этом случае подвеска настраивается таким образом, чтобы передавать большую часть вибрации на корпус. Привод LRA также может возбуждаться на естественной частоте системы, и подвеска настраивается на частоту, которая выше собственной резонансной частоты LRA (примерно 500 Гц). В этой конфигурации LRA может быть использован как система оповещения о событиях (бесшумный вибрационный сигнализатор), а также как система обратной связи сенсорного экрана (для тактильного подтверждения нажатия кнопки).

В одном варианте осуществления могут использоваться разные модели схем возбуждения VibeTonz® компании Immersion Corp. Обычно, для этих схем возбуждения требуется один PWM-сигнал на фиксированной частоте в диапазоне 20-50 кГц, переменный рабочий цикл, 8-битное разрешение рабочего цикла, отсутствие вывода при 50% и высокая степень детализации в диапазоне 20-30 кГц (поскольку во многих случаях несущая частота является множителем частоты LRA). Для упомянутой схемы также требуется Вывод Общего Назначения (General Purpose Output, GPO) для управления AMP_ENABLE.

Альтернативно, может использоваться еще более простая схема, поскольку выходная частота 5 или 8 кГц из драйвера позволяет генерировать синусоидальные или прямоугольные волны на резонансной частоте LRA. Это устраняет необходимость точной настройки частоты PWM, поскольку будет кодирована сама резонансная частота.

Фиг.3 представляет собой структурную схему программной архитектуры согласно одному варианту осуществления. Один вариант осуществления упомянутой архитектуры включает в себя следующие подходы:

1. Отсутствие воспроизведения специальных эффектов для приложений. Могут быть воспроизведены только предопределенные эффекты ("сохраненные тактильные эффекты"), сохраненные в конструкциях DSE, хранимых в программном обеспечении драйвера.

2. Отсутствие генерации в реальном масштабе времени. Воспроизведение эффекта основано на предварительно записанном сигнале управления и не генерируется в реальном масштабе времени. Упомянутый сигнал управления вычисляется, используя инструмент разработки эффекта.

3. Поддержка множества приложений. Множество приложений могут одновременно регистрироваться в API. Поддержка множества приложений требует некоторой формы маршалинга клиентов API, где API должен определить, чей запрос является наиболее важным. Здесь возможно применять два подхода:

a. Последний вызывающий побеждает. Когда множество приложений пытаются одновременно использовать ресурс вибрации, последний вызывающий прерывает любое предшествующее воспроизведение и воспроизводит свой эффект.

b. Схема приоритетов. API может поддерживать концепцию высокого/среднего/низкого приоритета при запуске воспроизведения эффекта. При запуске эффекта вызывающий специфицирует приоритет, который должен быть использован. Воспроизведение удается выполнить, если его приоритет равен или выше приоритета воспроизведения текущего эффекта.

4. Дизайн для портативности. Аналогично VibeTonz®, только ANSI C, без динамического распределения памяти.

В одном варианте осуществления Интерфейс Доступа Драйвера (Driver Access Interface, DAI) состоит из функций низкого уровня, которые образуют основу функций API. В одном варианте осуществления DAI устроен так, чтобы действовать как функциональный интерфейс, который с легкостью упаковывается в последовательный протокол. Драйвер представляет собой цикл заданной длительности, который выполняет следующие команды:

1. Проверить общую память API/Драйвера. Если запланировано воспроизведение, извлечь из памяти указатель текущего DSE вместе с любой другой необходимой информацией драйвера/состояния эффекта.

2. Если имеет место состояние "воспроизведение эффекта", декодировать DSE и извлечь величину PWM, которая должна быть применена к PWM. Далее выполнить запись в PWM. Перейти в режим ожидания до следующей выборки.

3. Если имеет место состояние "завершена проверка итерации для повторения" и если эффект требуется повторить, дать приращение величине повторений, установить временной интервал и перейти в режим ожидания, пока не истечет упомянутый временной интервал.

В одном варианте осуществления конструкция 36 DSE с фиг.2 представляет собой набор величин (магнитуд) или сил для некоторого количества эффектов. Выборки сохраняются в компактном формате без потерь. Файлы, содержащие информацию DSE, используют расширение.dse.

Фиг.4 представляет собой структурную схему формата файла, используемого в одном варианте осуществления для конструкции DSE. Блок Заголовка DSE 1.0 содержит информацию версии формата файла, количество эффектов, местоположение Блока Хранения Эффекта, местоположение Блока Имени Набора Эффектов и размер файла. Блок Хранения Эффекта содержит все определения эффекта, хранимые в файле DSE. Блок Имени Набора Эффектов, который является опциональным, содержит имя набора эффектов.

Фиг.5 представляет собой структурную схему Блока Хранения Эффекта согласно одному варианту, который имеет два подблока: Подблок Сдвига Хранения Эффекта и Подблок Данных Хранения Эффекта.

Подблок Сдвига Хранения Эффекта представляет собой массив сдвигов, каждый из которых соответствует одному эффекту. Каждый сдвиг занимает два байта, где меньший значащий бит занимает более младший адрес памяти. Количество эффектов хранится в заголовке файла DSE. Сдвиг в байтах специфицирует, где в Подблоке Данных Хранения Эффекта начинается определение эффекта относительно начала Подблока Данных Хранения Эффекта. Размер Подблока Сдвига Хранения Эффекта составляет 2*количество эффектов. Количество эффектов определяется из заголовка файла DSE. Подблок Данных Хранения Эффекта хранит в себе определения эффекта.

В одном варианте осуществления DSE содержит информацию управления величиной по времени. Идеализированное напряжение в диапазоне от -127 до 127 модулируется по времени, чтобы возбуждать вибрационный привод. Для управления переменным током (например, для LRA) другие части системы (программное обеспечение драйвера, электронные компоненты) несут ответственность за синтез сигнала переменного тока, и DSE представляет максимальную величину за цикл, которой достигает упомянутый сигнал управления переменного тока.

Фиг.6 представляет собой иллюстрацию типового короткого сигнала управления или сохраненного тактильного эффекта, где явно выделены критические данные, которые должны быть кодированы, согласно одному варианту осуществления. В отличие от известных систем, которые генерируют тактильные эффекты в реальном масштабе времени путем генерации тактильных эффектов из множества параметров высокого уровня, тактильный эффект с фиг.6 предопределяется тактильными параметрами низкого уровня, такими как уровни напряжения и длительность.

Точка 1 являет собой начало тактильного эффекта, который всегда начинается в момент t=0 мс. Предположим, что идеализированное напряжение имеет уровень 127. Время между точкой 1 и точкой 2 представляет начальный импульс. Точка 2, для которой, например, t=20 мс, идентифицирует начало периода поддержания, в течение которого применяется напряжение уровня 80. Напряжение этого уровня прилагается до точки 3, для которой t=100 мс, например, где начинается тормозящий импульс с напряжением -127. В точке 4, где t=120 мс, напряжение падает до 0. Дополнительная нулевая точка, то есть точка 5, устанавливается в t=150 мс, чтобы кодировать определенный объем тишины, что полезно, когда эффект должен повторяться (того же эффекта можно достигнуть путем специфицирования величины интервала в вызове DAI/API). В нижеприведенной таблице 1 приведен пример того, как критические точки и моменты кодируются в одном варианте осуществления.

Таблица 1
№ байтаДанные Значение
0 127Применить напряжение уровня 127...
120 В течение 20 мс
280 Применить напряжение уровня 80...
380 В течение 80 мс
4-127 Применить напряжение уровня -127...
520 В течение 20 мс
60 Применить напряжение уровня 0...
730 В течение 30 мс
80 Применить напряжение уровня 0...
90 В течение 0 мс. Это обозначает "конец определения эффекта оцифрованного потока".

В одном варианте осуществления используется немного более сложное кодирование, в котором применяется кодирование наклона, как показано ниже в таблицах 2 и 3. Ссылаясь на таблицу 2:

1. Данные организованы в парах напряжение/время.

2. Время имеет относительную величину, а не абсолютную. То есть "Применить напряжение X в течение следующих Y миллисекунд", а не "Применить напряжение X, начиная с момента t=Y".

Таблица 2

Общее кодирование пары напряжение/время, пара "установить и удерживать":
№ байтаБиты Данные Значение
07 Ramp/nHold0 => Удерживать этот уровень напряжения в течение этой длительности.
0 6..0Voltage/2 Уровень прилагаемого напряжения, разделенный на 2. Использовать одну команду левого сдвига и привести к форме 8-битного целого числа со знаком, чтобы получить желаемый уровень напряжения в диапазоне от -127 до 127. Драйвер всегда должен прибавлять 1/-1 к результату, если величина не равна 0.
1 7..0Time, ms/5 Время в приращениях 5 мс. Для наилучших результатов код драйвера должен выполнять цикл управления на частоте 200 Гц. Максимальное время, которое может быть кодировано, составляет 255×5 мс = 1,275 с. В случае больших длительностей, создать последовательность пар напряжение/время.

Таблица 3

Общее кодирование пары напряжение/время, пара "установить и линейно изменять":
№ байтаБиты Данные Значение
07 Ramp/nHold1 => Начать на уровне напряжения и линейно изменять его согласно параметрам в течение специфицированной длительности.
06..0 Voltage/2Разделенный на 2 уровень напряжения, который должен быть применен в момент 0. Использовать одну команду левого сдвига и привести к форме 8-битного целого числа со знаком, чтобы получить желаемый уровень напряжения в диапазоне от -127 до 127. Драйвер всегда должен прибавлять 1/-1 к результату, если величина не равна 0.
1 7..0Time, ms/5 Время в приращениях 5 мс. Для наилучших результатов код драйвера должен выполнять цикл управления на частоте 200 Гц. Максимальное время, которое может быть кодировано, составляет 255×5 мс = 1,275 с. В случае больших длительностей создать последовательность пар напряжение/время.
2 7..0Slope -128, или от -127 до 127. Целая часть величины наклона, представляющая целые шаги PWM, которые должны быть выполнены через каждые 5 мс. -128 представляет наклон "отрицательного 0", в отличие от "положительного 0", который равен 0. Подробности ниже.
3 7..0 SlopeFrac0..255. Дробная часть величины наклона, выраженная как дробная часть 256. Подробности ниже.

Использование Slope и SlopeFrac

Драйвер может использовать эти величины следующим образом:

pwm = Voltage << 1; /*Исходная величина PWM*/

pwm_rem = 0; /*Исходный остаток PWM*/

В цикле длительностью 5 мс:

Если ((pwm_rem + SlopeFrac) < pwm_rem)/* этот остаток практически достиг значения сброса */

{

Slope >= 0 ? pwm++: pwm--;

}

pwm_rem += SlopeFrac;

если (-128 != Slope) pwm += Slope;

Блок Имени Эффекта, который является опциональным, имеет один подблок: Подблок Данных Имени Эффекта.

Выше были описаны и/или проиллюстрированы несколько вариантов осуществления. Тем не менее следует понимать, что в рамках сущности и объема настоящего изобретения могут быть выполнены различные модификации и вариации, охватываемые вышеописанными идеями и объемом прилагаемой формулы изобретения.

Класс G06F3/01 вводные устройства или комбинированные вводные и выводные устройства для взаимодействия пользователя с компьютером

коснитесь любого места, чтобы говорить -  патент 2526758 (27.08.2014)
трансформируемая панель для тактильного управления -  патент 2523172 (20.07.2014)
способ управления устройством с помощью глазных жестов в ответ на стимулы -  патент 2522848 (20.07.2014)
способ работы электронного устройства при поиске пользователями объекта в базе данных -  патент 2522026 (10.07.2014)
способ (варианты) и устройство для управления источником тока, а также сварочный шлем для пользователя источником тока -  патент 2498886 (20.11.2013)
интерактивный учебный комплекс -  патент 2494441 (27.09.2013)
поверхность конструирования логических структур -  патент 2479011 (10.04.2013)
графическое устройство отображения -  патент 2469377 (10.12.2012)
силовая обратная связь для устройств ввода -  патент 2461866 (20.09.2012)
программируемые экранное меню и пульт дистанционного управления -  патент 2454701 (27.06.2012)
Наверх