СПОСОБ И УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ РЕЖИМОМ УСТРОЙСТВА
METHOD AND DEVICE FOR CONTROLLING A DEVICE MODE

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к устройствам и, более конкретно, к способу и устройству для управления режимом устройства.
УРОВЕНЬ ТЕХНИКИ
Стандарт универсальной последовательной шины (USB) первоначально специфицировал соединения для передачи данных между электронными аппаратными средствами с предопределенными ролями. Роли, определенные стандартом USB, обычно упоминаются как ʺглавное устройствоʺ (хост) и ʺподчиненное устройствоʺ. Хост содержит хост-контроллер USB, который управляет и инициирует все передачи данных между хостом и подчиненным устройством. Хост также, как правило, подавал питание на подчиненное устройство, так что подчиненное устройство могло реагировать на передачи от хоста. Чтобы предотвратить присоединение хоста к другому хосту, стандарт USB определил различные разъемы для хоста и подчиненного устройства. В частности, стандарт USB требовал, чтобы хосты имели разъем типа А, а подчиненное устройство имело разъем типа B.
По мере того как стандарт USB получил широкое распространение, создавались устройства, которым иногда требовалось быть хостом, а в другое время - подчиненным устройством. Например, камере может потребоваться функционировать в качестве хоста по отношению к принтеру и подчиненного устройства по отношению к компьютеру. Соответственно, стандарт USB был обновлен дополнением или вторичным стандартом под названием ʺOn The Goʺ (ʺна ходуʺ) (OTG), который позволял устройствам функционировать в качестве хоста или подчиненного устройства. Стандарт OTG определил новый набор разъемов и кабелей. Совместимые с OTG разъемы включают в себя контакты (штырьки), которые являются дополнением к контактам в первоначальных USB-разъемах. В результате, совместимые с OTG разъемы являются несовместимыми с первоначальными USB-разъемами и кабелями. Кроме того, стандарт OTG создал сложности с ʺпротивобумажнымʺ обеспечением/встроенным программным обеспечением (прошивкой) для обеспечения функциональных возможностей сверх функциональной возможности, обеспечиваемой простым автоматическим переключением между ролями хоста и подчиненного устройства.
Ввиду преимуществ, получаемые с помощью стандарта OTG, желательно реализовать функции OTG в существующих конструкциях аппаратных средств. Однако для многих конструкций, внедрение OTG-совместимых разъемов не представляется возможным. Например, существующие конструкции должны быть обновлены с дополнительными трассировками для учета дополнительных контактов. Кроме того, некоторые аппаратные конструкции должны быть полностью реконструированы вследствие непроизводительных издержек программного обеспечения, связанных со стеком связи, специфицированным в стандарте OTG.
Кроме того, многие производители устройств имеют потребителей с периферийными устройствами, которые не совместимы с OTG. Например, некоторые потребители промышленного оборудования вводили в действие USB флэш-накопители с разъемами типа A для сохранения данных от устройств для последующего анализа. Потребители могут также управлять устройствами с более старыми компьютерами и программами, которые не являются модернизируемыми до стандарта OTG. В результате, модернизация устройств с OTG-совместимыми разъемами потребовала бы от потребителей заменять их ассортимент периферийных устройств, чего производители устройств хотели бы избежать.
Соответственно, существует потребность в устройстве и способе управления режимом устройства, когда устройство содержит USB-разъемы, которые не являются совместимыми с OTG. Существует также необходимость управлять режимом устройства без дополнительных программных издержек и аппаратных модернизаций, ассоциированных со стандартом OTG.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Предложен способ управления режимом устройства. В соответствии с вариантом осуществления, способ содержит определение напряжения Vbus на контакте Vbus в USB-разъеме на устройстве, сравнение напряжения Vbus с порогом и конфигурирование устройства на основе сравнения напряжения Vbus и порога.
Предложено устройство (100) для управления режимом устройства (10). В соответствии с вариантом осуществления, устройство (100) содержит процессор (110) и модуль (130) сравнения напряжения, связанный с процессором (110), причем процессор (110) и модуль (130) сравнения напряжения приспособлены для определения напряжения Vbus на контакте Vbus (210) в USB-разъеме (200) на устройстве (10), модуль (130) сравнения напряжений приспособлен для сравнения напряжения Vbus с порогом, и процессор (110) приспособлен для конфигурирования устройства (10) на основе сравнения напряжения Vbus и порога.
АСПЕКТЫ ИЗОБРЕТЕНИЯ
В соответствии с аспектом, способ управления режимом устройства содержит определение напряжения Vbus на контакте Vbus в USB-разъеме на устройстве, сравнения напряжения Vbus с порогом, и конфигурирование устройства на основе сравнения напряжения Vbus и порога.
Предпочтительно, этап определения напряжения Vbus на контакте Vbus содержит определение, прикладывает ли устройство напряжение к контакту Vbus; если устройство не прикладывает напряжение к контакту Vbus, то конфигурирование устройства на основе сравнения напряжения Vbus и порога, а если устройство прикладывает напряжение к контакту Vbus, то продолжение определения, прикладывает ли устройство напряжение к контакту Vbus, до тех пор, пока устройство не будет прикладывать напряжение к контакту Vbus.
Предпочтительно, этап конфигурирования устройства на основе сравнения напряжения Vbus и порога содержит определение, принят ли ответ на USB-разъеме; если ответ не принимается на USB-разъеме, то прекращение приложения напряжения к контакту Vbus, а если ответ принимается на USB-разъеме, то конфигурирование устройства как хоста.
Предпочтительно, этап сравнения напряжения Vbus на контакте Vbus с порогом содержит определение, если напряжение Vbus больше, чем порог, то указание, что периферийное устройство, сконфигурированное как хост, присоединено к USB-разъему, а если напряжение Vbus меньше, чем порог, то указание, что периферийное устройство, сконфигурированное как подчиненное устройство, присоединено к USB-разъему.
Предпочтительно, этап конфигурирования устройства на основе сравнения напряжения Vbus и порога содержит: если сравнение указывает, что периферийное устройство, сконфигурированное как подчиненное устройство, присоединено к USB-разъему, то конфигурирование устройства как хоста, и если сравнение указывает, что периферийное устройство, сконфигурированное как хост, присоединено к USB-разъему, то конфигурирование устройства как подчиненного устройства.
Предпочтительно, этап конфигурирования устройства на основе сравнения напряжения Vbus и порога содержит приложение напряжения к контакту Vbus, контроль USB-разъема, чтобы определять, принят ли ответ; если ответ не принят, то прекращение приложения напряжения к контакту Vbus, а если ответ принят, то конфигурирование устройства как хоста.
Предпочтительно, конфигурирование устройства содержит избирательное приложение напряжения к контакту Vbus и конфигурирование устройства с одним из стека подчиненного устройства и стека хоста.
В соответствии с аспектом, устройство (100) для управления режимом устройства (10) содержит процессор (110) и модуль (130) сравнения напряжения, связанный с процессором (110), причем процессор (110) и модуль (130) сравнения напряжения приспособлены, чтобы определять напряжение Vbus на контакте Vbus (210) в USB-разъеме (200) на устройстве (10), модуль (130) сравнения напряжения приспособлен, чтобы сравнивать напряжение Vbus с порогом, и процессор (110) приспособлен, чтобы конфигурировать устройство (10) на основе сравнения напряжения Vbus и порога.
Предпочтительно, процессор (110) и модуль (130) сравнения напряжения, приспособленные, чтобы определять напряжение Vbus на контакте Vbus (210), содержат процессор (110), приспособленный, чтобы определять, прикладывает ли устройство (10) напряжение к контакту Vbus (210), и модуль (130) сравнения напряжения, приспособленный, чтобы измерять напряжение Vbus на контакте Vbus (210), и процессор (110), приспособленный, чтобы конфигурировать устройство (10) на основе сравнения напряжения Vbus и порога, содержит процессор (110), приспособленный, чтобы определять, прикладывает ли устройство (10) напряжение к контакту Vbus (210); если устройство (10) не прикладывает напряжение к контакту Vbus (210), то конфигурировать устройство (10) как хост на основе сравнения напряжения Vbus и порога, а если устройство (10) прикладывает напряжение к контакту Vbus (210), то продолжать определять, прикладывает ли устройство (10) напряжение к контакту Vbus (210), до тех пор, пока устройство (10) не будет прикладывать напряжение к контакту Vbus (210).
Предпочтительно, процессор (110), приспособленный, чтобы конфигурировать устройство (10) на основе сравнения напряжения Vbus и порога, содержит процессор (110), приспособленный, чтобы определять, принят ли ответ на USB-разъеме (200); если ответ не принят на USB-разъеме (200), то прекращать приложение напряжения к контакту Vbus (210), а если ответ принят на USB-разъеме (200), то конфигурировать устройство (10) как хост.
Предпочтительно, модуль (130) сравнения напряжения, приспособленный для сравнения напряжения Vbus на контакте Vbus (210) с порогом, содержит модуль (130) сравнения напряжения, приспособленный, чтобы измерять напряжение Vbus на контакте Vbus (210); если напряжение Vbus больше, чем порог, то указывать, что периферийное устройство (250), сконфигурированное как хост, присоединено к USB-разъему (200), а если напряжение Vbus меньше, чем порог, то указывать, что периферийное устройство (250), сконфигурированное как подчиненное устройство, присоединено к USB-разъему (200).
Предпочтительно, процессор (110), приспособленный, чтобы конфигурировать устройство (10) на основе сравнения напряжения Vbus и порога, содержит процессор (110), приспособленный, чтобы, если сравнение указывает, что периферийное устройство (250), сконфигурированное как подчиненное устройство, присоединено к USB-разъему (200), то конфигурировать устройство (10) как хост, и если сравнение указывает, что периферийное устройство (250), сконфигурированное как хост, присоединено к USB-разъему (200), то конфигурировать устройство (10) как подчиненное устройство.
Предпочтительно устройство (100) дополнительно содержит модуль (120) источника питания, связанный с процессором (110) и контактом Vbus (210), причем модуль (120) источника питания приспособлен, чтобы избирательно прикладывать напряжение к контакту Vbus (210), причем процессор (110), приспособленный, чтобы конфигурировать устройство (10) на основе сравнения между напряжением Vbus и порогом, содержит процессор (110), приспособленный, чтобы отсылать сигнал в модуль (120) источника питания, чтобы побуждать модуль (120) источника питания прикладывать напряжение к контакту Vbus (210), контролировать USB-разъем (200), чтобы определять, принят ли ответ; если ответ не принят, то прекращать прикладывать напряжение к контакту Vbus (210), и если ответ принят, то конфигурировать устройство (10) как хост.
Предпочтительно, процессор (110), приспособленный, чтобы прикладывать напряжение к контакту Vbus (210), содержит процессор (110), приспособленный, чтобы отсылать сигнал на модуль (120) источника питания, чтобы прикладывать напряжение к контакту Vbus (210).
Предпочтительно устройство (100), приспособленное, чтобы конфигурировать устройство (10), содержит устройство (100), приспособленное, чтобы избирательно прикладывать напряжение к контакту Vbus (210) и конфигурировать устройство с одним из стека подчиненного устройства и стека хоста.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Та же самая ссылочная позиция представляет тот же самый элемент на всех чертежах. Чертежи не обязательно выполнены в масштабе.
Фиг. 1 показывает устройство 10 согласно варианту осуществления.
Фиг. 2 показывает более детальный вид устройства 100 в устройстве 10.
Фиг. 3 показывает способ 300 согласно варианту осуществления.
Фиг. 4 показывает способ 400 согласно варианту осуществления.
Фиг. 5 показывает способ 500 согласно варианту осуществления.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
На фиг. 1-5 и в последующем описании представлены конкретные примеры для пояснения специалистам в данной области техники, каким образом реализовать и использовать наилучший режим вариантов осуществления способа и устройства для управления режимом устройства. В целях пояснения принципов изобретения, некоторые традиционные аспекты способа и устройства для управления режимом устройства были упрощены или опущены. Специалистам в данной области техники должны быть понятны варианты этих примеров, которые подпадают под объем настоящего описания. Специалистам в данной области техники должно быть понятно, что описанные ниже признаки могут быть объединены различными способами для формирования многочисленных вариантов устройства и способа для управления режимом устройства. В результате, варианты осуществления, описанные ниже, не ограничены конкретными примерами, описанными ниже, а ограничены только пунктами формулы изобретения и их эквивалентами.
Фиг. 1 показывает устройство 10 в соответствии с вариантом осуществления. В показанном варианте осуществления устройство 10 содержит устройство 100 для управления режимом устройства 10. Устройство 10 также содержит печатную плату 12 с USB-разъемом 200. В показанном варианте осуществления, USB-разъем 200 связан с краем печатной платы 12, хотя альтернативные местоположения находятся в пределах объема настоящего раскрытия. Устройство 100 соединено с печатной платой 12 и электрически связано с USB-разъемом 200 с трассировками (дорожками), которые показаны в виде линий. Однако, в альтернативных вариантах осуществления, устройство 100 может не связываться с печатной платой 12.
В варианте осуществления, показанном на фиг. 1, устройство 100 содержит процессор 110, который электрически связан с модулем 120 источника питания, модулем 130 сравнения напряжения и USB-разъемом 200. Модуль 120 источника питания электрически связан с контактом Vbus 210 в USB-разъеме 200. Модуль 130 сравнения напряжения также электрически связан с контактом Vbus 210. В дополнение к контакту Vbus 210, USB-разъем 200 содержит два контакта D+, D- цифровой связи и контакт заземления GND. Контакты D+, D- цифровой связи используются для последовательной связи между устройством 10 и периферийным устройством 250, которое присоединено к USB-разъему 200.
Периферийное устройство 250 может быть любым аппаратным средством с USB-разъемом, который совместим с USB-разъемом 200. Например, в варианте осуществления, показанном на фиг. 1, периферийное устройство 250 может представлять собой модуль памяти (флэш-память), сконфигурированный как подчиненное устройство. Модуль памяти может иметь USB-разъем типа А. Соответственно, устройство 10 должно быть сконфигурировано как хост. В качестве альтернативы, периферийное устройство 250 может быть персональным компьютером, сконфигурированным как хост, который присоединен к USB-разъему 200 через кабель. Соответственно, устройство 10 должно быть сконфигурировано как подчиненное устройство. Хотя устройство 10 и периферийное устройство 250 описаны как сконфигурированные как подчиненное устройство или хост, другие роли, обычно не обозначаемые как ʺхостʺ или ʺподчиненное устройствоʺ, находятся в пределах объема настоящего раскрытия. В варианте осуществления согласно фиг. 1, устройство 10, в конфигурации либо хоста, либо подчиненного устройства, может осуществлять связь с периферийным устройством 250 через USB-разъем 200, который может соответствовать стандарту USB.
Стандарт USB, который требует, чтобы контакт Vbus 210 имел напряжение, которое подается устройством 10 или периферийным устройством 250, подсоединенным к USB-разъему 200, в зависимости от типа разъема. Соответственно, периферийное устройство 250 также показано как включающее в себя контакт Vbus 251. Как будет обсуждаться более подробно ниже, устройство 10 или периферийное устройство 250 может подавать питающую мощность на контакты Vbus 210, 251 независимо от типа разъема. В результате, устройство 10 и периферийное устройство 250 могут принимать питающую мощность, чтобы работать как подчиненное устройство, в зависимости от того, какое из них подает мощность на контакты Vbus 210, 251, даже если USB-разъем 200 не совместим со стандартом OTG.
USB-разъем 200 не совместим со стандартом OTG, поскольку стандарт OTG ограничивается OTG-совместимыми разъемами, такими как разъем Micro-USB, которые имеют ID-контакт. ID-контакт используется для идентификации режимов двух устройств, которые соединены вместе с OTG-совместимым разъемом. Например, одно из устройств может допускать плавающий ID-контакт, в то время как другое устройство имеет заземленный ID-контакт. Плавающее и заземленное состояния ID-контактов используются для определения ролей устройств. Стандарт OTG также специфицирует, что протокол согласования хоста (HNP) и протокол перестановки ролей (RSP) будут использоваться для конфигурирования режимов двух устройств. То есть, эти два устройства согласуют свои роли через сложный стек протоколов, который включает такие функции, как запрашивание подчиненным устройством, чтобы быть хостом, прерывание опроса и т.д. В отличие от этого, USB-разъем 200, показанный на фиг. 1, не требует обязательным образом сложного стека протоколов и не имеет ID-контакта.
Тем не менее, как будет объяснено более подробно ниже, устройство 100 может управлять режимом устройства 10. Например, вместо того, чтобы полагаться на ID-контакт, устройство 100 может определять напряжение Vbus на контакте Vbus 210 в USB-разъеме 200 на устройстве 10. Устройство 100 может сравнивать напряжение Vbus с порогом и конфигурировать устройство 10 на основе сравнения напряжения Vbus и порога. Соответственно, дополнительный ID-контакт и соответствующие протоколы RSP и HNP, необходимые в соответствии со стандартом OTG, не требуются. Предпочтительно, USB-разъемы, которые не совместимы со стандартом OTG, тем не менее, могут быть использованы для конфигурирования устройства в качестве хоста или подчиненного устройства.
Фиг. 2 показывает более детальный вид устройства 100 в устройстве 10. Как показано, устройство 100 содержит процессор 110, модуль 120 источника питания, модуль 130 сравнения напряжения, описанные выше со ссылкой на фиг. 1. Процессор 110 электрически связан с модулем 120 источника питания, модулем 130 сравнения напряжения и USB-разъемом 200. Хотя устройство 100 показано как соединенное с USB-разъемом 200 трассировками, могут быть использованы альтернативные каналы связи. Кроме того, процессор 110, модуль 120 источника питания и модуль 130 сравнения напряжения показаны как являющиеся частью устройства 10, но могут быть отдельными от устройства 10 в альтернативных вариантах осуществления.
В варианте осуществления, показанном на фиг. 2, процессор 110 может быть приспособлен, чтобы конфигурировать устройство 10. Например, процессор 110 может представлять собой центральный процессорный блок (CPU) с программным обеспечением, которое выдает команды модулю 120 источника питания, чтобы включать или выключать источник напряжения, на контакт Vbus 210. Процессор 110 также может принимать сигнал от модуля 130 сравнения напряжения, который, например, представляет напряжение Vbus на контакте Vbus 210. Процессор 110 также может быть приспособлен, чтобы осуществлять связь через цифровые контакты D+, D- цифровой связи. Однако, в альтернативных вариантах осуществления, процессор 110 может быть не связан с контактами D+, D- цифровой связи. Например, другой процессор или другое устройство может быть электрически связано с контактами D+, D- цифровой связи. Эти и другие процессоры могут управлять модулем 120 источника питания.
Модуль 120 источника питания содержит переключатель 122 мощности и диод D1. Переключатель 122 мощности имеет контакт питания VIN, который соединен с напряжением питания, которое показано как +5.0 В постоянного тока (VDC). Переключатель 122 мощности также содержит разрешающий контакт EN, который связан с процессором 110, и контакт вывода напряжения VOUT, который связан с контактом Vbus 210 через диод D1. Соответственно, процессор 110 может разрешить контакту вывода напряжения VOUT подавать напряжение на контакт Vbus 210, что может быть обеспечено напряжением питания +5.0VDC, связанным с контактом питания VIN. Переключатель 122 мощности также показан как включающий в себя контакт заземления GND, контакт предельного тока ILIMIT и контакт неисправности FAULT. Контакт заземления GND и контакт предельного тока ILIMIT для наглядности показаны как ни с чем не связанные. Контакт неисправности FAULT связан с процессором 110. Соответственно, процессор 110 может обнаруживать состояние неисправности в переключателе 122 мощности. Процессор 110 также может принимать сигнал от компонентов в модуле 130 сравнения напряжения.
Модуль 130 сравнения напряжения содержит компаратор U1 напряжения, который связан с контактом Vbus 210. Компаратор U1 напряжения также показан, как связанный с первым резистором R1 и вторым резистором R2. Резисторы R1 и R2 могут служить в качестве делителя напряжения для опорного входа на компараторе напряжения Ul. Второй резистор R2 может также обеспечивать путь разряда для опорного входа. Первый резистор R1 связан с напряжением питания, которое показано как +5.0VDC. Вход напряжения на компараторе U1 напряжения связан с контактом Vbus 210 в USB-разъеме 200. Вход напряжения приспособлен, чтобы, например, измерять напряжение Vbus на контакте Vbus 210. Кроме того, на фиг. 2 представлены первый конденсатор C1, связанный с опорным входом, и второй конденсатор С2, связанный с входом напряжения. Конденсаторы C1 и C2 могут стабилизировать напряжения на опорном входе и входе напряжения. Третий резистор R3 и четвертый резистор R4 связаны с входом напряжения, что может обеспечивать путь разряда для контакта Vbus 210. Альтернативные варианты осуществления могут иметь различные конфигурации резисторов и конденсаторов.
В показанном варианте осуществления, значения резисторов R1, R2 могут быть выбраны, чтобы обеспечивать порог для опорного контакта. Например, значения резисторов R1, R2 могут быть выбраны таким образом, что напряжение на опорном входе на компараторе U1 напряжения соответствует желательному пороговому напряжению. Аналогичным образом, значения третьего и четвертого резисторов R3, R4 могут быть выбраны для обеспечения напряжения, которое находится в пределах требуемого диапазона для напряжения Vbus на контакте Vbus 210. Кроме того, третий и четвертый резисторы R3, R4 могут обеспечивать путь разряда для напряжения на опорном входе на компараторе U1. Таким образом, если периферийное устройство 250 накапливает заряд вследствие того, что устройство 10 прикладывает напряжение к контакту Vbus 210, накопленное напряжение на контакте Vbus 210 может разряжаться через третий и четвертый резисторы R3, R4. Соответственно, напряжение может быть разряжено, прежде чем напряжение Vbus измеряется, например, спустя один цикл.
Компаратор U1 напряжения может измерять напряжение Vbus на контакте Vbus 210 и сравнивать напряжение Vbus с порогом. Если, например, напряжение Vbus больше, чем порог, то компаратор U1 напряжения может послать на процессор 110 сигнал, указывающий, что напряжение Vbus больше, чем порог. В альтернативных вариантах осуществления могут быть использованы другие методы сравнения напряжения Vbus с порогом. Например, разные конфигурации резисторов и конденсаторов, дополнительных компараторов напряжения, цифровых логических схем и т.п. могут быть использованы для сравнения напряжения Vbus с порогом.
Процессор 110 может конфигурировать устройство 10 на основе сравнения между напряжением Vbus и порогом. Например, в варианте осуществления, показанном на фиг. 2, процессор 110 может конфигурировать устройство 10 как подчиненное устройство, если сравнение указывает, что периферийное устройство 250, присоединенное USB-разъему 200, сконфигурировано как хост. Процессор 110 может также конфигурировать устройство 10 как хост, если сравнение указывает, что периферийное устройство 250, присоединенное к USB-разъему 200, сконфигурировано как подчиненное устройство. Устройство 100 может быть приспособлено для выполнения этих и других методов, как будет описано более подробно ниже со ссылкой на фиг. 3-6.
Фиг. 3 показывает способ 300 согласно варианту осуществления. Как показано на фиг. 3, способ 300 содержит этап 310, который определяет напряжение Vbus на контакте Vbus в USB-разъеме на устройстве. После этапа 310, этап 320 сравнивает напряжение Vbus с порогом. Устройство 100 может конфигурировать устройство 10 на основе сравнения напряжения Vbus и порога на этапе 330. Этапы 310-330, описаны более подробно ниже.
На этапе 310, устройство 100 может определить напряжение Vbus на контакте Vbus 210 в USB-разъеме 200. Например, процессор 110 и модуль 130 сравнения напряжения могут быть приспособлены, чтобы определять напряжение Vbus на контакте Vbus 210. В варианте осуществления согласно фиг. 1, процессор 110 может принимать сигналы от модуля 120 источника питания и модуля 130 сравнения напряжения. С помощью этих сигналов, процессор 110 может определить, обусловлено ли напряжение на контакте Vbus 210 модулем 120 питания или периферийным устройством 250, присоединенным к USB-разъему 200. В некоторых вариантах осуществления, устройство 100 может продолжать определение напряжения Vbus до тех пор, пока напряжение Vbus не будет обусловлено периферийным устройством 250.
На этапе 320, устройство 100 может сравнивать напряжение Vbus с порогом. Например, в варианте осуществления, показанном на фиг. 1, модуль 130 сравнения напряжения может сравнивать напряжение Vbus с порогом, который определен, например, компонентами, такими как резисторы, в модуле 130 сравнения напряжения. Например, резисторы R1, R2, показанные на фиг. 2, могут выполнять деление напряжения питания +5.0VDC. Напряжение, в случае, где второй резистор R2 связан с компаратором U1 напряжения (ʺR2-напряжениеʺ), может представлять собой порог.
На этапе 330, способ 300 может конфигурировать устройство 10 на основе сравнения напряжения Vbus и порога. Например, процессор 110 может конфигурировать модуль 120 источника питания, чтобы избирательно прикладывать напряжение к контакту Vbus 210. В варианте осуществления, показанном на фиг. 2, процессор 110 может послать сигнал на разрешающий контакт EN на переключателе 122 мощности, чтобы избирательно прикладывать напряжение к контакту Vbus 210. Напряжение может прикладываться к контакту Vbus 210 посредством контакта VOUT ввода напряжения через диод D1. После того, как устройство 10 сконфигурировано, способ 300 управления режимом устройства 10 может вернуться к этапу 310.
Вышеописанный способ 300 и этапы 310-330 могут быть реализованы с помощью различных дополнительных и альтернативных этапов. Примерные способы, имеющие альтернативные этапы, описаны ниже со ссылкой на фиг. 4 и 5.
На фиг. 4 показан способ 400 согласно варианту осуществления. Способ 400 содержит этап 410, который определяет напряжение Vbus на контакте Vbus 210. На этапе 420, напряжение Vbus сравнивается с порогом. После этапа 420, способ 400 принимает решение, указывает ли сравнение, что периферийное устройство 250, присоединенное к USB-разъему 200, сконфигурировано как хост или подчиненное устройство, на этапе 430, который состоит из этапов 432-434. В зависимости от сравнения, устройство 10 может быть сконфигурировано как хост или подчиненное устройство, как будет описано более подробно ниже.
На этапе 432, сравнение между напряжением Vbus и порогом может указывать конфигурацию периферийного устройства 250, присоединенного к USB-разъему 200. Например, в варианте осуществления, показанном на фиг. 1, модуль 130 сравнения напряжения может сравнивать напряжение Vbus на контакте Vbus 210 с порогом напряжения. Модуль 130 сравнения напряжения может указывать процессору 110, сконфигурировано ли периферийное устройство 250 как хост или подчиненное устройство. В варианте осуществления, показанном на фиг. 2, компаратор U1 напряжения может сравнивать напряжение Vbus и R2-напряжение и посылать в процессор 110 сигнал, указывающий, является ли периферийное устройство 250, присоединенное к USB-разъему 200, подчиненным устройством или хостом. Сигнал может быть цифровым сигналом, в котором высокое напряжение, представляющее бит ʺ1ʺ, указывает, что периферийное устройство 250 сконфигурировано как хост, а низкое напряжение, такое как нулевое напряжения, представляющее бит ʺ0ʺ, указывает, что периферийное устройство 250 сконфигурировано как подчиненное устройство.
На этапах 434 и 436, процессор 110 может послать сигнал на модуль 120 источника питания, чтобы избирательно прикладывать напряжение к контакту Vbus 210 в зависимости от сравнения, выполненного на этапе 432. Например, если сравнение указывает, что периферийное устройство 250 сконфигурировано как хост, то устройство 10 может быть сконфигурировано как подчиненное устройство на этапе 434. Если сравнение показывает, что периферийное устройство 250 сконфигурировано как подчиненное устройство, то устройство 10 может быть сконфигурировано как хост. В варианте осуществления, показанном на фиг. 2, процессор 110 может послать сигнал на разрешающий контакт EN на переключателе 122 мощности для конфигурирования устройства 10. В зависимости от сигнала, посланного на разрешающий контакт EN, переключатель 122 мощности может прикладывать напряжение к контакту Vbus 210. Избирательное приложение напряжения к контакту Vbus 210 может определять, сконфигурировано ли устройство 10 как подчиненное устройство или хост, как будет описано более подробно ниже со ссылкой на фиг. 5.
На фиг. 5 показан способ 500 согласно варианту осуществления. Способ 500, на этапе 510, определяет напряжение Vbus на контакте Vbus 210 в USB-разъеме 200 на устройстве 10. На этапе 520, напряжение Vbus сравнивается с порогом. Способ 500 может конфигурировать устройство 10 на основе сравнения на этапе 530. Этапы 510, 520 и 530 состоят из дополнительных этапов, которые будут описаны более подробно ниже.
Для определения напряжения Vbus на контакте Vbus 210, этап 510 определяет, прикладывает ли устройство 10 напряжение к контакту Vbus 210 на этапе 512, и измеряет напряжение Vbus на контакте Vbus 210 на этапе 514. В варианте осуществления, показанном на фиг. 1, процессор 110 может определять, прикладывает ли модуль 120 источника питания напряжение к контакту Vbus 210. Со ссылкой на фиг. 2, процессор 110 может определять, послан ли сигнал на разрешающий контакт EN в переключателе 122 мощности, который побуждает переключатель 122 мощности прикладывать напряжение к контакту Vbus 210. Например, код, исполняемый в процессоре 110, может проверить, посылает ли процессор 110 бит ʺ1ʺ на разрешающий контакт EN. Если устройство 10 прикладывает напряжение к контакту Vbus 210, то способ 500 переходит к этапу 526, чтобы определить, принят ли ответ на USB-разъеме 200, что будет описано более подробно ниже со ссылкой на этап 520.
По-прежнему ссылаясь на этап 512, если устройство 10 не прикладывает напряжение к контакту Vbus 210, то способ 500 будет измерять напряжение Vbus на контакте Vbus 210 на этапе 514. Модуль 130 сравнения напряжения может измерять напряжение Vbus на контакте Vbus 210. Например, в варианте осуществления, показанном на фиг. 2, компаратор U1 напряжения может измерять напряжение Vbus на контакте Vbus 210, используя трассировку, показанную на фиг. 2. Измерение напряжения Vbus может быть аналоговым значением напряжения, хотя альтернативные варианты осуществления могут включать в себя, например, цифровую дискретизацию или другие методы измерения. Как бы оно ни было определено, напряжение Vbus сравнивается с порогом, начиная с этапа 522.
На этапе 522 определяется порог. Например, модуль 130 сравнения напряжения может определить пороговое напряжение с параметрами, которые, например, установлены внутренними компонентами. Например, в варианте осуществления согласно фиг. 2, порог может быть R2-напряжением, которое измеряется компаратором U1 напряжения на опорном контакте. Как обсуждалось ранее, R2-напряжение может быть определено отношениями первого и второго резисторов R1, R2.
На этапе 524, устройство 100 может определять, является ли напряжение Vbus большим, чем порог. В варианте осуществления согласно фиг. 1, модуль 130 сравнения напряжения может определять, является ли напряжение Vbus большим, чем порог. Например, в варианте осуществления согласно фиг. 2, компаратор U1 напряжения может сравнивать напряжение Vbus с R2-напряжением и посылать на процессор 110 сигнал, указывающий, что напряжение Vbus больше, чем R2-напряжение. В альтернативных вариантах осуществления, сравнение между напряжением Vbus и порогом может быть инвертировано. Например, альтернативные компараторы напряжения могут посылать к процессору 110 сигнал, если напряжение Vbus меньше, чем порог. В качестве альтернативы, напряжение Vbus и R2-напряжение могут быть оцифрованы и могут сравниваться численно, чтобы определять, является ли напряжение Vbus большим, чем порог.
Если напряжение Vbus больше, чем порог, то устройство 100 может конфигурировать устройство 10 как подчиненное устройство. Например, устройство 100 может конфигурировать устройство 10 как подчиненное устройство путем отключения модуля 120 источника питания, так что напряжение, приложенное к контакту Vbus 210, равно нулю. В варианте осуществления согласно фиг. 2, модуль 120 источника питания может быть отключен, например, вследствие того, что процессор 110 прикладывает нуль вольт к разрешающему контакту EN на переключателе 122 мощности. Соответственно, переключатель 122 мощности может не прикладывать напряжение к контакту Vbus 210.
Если, на этапе 524, устройство 100 определяет, что напряжение Vbus меньше, чем порог, то устройство 10 может быть сконфигурировано как хост. Например, со ссылкой на фиг. 1, устройство 100 может конфигурировать устройство 10 как хост путем приложения напряжения к контакту Vbus 210 в USB-разъеме 200 на этапе 534. Устройство 100 может прикладывать напряжение к контакту Vbus 210, чтобы определять, обусловлено ли низкое или нулевое напряжение Vbus на контакте Vbus 210 тем, что периферийное устройство 250 сконфигурировано как подчиненное устройство, или присоединено ли периферийное устройство 250 к USB-разъему 200. В частности, устройство 100 может определять, принят ли ответ на USB-разъеме 200 на этапе 526 после того, как напряжение приложено к контакту Vbus на этапе 535.
Как обсуждалось ранее, если периферийное устройство 250 присоединено к USB-разъему 200 и сконфигурировано как подчиненное устройство, периферийное устройство 250 будет посылать ответ на USB-разъем 200, когда напряжение приложено к контакту Vbus 210. Соответственно, если ответ не принят на USB-разъеме 200, то периферийное устройство 250 не может быть присоединено к USB-разъему 200. Таким образом, если ответ не принят на USB-разъеме 200, устройство 100 прекращает прикладывать напряжение к контакту Vbus 210 на этапе 538 и возвращается к этапу 510. Процессор 110 может ожидать ответ в течение некоторого периода времени.
Период времени может быть установлен с помощью программного обеспечения, исполняющегося на процессоре 110. Период времени также может быть установлен, чтобы гарантировать, что напряжения на периферийном устройстве 250 разряжены. Например, периферийное устройство 250 может заряжаться вследствие емкости в периферийном устройстве 250, когда устройство 10 прикладывает напряжение к контакту Vbus 210. Емкость в периферийном устройстве 250 может разряжаться через третий и четвертый резисторы R3, R4 в течение некоторого периода время, как описано выше со ссылкой на фиг. 2. Период времени также может быть установлен на основе других причин, таких как обеспечение достаточного количества времени, предусмотренного для ответа периферийного устройства 250.
Если, на этапе 535, устройство 100 определяет, что ответ принят на USB-разъеме 200, то устройство 10 конфигурируется как хост на этапе 536. В варианте осуществления, показанном на фиг. 1, устройство 100 может конфигурировать устройство 10 как хост, путем посылки сигнала на модуль 120 источника питания, так что модуль 120 источника питания прикладывает напряжение к контакту Vbus 210. Например, как показано на фиг. 2, процессор 110 может послать сигнал, образованный напряжением, которое больше нуля, на разрешающий контакт EN на переключателе 122 мощности. Сигнал, посланный на разрешающий контакт EN, может вызвать то, что переключатель 122 мощности прикладывает +5.0VDC к контакту вывода напряжения VOUT, хотя другие напряжения могут быть приложены в альтернативных вариантах осуществления. Соответственно, устройство 100 может прикладывать напряжение к контакту Vbus 210 в USB-разъеме 200, результатом чего может быть периферийное устройство 250, сконфигурированное как подчиненное устройство, присоединенное к USB-разъему 200.
При конфигурировании устройства 10 как хоста, процессор 110 может также инициировать связь с периферийным устройством 250. Например, процессор 110 может выбрать стек протоколов связи хоста (ʺстек хостаʺ), который совместим со стандартом USB, для связи с периферийным устройством 250, присоединенным к USB-разъему 200. Стек хоста, реализованный устройством 100, может храниться в памяти (не показана) процессора 110 или любом другом соответствующем устройстве хранения данных. Стек хоста может быть приспособлен, чтобы инициировать и управлять связью между устройством 10 и периферийным устройством 250 через USB-разъем 200.
Например, стек хоста может инициировать механизмы передачи данных. В варианте осуществления, показанном на фиг. 1, стек хоста может предписывать процессору 110 реализовать механизм передачи данных управления, в котором, например, процессор 110 посылает команды к периферийному устройству 250 или запрашивает параметры от периферийного устройства 250. Стек хоста может также побудить процессор 110 запрашивать о запросах прерывания периферийным устройством 250. Другие механизмы передачи данных, определенные в стандарте USB, также могут использоваться.
Когда устройство 10 сконфигурировано как подчиненное устройство, периферийное устройство 250 будет обеспечивать напряжение на контакте Vbus 210 и инициировать механизм передачи данных. Для осуществления связи с периферийным устройством 250, сконфигурированным как хост, устройство 100 может конфигурировать устройство 10 как подчиненное устройство путем отключения модуля 120 источника питания и реализации стека подчиненного устройства в процессоре 110. Например, процессор 110 может послать сигнал около нуля вольт на разрешающий контакт EN на переключателе 122 мощности, показанном на фиг. 2. Процессор 110 также может загружать стек подчиненного устройства в процессор 110. Стек подчиненное устройство может предписывать процессору 110 или другим частям устройства 10, таким как USB-чип связи, принимать передачи от периферийного устройства 250 через USB-разъем 200.
Например, персональный компьютер с программой, сконфигурированной, чтобы управлять устройством 10, может быть присоединен к USB-разъему 200. Персональный компьютер сконфигурирован как хост и, следовательно, может прикладывать напряжение к контакту Vbus 210. Устройство 100 может определять напряжение Vbus на контакте Vbus 210 и конфигурировать устройство 10 как подчиненное устройство путем сравнения напряжения Vbus с порогом. Устройство 100 также может побуждать процессор 110 или другие компоненты на устройстве 10 реализовывать стек подчиненного устройства, который посылает ответ на персональный компьютер. Ответ может приниматься программой на персональном компьютере, которая может посылать сигналы, которые побуждают устройство 10 выполнять функции, например, отвечать данными, параметрами установки и т.п.
Варианты осуществления, описанные выше, обеспечивают устройство 100 и способ 300-500 для управления режимом устройства 10. Как пояснено выше, устройство 100 и способ 300-500 могут определять напряжение Vbus на контакте Vbus 210 в USB-разъеме 200, который не включает в себя ID-контакт. Напряжение Vbus может сравниваться с порогом, чтобы определить, является ли периферийное устройство 250, присоединенное к USB-разъему 200, хостом или подчиненным устройством. На основе конфигурации периферийного устройства 250, устройство 100 и способ 300-500 могут конфигурировать устройство 10 как подчиненное устройство или хост.
В результате, USB-разъемы 200, которые не совместимы с OTG и не включают в себя ID-контакты, могут быть использованы в устройстве 10, которое может быть сконфигурировано как хост или подчиненное устройство. Соответственно, один USB-разъем 200 может быть использован при осуществлении связи между устройством 10 и периферийным устройством 250, причем периферийное устройство 250 может быть сконфигурировано как хост или подчиненное устройство. Например, USB-разъем типа А, определенный в спецификации USB 2.0, может быть использован в устройстве 10, когда устройство 10 сконфигурировано как подчиненное устройство или хост.
Использование одного USB-разъема 200 на устройствах 10, которые могут быть сконфигурированы как хост или подчиненное устройство, может снизить затраты на реализацию новых проектов. В вариантах осуществления, описанных выше, устройство 100 и способ 300-500 для управления режимом устройства 10 могут конфигурировать устройство 10 со стеком хоста или подчиненного устройства, который является более простым, чем стандарт OTG. Например, стек хоста и подчиненного устройства, реализованный на устройстве 10, не должен обязательным образом включать в себя протоколы RSP и HNP, требуемые стандартом OTG. Это уменьшает служебную нагрузку программного обеспечения, например, процессора 110, что позволяет процессору 110 выполнять другие функции без задержки, которая может быть вызвана протоколами RSP и HNP. Кроме того, могут быть использованы унаследованные аппаратные средства, такие как модули памяти с USB-разъемом типа А. Это может гарантировать, что потребителям производителей устройства 10 не потребуется модернизировать свои периферийные устройства.
Подробные описания приведенных выше вариантов осуществления, не являются исчерпывающими описаниями всех вариантов осуществления, рассматриваемых изобретателями как находящихся в пределах объема настоящего описания. Действительно, специалистам в данной области техники должно быть понятно, что некоторые элементы вышеописанных вариантов осуществления могут по-разному объединяться или исключаться, чтобы создавать дополнительные варианты осуществления, и такие дополнительные варианты осуществления находятся в пределах объема и идей настоящего описания. Кроме того, для специалистов в данной области техники должно быть очевидно, что описанные выше варианты осуществления изобретения могут объединяться в целом или частично, чтобы создавать дополнительные варианты осуществления в пределах объема и идей настоящего описания.
Таким образом, хотя конкретные варианты осуществления описаны здесь в целях иллюстрации, различные эквивалентные модификации возможны в пределах объема настоящего описания, как будет понятно специалистам в данной области техники. Решения, представленные здесь, могут быть применены к другим устройствам и способам для управления режимом устройства, а не только к вариантам осуществления, описанным выше и показанным на прилагаемых чертежах. Соответственно, объем вариантов осуществления, описанных выше, должен определяться следующей формулой изобретения.