ДВУСТОРОННИЙ РАЗЪЕМ ДЛЯ ВСПОМОГАТЕЛЬНЫХ УСТРОЙСТВ
REVERSIBLE CONNECTOR FOR ACCESSORY DEVICES

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0001] Подробное описание описано со ссылкой на прилагаемые фигуры. На фигурах, самая левая цифра(ы) ссылочной позиции идентифицирует фигуру, на которой ссылочная позиция появляется первый раз. Использование одних и тех же ссылочных позиций в различных примерах в описании и на фигурах может указывать на подобные или идентичные элементы. Сущности, представленные на фигурах, могут быть признаком одной или более сущностей, и, таким образом, может быть сделана ссылка взаимозаменяемым образом на формы единственного или множественного числа сущностей в обсуждении.
[0002] Фиг. 1 представляет собой иллюстрацию среды в примерной реализации, которая выполнена с возможностью использования технологий, описанных в материалах настоящей заявки.
[0003] Фиг. 2 изображает примерное вычислительное устройство и вспомогательное устройство по Фиг. 1 более подробно.
[0004] Фиг. 3 изображает примерный сценарий для двустороннего подключения аксессуара к порту для вспомогательных устройств (вспомогательному порту) в соответствии с одной или более реализациями.
[0005] Фиг. 4 изображает примерное представление расположения контактов для разъема в соответствии с одной или более реализациями.
[0006] Фиг. 5 изображает примерную процедуру в соответствии с одной или более реализациями.
[0007] Фиг. 6 изображает другую примерную процедуру в соответствии с одной или более реализациями.
[0008] Фиг. 7 иллюстрирует примерную систему, включающую в себя различные компоненты примерного устройства, которое может быть реализовано в виде любого типа вычислительного устройства для реализации вариантов осуществления технологий, описанных в материалах настоящей заявки.
ПОДРОБНОЕ ОПИСАНИЕ
Обзор
[0009] На сегодняшний день мобильные вычислительные устройства, такие как портативные компьютеры и планшеты, могут быть выполнены с возможностью поддержки и подключения к различным типам вспомогательных устройств посредством универсальной последовательной шины (USB) или других технологий связи. Однако, традиционные разъемы, порты и соединительные кабели для аксессуаров предназначены для подключения в одной ориентации. Соответственно, пользователи могут часто пытаться сделать подключение в неправильном направлении, что не только расстраивает пользователя, но также может привести к износу и/или повреждению разъемов, портов и соединительных шнуров.
[0010] Описаны технологии двустороннего разъема для вспомогательных устройств. В одной или более реализациях, соединительный кабель для вспомогательного устройства (аксессуара) главного вычислительного устройства (хоста) выполнен таким образом, что головка соединительного кабеля может быть подключена к соответствующему порту хоста в любой ориентации (прямой или обратной). Главное вычислительное устройство выполнено с возможностью выборки сигналов, связанных с выделенными контактами разъема, чтобы обнаруживать подключение разъема ко вспомогательному порту и чтобы устанавливать (выявлять) ориентацию разъема. Механизм коммутации из состава главного вычислительного устройства может затем быть выполнен с возможностью автоматической маршрутизации сигналов в соответствии с ориентацией. В одном из подходов, пара контактов «обнаружения» разъема предназначена для обнаружения горячего подключения. Комбинация высокого и низкого логических состояний, которая передается через эти два контакта обнаружения при вставке разъема, может быть использована контроллером хоста, чтобы различать разные типы устройств (например, устройства с двумя проводами и одним проводом), и чтобы определять ориентацию соединительного кабеля. Линии, связанные с двумя контактами обнаружения, могут быть опрошены вместе (например, параллельно или последовательно), и значения, полученные для двух линий, могут быть объединены вместе, чтобы получить комбинированное логическое состояние, указывающее на тип устройства и/или ориентацию разъема. Контроллер может затем работать, чтобы настроить тракт прохождения сигнала в соответствии с типом устройства и ориентацией. Чтобы сделать это, контроллер может быть выполнен с возможностью направлять позиции для коммутаторов и мультиплексоров хоста и/или подключенного аксессуара для надлежащего выполнения прямого или обратного трактов прохождения сигнала.
[0011] В последующем обсуждении, сначала описаны примерная среда и устройства, которые могут использовать методики, описанные в материалах настоящей заявки. Затем описаны примерные детали и процедуры, которые могут быть выполнены в примерной среде и с помощью этих устройств, а также в других средах и с помощью других устройств. Следовательно, реализация примерных деталей и процедур не ограничивается примерной средой/устройствами, и примерная среда/устройства не ограничиваются примерными деталями и процедурами.
Примерная Рабочая Среда
[0012] Фиг. 1 представляет собой иллюстрацию среды 100 в примерной реализации, которая выполнена с возможностью использования методик, описанных в материалах настоящей заявки. Проиллюстрированная среда 100 включает в себя главное вычислительное устройство 102, которое физически и коммуникационно соединено со вспомогательным устройством 104 через интерфейс 106. Главное вычислительное устройство 102 может быть сконфигурировано множеством способов. Например, вычислительное устройство 102 может быть сконфигурировано для мобильного использования, например, мобильного телефона, планшетного компьютера, как проиллюстрировано, и так далее. Таким образом, вычислительное устройство 102 может находиться в диапазоне от устройств с полными ресурсами со значительной памятью и ресурсами процессора до устройств с низкими ресурсами с ограниченной памятью и/или ресурсами процессора. Главное вычислительное устройство 102 может также иметь отношение к программному обеспечению, которое приводит к тому, что вычислительное устройство 102 выполняет одну или более операций.
[0013] Главное вычислительное устройство 102, например, проиллюстрировано как включающее в себя модуль 108 ввода/вывода. Модуль 108 ввода/вывода представляет функциональные возможности, относящиеся к обработке входных данных и визуализации выходных данных главного вычислительного устройства 102. Множество различных входных данных может быть обработано модулем 108 ввода/вывода, например, входные данные, относящиеся к функциям, которые соответствуют клавишам устройства ввода, клавишам виртуальной клавиатуры, отображаемой устройством 110 отображения, чтобы идентифицировать жесты и вызвать операции, которые должны быть выполнены, которые соответствуют жестам, которые могут быть распознаны с помощью вспомогательного устройства 104 и/или функциональности сенсорного экрана устройства 110 отображения, и так далее. Таким образом, модуль 108 ввода/вывода может поддерживать множество различных технологий ввода путем распознавания и использования разделения между типами входных данных, включая нажатия клавиш, жесты и так далее.
[0014] Также рассматриваются различные конфигурации для вспомогательного устройства 104, такие как клавиатура, игровой контроллер, конфигурация для имитации музыкального инструмента, адаптер питания, док-станция, концентратор USB, внешняя батарея, комбинации этих конфигураций и так далее. Таким образом, вспомогательное устройство 104 может предполагать множество различных конфигураций для поддержки множества различных функций. Различные вспомогательные устройства могут быть подключены с возможностью отсоединения к вычислительному устройству в различное время.
[0015] Как описано ранее, вспомогательное устройство 104 физически и коммуникационно соединено с главным вычислительным устройством 102 в этом примере через интерфейс 106. Также рассматриваются различные типы интерфейсов 106 и разъемов, такие как использование гибкой петли, устройства магнитной связи, интегрированные порты связи и контакты связи, выступающие части механического соединения, слоты, и/или углубления, отдельно или в комбинации, чтобы сформировать различные типы интерфейсов 106. В одном из примеров, интерфейс 106 может представлять вспомогательный порт (например, порт связи), выполненный с возможностью обеспечения соединения со вспомогательными устройствами через соответствующий разъем и/или соединительный шнур. В соответствии с методиками, обсужденными выше и ниже, вспомогательный порт и соответствующий разъем предназначены для того, чтобы сделать возможным двустороннее подключение разъема к порту. По меньшей мере в некоторых реализациях, интерфейс 106 выполнен с возможностью обеспечения связи для аутентификации и управления вспомогательным устройством 104, как описано в материалах настоящей заявки. Например, вычислительное устройство 102 может принимать учетные данные (например, данные, характеризующие идентификатор аксессуара), сигналы и другие данные, касающиеся возможностей вспомогательного устройства, через интерфейс, реагирующий на обнаружение присутствия/присоединения вспомогательного устройства 104. Интерфейс может также предоставлять соединение электропитания для обмена энергией и передачи сообщений, чтобы реализовать и обновить управление питанием и функции управления, как описано выше и ниже.
[0016] Как дополнительно проиллюстрировано на Фиг. 1, вычислительное устройство 102 может включать в себя контроллер 112 питания, выполненный с возможностью реализации аспектов технологий контракта управления питанием, описанных в материалах настоящей заявки. В частности, контроллер 112 питания представляет функциональные возможности для выполнения различных операций для управления питанием, включая управление настройками для управления питанием на основе идентификаторов аксессуара, обеспечение обмена сообщениями управления между хостом и аксессуарами, управление различными источниками питания и переключение между источниками, реализацию определенной и/или выбранной схемы управления питанием, управление временем работы от батареи, и так далее. Контроллер 112 питания может дополнительно способствовать связи и обмену данными с адаптером 114 питания (также называемым в материалах настоящей заявки блоком питания (PSU)), выполненным с возможностью подачи питания к устройству через подходящий внешний источник 116 питания, такой как настенная розетка, внешняя батарея, блок питания или другой источник питания. Контроллер 112 питания может также быть выполнен с возможностью подачи питания вспомогательным устройствам в соответствующих обстоятельствах. Другими словами, контроллер 112 питания может управлять операциями питания одновременно для главного вычислительного устройства и авторизованных вспомогательных устройств, включая обмен электроэнергией между главным вычислительным устройством и вспомогательным устройством.
[0017] Контроллер 112 питания может быть реализован в аппаратных средствах, программных средствах, программно-аппаратных средствах и/или их комбинации. В качестве примера и не ограничения, вычислительное устройство 102 может включать в себя микроконтроллер или другое подходящее аппаратное логическое устройство, выполненное с возможностью реализации различных функциональных возможностей, которые описаны в материалах настоящей заявки по отношению к контроллеру 112 питания. Контроллер 112 питания может, следовательно, представлять программно-аппаратные средства или логику, связанную с подходящим аппаратным логическим устройством. В дополнение или альтернативно, контроллер 112 питания может быть реализован посредством системы обработки данных устройства и одного или более программных модулей, которые являются исполняемыми/работающими через систему обработки.
[0018] Адаптер 114 питания может быть выполнен с возможностью выборочной работы в нескольких режимах и подачи нескольких уровней мощности для вычислительного устройства. Уровень подаваемой мощности в конкретное время может быть основан на входных данных, уведомлениях или другой подходящей обратной связи, настроенной и отправленной в адаптер 114 питания посредством контроллера 112 питания, чтобы заставить адаптер 114 питания подать соответствующий уровень мощности. В зависимости от состояния обмена электроэнергией, адаптер 114 питания, будучи подключенным к вычислительному устройству, может заряжать батарею, связанную с одним или обоими из хоста и аксессуара, подавать электроэнергию для поддержания работы одного или обоих из хоста и аксессуара, и в противном случае подавать электроэнергию из внешних источников 116 питания для одновременной зарядки хоста и аксессуара в различных комбинациях. Схема питания, реализованная через контроллер 112 питания, может быть выполнена с возможностью управления потоком электроэнергии между компонентами системы (например, хостом, аксессуаром и адаптером) в зависимости от идентификатора аксессуара, условий обмена электроэнергией, доступностью источника питания и так далее. Более подробная информация, касающаяся работы контроллера 112 питания и адаптера 114 питания для реализации контрактов управления питанием, может быть найдена в дальнейшем обсуждении.
[0019] Фиг. 2 изображает в целом на 200 примерное главное вычислительное устройство 102 и вспомогательное устройство 104 более подробно. На Фиг. 2 главное вычислительное устройство 102, изображенное как имеющее контроллер 112 питания, проиллюстрировано как снабженное одним или более микроконтроллером(ами) 202, также называемыми микропроцессором(ами) (μP). Вычислительное устройство 104 дополнительно включает в себя связанный блок 204 питания, такой как одна или более внутренние батареи. Вспомогательное устройство 104 может также включать в себя один или более микроконтроллер(ы) 206 и соответствующие источник 208 питания. Источник 208 питания может быть выполнен как одна или более батарей, которые являются внутренними по отношению ко вспомогательному устройству 104 (например, батарея аксессуара) и могут, следовательно, рассматриваться как внешние батареи по отношению к главному вычислительному устройству 102.
[0020] Примерные микроконтроллеры (μP8) представляют аппаратные устройства/системы, которые предназначены для выполнения предопределенного набора назначенных задач. Микроконтроллеры могут представлять соответствующие находящиеся на кристалле системы/схемы, имеющие автономные ресурсы, такие как компоненты обработки, устройства I/O (ввода/вывода)/периферийные устройства, различные типы памяти (ПЗУ (постоянное запоминающее устройство), ОЗУ (оперативное запоминающее устройство), Флэш, ЭСППЗУ (электрически стираемое программируемое постоянное запоминающее устройство)), программируемую логику и так далее. Различные микроконтроллеры могут быть выполнены с возможностью реализации встроенных приложений/функциональных возможностей, которые реализованы по меньшей мере частично в аппаратных средствах и выполняют соответствующие задачи. В частности, примерные микроконтроллеры 202, 206 делают возможным выполнение задач для аутентификации устройства и управления питанием вне работы системы обработки общего назначения и других приложений/компонентов вычислительного устройства или вспомогательного устройства. Как правило, потребление энергии микроконтроллеров мало по сравнению с работой системы обработки общего назначения для устройства.
[0021] Таким образом, компоненты, реализованные через микроконтроллеры, могут работать, используя сравнительно малую мощность, независимо от работы «первичной» системы обработки главного вычислительного устройства, и/или без загрузки/выполнения операционной системы или использования других компонентов и приложений устройства. Другими словами, микроконтроллеры могут работать для выполнения некоторых задач по управлению питанием в режиме низкого энергопотребления без необходимости запуска или подачи питания системе обработки и другим компонентам устройства (например, памяти устройства, сетевому интерфейсу, устройству отображения и т. д.) и/или без полного запуска или пробуждения вычислительного устройства.
[0022] Главное вычислительное устройство 202 может быть подключаемым к различными вспомогательным устройствам через вспомогательный порт 210. Вспомогательный порт 210 представляет функциональные возможности для достижения физического и коммуникационного соединения между главным вычислительным устройством и различными аксессуарами. Например, разъем 211, соответствующий вспомогательному порту 210, может быть использован для подключения аксессуаров к главному вычислительному устройству и осуществления обмена сигналами управления, данными и электроэнергией. В изображенном примере, разъем 211 проиллюстрирован как соединительный шнур, который может быть вставлен с возможностью отсоединения в соответствующий порт, связанный с интерфейсом 210 аксессуара, хотя другие типы соединений также предусматриваются, такие как гибкая петля, обсужденная в связи с Фиг. 1, соединения с док-станцией, обсужденные в связи со следующей фигурой, и/или другие подходящие комбинации интерфейсов и разъема. В соответствии с методиками, описанными в материалах настоящей заявки, разъем 211 и соответствующие порты могут быть выполнены с возможностью поддержки двустороннего соединения/вставки комбинации разъема/порта.
[0023] Как представлено на Фиг. 2, обмен электроэнергией может происходить между источником 204 питания хоста и источником 208 питания аксессуара в соответствии с методиками, описанными выше и ниже. В некоторых реализациях, обмен электроэнергией может также происходить с внешним источником 116 питания, сконфигурированным как внешняя батарея, через адаптер 114 питания, как представлено на Фиг. 1. Другими словами, трехсторонний обмен электроэнергией может возникнуть между батареями/источниками питания, соответствующими хосту, аксессуаром, подключенным через вспомогательный интерфейс, и внешним источником питания. Как правило, обмен электроэнергией между хостом и одним или более подключенными устройствами (адаптерами/аксессуарами/периферийными устройствами) может происходить туда и обратно (например, двунаправленно) от хоста к одному или более из устройств, от одного или более из устройств к хосту, и/или непосредственно между подключенными устройствами (например, устройство-к-устройству) через хост.
[0024] Таким образом, обмен электроэнергией может происходить через вспомогательный порт 210 в некоторых сценариях. Питание, подаваемое главному вычислительному устройству, может использоваться для работы хоста (например, обслуживания загрузки системы) и/или для поддержки уровня заряда источника 204 питания (например, внутренней батареи). Кроме того, питание, подаваемое хосту, может быть подано прямо или косвенно ко вспомогательному устройству 104 для поддержки операций и/или зарядки источника 208 питания (например, внешней батареи). Кроме того, питание может быть распределено от главного вычислительного устройства 102 и/или вспомогательного устройства 104 к одному или более периферийным устройствам 212, которые могут быть подключены непосредственно к главному вычислительному устройству и/или подключены к системе через вспомогательное устройство 104, как представлено на Фиг. 2. Например, в одной или более реализациях вспомогательное устройство может быть выполнено с возможностью предоставления функциональных возможностей концентратора периферийных устройств, такого как концентратор, который предоставляет несколько портов универсальной последовательной шины (USB) и/или портов другого типа подключения, к которым могут быть подключены различные периферийные устройства 212. Периферийные устройства 212 могут включать в себя различные устройства, такие как периферийное устройство отображения, принтер, сканер, аудиоустройства, камера, устройство хранения или сетевой адаптер, чтобы назвать несколько примеров.
[0025] Следует отметить, что как главное вычислительное устройство 102, так и вспомогательное устройство 104 могут быть выполнены с возможностью использования внешних источников 116 питания, например, через использование соответствующих адаптеров 114 питания, подключенных к сетевой розетке или другому источнику. Питание, поданное непосредственно во вспомогательное устройство 104 через соответствующий адаптер 114 питания, может использоваться, совместно использоваться и/или может быть выполнен обмен между хостом и аксессуаром способом, сравнимым с питанием, которое подано непосредственно в главное вычислительное устройство 102.
[0026] Главное вычислительное устройство может быть дополнительно выполнено с возможностью реализации схемы 214 питания и модуля 216 безопасности различными способами. В проиллюстрированном примере, схема 214 питания изображена как реализованная через контроллер 112 питания. В этом примере, схема 214 питания выполнена как программно-аппаратные средства, связанные с главным вычислительным устройством 102. Например, схема 214 питания может представлять программно-аппаратные средства, связанные с микроконтроллером 202, контроллером 112 питания или другим подходящим аппаратным логическим устройством. Альтернативно, схема 214 питания может быть реализована как автономный модуль, использующий любую подходящую комбинацию аппаратных средств, программных средств, программно-аппаратных средств и/или логических устройств.
[0027] Схема 214 питания представляет функциональные возможности для реализации технологий контракта управления питанием, описанных выше и ниже, а также другие функции управления питанием. В частности, схема 214 питания может быть выполнена с возможностью одновременного управления потоком энергии между адаптером 114 питания, главным вычислительным устройством 102 и вспомогательным устройством 104. В качестве примера и не ограничения, это может включать в себя управление потоком энергии для выборочного заряда батарей, связанных с компонентами; обмен электроэнергией между батареями, системами обработки и компонентами; подачу питания для обслуживания загрузки системы для хоста и аксессуара; и так далее. Чтобы сделать это, схема 214 питания может предоставлять функциональные возможности для установления и обновления контрактов 218 управления питанием между различными компонентами системы. Эти функциональные возможности могут включать в себя поддержку отправки и приема сообщений, касающихся управления питанием между компонентами системы, которые могут быть сконфигурированы различными способами. Например, сообщения могут быть выполнены как последовательности импульсного сигнала, которые распознаются соответствующими контроллерами хоста и аксессуара. Рассматриваются также различные подходящие протоколы обмена сообщениями и соответствующие форматы сообщений, такие как использование протокола последовательной шины стандарта I2C, последовательного периферийного интерфейса (SPI), обмена сообщениями с помощью универсального асинхронного приемника/передатчика (UART), обмена данными, основанного на пакетах, сообщений, основанных на объектах, чтобы назвать несколько примеров. Кроме того, могут использоваться беспроводные протоколы обмена сообщениями, такие как связь малого радиуса действия, Bluetooth, WiFi, радиочастотные протоколы, используемые в RFID (радиочастотной идентификации), или протоколы сотовой связи.
[0028] Контракты 218 управления питанием выполнены с возможностью определения эксплуатационных ограничений для управления питанием, включая, но не ограничиваясь этим, указание направления обмена электроэнергией и ограничений по току для различных устройств и сценариев. Кроме того, настройки для контрактов 218 управления питанием могут быть изменены в режиме реального времени на основе условий, наблюдаемых хостом или аксессуаром. Таким образом, первоначальные настройки или настройки по умолчанию для контрактов 218 управления питанием могут быть связаны с различными аксессуарами, и соответствующие контракты могут быть активированы при первоначальном подключении и авторизации различных аксессуаров. Первоначально активированные контракты 218 управления питанием могут быть впоследствии изменены на основе условий, включающих, но не ограниченных этим, относительные состояния зарядки (RSOC) для батарей компонентов системы, обслуживаемые силовые нагрузки, количество периферийных устройств 212, подключенных к хосту и/или аксессуару, доступность источника питания для компонентов системы, характеристики источника питания, вычислительные нагрузки, и так далее. Таким образом, вместо того, чтобы устранять эксплуатационные ограничения в то время, когда аксессуары и/или периферийные устройства подключены к системе, контракты управления питанием, обсужденные в материалах настоящей заявки, предназначены для того, чтобы сделать возможным динамические корректировки таких ограничений в ответ на меняющиеся условия в любое время во время подключения аксессуара к хосту. Такие изменения первоначальных настроек для контракта 218 управления питанием на основе условий «реального времени» могут быть инициированы вспомогательными устройствами и/или главным вычислительным устройством.
[0029] Модуль 216 безопасности представляет функциональные возможности для идентификации и/или аутентификации вспомогательных устройств, когда устройства присоединены/подключены к вычислительным устройствам. Модуль 216 безопасности может быть выполнен с возможностью реализации множества различных методов аутентификации. Вообще говоря, модуль 216 безопасности выполняет аутентифицирующую последовательность, в которой получают и проверяют учетные данные 220 (например, ID/пароль устройства, буквенно-цифровой код, идентифицирующее значение резистора и т. д.), связанные со вспомогательным устройством 104. В одном из подходов, модуль 216 безопасности выполнен с возможностью предоставления функциональных возможностей для поддержки технологий для двусторонних подключений разъема 211 ко вспомогательному порту. Например, модуль 216 безопасности может представлять функциональные возможности одного или более микроконтроллеров 202 для обнаружения вставки разъема во вспомогательный порт, осуществлять выборку контактов обнаружения разъема 211 для определения того, является ли ориентация разъема прямой или обращенной, в соответствии со значениями для контактов обнаружения, и/или различать различные типы устройств и/или протоколов связи на основе выборки. Различение различных типов устройств может включать в себя различение между двухпроводными устройствами, которые используют различные линии RX и TX, и однопроводными устройствами, для которых RX/TX объединены на одной линии или канале. Кроме того, модуль 216 безопасности может представлять функциональные возможности для настройки маршрутизации сигнала соответственно на основе установленной ориентации и/или типа устройства.
[0030] Кроме того, вспомогательное устройство 104 на Фиг. 2 проиллюстрировано как включающее в себя примерные учетные данные 220, которые могут быть предоставлены модулю 216 безопасности для аутентификации по запросу. Если учетные данные действительны (например, устройство представляет собой распознанное устройство, которое имеет связанные привилегии), аутентификация считается успешной, и вспомогательное устройство 104 может быть авторизовано для обмена электроэнергией через контроллер 112 питания и другого взаимодействия с главным вычислительным устройством 102. Кроме того, учетные данные 220 могут быть связаны с настройками контракта управления питанием, поддерживаемыми для авторизованного устройства, и, следовательно, могут использоваться для поиска и активации таких настроек (например, исходные первоначальные настройки или настройки по умолчанию) для различных устройств при успешной аутентификации. С другой стороны, если учетные данные не являются действительными, взаимодействие вспомогательного устройства 104 с вычислительным устройством 102 может быть ограничено различными способами и/или предотвращено. Таким образом, модуль 216 безопасности может предотвратить неавторизованные и/или неподдерживаемые устройства от подачи/использования электроэнергии способами, которые могут быть неэффективными и/или небезопасными.
[0031] Рассмотрев предшествующее обсуждение примерной рабочей среды, системы и устройств, рассмотрим теперь обсуждение примерных устройств, процедур и сценариев, которые включают в себя дополнительные подробности, касающиеся технологий для реализации двусторонних разъемов для вспомогательных устройств.
Подробности Двустороннего Разъема
[0032] Фиг. 3 изображает в целом 300 примерный сценарий для двустороннего подключения разъема ко вспомогательному порту в соответствии с одной или более реализациями. В этом примере изображены характерные виды разъема 211 как в прямой, так и обращенной ориентациях. Как упоминалось, технологии для двусторонних разъемов, обсужденные в материалах настоящей заявки, могут полагаться на выделенные контакты обнаружения разъема 211 и соответствующие схемы/сигналы, сформированные через контакты обнаружения. В одном из подходов, пара контактов обнаружения используется для интерфейса 106 для поддержки обнаружения горячего подключения и обмена данными для аутентификации устройства, обмена электроэнергией, управления маршрутизацией сообщений, и так далее. Интерфейс 106 настраивается в зависимости от типа устройства и/или ориентации разъема, чтобы переключаться между различными вариантами маршрутизации сигнала (например, прямая/ обращенная) и методами обмена данными (однопроводной/двухпроводной).
[0033] Здесь изображена пара контактов обнаружения, включающая в себя контакт A 302 (также называемый в материалах настоящей заявки «HPD1A») и контакт B 304 (также называемый в материалах настоящей заявки «HPD1B»). Хотя показана одна пара контактов обнаружения, вообще говоря, два или более контактов обнаружения могут быть выделены для обнаружения горячего подключения аксессуаров и могут быть опрошены для обеспечения идентификации ориентации разъема и типа устройства на основе сигналов, переданных/считанных через контакты обнаружения. В проиллюстрированном примере, контакт A 302 и контакт B 304 показаны как расположенные в целом на противоположных краях и/или сторонах головки разъема 211. Различные другие контакты 306 для поддержки различных протоколов связи, шин и высокоскоростных сигналов также включены в разъем 211. Например, в дополнение к предоставлению контактов для аутентификации/обмена электроэнергией/управления, разъем 211 может предоставлять контакты для поддержки USB, аудио/видео сигналов, порта дисплея, сетевых коммуникаций, и так далее. Как правило, контакты организованы как высокоскоростные пары контактов. Контакты 302, 304, 306 выполнены с возможностью сопряжения с набором дополнительных контактов 308, включенных во вспомогательный порт 210 главного вычислительного устройства.
[0034] На проиллюстрированной компоновке контакт A 302 и контакт B 304 выполнены с возможностью сопряжения соответственно с контактами RX и TX, связанными со вспомогательным портом 210 главного вычислительного устройства 102 в «прямой» ориентации. В этой компоновке, сигналы RX могут быть переданы через контакт A 302, а сигналы TX могут быть переданы через контакт B 304. Когда разъем перевернут или повернут в противоположном направлении, чтобы предположить «обращенную» ориентацию, также изображенную на Фиг. 3, контакт B 304 теперь сопрягается с контактом RX, а контакт A 302 теперь сопрягается с контактом TX. Другими словами, эти соединения контактов имеют физически измененные позиции. В отсутствие корректировки для разворота, RX/TX могут в конечном счете пересечься.
[0035] Главное вычислительное устройство, однако, может включать в себя или иным образом использовать механизм 310 коммутации для «выпрямления» маршрутизации сигнала. Механизм коммутации предоставляет функциональные возможности для управления маршрутизацией сигналов, так что сигналы передаются эффективно между одними и теми же конечными точками независимо от ориентации разъема. Механизм 310 коммутации используется для выборочного изменения сигнальных трактов, чтобы система сконфигурировала вспомогательный порт и/или соответствующий интерфейс на основе ориентации разъема и/или для конкретного типа устройства. Таким образом, например, даже когда разъем находится в «обращенной» ориентации, изображенной на Фиг. 3, механизм 310 коммутации может работать, чтобы изменять маршрутизацию сигнала так, что сигналы RX все еще передаются через контакт A 302, а сигналы TX передаются через контакт B 304. В качестве примера, механизм 310 коммутации может включать в себя один или более мультиплексоров 312 и/или коммутаторов 314, чтобы сделать возможным управление сигнальными трактами. Хотя механизм 310 коммутации, мультиплексоры 312 и коммутаторы 314 показаны как компоненты главного устройства, мультиплексоры 312 и коммутаторы 314, используемые для выборочного изменения направления на противоположное некоторых сигнальных трактов, могут быть связаны со вспомогательным устройством 104 в дополнение или в качестве альтернативы к механизму 310 коммутации, мультиплексорам 312 и коммутаторам 314 хоста. В этом случае, главное вычислительное устройство 102 может работать, чтобы отправлять команды в аксессуар, чтобы вызвать настройку маршрутизации сигнала через вспомогательные компоненты коммутации сигнала под управлением хоста.
[0036] Фиг. 4 изображает в целом ссылочной позицией 400 характерный пример, показывающий подробности, но лишь одной примерной компоновки контактов для головки 402 разъема 211. В этом примере разъем включает в себя сорок контактов. Контакт A 302 и контакт B 304 показаны как находящиеся на противоположных концах головки 402 разъема и на противоположных сторонах разъема 211. Контакт A 302 и контакт B 304 помечены в примере как «HPD1A» и «HPD1B», соответственно. Метки «HPD1A» и «HPD1B» используются взаимозаменяемо с терминами Контакт A и Контакт b в этом документе. Различные другие контакты 306 для передачи различных типов сигналов и данных также расположены в головке 402 разъема, включая, например, контакты для USB3, USB2, обмен электроэнергией, и так далее. Примерные расположения контактов, показанные и описанные на Фиг. 3 и 4, подразумеваются лишь иллюстративными примерами и не предназначены для ограничения расположения контактов и конфигураций разъема, которые могут быть использованы в соответствии с описанными методиками. Дополнительные подробности, касающиеся технологий, связанных с двусторонними разъемами для вспомогательных устройств, обсуждены в связи со следующими примерными процедурами.
Примерные Процедуры
[0037] Последующее обсуждение описывает методики, которые могут быть реализованы с использованием ранее описанных систем и устройств. Аспекты каждой из процедур могут быть реализованы в аппаратных средствах, программно-аппаратных средствах, программных средствах или в их комбинации. Процедуры проиллюстрированы как набор блоков, которые определяют операции, выполняемые одним или более устройствами, и они не обязательно ограничены показанными последовательностями для выполнения операций соответствующими блоками. В частях последующего обсуждения, может быть сделана ссылка на примерную рабочую среду 100 на Фиг. 1 и примерные устройства и сценарии на Фиг. 2-4. Аспекты процедур могут быть выполнены с помощью соответствующим образом сконфигурированного вычислительного устройства, такого как примерное главное вычислительное устройство 102 на Фиг. 2, которое включает в себя или иным образом использует один или более микроконтроллеров 202 для поддержки двусторонних разъемов 211. В дополнение или в качестве альтернативы, аспекты процедур могут быть выполнены с помощью вспомогательного устройства, такого как примерное вспомогательное устройство 104 на Фиг. 2, которое включает в себя или иным образом использует один или более микроконтроллеров 206.
[0038] Фиг. 5 иллюстрирует примерную процедуру 500, в которой маршрутизация сигнала настроена в соответствии с ориентацией двустороннего разъема. Обнаруживают подключение разъема для вспомогательного устройства ко вспомогательному порту главного вычислительного устройства, при этом разъем и вспомогательный порт выполнены с возможностью поддержки двустороннего подключения разъема ко вспомогательному порту (блок 502). Например, один или более микроконтроллеров 202, связанных с главным вычислительным устройством 102, могут быть выполнены с возможностью распознавания подключения различных устройств ко вспомогательному порту 210. Обнаружение может происходить различными способами. В одном из подходов, один или более микроконтроллеров 202 способны обнаруживать сигналы, отправленные вспомогательным устройством, когда разъем 211 успешно присоединен к интерфейсу 210 аксессуара. Сигналы могут содержать логические состояния, входной сигнал напряжения, импульсную последовательность, статические значения резисторов, и так далее. Альтернативно, главное вычислительное устройство 102 может быть выполнено с возможностью опроса вспомогательного порта 210, чтобы определить, когда устройства присоединены или отсоединены от него, например, путем мониторинга линий обнаружения и считывания значений резисторов, соответствующих аксессуару. Присоединение может инициировать дополнительную обработку для определения идентификатора и/или типа устройства, связанного с аксессуаром, а также ориентации разъема. Затем, линии маршрутизации сигнала и/или интерфейс(ы) связи между хостом и аксессуаром могут быть выполнены с возможностью приводит в соответствие тип аксессуара и ориентацию разъема.
[0039] В частности, после присоединения вспомогательного устройства, выясняют ориентацию подключения разъема ко вспомогательному порту (блок 504). Ориентация может быть определена различными способами. Как правило, ориентация определяется на основе сигналов, отбираемых на контактах обнаружения, описанных в материалах настоящей заявки. Конкретные значения и/или последовательности, которые передаются при подключении разъема, являются признаком типа устройства, а также ориентации разъема. Затем, механизм коммутации главного вычислительного устройства выполнен с возможностью автоматической маршрутизации сигналов в соответствии с ориентацией (блок 506). Например, один или более микроконтроллеров 202 главного вычислительного устройства могут работать, чтобы настроить механизм 310 коммутации способом, описанным выше для настройки сигнальных трактов на основе установленной ориентации разъема 211. Это может включать в себя позиционирование мультиплексоров 312 и коммутаторов 314, связанных с механизмом 310 коммутации. В дополнение или в качестве альтернативы, микроконтроллеры 202 могут обмениваться данными с микроконтроллерами 206 вспомогательного устройства 104, чтобы оповестить вспомогательное устройство относительно ориентации разъема и/или указать вспомогательному устройству 104, чтобы оно переконфигурировало механизм коммутации на стороне аксессуара соответственно, чтобы настроить подходящую маршрутизацию сигнала. Таким образом, конечные точки для сигнальных трактов могут оставаться неизменными независимо от ориентации разъема. Таким образом, потребители могут подключать аксессуары к главному устройству через двусторонний кабель в любой ориентации (прямой или обращенной), и система автоматически выясняет ориентацию и гарантирует, что сигналы не перепутаются.
[0040] В одной или более реализаций, выделенные контакты обнаружения могут быть использованы для обнаружения горячего подключения и определения ориентации, как описано в материалах настоящей заявки. Обнаружение может быть основано на напряжении (например, 5 В), которое прикладывается к линиям обнаружения, и соответствующих логических состояниях для контактов, например, высокое=1, низкое=0, которые получают/считывают в ответ на приложенное напряжение. Различные возможные комбинации логических состояний для линий обнаружения могут быть связаны с набором случаев обнаружения, каждый из которых соответствует типу устройства и/или ориентации разъема 211. Линии, связанные с контактами обнаружения, могут быть опрошены вместе (например, параллельно или последовательно), и значения, полученные для различных линий, могут быть объединены вместе, чтобы получить комбинированное логическое состояние, которое указывает на тип устройства и/или ориентацию разъема. Соответственно, может быть установлена таблица, файл, база данных или другая структура данных, которая отражает соответствие комбинаций логических состояний (или других учетных данных/идентификаторов аксессуаров) и соответствующих случаев обнаружения. В процессе работы, один или более микроконтроллеров 202 могут отслеживать контакты обнаружения и получать значения на каждой линии обнаружения. Микроконтроллеры 202 могут использовать соответствие возможных комбинаций логических состояний и соответствующих случаев обнаружения, чтобы определить тип устройства и ориентацию разъема.
[0041] Что касается типа устройства, комбинации логических состояний предоставляют механизм, который позволяет хосту различать различные типы устройств. В частности, обнаруженная комбинация логических состояний указывает, является ли устройство однопроводным устройством, которое может обмениваться данными через одну линию с объединенными RX и TX, или двухпроводным устройством, которое использует две различных линии для RX и TX. Однопроводные устройства могут быть относительно простыми и дешевыми устройствами, которые не используют сложные схемы связи, например, основной адаптер питания или внешняя батарея. Двухпроводные устройства могут быть устройствами, которые обеспечивают функциональные возможности, включающие в себя усовершенствованные интерфейсы, высокоскоростную связь и/или несколько типов данных/протоколов, например, док-станция, мультимедийный аксессуар и так далее.
[0042] В случае пары контактов обнаружения, расположенных для обнаружения горячего подключения, таких как HPD1A и HPD1B (например, Контакт A 302 и Контакт B 304), существует четыре возможные комбинации, например, высокое-высокое, высокое-низкое, низкое-высокое и низкое-низкое. Логические состояния служат признаком типа устройства (например, однопроводное или двухпроводное) и могут также использоваться для непосредственного или косвенного определения ориентации разъема. В частности, оба из контактов HPD1A и HPD1B не заявлены (например, в низком состоянии) при отсутствии подключенного аксессуара. Когда вспомогательное устройство подключено к хосту, определенная комбинация состояний для HPD1A и HPD1B определяет тип аксессуара. Для однопроводных устройств, может быть определена линия, на которой заявлено высокое состояние. Соответственно, комбинация логических состояний для однопроводного устройства также отражает ориентацию разъема и может использоваться непосредственно, чтобы установить ориентацию. Для двухпроводных устройств, обе линии имеют высокие состояния и, таким образом, комбинации логических состояний может быть недостаточно, чтобы определить ориентацию. Следовательно, дополнительная обработка может быть выполнена, как описано ниже, чтобы установить ориентацию двухпроводного устройства.
[0043] Таким образом, для контактов HPD1A и HPD1B обнаружения, ниже представлена иллюстративная таблица, показывающая примерное соответствие возможных комбинаций логических состояний и случаев обнаружения:
ТАБЛИЦА 1: Соответствие Логического Состояния Контакта Обнаружения
HPD1AВысокое=1
HPD1AНизкое=0
HPD1BВысокое=1
Двухпроводной аксессуар
Однопроводной аксессуар(реверсивное)
HPD1BНизкое=0
Однопроводной аксессуар(прямое)
Аксессуаров не присоединено
[0044] В приведенной выше таблице, значения 1, 1 (высокое-высокое) указывают на двухпроводной аксессуар, 1, 0 (высокое-низкое) указывают на однопроводной аксессуар в прямой ориентации, 0, 1 (низкое-высокое) указывают на однопроводной аксессуар в обращенной ориентации, и 0, 0 (низкое-низкое) указывают, что аксессуаров не присоединено. После определения типа устройства с использованием соответствия, такого как пример Таблицы 1, может произойти дополнительная обработка, чтобы выполнить аутентификацию/авторизацию устройства, определить конкретный идентификатор и/или возможности устройства (в отличие от определения только лишь того, является ли устройство однопроводным или двухпроводным), и настроить механизмы коммутации хоста и/или аксессуара, чтобы маршрутизировать сигналы надлежащим образом.
[0045] Например, для однопроводного устройства, может произойти выборка через заявленный контакт (или HPD1A, или HPD1B), чтобы идентифицировать и авторизовать устройство. Это может включать в себя различные методы аутентификации, как описано выше. Аутентификация позволяет хосту/микроконтроллеру распознавать неподдерживаемые аксессуары и определять информацию о конкретной конфигурации для поддерживаемых аксессуаров на основе определенного идентификатора аксессуара, чтобы сконфигурировать интерфейс и маршрутизацию сигнала соответственно. Например, вспомогательные устройства могут быть выполнены с возможностью подачи учетных данных 220 в хост различными способами, как упоминалось ранее. В одном из подходов, вспомогательные устройства выполнены с возможностью предоставления соответствующего значения резистора, характеризующего идентификатор для считывания главным вычислительным устройством. Различные значения резисторов могут быть связаны с различными аксессуарами. Таким образом, при подключении аксессуара, главное вычислительное устройство может считать соответствующее значение резистора и отличить различные аксессуары на этой основе. Альтернативно, другие учетные данные 220 могут быть переданы в главное вычислительное устройство аксессуаром, чтобы указать свой идентификатор, например, путем отправки определенного числового кода, значения поля ID, имени устройства, и так далее.
[0046] Как уже отмечалось, когда присоединенный аксессуар представляет собой двухпроводное устройство, комбинации логических состояний недостаточно для определения ориентации. В этом случае, ориентация определяется через аутентифицирующую последовательность. Для того, чтобы сделать это, поддерживаемые двухпроводные устройства могут быть выполнены с возможностью подачи учетных данных 220 в хост через одну или обе из сигнальных линий. В этом случае, выборка происходит для обоих из HPD1A или HPD1B для идентификации и авторизации двухпроводного устройства. В одном из подходов, двухпроводное устройство может иметь ID резисторы, связанные с одной или обеими линиями, и может предоставить значение(я) резистора, характеризующее идентификатор. Опять же, другие учетные данные 220 могут также быть переданы в хост аксессуаром для указания его идентификатора. Ориентация может быть затем определена на основе соответствий состояний достоверности ID для каждой линии, например, достоверно или недостоверно, и возможных случаев ориентации. Таким образом, для контактов HPD1A и HPD1B обнаружения, ниже представлена иллюстративная таблица, показывающая примерное соответствие состояний достоверности ID и случаев ориентации:
ТАБЛИЦА 2: Соответствие Двухпроводных Контактов Обнаружения и Состояния Достоверности ID
HPD1A:достоверный ID
HPD1A:недостоверный ID
HPD1B:достоверный ID
Обе ориентации поддерживаютсяКонфигурация на основе применения.
2-проводной аксессуар (обращенное)
HPD1B:недостоверный ID
2-проводной аксессуар (прямое)
неподдерживаемый аксессуар
[0047] Фиг. 6 изображает примерную процедуру 600, которая иллюстрирует примерную логику для обработки, которая может произойти для обнаружения как типа устройства, так и ориентации в соответствии с одной или более реализациями. В частности, процедура 600 представляет лишь один примерный способ, который может быть использован для определения типа и ориентации разъема при подключении аксессуара к хосту. Процедура 600 дополнительно представляет одну возможную реализацию соответствий для обнаружения контактов HPD1A и HPD1B, отраженных в Таблице 1 и Таблице 2, описанных чуть выше.
[0048] Вспомогательный порт отслеживают (блок 602) для обнаружения подключения аксессуара через соответствующий соединительный шнур. Отслеживание может быть реализовано с помощью микроконтроллера 202 и/или модуля 216 безопасности, как описано в материалах настоящей заявки. Вспомогательный порт 210 и разъем 211 могут быть выполнены с возможностью иметь пару контактов, выделенных для обнаружения, например, контактов HPD1A и HPD1B обнаружения. Определение выполняется в отношении того, заявляется ли какой-либо из контактов HPD1A и HPD1B (например, значение сигнала высокого уровня=1) (блок 604). Если нет, отслеживание порта продолжается каждый блок 602. Если по меньшей мере один из контактов заявляется, делается проверка, чтобы определить, не заявлены ли оба контакта (блок 606). Если оба контакта не заявлены, процедура 600 переходит к операциям, связанным с однопроводной конфигурацией, и в противном случае оба контакта заявлены, и процедура 600 переходит к работам, связанным с двухпроводной конфигурацией.
[0049] Для однопроводной конфигурации, определение делается относительно того, заявлен ли HPD1A (блок 608), и если это так, опрашивают HPD1A (блок 610), чтобы получить учетные данные для идентификации. На основе учетных данных, проверяют (блок 612) ID подключенного аксессуара, и если ID достоверно, система конфигурируется для одного провода в прямой ориентации (блок 614). С другой стороны, если ID недостоверно, аксессуар представляет собой неподдерживаемый аксессуар (блок 616), и взаимодействие может быть ограничено. Если HPD1A не заявлен в блоке 608, другой контакт HPD1B является заявленным контактом и опрашивается (блок 618). Снова происходит (блок 620) проверка ID, и либо ID является достоверным, и система конфигурируется для одного провода в обращенной ориентации (блок 622), либо ID не является достоверным, аксессуар представляет собой неподдерживаемый аксессуар (блок 616) и может быть ограничен.
[0050] Для двухпроводной конфигурации опрашивают как HPD1A, так и HPD1B (блок 624). Происходит проверка ID для HPD1A (блок 626), а затем для HPD1B (блок 628), если ID, опрошенное на HPD1A, является достоверным. Если ID как для HPD1A, так и для HPD1B являются достоверными, то как прямая, так и обратная ориентации поддерживаются, и происходит конфигурирование на основе применения (блок 630). В противном случае, если только ID для HPD1A является достоверным, система конфигурируется для двух проводов в прямой ориентации (блок 632). Если HPD1A не является допустимым в блоке 626, происходит проверка для HPD1B (блок 634). Если HPD1B является допустимым в блоке 634, система конфигурируется для двух проводов в обратной ориентации (блок 636). В противном случае, ID, опрошенные как для HPD1A, так и для HPD1B, являются недостоверными, и аксессуар представляет собой неподдерживаемый аксессуар (блок 638) и может быть ограничен. После конфигурирования системы соответствующим образом на основе изображенной логики, сигналы маршрутизируются с помощью конфигурации, которая применена (блок 640).
[0051] Примерная процедура 600 может быть реализована в программных средствах, программно-аппаратных средствах, аппаратных средствах или комбинации каждого или нескольких из одного и того же. Программная или программно-аппаратная реализация может быть преимущественно гибкой, и может быть переконфигурирована с помощью программного или программно-аппаратного обновления. Альтернативно, примерная процедура 600 может быть реализована с помощью дискретных логических элементов и схем смешанных сигналов, включая аналого-цифровые схемы. Эта альтернатива может быть преимущественно быстрее и может также содержать программируемые пороговые величины, например, для определения значений резистора. Из-за двоичной природы решений, может широко использоваться цифровая логика.
[0052] Рассмотрев вышеизложенные примерные процедуры, рассмотрим теперь обсуждение примерных систем и устройств, которые могут быть использованы для реализации аспектов методов двустороннего разъема в одном или более вариантах осуществления.
Примерная Система и Устройство
[0053] Фиг. 7 иллюстрирует примерную систему в целом на 700, которая включает в себя примерное вычислительное устройство 702, которое представляет одну или более вычислительные системы и/или устройства, которые могут реализовывать различные методы, описанные в материалах настоящей заявки. Вычислительное устройство 702 может быть, например, выполнено, чтобы предположить мобильную конфигурацию путем использования корпуса, сформированного и имеющего размер, чтобы быть зажатым и переносимым одной или более руками пользователя, проиллюстрированные примеры которого включают в себя мобильный телефон, мобильное игровое и музыкальное устройство, и планшетный компьютер, хотя другие примеры также предусматриваются.
[0054] Примерное вычислительное устройство 702, как проиллюстрировано, включает в себя систему 704 обработки, один или более машинно-читаемых носителей 706, и один или более интерфейс 708 I/O (ввода/вывода), которые коммуникационно соединены, один к другому. Хотя это не показано, вычислительное устройство 702 может дополнительно включать в себя системную шину или другую систему передачи данных и команд, которая соединяет различные компоненты, один к другому. Системная шина может включать в себя любую одну или комбинацию различных структур шин, например, шину памяти или контроллер памяти, периферийную шину, универсальную последовательную шину и/или процессорную или локальную шину, которая использует любую из множества шинных архитектур. Рассматриваются также ряд других примеров, такие как линии управления и данных.
[0055] Система 704 обработки представляет функциональные возможности для выполнения одной или более операций с использованием аппаратных средств. Соответственно, система 704 обработки проиллюстрирована как включающая в себя аппаратный элемент 710, который может быть выполнен как процессоры, функциональные блоки и так далее. Это может включать в себя реализацию в аппаратных средствах в качестве специализированной интегральной схемы или другого логического устройства, сформированного с помощью одного или более полупроводников. Аппаратные элементы 710 не ограничены материалами, из которых они сформированы, или механизмами обработки, используемыми в них. Например, процессоры могут состоять из полупроводника(ов) и/или транзисторов (например, электронных интегральных схем (IC)). В таком контексте, исполняемыми процессором инструкциями могут быть электронно-исполняемые инструкции.
[0056] Машинно-читаемые запоминающий носитель 706 проиллюстрирован как включающий в себя память/запоминающее устройство 712. Память/запоминающее устройство 712 представляет емкость памяти/запоминающего устройства, связанного с одним или более машинно-читаемыми носителями. Компонент 712 памяти/запоминающего устройства может включать в себя энергозависимые носители (такие как оперативное запоминающее устройство (ОЗУ, RAM)) и/или энергонезависимые носители (такие как постоянное запоминающее устройство (ПЗУ, ROM), Флэш-память, оптические диски, магнитные диски, и так далее). Компонент 712 памяти/запоминающего устройства может включать в себя стационарные носители (например, ОЗУ, ПЗУ, стационарный жесткий диск, и так далее), а также съемные носители (например, накопитель на Флэш-памяти, съемный жесткий диск, оптический диск, и так далее). Машинно-читаемый носитель 706 может быть сконфигурирован различными другими способами, как дополнительно описано ниже.
[0057] Интерфейс(ы) 708 ввода вывода представляют функциональные возможности, позволяющие пользователю вводить команды и информацию в вычислительное устройство 702, а также обеспечивают возможность представления информации пользователю и/или другим компонентам или устройствам с помощью различных устройств ввода/вывода. Примеры устройств ввода включают в себя клавиатуру, устройство управления курсором (например, мышь), микрофон, сканер, сенсорные функциональные возможности (например, емкостные или другие датчики, которые выполнены с возможностью обнаружения физического прикосновения), камеру (например, которая может использовать видимые или невидимые длины волн, такие как инфракрасные частоты, чтобы распознавать движения как жесты, которые не включают в себя прикосновение), и так далее. Примеры устройств вывода включают в себя устройство отображения (например, монитор или проектор), динамики, принтер, сетевую карту, устройство тактильного ответа, и так далее. Таким образом, вычислительное устройство 702 может быть сконфигурировано множеством способов, чтобы поддерживать взаимодействие с пользователем.
[0058] Вычислительное устройство 702 дополнительно проиллюстрировано как коммуникационно и физически соединенное со вспомогательным устройством 714, которое является физически и коммуникационно извлекаемым из вычислительного устройства 702. Таким образом, различные устройства ввода могут быть соединены с вычислительным устройством 702, имеющим широкий спектр конфигураций для поддержки широкого спектра функциональных возможностей. В этом примере, вспомогательное устройство 714 включает в себя один или более элементов 716 управления, которые могут быть выполнены как чувствительные к нажатию клавиши, механически переключаемые клавиши, кнопки, и так далее.
[0059] Вспомогательное устройство 714 дополнительно проиллюстрировано как включающее в себя один или более модулей 718, которые могут быть выполнены с возможностью поддержки различных функциональных возможностей. Один или более модулей 718, например, могут быть выполнены с возможностью обработки аналоговых и/или цифровых сигналов, принятых из элементов 716 управления для определения того, был ли ввод намеренным, определения того, является ли входной сигнал показателем давления в покое, поддержи аутентификации вспомогательного устройства 714 для работы с вычислительным устройством 702, и так далее.
[0060] Различные методы могут быть описаны в материалах настоящей заявки в общем контексте программных, аппаратных элементов или программных модулей. Как правило, такие модули включают в себя процедуры, программы, объекты, элементы, компоненты, структуры данных и так далее, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Термины «модуль» и «функциональные возможности» и «компонент», в качестве используемых в материалах настоящей заявки, как правило представляют программные средства, программно-аппаратные средства, аппаратные средства или их комбинацию. Отличительные признаки методов, описанных в материалах настоящей заявки, являются независимыми от платформы, то есть методики могут быть реализованы на многообразии коммерческих вычислительных платформ, имеющих разнообразные процессоры.
[0061] Реализация описанных модулей и методов может храниться на или передаваться через некоторую форму машиночитаемого носителя. Машинно-читаемый носитель может включать в себя различные носители, к которым может быть осуществлен доступ вычислительным устройством 702. В качестве примера, а не ограничения, машинно-читаемый носитель может включать в себя «машинно-читаемый запоминающий носитель» и «машинно-читаемую сигнальную среду».
[0062] «Машинно-читаемый запоминающий носитель» относится к носителю и/или устройствам, которые делают возможным хранение информации, в отличие от обычной передачи сигнала, несущих волн или сигналов как таковых. Таким образом, машинно-читаемый запоминающий носитель не включает в себя сигналы как таковые или несущую сигнал среду. Машинно-читаемый запоминающий носитель включает в себя аппаратные средства, такие как энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные способом или методом, подходящим для хранения информации, такой как машинно-читаемые инструкции, структуры данных, программные модули, логические элементы/схемы, или другие данные. Примеры машинно-читаемого запоминающего носителя могут включать в себя, но не в качестве ограничения, ОЗУ (RAM), ПЗУ (ROM), ЭСППЗУ (электрически стираемое программируемое ПЗУ, EEPROM), флэш-память или другую технологию памяти, CD-ROM (ПЗУ на компакт-диске), цифровой многофункциональный диск (DVD) или другое оптическое запоминающее устройство, жесткие диски, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства, либо другое запоминающее устройство, материальные носители или изделие, подходящее для хранения желаемой информации, и к которому может быть осуществлен доступ компьютером.
[0063] «Машинно-читаемая сигнальная среда» может относиться к несущей сигнал среде, которая выполнена с возможностью передачи инструкций в аппаратные средства вычислительного устройства 702, например, через сеть. Сигнальная среда, как правило, может воплощать машинно-читаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущие волны, или другой транспортный механизм. Сигнальная среда также включает в себя любую среду доставки информации. Термин «модулированный сигнал данных» означает сигнал, который обладает одной или более из своих характеристик, установленных или измененных таким образом, чтобы закодировать информацию в сигнале. В качестве примера, а не ограничения, среда связи включает в себя проводную среду, такую как проводная сеть или прямое проводное соединение, и беспроводную среду, такую как акустическая, РЧ (радиочастотная, RF), инфракрасная и другая беспроводная среда.
[0064] Как было описано ранее, аппаратные элементы 710 и машинно-читаемый носитель 706 представляют модули, программируемые логические схемы и/или фиксированные логические схемы, реализованные в аппаратной форме, которые могут использоваться в некоторых вариантах осуществления для реализации по меньшей мере некоторых аспектов методов, описанных в материалах настоящей заявки, например, чтобы выполнить одну или более инструкции. Аппаратные средства могут включать в себя компоненты интегральной схемы или расположенную в кристалле систему, микроконтроллерные устройства, специализированную интегральную схему (ASIC), программируемую пользователем вентильную матрицу (FPGA), сложное устройство с программируемой логикой (CPLD) и другие реализации в кремниевых или других аппаратных средствах. В этом контексте, аппаратные средства могут работать как устройство обработки, которое выполняет задачи программы, определенные инструкциями, и/или логику, воплощенную аппаратными средствами, а также как аппаратные средства, используемые для хранения инструкций для выполнения, например, машинно-читаемый запоминающий носитель, описанный ранее.
[0065] Комбинации из вышесказанного могут также использоваться для реализации различных методов, описанных в материалах настоящей заявки. Соответственно, программные средства, аппаратные средства или исполняемые модули могут быть реализованы как одна или более инструкции и/или логика, воплощенная в некоторой форме машинно-читаемого запоминающего носителя, и/или посредством одного или более аппаратных элементов 710. Вычислительное устройство 702 может быть выполнено с возможностью реализации конкретных инструкций и/или функций, соответствующих программным и/или аппаратным средствам. Соответственно, реализация модуля, который является исполняемым с помощью вычислительного устройства 702 как программные средства, может быть достигнута, по меньшей мере частично, в аппаратных средствах, например, путем использования машинно-читаемого запоминающего носителя и/или аппаратных элементов 710 системы 704 обработки. Инструкции и/или функции могут быть исполняемыми/пригодными к обработке посредством одного или более изделий (например, одного или более вычислительных устройств 702 и/или систем 704 обработки) для реализации методов, модулей и примеров, описанных в материалах настоящей заявки.
Заключение
[0066] Хотя примерные реализации были описаны на языке, характерном для структурных отличительных признаков и/или методологических действий, необходимо понимать, что реализации, определенные в прилагаемой формуле изобретения, не обязательно ограничены описанными характерными отличительными признаками или действиями. Скорее, характерные отличительные признаки и действия раскрыты как примерные формы реализации заявленных отличительных признаков.