СПОСОБ ОПРЕДЕЛЕНИЯ АКТИВНЫХ ЭЛЕМЕНТОВ ВВОДА КОМПОНОВКИ ВВОДА И КОМПОНОВКА ВВОДА
DETERMINATION METHOD OF THE ACTIVE INPUT ELEMENTS OF THE INPUT LINK AND THE INPUT LINK

Область техники, к которой относится изобретение
Это изобретение относится, в целом, к компоновкам ввода и, в частности, относится к таким компоновкам ввода, которые допускают множественное клавишное обнаружение одновременно нажатых клавишных переключателей.
Уровень техники
В настоящее время существует несколько типов клавиатур. Однако все еще имеются некоторые проблемы. Клавиатуры простой конструкции часто имеют проблемы с обнаружением, активировано ли одновременно несколько клавишных переключателей. Эти проблемы известны, например, как "ложные клавиши" и "маскирующие клавиши". С другой стороны, важно поддерживать сложность клавиатуры как можно более низкой.
Сущность изобретения
Изобретение относится к способу определения активных элементов ввода компоновки ввода, содержащему
обеспечение элементов ввода, которые соединены согласно матричной компоновке,
обеспечение в матричной компоновке по меньшей мере  двух линий возбуждения, каждая из которых соединена с соответствующей схемой возбуждения,
обеспечение в матричной компоновке по меньшей мере  двух линий считывания, которые можно использовать для обнаружения активных элементов ввода,
обеспечение, в матричной компоновке, последовательных соединений каждое из которых содержит элемент ввода и резистор, причем каждое последовательное соединение соединенный с соответствующей одной из линий возбуждения и с соответствующей одной из линий считывания,
обеспечение подтягивающих резисторов, которые соединяют линии считывания с первым потенциалом, и
использование устройства управления для схем возбуждения, которые способны возбуждать активную линию возбуждения до второго потенциала, который отличается от первого потенциала, и которые способны возбуждать неактивную линию возбуждения или неактивные линии возбуждения до первого потенциала или до потенциала, абсолютное значение смещения которого относительно первого потенциала не превышает 50 процентов или не превышает 10 процентов от абсолютного значения разности первого потенциала и второго потенциала.
Кроме того, изобретение относится к компоновке ввода, содержащей:
множество элементов ввода,
причем элементы ввода соединены согласно матричной компоновке,
причем матричная компоновка содержит по меньшей мере  две линии возбуждения, каждая из которых соединена с соответствующей схемой возбуждения,
причем матричная компоновка содержит по меньшей мере  две линии считывания, которые можно использовать для обнаружения активных элементов ввода,
причем, согласно матричной компоновке, каждое последовательное соединение содержит элемент ввода и резистор, каждый из которых соединен с соответствующей одной из линий возбуждения и с соответствующей одной из линий считывания.
Описание общих вариантов осуществления - аспект A
Задачей изобретения является обеспечение способа, который можно использовать без особых усилий и который, предпочтительно, имеет дело с проблемами неправильного обнаружения клавишного переключателя и/или множественного обнаружения клавишного переключателя одновременно нажатых клавишных переключателей. Предпочтительно, он позволяет легко и/или быстро определять, какие клавишные переключатели нажаты. Кроме того, следует обеспечить соответствующую компоновку ввода.
Способ определения активных элементов ввода компоновки ввода может содержать:
- обеспечение элементов ввода, которые соединены согласно матричной компоновке,
- обеспечение в матричной компоновке по меньшей мере  двух линий возбуждения, каждая из которых соединена с соответствующей схемой возбуждения,
- обеспечение в матричной компоновке по меньшей мере  двух линий считывания, которые можно использовать для обнаружения активных элементов ввода,
- обеспечение, в матричной компоновке, последовательных соединений каждое из которых содержит элемент ввода и резистор, причем каждое последовательное соединение соединенный с соответствующей одной из линий возбуждения и с соответствующей одной из линий считывания,
- обеспечение подтягивающих резисторов, которые соединяют линии считывания с первым потенциалом, и
- использование устройства управления, используемого для возбуждения схем возбуждения, которые способны возбуждать активную линию возбуждения до второго потенциала, который отличается от первого потенциала, и которые способны возбуждать неактивную линию возбуждения или неактивные линии возбуждения до первого потенциала или до потенциала, абсолютное значение смещения которого относительно первого потенциала не превышает 50 процентов или не превышает 10 процентов от абсолютного значения разности первого потенциала и второго потенциала.
При наличии смещения, неактивный потенциал может иметь значение, которое лежит между значением первого потенциала и значением второго потенциала.
Абсолютное значение задано как всегда дающее положительный знак, т.е. абсолютное значение 4 равно 4, и абсолютное значение -4 также равно 4.
Резисторы предотвращают, например, короткие замыкания между разными линиями возбуждения через одну и ту же линию считывания в случае, когда более одного элемента ввода активно или нажато в одном столбце или на одной и той же линии считывания матричной компоновки.
Использование этих потенциалов обеспечивает простой делитель напряжения. Отвод этого делителя напряжения может считываться на линии считывания. Чем больше переключателей активно в одном столбце, тем больше напряжение отвода делителя напряжения смещается к плюсу или к потенциалу истока/земли в зависимости от значения первого потенциала. Исключение существует только в отсутствие активных переключателей в одном столбце. В отсутствие активных переключателей будет считываться первый потенциал.
Элементы ввода соединены согласно схеме соединения. Фактическая компоновка или положение элементов ввода может отличаться от схемы соединения. Это означает, что элементы ввода могут иметь измененные положения по сравнению с матричной компоновкой согласно схеме соединения. Хотя положения могут изменяться, соединение элементов ввода с линиями возбуждения и линиями считывания остается неизменным.
Каждое последовательное соединение может содержать элемент ввода и резистор. Каждое последовательное соединение может состоять из переключателя или нажимной кнопки и резистора. В этом случае резистор может быть неподвижным относительно несущей подложки матричной компоновки.
Альтернативно, каждое последовательное соединение может состоять из первого переключателя или первой нажимной кнопки и резистора и второго переключателя или нажимной кнопки, в частности, если резистор подвижен относительно линии возбуждения и/или линий считывания. В этом случае оба переключателя соединены друг с другом. Возможны также другие конфигурации в последовательных соединениях.
Первый потенциал предпочтительно может быть положительным рабочим потенциалом. В этом случае, второй потенциал может быть потенциалом земли/истока или потенциалом вблизи земли/истока. Использование этих потенциалов является предпочтительным для большинства схем возбуждения, см. более подробное объяснение, приведенное ниже. Однако для первого потенциала можно использовать другие потенциалы, например, потенциал земли/истока или потенциал вблизи земли/истока, и для второго потенциала также, например, положительный рабочий потенциал или потенциал вблизи положительного рабочего потенциала.
Компоновка ввода может представлять собой, например:
- клавиатуру, в частности буквенно-числовую клавиатуру, имеющую по меньшей мере  50 клавишных переключателей, обычно не более 150 клавишных переключателей или не более 2000 клавишных переключателей. Клавиатура может быть устройством, отдельным от компьютера или может быть неотъемлемой частью компьютера, или
- клавишной панелью, имеющей от 10 до 20 клавишных переключателей, в частности, клавишной панелью, используемой для управления вводом.
Например, клавиатура может содержать по меньшей мере  одну, две, три, четыре, пять или все из:
- по меньшей мере, 25 клавиш для ввода букв a, b, c и т.д.,
- по меньшей мере, 10 клавиш для ввода цифр 0, 1, 2, и т.д., предпочтительно совместно с дополнительными символами ввода, например, "!", """, "§", "$", и т.д.
по меньшей мере, 10 клавиш для функций, т.е. функции F1, функции F2, и т.д.,
по меньшей мере, 10 клавиш клавишной панели для ввода цифр, т.е. цифр 0, 1, 2, и т.д., в частности, дополнительной группы этих цифр,
никакие дополнительные символы ввода не используются для клавиш дополнительной группы,
клавиш модификатора, заданных, например, в спецификации HID (устройства человеко-машинного интерфейса), т.е. левой клавиши CTRL, левой клавиши SHIFT, левой клавиши ALT, левой клавиши GUI (графический пользовательский интерфейс), т.е., например, левой клавиши Win для Microsoft, левой клавиши Apple для Macintosh, левой клавиши Meta для Sun и т.д., правой клавиши CTRL, правой клавиши SHIFT, правой клавиши ALT, правой клавиши GUI,
вспомогательных клавиш: Caps Lock, Tab, Spacebar, Page Down, Page Up, Right Arrow, Left Arrow, Up Arrow, Down Arrow.
В дальнейшем, переключающие элементы или элементы ввода могут быть сенсорными переключателями или нажимными кнопками. Переключающие элементы также могут быть упомянутыми клавишами или клавишными переключателями.
Способ позволяет очень быстро сканировать матрицу, в частности, если для определения, активен ли сканируемый элемент ввода, используется только одно пороговое значение. Это пороговое значение может не зависеть от количества нажатых клавиш или активированных элементов ввода в одном столбце матричной компоновки, т.е. на одной линии считывания.
Однако обнаружение активных элементов ввода можно производить очень быстро благодаря использованию вышеупомянутого делителя напряжения, даже если используется более одного порогового значения.
В обоих случаях, не будет сбоев в обнаружении вследствие ложного нажатия.
Способ может содержать:
активацию первой линии возбуждения из линий возбуждения, причем, предпочтительно, только одна линия (L1) возбуждения из линий (L1, L2) возбуждения активна в данный момент времени, т.е. одновременно,
обнаружение первого значения электрического сигнала, предпочтительно, первого значения потенциала, на первой линии считывания из линий считывания в ходе активации первой линии возбуждения, и
определение активированного элемента ввода в последовательном соединении между первой линией возбуждения и первой линией считывания на основании того, что первое значение не достигает порогового значения или превышает его,
благодаря чему, пороговое значение не зависит от количества активных элементов ввода или не зависит от по меньшей мере  двух по меньшей мере  трех или по меньшей мере  четырех разных количеств активных элементов ввода на первой линии считывания и/или на других линиях считывания.
Таким образом, нажатую клавишу можно обнаруживать только на основании того, что первое значение ниже порогового значения или выше порогового значения. Ложное нажатие больше не представляет проблемы. Точное значение первого значения можно использовать для определения количества нажатых клавиш в столбце матрицы. Затем это количество можно использовать для ускорения сканирования матрицы. Это будет более подробно объяснено ниже.
Пороговое значение можно определять по-разному, например:
эмпирически,
контролируя обнаруженные значения, или
используя калибровочный столбец, который будет более подробно объяснен ниже.
Способ может содержать:
обнаружение второго значения электрического сигнала, предпочтительно, второго значения потенциала, на второй линии считывания из линий считывания в ходе активации первой линии возбуждения, в частности, после определения на первой линии считывания,
определение активированного элемента ввода в последовательном соединении между первой линией возбуждения и второй линией считывания на основании того, что второе значение не достигает порогового значения или превышает его.
Все линии считывания могут считываться одна за другой с использованием, предпочтительно, только одного и/или одного и того же порогового значения. Альтернативно можно одновременно считывать более одной линии считывания, например, с использованием более чем одного аналого-цифрового преобразователя (ADC).
Способ может содержать:
деактивацию (возбуждение до соответствующего фиксированного потенциала, например, до первого потенциала или до потенциала вблизи первого потенциала, т.е. не до высокого омического состояния) первой линии возбуждения после обнаружения первого значения и второго значения,
активацию второй линии возбуждения из линий возбуждения,
определение активированного элемента ввода в последовательном соединении между второй линией возбуждения и первой линией считывания на основании того, что первое значение не достигает порогового значения или превышает его.
Это означает, что сканирование матричной компоновки может осуществляться строка за строкой и в каждой строке столбец за столбцом. Это схема быстрого сканирования, поскольку времена установления сигналов на строках должны удовлетворять условиям только один раз для каждой строки.
Матричная компоновка может содержать линию калибровки. Опорные резисторы могут быть соединены с линией калибровки и с каждой линией возбуждения соответственно. Способ может содержать:
обнаружение калибровочного значения с использованием линии калибровки,
использование калибровочного значение для определения порогового значения.
Линия калибровки предпочтительно может быть соединена с первым потенциалом дополнительным подтягивающим резистором.
Все линии возбуждения могут активироваться в случае обнаружения калибровочного значения. Это имитирует случай, когда все клавиши в столбце нажаты одновременно, т.е. худший случай для обнаружения без сбоев в обнаружении.
Калибровочное значение можно использовать в качестве порогового значения. Альтернативно смещение может добавляться к калибровочному значению для получения порогового значения. Смещение можно вычислять относительно интервала между калибровочным значением и максимальным значением аналого-цифрового преобразователя (ADC) или потенциалом, который соответствует этому максимальному значению. Смещение может находиться в диапазоне одной десятой или половины этого интервала, предпочтительно, на четверти этого интервала. Альтернативно, можно отталкиваться от минимального значения, если первый потенциал является потенциалом земли/истока, и активные линии возбуждения возбуждаются, например, до положительного рабочего потенциала. В этом случае, смещение или значение смещения можно вычитать из калибровочного значения.
Пороговое значение можно использовать для определения дополнительных пороговых значений или пороговых диапазонов, каждый из которых пригоден, только если в одном столбце нажато конкретное количество клавиш, например, одна клавиша, две клавиши и т.д. или все клавиши. Дополнительные пороговые значения/диапазоны можно использовать для определения, например, активно ли более чем данное количество клавиш, или активно ли менее чем данное количество клавиш.
Калибровка позволяет рассматривать дрейф температуры и/или напряжения, который иначе может приводить к неправильным значениям обнаружения. Рабочий потенциал ADC (аналого-цифрового преобразователя) может отличаться от опорного потенциала ADC, который делается глаже, чем рабочий потенциал, устройством электрического фильтра, например, фильтра с П-образными звеньями, содержащими катушку(и) и конденсатор(ы). Таким образом, могут возникать разности между обоими потенциалами. В частности, в конце диапазона обнаружения ADC может существовать область нелинейного обнаружения, которая может приводить к неправильным обнаружениям, если не использовать калибровку.
Можно считывать линию калибровки, и пороговое значение можно определять после активации линии возбуждения, но до считывания одной из линий считывания, предпочтительно, для каждой линии возбуждения. Это позволяет учитывать разности внутренних сопротивлений возбудителей (драйверов) линии, кратковременные флуктуации температуры, напряжения или других условий, которые могут влиять на считывание из линий считывания.
Пороговое значение может быть первым пороговым значением, которое используется для вычисления или для определения дополнительных пороговых значений или пороговых диапазонов которые указывают разные количества активированных элементов ввода на считанной линии считывания, соответственно. Точное количество элементов ввода можно определять и использовать для ускорения цикла сканирования полной матричной компоновки. Это будет более подробно объяснено ниже.
Резисторы или резисторы и подтягивающие резисторы могут иметь одинаковые значения сопротивления, в частности, в диапазоне допуска менее 5 процентов, менее 3 процентов или менее 1 процента от наибольшего значения сопротивления. Альтернативно, подтягивающие резисторы могут иметь другое значение сопротивления, чем резисторы в матрице. Подтягивающие резисторы, в частности, без подтягивающего резистора на необязательной линии калибровки, могут иметь значение сопротивления, которое больше значения сопротивления резисторов матрицы, например по меньшей мере  на 75 процентов или по меньшей мере  на 100 процентов больше значения сопротивления резисторов матрицы.
Низкие допуски позволяют очень точно определять количество нажатых клавишных переключателей в одном столбце матричной компоновки, если это количество используется для ускорения сканирования матрицы. Низкие допуски также могут приводить к строго определенному калибровочному значению.
Резисторы могут иметь фиксированное значение сопротивления, т.е. резисторы не обладают чувствительностью к давлению. Резисторы, нечувствительные к давлению, дешевле, чем резисторы, чувствительные к давлению.
Резисторы или резисторы и подтягивающие к питанию/земле резисторы можно создавать методом пигментной (карбоновой) печати. Пигментная печать является недорогим способом изготовления по сравнению с использованием дискретных резистивных элементов.
Резисторы могут иметь значения сопротивления по меньшей мере  4,5 кОм. Таким образом, при активации или нажатии клавиши будут течь только малые токи.
Сканирование матричной компоновки можно ускорить по меньшей мере  одной из следующих мер:
a) производится определение, сколько элементов ввода нажато или активировано на считанной линии считывания, как только первый активный элемент ввода обнаруживается на этой линии считывания на основании обнаруженного значения и на основании пороговых значений которые указывают количество активных элементов ввода,
не обнаруживается никакого дополнительного электрического сигнала, как только обнаружено количество активных элементов ввода, которое равно определенному количеству активных элементов ввода,
b) все линии возбуждения возбуждаются до второго потенциала, и определяются линии считывания, которые не имеют активированных элементов ввода,
эти определенные линии считывания больше не рассматриваются в ходе сканирования матричной компоновки в текущем цикле сканирования,
c) порядок возбуждения линий возбуждения зависит от вероятности активации элементов ввода, соединенных с соответствующей линией возбуждения,
d) для возбуждения линий возбуждения используется способ бисекции (деления пополам).
Первый потенциал может быть положительным рабочим потенциалом. Если первый потенциал является положительным рабочим потенциалом интегральной схемы или микропроцессора или микроконтроллера, второе значение может быть потенциалом земли/истока. Это означает, что сканирование осуществляется до потенциала земли/истока. Возбудителей, которые допускают "чистое" возбуждение до потенциала земли/истока, гораздо больше, чем возбудителей, которые также допускают чистое возбуждение до положительного потенциала. Существует много возбудителей, которые допускают, например, возбуждение 8 мА относительно земли. Однако этот ток не всегда может возбуждаться относительно положительного потенциала. Это означает, что хорошее возбуждение относительно земли может быть предварительным условием точного обнаружения нажатой клавиши. Это тем более пригодно, если используется пороговое значение, которое не зависит от количества нажатых клавиш на линии считывания.
Если первое значение является потенциалом земли/истока, второе значение может быть положительным рабочим потенциалом интегральной схемы или микропроцессора или микроконтроллера. Эта альтернатива может использоваться, если на линии возбуждения используются возбудители, которые в достаточной степени дотягиваются до положительного рабочего потенциала.
Компоновка ввода может содержать:
множество элементов ввода,
причем элементы ввода соединены согласно матричной компоновке,
причем матричная компоновка содержит по меньшей мере  две линии возбуждения, каждая из которых соединена с соответствующей схемой возбуждения,
причем матричная компоновка содержит по меньшей мере  две линии считывания, которые можно использовать для обнаружения активных элементов ввода,
благодаря чему согласно матричной компоновке, каждое последовательное соединение содержит элемент ввода и резистор, каждый из которых соединен с соответствующей одной из линий возбуждения и с соответствующей одной из линий считывания.
Соединение с соответствующей одной из линий возбуждения и с соответствующей одной из линий считывания означает, что соединение задает уникальную позицию в матрице.
Эту компоновку ввода можно использовать для вышеупомянутых способов. Таким образом, достигаются те же технические результаты.
Линии считывания могут быть соединены с первым потенциалом подтягивающими резисторами, предпочтительно подтягивающими к питанию резисторами. Может существовать устройство управления для схем возбуждения, которое возбуждает активную линию возбуждения до второго потенциала, который отличается от первого потенциала, и которое возбуждает неактивную линию возбуждения или неактивные линии возбуждения до первого потенциала или до потенциала, абсолютное значение смещения которого относительно первого потенциала не превышает 50 процентов или не превышает 10 процентов от абсолютного значения разности первого потенциала и второго потенциала.
Эту компоновку ввода также можно использовать для вышеупомянутых способов. Таким образом, достигаются те же технические результаты.
Матричная компоновка может содержать линию калибровки. Опорные резисторы могут быть соединены с линией калибровки и с каждой линией возбуждения соответственно. Линия калибровки может быть соединена или соединима с блоком обнаружения для обнаружения калибровочного значения.
Линию калибровки можно использовать для имитации случая, когда все клавишные переключатели или элементы ввода в одном столбце матрицы, т.е. на одной линии считывания, активированы. Этот случай может быть худшим случаем для обнаружения. Таким образом, этот случай можно использовать для определения порогового значения, которое позже используется для обнаружения активных элементов ввода.
Можно использовать блок определения порога, который определяет пороговое значение, которое указывает, что активация элемента ввода независимо от количества активированных элементов ввода или независимо от по меньшей мере  двух, трех или по меньшей мере  четырех разных количеств активированных элементов ввода, соединенных с одной и той же линией считывания, и/или которое определяет по меньшей мере  одно пороговое значение, которое указывает точное количество активированных элементов ввода, соединенных с одной и той же линией считывания. Оба случая подробно объяснены выше.
Блок обнаружения (ADC) можно использовать на линии(ях) считывания и/или на линии калибровки. Блок обнаружения может работать под рабочим потенциалом и может использовать опорный потенциал. Опорный потенциал можно фильтровать более гладко по сравнению с рабочим потенциалом блока обнаружения. Между обоими потенциалами может существовать разность потенциалов, например, 0,1 В. Однако использование линии калибровки гарантирует, что эта разность потенциалов не влияет на обнаружение активации элементов ввода.
Резисторы или резисторы и подтягивающие резисторы могут иметь одинаковые значения сопротивления, в частности, в диапазоне допуска менее 5 процентов, менее 3 процентов или менее 1 процента от наибольшего значения сопротивления. Резисторы могут иметь фиксированное значение сопротивления, т.е. резисторы не обладают чувствительностью к давлению. Резисторы последовательных соединений или эти резисторы и подтягивающие резисторы можно создавать посредством экономичной пигментной печати.
Последовательное соединение может содержать резистор, неподвижный относительно несущей подложки для матричной компоновки. Альтернативно, последовательное соединение может содержать резистор, подвижный относительно несущей подложки матричной компоновки. Резистор в подвижном элементе ввода может быть гораздо дешевле по сравнению с резистором, который установлен на несущей подложке, например методом пигментной печати. Однако резистор в подвижном элементе ввода также может быть сформирован методом пигментной печати.
Компоновка ввода может не включать в себя развязывающие диоды в матричной компоновке и/или соединенные с ней. Диоды сравнительно дороги по сравнению с резисторами. Кроме того, развязки и предотвращения ложного нажатия можно добиться без использования развязывающих диодов, как объяснено выше для способа и для компоновки ввода.
Схема возбуждения или схемы возбуждения для возбуждения линий возбуждения могут быть соединены непосредственно с линиями возбуждения или с использованием последовательно включенного резистора, имеющего сопротивление менее 200 Ом или менее 100 Ом. Последовательно включенное сопротивление можно настраивать согласно волновому сопротивлению несущей подложки матричной компоновки.
Предпочтительно, не существует подтягивающих к питанию или к земле резисторов, соединенных с выходами схемы возбуждения, в частности, подтягивающих резисторов, имеющих значения сопротивления более 1 кОм или более 4 кОм. Схемы возбуждения могут иметь жесткий уровень потенциала на своем выходе, поскольку он обычно создается двухтактным возбудителем. Это означает, что выходной потенциал или выходное напряжение схемы возбуждения остается по существу неизменным независимо от количества активных элементов ввода или клавиш в одном столбце матричной компоновки. В частности, потенциал земли/истока может изменяться меньше чем на 0,2 В (200 мВ) или даже меньше чем на 0,1 В (100 мВ). Это значительно упрощает обнаружение нажатых клавиш, в частности, если нужно рассматривать пороговые значения, которые зависят от количества нажатых клавиш в одном столбце матричной компоновки. Альтернативой использования жесткого уровня является использование "мягкого уровня". Мягкий уровень можно генерировать с использованием подтягивающие к питанию или к земле резисторов. Однако мягкий уровень будет изменяться в гораздо более широком диапазоне по сравнению с изменением жесткого уровня.
Схема возбуждения или схемы возбуждения может(могут) представлять собой выходные схемы блока микроконтроллера. В этом случае, для возбудителей не требуются отдельные компоненты, которые очень экономичны.
Описание общих вариантов осуществления - первый аспект
Задачей изобретения является обеспечение компоновки ввода, которую можно создавать без особых усилий и которая, предпочтительно, имеет дело с проблемами неправильного обнаружения клавишного переключателя и/или множественного обнаружения клавишного переключателя одновременно нажатых клавишных переключателей. Кроме того, следует обеспечить соответствующий способ.
Эти проблемы решаются посредством компоновки по п. 21 и посредством способа согласно независимому пункту способа. Варианты осуществления упомянуты в зависимых пунктах.
Изобретение относится к компоновке ввода, содержащей вышеупомянутые признаки. Последовательное соединение содержит переключающий элемент, который могут активироваться пользователем, например, посредством движения нажатия. При активации переключающего элемента электронная характеристика между выводами переключающего элемента, например сопротивление, изменяется. Последовательное соединение также содержит по меньшей мере  один электронный компонент (элемент или устройство), например, один (1) резистор или два резистора. Обычно помимо переключающего элемента в последовательном соединении существует не более двух электронных компонентов.
Первая проводящая линия и третья проводящая линия образуют, например, строки матрицы. Вторая проводящая линия и дополнительная проводящая линия образуют, например, столбцы матрицы. Однако можно также использовать "матрицу" с только одним столбцом, т.е. только со второй проводящей линией или только с одной линией считывания.
Соединение является электропроводящим соединением и располагается, например, на печатной плате (PCB), выполненной из гибкого или жесткого материала.
Аналого-цифровой преобразователь может быть подключен ко второй проводящей линии напрямую, т.е. без дополнительных электронных элементов. Альтернативно, можно использовать мультиплексор для отображения нескольких проводящих линий в один единственный вход аналого-цифрового преобразователя, каждую в отдельное время. Можно также использовать первый аналого-цифровой преобразователь на второй проводящей линии и использовать второй аналого-цифровой преобразователь на дополнительной проводящей линии.
Устройством ввода является, например:
клавиатура, в частности, буквенно-числовая клавиатура, имеющая по меньшей мере  50 клавишных переключателей, обычно не более 150 клавишных переключателей или не более 2000 клавишных переключателей. Клавиатура может быть устройством, отдельным от компьютера или может быть неотъемлемой частью компьютера, или
клавишной панелью, имеющей от 10 до 20 клавишных переключателей, в частности, клавишной панелью, используемой для управления вводом.
Например, клавиатура может содержать по меньшей мере  одну, две, три, четыре, пять или все из:
по меньшей мере, 25 клавиш для ввода букв a, b, c и т.д.,
по меньшей мере, 10 клавиш для ввода цифр 0, 1, 2, и т.д., предпочтительно совместно с дополнительными символами ввода, например, "!", """, "§", "$", и т.д.
- по меньшей мере, 10 клавиш для функций, т.е. функции F1, функции F2, и т.д.,
- по меньшей мере, 10 клавиш клавишной панели для ввода цифр, т.е. цифр 0, 1, 2, и т.д., в частности, дополнительной группы этих цифр,
- никакие дополнительные символы ввода не используются для клавиш дополнительной группы,
- клавиш модификатора, заданных, например, в спецификации HID (устройства человеко-машинного интерфейса), т.е. левой клавиши CTRL, левой клавиши SHIFT, левой клавиши ALT, левой клавиши GUI (графический пользовательский интерфейс), т.е., например, левой клавиши Win для Microsoft, левой клавиши Apple для Macintosh, левой клавиши Meta для Sun и т.д., правой клавиши CTRL, правой клавиши SHIFT, правой клавиши ALT, правой клавиши GUI,
- вспомогательных клавиш: Caps Lock, Tab, Spacebar, Page Down, Page Up, Right Arrow, Left Arrow, Up Arrow, Down Arrow.
Аналого-цифровой преобразователь может быть преобразователем на основе последовательных приближений или на основе параллельного кодирования. Можно также использовать по меньшей мере  два компараторных устройства (устройства сравнения), которые сравнивают по меньшей мере  два опорных значения и сигнал на второй проводящей линии, или которые сравнивают по меньшей мере  два опорных значения и сигнал на дополнительной проводящей линии для реализации преобразователя.
Первую проводящую линию и третью проводящую линию можно именовать линиями возбуждения. Вторую проводящую линию и дополнительную проводящую линию можно именовать линиями считывания.
Линии возбуждения могут быть соединены с возбудителем, который стробирует или сканирует линии возбуждения согласно заранее определенной рабочей схеме. Все линии возбуждения, кроме одной, предпочтительно, установлены на первый потенциал, и оставшаяся линия возбуждения, предпочтительно, установлена на второй потенциал, отличающийся от первого потенциала. Стробирование или сканирование осуществляется последовательно для всех линий возбуждения. Первый потенциал, предпочтительно, выше второго потенциала. Второй потенциал, предпочтительно, является потенциалом земли.
Линии считывания могут быть непосредственно соединены с аналого-цифровым преобразователем. Альтернативно, мультиплексор может быть подключен между каждой линией считывания и входом аналого-цифрового преобразователя.
Третья проводящая линия может быть соединена со вторым последовательным соединением второго элемента ввода и второго электронного компонента или со вторым устройством ввода, имеющим высокое омическое состояние, если активно. Предпочтительно, может существовать по меньшей мере  шесть или по меньшей мере  восемь проводящих линий (линий возбуждения).
Первая проводящая линия может быть соединена с дополнительным последовательным соединением дополнительного элемента ввода и дополнительного электронного компонента или с дополнительным устройством ввода, имеющим высокое омическое состояние, если активно.
Дополнительная проводящая линия может быть соединена с дополнительным последовательным соединением или с дополнительным устройством ввода и, предпочтительно, также с другими последовательными соединениями или устройствами ввода. Таким образом, может существовать несколько линий-столбцов или линий считывания, например по меньшей мере  шесть или по меньшей мере  восемь.
Аналого-цифровой преобразователь может принимать свой входной сигнал избирательно из первой проводящей линии или из дополнительной проводящей линии. Альтернативно, второй аналого-цифровой преобразователь подключен к дополнительной проводящей линии, а не к первому аналого-цифровому преобразователю.
Элементы ввода или устройства ввода или все элементы ввода или устройств ввода могут содержать только два вывода. Можно использовать однополюсный однопозиционный переключатель, в частности, переключатель типа нажимной кнопки или соответствующее полупроводниковое устройство. Однополюсные однопозиционные переключатели имеют более простую конструкцию по сравнению с однополюсными двухпозиционными переключателями или нажимными кнопками. Элемент ввода может быть нормально разомкнутым, т.е. если не активирован или не нажат.
Аналого-цифровой преобразователь может быть преобразователем длины выходного слова из по меньшей мере  двух бит по меньшей мере  трех бит по меньшей мере  четырех бит или по меньшей мере  восьми бит. Это означает, что преобразователь разрешает 4 значения, 8 значений, 16 значений, или 256 значений или более. Также можно использовать аналого-цифровые преобразователи с большей длиной слова, например 12-битовой длинной слова, т.е. разрешающих 4096 значений. Обычно используется длина слова менее 20 битов.
Первый электронный компонент и второй электронный компонент могут содержать по меньшей мере  один резистор или резистивный элемент, соответственно. Резисторы или резистивные элементы могут иметь значения сопротивления более 4,5 кОм или 5 кОм или более 10 кОм. Резисторы могут иметь значения, которые обычно меньше 100 кОм. Резистивным элементом может быть транзистор, входящий в состав сенсорного экрана. Кроме того, то же самое справедливо, если отдельные электронные компоненты не используются, т.е. резистор или резистивный элемент входит в состав устройства ввода, например транзистора, который используется для переключения.
Каждый из резисторов может иметь одинаковое номинальное значение или одинаковое омическое значение с допуском, например, плюс 5 процентов или минус 5 процентов от значения среднего арифметического или номинального значения резисторов. Это упрощает изготовление клавиатуры.
Альтернативно, одни и те же значения используются в группах последовательных соединений или устройств ввода. Однако разные значения используются в разных группах на одной и той же проводящей линии матрицы, например, на одной и той же линии считывания. Величина сопротивления в одной группе по меньшей мере  на 50 процентов больше по сравнению со значением в другой группе на одной и той же линии считывания.
Каждый элемент ввода может содержать переключающий элемент. Переключающий элемент, предпочтительно, может содержать механический переключатель, контакты которого сами по себе образуют физический контакт, если переключатель активирован или нажат. Альтернативно можно использовать устройство, чувствительное к прикосновению или давлению, не предусматривающее движение механических деталей. Примерами могут служить сенсорные экраны и транзисторы, чувствительные к прикосновению.
Альтернативно, можно также использовать другие типы переключателей, например, переключатели, чувствительные к прикосновению, которые не предусматривают движение механических деталей, в частности, транзисторы, изменяющие сопротивление при активации оператором или пользователем.
Кроме того, можно использовать гибриды переключателей. Можно использовать, например, купольные переключатели, которые содержат электропроводящий купол, который пользователь прижимает пальцем к двум разнесенным контактам.
Устройство ввода может содержать процессор, в частности, микроконтроллер, который подключен к аналого-цифровому преобразователю или содержит его. Микроконтроллер также может содержать память и периферийные устройства.
Устройство ввода может содержать устройство интерфейса, которое функционирует согласно международному стандарту передачи данных между устройством ввода и компьютерном, например PS/2 (персональная система 2), т.е. имеет сигнализацию замыкания или размыкания клавишный переключатель, или USB (универсальная последовательная шина), т.е. отправляет множественные сигналы, пока клавишный переключатель активирован.
Компоновка ввода может содержать устройство управления, которое обнаруживает активацию элемента ввода или устройства ввода, например переключателя, в зависимости от порогового напряжения, которое лежит в последней трети изменения сигнала значения сигнала в начале активации и значения сигнала в конце активации переключателя. Это означает, для падающего уровня сигнала, что устранение дребезга сигнала уже снизилось, и сигнал имеет сравнительно низкий уровень, что легко обнаруживать.
Альтернативно, компоновка ввода может содержать устройство управления, которое обнаруживает активацию элемента ввода или устройства ввода, например переключателя, в зависимости от порогового напряжения, которое лежит в первой половине или в первой четверти изменения сигнала значения сигнала в начале активации и значения сигнала в конце активации переключателя.
Это означает, что устранение дребезга сигнала все еще сравнительно высоко. Однако использование аналого-цифрового преобразователя допускает точнее обнаружение, поскольку позволяет отбирать сигнал, несколько раз устраняя дребезг. Пользователь устройства ввода может устанавливать или выбирать пороговое значение, например, для установления чувствительности переключателей клавиатуры.
Можно получить гладкое значение в отличие от быстро изменяющейся функции устранения дребезга с использованием сглаживающего конденсатора, например, совместно с оптимальным статистическим анализом. Альтернативно, можно обнаруживать минимумы сигнала устранения дребезга или значения, которые меньше высокого потенциала в начале активации клавишного переключателя. Максимумы или значения, которые значительно выше низкого значения сигнала, можно обнаруживать, если сигнал является низким в начале.
Устройство управления может быть реализовано посредством процессора, микропроцессора или микроконтроллера и соответствующей программы. Альтернативно можно использовать электронную схему без процессора для устройства управления.
Компоновка ввода может обнаруживать по меньшей мере  три состояния или по меньшей мере  четыре состояния элемента ввода или устройства ввода в ходе активации в зависимости от по меньшей мере  двух пороговых значений. Примером трех состояний является: ненажатое, наполовину нажатое, полностью нажатое. Новые применения могут основываться на этом механизме обнаружения множественных состояний. Функция может подготавливаться в начале активации и выполняться, только если, например, переключатель полностью нажат.
Устройство ввода может содержать второе устройство управления, которое обнаруживает количество активированных элементов ввода или устройств ввода, соединенных со второй проводящей линией и/или количество активированных элементов ввода или устройств ввода, соединенных с дополнительной проводящей линией.
Второе устройство управления может быть реализовано посредством процессора с использованием другой программы. Альтернативно, можно использовать другое оборудование, т.е. схему без процессора.
Второе устройство управления может содержать пороговый блок, который задает по меньшей мере  два диапазона выходных значений аналого-цифрового преобразователя. Второе устройство управления может содержать блок сравнения, который сравнивает выходной сигнал аналого-цифрового преобразователя с диапазонами для определения количества переключателей, одновременно активированных на одной из проводящих линий. Диапазоны могут заранее определяться только одним значением для каждого диапазона и общим значением длины этих диапазонов или двумя значениями для каждого диапазона, т.е. нижнее граничное значение и верхнее граничное значение. Точность обнаружения можно увеличить, если существуют диапазоны между этими заранее определенными диапазонами, которые не используются.
По меньшей мере, первый электронный компонент может содержать углеродистый резистор или может быть им, или по меньшей мере  первое устройство ввода может содержать углеродистый резистор. Углеродистый резистор предпочтительно изготавливается методом пигментной печати. В углеродистом резисторе может существовать по меньшей мере  90 процентов атомов углерода. Предпочтительно, все резистивные электронные компоненты компоновки ввода, в частности, все резистивные электронные компоненты в матрице ввода, являются углеродистыми резисторами.
Компоновка ввода может входить в состав устройства, имеющего наибольшую протяженность менее 20 см и/или вес менее 500 г или менее 250 г. Резистор или резистивный элемент может иметь сопротивление по меньшей мере  20 кОм или по меньшей мере  30 кОм.
Под весом понимают полный вес, т.е. содержащий устройство и аккумулятор или батарею. Такие малые устройства могут быть портативными, т.е. использоваться мобильно. В таких устройствах важно иметь низкое энергопотребление. Это справедливо даже для клавиатуры или клавишной панели.
Данные значения сопротивления допускают ток только около 0,15 миллиампер (мА) для каждой нажатой клавиши. Это значение гораздо ниже тока в известных клавиатурах, которые имеют значение, например 0,3 мА. Низкое значение тока приводит к высокой энергоэффективности.
Подтягивающие к питанию резисторы на линиях считывания также влияют на ток, необходимый для работы клавиатуры или клавишной панели.
Альтернативно, компоновка ввода может входить в состав устройства, имеющего наибольшую протяженность по меньшей мере  20 см и/или вес более 500 г или более 1 кг. Резистор или резистивный элемент может иметь сопротивление по меньшей мере  20 кОм или по меньшей мере  30 кОм.
Энергоэффективность также является проблемой для более крупных устройств, например, для персональных компьютеров, серверов и т.д. Эти устройства обычно работают в ускоренной цепи тока, имеющей напряжение в диапазоне от 100 В до 300 В, т.е. цепи, которая возбуждается электростанцией.
Компоновка ввода может входить в состав устройства, имеющего наибольшую протяженность по меньшей мере  20 см и/или вес более 500 г или более 1 кг. Резистор или резистивный элемент может иметь сопротивление менее 20 кОм или менее 15 кОм или менее 10 кОм.
Снижения значений сопротивления позволяет ускорить обнаружение. Это может быть важно для клавиатур, которые используются для компьютерных игр. Сопротивление 10 кОм может обеспечивать время обнаружения около 1 мс.
Изобретение также относится к способу ввода, содержащему вышеупомянутые признаки. Способ может дополнительно содержать генерацию кода клавиши в зависимости от цифрового значения.
Обнаружение потенциала может быть предпочтительным в отличие от обнаружения тока, поскольку обнаружение проще и надежнее.
Способ может содержать определение промежуточного состояния активации одного из переключателей или устройств ввода.
Можно получить гладкое значение в отличие от быстро изменяющейся функции устранения дребезга с использованием сглаживающего конденсатора, например, совместно со статистическим анализом. Альтернативно, можно обнаруживать минимумы сигнала устранения дребезга или значения, которые меньше высокого потенциала в начале активации клавишного переключателя. Максимумы или значения, которые значительно выше низкого значения сигнала, можно обнаруживать, если сигнал является низким в начале.
Пороговое значение может лежать в первой половине изменения уровня сигнала между нажатым состоянием и разомкнутым состоянием клавишного переключателя. Пользователь устройства ввода может устанавливать или выбирать пороговое значение, например, для установления чувствительности переключателей клавиатуры.
Способ может содержать определение по меньшей мере  трех состояний или по меньшей мере  четырех состояний в ходе активации одного из переключателей или устройств ввода. По меньшей мере, два пороговых значения можно использовать для обнаружения третьего состояния между разомкнутым состоянием и замкнутым состоянием. В других вариантах осуществления используется три или более трех пороговых значений, например, четыре, пять, шесть или более шести. Возможны новые применения с использованием этого способа, например, подготовка выполнения функции в начале активации и только выполнение функции, если переключатель полностью нажат.
Способ может содержать определение количества активированных переключателей или устройств ввода, которые соединены с проводящей линией (линией считывания) в зависимости от цифрового значения, причем количество, предпочтительно, больше 1. Таким образом, можно не только избежать ложного нажатия, но и безошибочно обнаруживать множественные одновременно активируемые клавишные переключатели.
Первый резистор или второй резистор может быть сформирован с использованием пигментной печати, т.е. очень эффективного процесса изготовления.
Первый резистор или высокое омическое состояние первого устройства ввода и второй резистор или высокое омическое состояние второго устройства ввода могут иметь сопротивление по меньшей мере  20 кОм или по меньшей мере  30 кОм.
Энергоэффективность может быть важна для портативных устройств, и даже для более крупных устройств, например персональных компьютеров. Высокое сопротивление приводит к более низкому потреблению тока и, таким образом, более низкому полному энергопотреблению.
Альтернативно, первый резистор или высокое омическое состояние первого устройства ввода и второй резистор или высокое омическое состояние второго устройства ввода могут иметь сопротивление менее 20 кОм или менее 15 кОм или менее 10 кОм.
Можно получить очень высокие скорости обнаружения, если используются более высокие токи обнаружения. Скорость обнаружения может быть важна для клавиатур и клавишных панелей, которые используются в высокоскоростном приложении, которое используется в программах имитации и в компьютерных играх.
Способы могут осуществляться с использованием одного из вышеупомянутых устройств. Те же технические результаты, как упомянутые выше, пригодны также для способа, который использует соответствующее устройство.
Описание - второй аспект
Схемная компоновка и способ управления оптическим элементом
Область техники, к которой относится изобретение - второй аспект
Это изобретение, в целом, относится к схеме управления и к способу управления для управления по меньшей мере  одним оптическим элементом или для по меньшей мере  одного возбудителя для оптического элемента или для оптических элементов. Изобретение, в частности, относится к таким схемным компоновкам, которые могут работать с высокой энергоэффективностью и с низким энергопотреблением.
Уровень техники - второй аспект
Известны многие принципы управления для управления током, который течет через оптический элемент, в частности, через полупроводниковый оптический элемент, например светодиод (LED):
- токоограничительный резистор,
- линейные возбудители, т.е. регуляторы напряжения,
- осцилляция возбудителей с использованием включения и отключения переключающего транзистора в зависимости от двух пороговых напряжений для выходного напряжения возбудителя.
Сущность изобретения - второй аспект
Изобретение относится к схемной компоновке для управления оптическим элементом, содержащей:
- преобразователь, управляемый сигналом широтно-импульсной модуляции,
- по меньшей мере, один оптический элемент или схему возбуждения для по меньшей мере  одного оптического элемента соединенного с выходом преобразователя,
- первый блок обнаружения, соединенный или соединимый с первой ветвью схемы, которая содержит оптический элемент или возбудитель, и
- блок цифрового управления, который подключен к первому блоку обнаружения и к управляющему входу преобразователя и который управляет током, который течет через по меньшей мере  один оптический элемент или через возбудитель, путем управления выходным напряжением преобразователя.
Кроме того, изобретение относится к способу управления оптическим элементом, содержащему:
- управление током, который течет через по меньшей мере  один оптический элемент или через схему возбуждения для по меньшей мере  одного оптического элемента посредством цифрового управления выходным напряжением преобразователя, который управляется широтно-импульсной модуляцией (PWM), дополнительно можно использовать частотно-импульсную модуляцию (PFM).
Описание общих вариантов осуществления - второй аспект
Задачей изобретения является обеспечение схемной компоновки для управления, в частности, яркостью оптического элемента, в частности, для обеспечения работы с высокой эффективностью, низким энергопотреблением и/или для обеспечения большого значения яркости оптического элемента. Кроме того, нужно обеспечить соответствующий способ.
Эти проблемы решаются посредством устройства по п. 43 и посредством способа согласно независимому пункту способа. Варианты осуществления заданы в зависимых пунктах.
Схемная компоновка может содержать вышеупомянутые признаки. Эта схемная компоновка может использовать регулировку напряжения преобразователя, например преобразователя напряжения, для управления током оптического элемента или возбудителя. В этом состоит отличие от регулировки тока, которую можно использовать в случае сильно нелинейных вольтамперных характеристик оптического устройства или возбудителя. Тем не менее, схемная компоновка может использовать регулировку напряжения, поскольку цифровое управление базируется на индивидуальном обнаружении характеристик оптического элемента или возбудителя, в частности, кривой характеристики зависимости напряжения от тока или кривой характеристики зависимости тока от напряжения. Альтернативно или дополнительно, можно рассматривать другие кривые характеристики, например, кривую характеристики зависимости коэффициента заполнения от напряжения преобразователя напряжения.
Кроме того, схема способна использовать регулировку напряжения вместо регулировки тока, поскольку нелинейная характеристика преобразователя и нелинейная характеристика LED также можно рассматривать для управления.
Блоком обнаружения может быть аналого-цифровой преобразователь (ADC). Битовая длина ADC может находиться в диапазоне от четырех битов до двадцати битов или более. Мультиплексор можно использовать между первой ветвью схемы и блоком обнаружения.
Оптический элемент может представлять собой или может содержать полупроводник элемент, например LED (светодиод), лазерный диод, IR-диод (инфракрасный диод) или UV диод (ультрафиолетовый диод).
Нелинейная характеристика оптического элемента или цепочки оптических элементов или связки цепочек оптических элементов может быть экспоненциальной функцией или может напоминать экспоненциальную функцию. Это означает, что регулировки рабочей точки гораздо жестче по сравнению с элементами с линейными характеристиками или с регулировкой постоянного тока, поскольку малые изменения напряжения приводят к сравнительно большим изменениям тока, в частности, в конце диапазона. Можно использовать надлежащую стратегию управления для нахождения правильной рабочей точки, например, путем отбора полной индивидуальной характеристики. То же самое справедливо в отношении возбудителей для оптических элементов.
Преобразователь может быть преобразователем напряжения, например, преобразователем DC/DC (постоянный ток/постоянный ток). Преобразователь может представлять собой понижающий преобразователь (вольтодобавочный преобразователь), инвертор или повышающий преобразователь (добавочный преобразователь). Эти разновидности преобразователей содержат один индуктивный элемент, а также один переключатель и один диод или, альтернативно, индуктивный элемент и два переключатели. Переключатель, предпочтительно, является электронным переключателем, т.е. транзистором, например FET (полевой транзистор) или MOSFET (FET на структурах металл-оксид-полупроводник). Также можно использовать другие разновидности преобразователей, например обратноходовые преобразователи.
Также может существовать нелинейная кривая характеристики преобразователя напряжения. Преобразователь может иметь низкую эффективность в режиме работы с низкой нагрузкой или низкой выходной мощностью (режим PWM). Может существовать высокая эффективность, если нагрузка или выходная мощность гораздо больше. Преобразователь обычно предназначен для этого нормального режима. Однако можно учитывать нелинейные характеристики преобразователя напряжения и оптических элементов/возбудителей, если полная характеристика преобразователя и оптического(их) элемента(ов)/возбудителя(ей) обнаружена по меньшей мере  один раз, например, в конце создания схемной компоновки, при каждом включении схемной компоновки или при наличии изменения температуры, которое также может быть обнаружено, или согласно другим стратегиям.
Первый блок обнаружения, например аналого-цифровой преобразователь, может быть непосредственно подключен к первой ветви схемы, или мультиплексор можно использовать между первой ветвью схемы и первым блоком обнаружения или первым аналого-цифровым преобразователем.
Управление может осуществляться с использованием обратной связи. Альтернативно, можно использовать управление без обратной связи.
Первая ветвь схемы может не содержать дополнительное электронное устройство для регулировки тока в первой ветви схемы помимо преобразователя. В частности, первая ветвь схемы не содержит транзистор для регулировки тока. Это означает, что для автоматического управления оптическим элементом или возбудителем оптического элемента используется только регулировка напряжения. Даже если в первой ветви схемы используется резистор, значение сопротивления может быть меньше значения токоограничительного резистора.
Первая ветвь схемы может содержать резистивный элемент или резистор, и первый блок обнаружения может быть соединен или соединим с соединением между упомянутым по меньшей мере  одним оптическим элементом или схемой возбуждения и резистивным элементом или резистором. Резистор может иметь низкий допуск, например, один процент или менее одного процента. Резистор или резистивный элемент позволяет обнаруживать ток в ветви с использованием первого блока обнаружения.
Значение резистора, предпочтительно, меньше значения токоограничительного резистора (защитного резистора), необходимого для оптического элемента или оптических элементов. Омическое значение резистора может находиться в диапазоне, например, от 1 Ом до 50 Ом.
Значение обнаруженного тока можно использовать для вычисления текущей мощности, т.е. текущей потребляемой мощности оптического(ых) элемента(ов).
Первый блок обнаружения может быть соединен или может быть соединимым с по меньшей мере  одной дополнительной ветвью схемы, которая содержит по меньшей мере  один дополнительный оптический элемент или дополнительный возбудитель для по меньшей мере  одного дополнительного оптического элемента. Это означает, что можно обнаружить суммарное или среднее значение тока, в частности, значение среднего арифметического.
Для многих применений может быть достаточно обнаруживать только ток и использовать напряжение преобразователя для установления током или для изменения тока.
Альтернативно, первый блок обнаружения может обнаруживать выходное напряжение преобразователя напряжения.
Второй блок обнаружения может быть соединен или может быть соединимым с первой ветвью схемы, в частности с выходом преобразователя. Второй блок обнаружения может быть вторым аналого-цифровым преобразователем, который обнаруживает выходное напряжение преобразователя напряжения, в частности, в случае, когда первый блок обнаружения используется для обнаружения тока. Битовая длина второго ADC может находиться в диапазоне от четырех битов до двадцати битов или более. Альтернативно, второй блок обнаружения может содержать часть мультиплексора и аналого-цифрового преобразователя, например, первого аналого-цифрового преобразователя.
Второй блок обнаружения может быть соединен с отводом двух резисторов, которые соединены в последовательное соединение, т.е. делителя напряжения. Это последовательное соединение может быть соединено с ветвями схемы и/или с выходом преобразователя напряжения. Усилитель с единичным коэффициентом усиления или повторитель напряжения может быть подключен между делителем напряжения и вторым блоком обнаружения.
Второй блок обнаружения можно использовать с первым блоком обнаружения или без него.
Обнаружение выходного напряжения преобразователя напряжения и тока в ветви схемы позволяет определять выходную электрическую мощность в одной ветви схемы или во множестве ветвей схемы, содержащих только один оптический элемент или несколько оптических элементов или возбудителей. Выходное напряжение и ток можно использовать для получения пар для характеристики зависимости напряжения от тока оптических элементов. Только выходное напряжение можно использовать для обнаружения полной нелинейной характеристики зависимости напряжения от коэффициента заполнения преобразователя напряжения и оптического(их) элемента(ов) или возбудителя(ей) оптического(их) элемента(ов).
Третий блок обнаружения может быть соединен или может быть соединимым с входом преобразователя напряжения или схемной компоновки. Третий блок обнаружения может быть третьим аналого-цифровым преобразователем. Битовая длина третьего ADC может находиться в диапазоне от четырех битов до двадцати битов или более. Альтернативно, третий блок обнаружения может содержать мультиплексор и аналого-цифровой преобразователь, например, первый аналого-цифровой преобразователь или второй аналого-цифровой преобразователь. Третий блок обнаружения может определять напряжение или ток на входе преобразователя напряжения или схемной компоновки.
В случае обнаружения напряжения, можно использовать делитель напряжения и/или усилитель с единичным коэффициентом усиления. Значение входного напряжения схемной компоновки можно использовать для обнаружения условий сброса напряжения и осуществления соответствующих действий. Это особенно важно, если схемная компоновка действует через интерфейс USB (универсальной последовательной шины).
Третий блок обнаружения можно использовать с первым блоком обнаружения или без него и/или со вторым блоком обнаружения или без него.
Четвертый блок обнаружения может быть соединен или может быть соединимым с входом преобразователя напряжения или схемной компоновки. Четвертый блок обнаружения может быть аналого-цифровым преобразователем. Битовая длина ADC может находиться в диапазоне от четырех битов до двадцати битов или более. Альтернативно, четвертый блок обнаружения может содержать мультиплексор и аналого-цифровой преобразователь, например, первый аналого-цифровой преобразователь или второй аналого-цифровой преобразователь или третий аналого-цифровой преобразователь.
Четвертый блок обнаружения может обнаруживать входной ток схемной компоновки, т.е., например, преобразователь напряжения и микроконтроллер. Резистор или резистивный элемент во входной линии регулятора напряжения или схемной компоновки можно использовать для обнаружения тока. Резистивный элемент может входить в состав индуктивного элемента, например индуктивного элемента, который используется согласно стандарту USB. Резистивно-емкостную цепь можно использовать для обнаружения входного тока на индуктивном элементе. Это называется считыванием DCR (сопротивление постоянного тока). Также можно использовать другие способы считывания входного тока.
Обнаружение входного напряжения и входного тока преобразователя напряжения позволяет определять входную мощность.
Значение входного тока можно сравнивать с максимальным значением тока стандарта, например, международного стандарта, в частности, USB (универсальная последовательная шина) или PS2 (персональная система 2), который используется для соединения клавиатур с компьютером.
Четвертый блок обнаружения можно использовать с третьим блоком обнаружения или без него и/или также с первым блоком обнаружения или без него и/или со вторым блоком обнаружения или без него.
Таким образом, можно не использовать никакого мультиплексора, соединенного с ADC. Можно также использовать только один или два аналого-цифровых преобразователей и схему мультиплексора. Можно использовать только один мультиплексор или более одного мультиплексора.
Схемная компоновка может содержать процессор, причем процессор подключен к выходу первого блока обнаружения и к преобразователю напряжения, в частности, к управляющему выводу преобразователя напряжения. Процессор также может быть подключен к другим используемым блокам обнаружения. Процессор может представлять собой микропроцессор или микроконтроллер. Микроконтроллер содержит процессор, память и устройства ввода/вывода.
Схемная компоновка может содержать схему интерфейса, которая образует интерфейс между компьютером и клавиатурой или другим периферийным устройством, в частности, согласно одному из стандартов USB (универсальная последовательная шина), т.е. 1.0, 2.0, 3.0 или выше, или стандарту PS2 (персональная система 2). Существуют конкретные проблемы для этих интерфейсов:
- напряжение, мощность и/или ток на интерфейсе должен быть в номинальном диапазоне, в частности, ниже максимального напряжения или максимального тока, и/или
- может быть важно избегать состояний тока и/или состояний напряжения, выходящих за пределы, заданные в стандарте.
Схемная компоновка может содержать множество элементов ввода, которые освещаются по меньшей мере  одним оптическим элементом. Волноводы, выполненные из стекла или пластика, можно использовать для передачи света к элементам ввода. Элементы ввода могут быть механическими переключателями, подвижными переключателями или сенсорными элементами для переключения. Существуют конкретные требования для этих разновидностей освещения, например:
- максимальная яркость, и/или
- пределы, установленные стандартом интерфейса, должны удовлетворять условиям, и/или
- существенно низкое энергопотребление.
Этим требованиям можно удовлетворять с использованием стратегии управления, которая базируется на значениях обнаружения по меньшей мере  одного блока обнаружения или ADC (аналого-цифрового преобразователя), двух блоков обнаружения/ADC, трех блоков обнаружения/ADC или четырех блоков обнаружения/ADC. Альтернативно, можно использовать мультиплексоры и использовать только один ADC, который соединен или соединим с разными точками обнаружения схемной компоновки мультиплексором. Нелинейные характеристики преобразователя напряжения и оптических элементов или возбудителей для оптических элементов могут быть включены в стратегию управления.
Схемная компоновка может содержать дополнительный блок управления, который определяет по меньшей мере  одну кривую характеристики схемной компоновки в диапазоне, который содержит по меньшей мере  50 процентов или по меньшей мере  75 процентов полного рабочего диапазона схемной компоновки. Диапазон может содержать более трех десятков, например, токов порядка микроампер и токов порядка нескольких миллиампер. В этом диапазоне также может существовать несколько режимов работы преобразователя напряжения. Таким образом, может существовать автоматическое определение полной характеристики схемной компоновки.
Кривую характеристики можно определять, например:
- только один раз в конце создания электронного устройства, которое содержит схемную компоновку, например клавиатуру,
- каждый раз при включении схемной компоновки,
- несколько раз между включением и отключением схемной компоновки,
- в частности, периодически, например один раз, более 10 раз, более 100 раз или более 1000 раз в минуту, но предпочтительно, менее 10000 раз в минуту,
- в зависимости от изменения температуры и т.д.
Пары значений могут сохраняться в памяти. Для получения значений между сохраненными парами значений можно использовать метод интерполяции. Может годиться, например, сплайновая интерполяция и/или экстраполяция.
Схемная компоновка может содержать дополнительный блок управления, который изменяет частоту широтно-импульсного сигнала, который используется для управления преобразователем напряжения в зависимости от нагрузки на выходе преобразователя напряжения. Может существовать первый режим PWM, через оптический(е) элемент(ы) текут только микроамперы. Частота в первом режиме PWM может быть выше частоты для более высоких нагрузок или выходных мощностей преобразователя.
Может существовать первое соотношение между коэффициентом заполнения и выходным напряжением преобразователя напряжения. Может следовать горизонтальный участок, на котором не происходит изменения выходного напряжения с увеличением коэффициента заполнения. В нормальном режиме или индуктивном режиме работы, может существовать третье соотношение между коэффициентом заполнения и выходным напряжением преобразователя напряжения.
Более высокая частота в первом режиме PWM может уменьшать длину горизонтального участка.
Частота сигнала PWM может уменьшаться в конце диапазона, т.е. для более высоких нагрузок, для упрощения управления. Снижение частоты позволяет осуществлять более точное управление. Частота может снижаться в диапазоне от 25 процентов до 75 процентов, предпочтительно ступенчато.
PFM (частотно-импульсную модуляцию) можно использовать для более низких выходных мощностей преобразователя альтернативно более высокой частоте в первом режиме PWM. PFM может приводить к снижению частоты, что уменьшает точность управления. Однако, в диапазоне более низкой мощности допустимо, чтобы абсолютное изменение, обусловленное установленным относительным изменением вследствие меньшей мощности, так или иначе, было меньше. Более низкая мощность, например, ниже 500 мВт или ниже 100 мВт.
По меньшей мере, один из блоков обнаружения или все блоки обнаружения могут содержать аналого-цифровой преобразователь или состоять из него. Аналого-цифровой преобразователь может иметь разрешение в диапазоне от четырех битов до двадцати битов или более. Аналого-цифровой преобразователь позволяет осуществлять более гибкую цифровую обработку данных по сравнению с аналоговой обработкой данных.
Блок управления может содержать первый подблок, который, предпочтительно, подключен к первому блоку обнаружения. Первый подблок может обнаруживать пары значений коэффициента заполнения сигнала управления преобразователя и соответствующих значений тока для тока, который течет через по меньшей мере  один оптический элемент. Альтернативно, можно обнаруживать пары значений выходного напряжения преобразователя и соответствующих значений тока для тока, который течет через по меньшей мере  один оптический элемент.
Первый подблок может отвечать за управление яркостью в рабочих точках, которые достаточно далеки от максимальной(ого) мощности, тока или напряжения. Второй подблок может отвечать за управление в точках, которые близки к рабочим точкам вблизи максимальной(ого) мощность, тока или напряжения. Второй подблок будет более подробно описан ниже.
При этом, задачей является осуществление управления, хотя предусмотрены экспоненциальные функции, которые играют главную роль. Наклон экспоненциальной функции становится круче и круче с увеличением значения x. Кроме того, яркость оптического элемента или элементов очень чувствительна к малейшим изменениям коэффициента заполнения или выходного напряжения преобразователя напряжения. Вариант осуществления базируется на рассмотрении того, что для разных рабочих точек можно использовать разные стратегии управления.
Первый подблок может содержать блок вычисления, который вычисляет коэффициент заполнения или выходное напряжение преобразователя в зависимости от значения тока. Этот блок вычисления может содержать микроконтроллер или другой процессор, который выполняет инструкции, хранящиеся в электронной памяти.
Первый подблок может содержать блок интерполяции, который находит кривую, которая проходит через пары значений. Сплайновую интерполяцию можно использовать, например, с использованием кубичных сплайнов или квадратичных сплайнов. Однако можно использовать и другие методы интерполяции.
Альтернативно или дополнительно, первый подблок может содержать блок итераций, который находит коэффициент заполнения или выходное напряжение, пригодный(ое) для значения или для данного значения тока. Можно использовать ньютоновскую итерацию или другую итерацию. Итерация позволяет пошагово улучшать результат. Дополнительные блоки управления можно использовать для нахождения надлежащих начальных значений.
Первый подблок может содержать блок изменения, который изменяет коэффициент заполнения или выходное напряжение преобразователя в зависимости от отклонения значения тока (I), который течет через по меньшей мере  один оптический элемент, и опорного тока или другого опорного значения. Это цифровое управление с обратной связью позволяет компенсировать дрейф к более высоким значениям тока и также дрейф к более низким значениям тока. Ток будет дрейфовать к более высоким значениям, если температура схемной компоновки возрастает, например вследствие продолжительной работы. Температура может падать вследствие внешних условий, например, открытого окна.
Первый подблок может содержать первый блок вычисления наклона, который вычисляет наклон кривой, когда ток превышает опорный ток, и который использует этот наклон для вычисления нового значения коэффициента заполнения или выходного напряжения. Альтернативно или дополнительно, первый подблок может содержать второй блок вычисления наклона, который вычисляет наклон кривой на опорном токе и который использует этот наклон для вычисления нового значения коэффициента заполнения или выходного напряжения. Оба варианты осуществления используют больший наклон при более высоких значениях релевантной кривой, т.е. более крутой наклон, если предусмотрены экспоненциальные функции. Это позволяет очень точно и быстро совершать вычисление.
Второй блок вычисления наклона можно использовать с первым блоком вычисления наклона или без него.
Блок управления может содержать второй подблок и, предпочтительно, блок, который определяет максимальную электрическую мощность или напряжение или ток. Таким образом, второй подблок может рассматривать максимум. Могут существовать ограничения вблизи максимума, которые должны удовлетворять условиям. Кроме того, управление вблизи максимума может быть сложнее, чем управление в других рабочих точках. Таким образом, можно использовать конкретный второй подблок. Вблизи максимума могут совершаться дополнительные действия или альтернативные действия, например снижение частоты сигнала PWM, управляющего преобразователем.
Второй подблок можно использовать с первым подблоком или без него.
Максимальную(ое/ый) электрическую мощность или напряжение или ток можно рассматривать в ходе обнаружения релевантных кривых или в ходе обнаружения пар значений, которые являются основой для нахождения релевантных кривых. Кроме того, может потребоваться снижать максимум в ходе работы клавиатуры, если дополнительное устройство вставляется в один периферийный интерфейс из нескольких интерфейсов, имеющих один и тот же источник питания, например, в порт USB. Удаление устройства из этих периферийных интерфейсов компьютера может приводить к увеличению максимума.
Второй подблок может предпочтительно быть подключен к первому блоку обнаружения и второй подблок предпочтительно обнаруживать пары значений коэффициента заполнения сигнала управления преобразователя и соответствующих значений тока для тока, который течет через по меньшей мере  один оптический элемент. Альтернативно, можно обнаруживать пары значений выходного напряжения преобразователя и соответствующих значений тока для тока, который течет через (т.е. упомянутый) по меньшей мере, один оптический элемент. Первый блок обнаружения может быть аналого-цифровым преобразователем, который обнаруживает полный ток через цепочки оптических элементов или средний ток через эти цепочки. Полный ток можно оценивать путем умножения среднего тока на k, т.е. количество параллельных цепочек оптических элементов. Альтернативно, можно использовать только один оптический элемент или параллельные соединение одиночных оптических элементов или суммировать измеренных по отдельности токов цепочек.
Максимум можно рассматривать в ходе обнаружения пар значений. Таким образом, можно оставаться в рабочей области или в рабочем диапазоне согласно спецификации, которая требует, чтобы максимум не был превышен.
Второй подблок может содержать по меньшей мере  один, два или все из следующих блоков:
- блок экстраполяции, который вычисляет кривую, которая проходит до максимума, и/или
- блок вычисления наклона, который вычисляет наклон кривой на максимуме, и/или
- блок вычисления, который подключен к блоку вычисления наклона и который вычисляет коэффициент заполнения или выходное напряжение который ближе к максимуму, чем другие пары значений.
Сплайны, опять же, являются хорошим выбором функций, которые обеспечивают хорошую экстраполяцию, в частности, функциями, которые можно непрерывно дифференцировать во всей области или диапазоне по меньшей мере  один раз для получения наклона в указанной точке экстраполированной кривой.
Другие пары значений уже могут быть обнаружены.
Новый коэффициент заполнения или новое выходное значение можно использовать для управления преобразователем напряжения. Затем можно обнаруживать новую пару значений. Затем новую пару значений можно использовать для приближения к максимуму.
Второй подблок может содержать блок итераций, который подключен к блоку вычисления наклона второго подблока и к блоку вычисления. Итерация позволяет последовательно продлевать релевантную кривую без превышения максимума.
Блок итераций может быть подключен к блоку экстраполяции. Экстраполированная кривая могут обновляться несколько раз в ходе итерации. Это допускает очень точную итерацию, которая окончательно быстрее, чем итерация без обновленных кривых экстраполяции. Может существовать лишь несколько шагов итерации, например, менее десяти или даже менее пяти шагов итерации.
Итерация также может осуществляться без обновления экстраполированной кривой. Этого может быть достаточно для некоторых применений.
Второй подблок может содержать блок изменения, который изменяет коэффициент заполнения или выходное напряжение преобразователя в зависимости от отклонения значения тока, который течет через по меньшей мере  один оптический элемент, и опорного тока. Таким образом, цифровое управление яркостью также возможно вблизи максимума мощности, тока или напряжения.
Второй подблок может содержать первый блок вычисления наклона, который вычисляет наклон кривой, когда ток превышает опорный ток, и который использует этот наклон для вычисления нового значения коэффициента заполнения или выходного напряжения.
Альтернативно или дополнительно, второй подблок может содержать второй блок вычисления наклона, который вычисляет наклон кривой на опорном токе и который использует этот наклон для вычисления нового значения коэффициента заполнения или выходного напряжения. В обоих случаях вычисленное значение наклона будет очень близко к действительной единице. Это позволяет очень точно и быстро совершать вычисление.
Второй блок вычисления наклона можно использовать с первым блоком вычисления наклона или без него.
Схемная компоновка может содержать блок, который определяет максимальную электрическую мощность или напряжение или ток. Блок, который определяет максимум, может быть подключен к блоку обнаружения, который определяет входное напряжение схемной компоновки и/или преобразователя напряжения, и/или к блоку обнаружения, который определяет входной ток схемной компоновки и/или преобразователя напряжения. Оба блока обнаружения могут быть аналого-цифровыми преобразователями. Можно оценивать, например, максимальную мощность на основании падения напряжения для входного напряжения схемной компоновки. Альтернативно, входной ток можно обнаруживать и использовать для вычисления электрической мощности, например, для сравнительно постоянного входного напряжения схемной компоновки вследствие регулировки напряжения.
Изобретение также относится к способу управления оптическим элементом, содержащему:
- управление током, который течет через по меньшей мере  один оптический элемент или через схему возбуждения для по меньшей мере  одного оптического элемента посредством цифрового управления выходным напряжением преобразователя напряжения который управляется широтно-импульсной модуляцией (PWM), дополнительно можно использовать частотно-импульсную модуляцию (PFM).
Для способа также релевантны те же технические результаты, которые упомянуты выше для схемных компоновок. Цифровое управление означает здесь, что используется по меньшей мере  один аналого-цифровой преобразователь и/или процессор, в отличие, например, от чисто аналоговой схемы.
Кривую характеристики схемной компоновки можно определять в диапазоне, который содержит по меньшей мере  50 процентов или по меньшей мере  75 процентов полного рабочего диапазона схемной компоновки. Технические результаты упомянуты выше.
Частота широтно-импульсного сигнала, которая используется для управления преобразователем напряжения, может изменяться в зависимости от нагрузки на выходе преобразователя. Более высокие частоты можно использовать для более низких коэффициентов заполнения по сравнению с частотами, которые используются для более высоких коэффициентов заполнения. Более низкие частоты можно использовать вблизи максимальной выходной мощности преобразователя напряжения. Частота может снижаться в диапазоне от 25 процентов до 75 процентов, предпочтительно ступенчато.
PFM (частотно-импульсную модуляцию) можно использовать для более низких выходных мощностей преобразователя альтернативно более высокой частоте в первом режиме PWM. PFM может приводить к снижению частоты, что уменьшает точность управления. Однако, в диапазоне более низкой мощности допустимо, чтобы абсолютное изменение, обусловленное установленным относительным изменением, так или иначе, было меньше.
Можно обнаруживать по меньшей мере  один по меньшей мере  два по меньшей мере  три по меньшей мере  четыре или все из следующих токов или напряжений:
- входное напряжение преобразователя напряжения или схемной компоновки,
- входной ток преобразователя напряжения или схемной компоновки,
- выходное напряжение преобразователя напряжения,
- ток, который течет через по меньшей мере  один оптический элемент или через возбудитель оптического элемента, и
- выходной ток преобразователя напряжения.
Можно использовать только один блок обнаружения и мультиплексор или несколько блоков обнаружения, предпочтительно, аналого-цифровой(ые) преобразователь(и).
Одну из схемных компоновок, которые были описаны выше, можно использовать для осуществления одного из вышеупомянутых способов. Блокам схемной компоновки соответствуют этапы способа.
Описание - третий аспект
Способы передачи кодов клавиш и соответствующие клавиатуры
Область техники, к которой относится изобретение - третий аспект
Изобретение относится к способам передачи кодов клавиш и соответствующим клавиатурам, в частности, виртуальным клавиатурам.
Уровень техники - третий аспект
Такие способы заданы, например, в спецификации USB x.0 (универсальная последовательная шина) и/или в спецификации HID (устройство человеко-машинного интерфейса) или в других спецификациях. Однако эти спецификации не указывают все релевантные способы и параметры. Таким образом, остается возможность дополнительного развитие в фазе реализации этих спецификаций.
Сущность изобретения - третий аспект
Изобретение относится к способу передачи кодов клавиш, содержащему:
- использование первых данных отчета, содержащих идентификатор первого отчета для передачи первой группы кодов клавиш,
- использование вторых данных отчета, содержащих идентификатор второго отчета для передачи второй группы кодов клавиш, причем идентификатор второго отчета имеет другое значение, чем идентификатор первого отчета.
Изобретение относится также к клавиатуре, содержащей память, в которой хранится описатель (дескриптор) отчета, причем описатель отчета задает:
- первые данные отчета, содержащие идентификатор первого отчета для передачи первой группы кодов клавиш,
- вторые данные отчета, содержащие идентификатор второго отчета для передачи второй группы кодов клавиш, причем идентификатор второго отчета имеет другое значение, чем идентификатор первого отчета.
Кроме того, изобретение относится к способу передачи кодов клавиш, содержащему:
- использование данных первой концевой точки, содержащих идентификатор первой концевой точки для передачи первой группы кодов клавиш,
- использование данных второй концевой точки, содержащих идентификатор второй концевой точки для передачи второй группы кодов клавиш, причем идентификатор второй концевой точки имеет другое значение, чем идентификатор первой концевой точки,
- причем количество кодов клавиш в первой группе составляет, предпочтительно, от 1 до 6, и
- причем количество кодов клавиш во второй группе составляет, предпочтительно, от 7 до 20 или от 7 до 500.
Изобретение относится также к клавиатуре, содержащей память, в которой содержатся описатель первой концевой точки и описатель второй концевой точки,
- описатель первой концевой точки задает идентификатор первой концевой точки для передачи первой группы кодов клавиш,
- описатель второй концевой точки задает идентификатор второй концевой точки для передачи второй группы кодов клавиш, причем идентификатор второй концевой точки имеет другое значение, чем идентификатор первой концевой точки,
- дополнительно содержащей блок управления, который управляет передачей первого количества кодов клавиш в первой группе и который управляет передачей второго количества кодов клавиш во второй группе,
- причем количество кодов клавиш в первой группе составляет, предпочтительно, от 1 до 6, и
- причем количество кодов клавиш во второй группе составляет, предпочтительно, от 7 до 20 или от 7 до 500.
Описание общих вариантов осуществления - третий аспект
Задачей изобретения является обеспечение простых, но эффективных способов передачи кодов клавиш. Кроме того, нужно обеспечить соответствующие клавиатуры. В частности, следует задать быстрые способы и/или способы, которые можно осуществлять с использованием недорогих интегральных схем. Кроме того, может быть важно, чтобы способы и клавиатуры, которые реализуют способ, могли работать совместно с различными разновидностями BIOS (базовая система ввода-вывода) и/или главных операционных систем (OS).
По меньшей мере, одна из этих проблем или все эти проблемы решае(ю)тся посредством способа по п. 77 и посредством другого независимого способа передачи кодов клавиш и посредством клавиатур согласно независимым пунктам формулы изобретения. Варианты осуществления заданы в зависимых пунктах.
Способ передачи кодов клавиш может содержать:
- использование первых данных отчета, содержащих идентификатор первого отчета для передачи первой группы кодов клавиш,
- использование вторых данных отчета, содержащих идентификатор второго отчета для передачи второй группы кодов клавиш, причем идентификатор второго отчета имеет другое значение, чем идентификатор первого отчета.
Данные отчета могут содержаться в наборе данных. Границы набора можно задавать по-разному, например, посредством инструкции анализатору, посредством заранее заданных данных полезной нагрузки пакета данных и т.д. Идентификатор отчета может быть числом. Альтернативно, функцию идентификатора может выполнять последовательность наборов данных, т.е. первый набор данных принадлежит первому идентификатору, второй набор данных принадлежит второму идентификатору, и т.д.
Каждый набор данных может содержать по меньшей мере  один код клавиши или, обычно, множество кодов клавиш. Коды клавиш можно задавать для по меньшей мере  одной операционной системы, например, Mac OS, Windows, Linux/Unix и т.д.
Группа кодов клавиш может содержать несколько кодов клавиш. Использование разных групп может приводить к очень быстрому способу передачи, в частности, когда разрешено передавать только группу, которая содержит коды клавиш и не отправлять или отправлять только короткие данные для групп, которые в данный момент не включают в себя коды клавиш.
Передача большого количества кодов клавиш может требоваться для игр и/или для приложений, которые используют макрокоманды, т.е. ранее записанные входные данные. Большое количество кодов клавиш нужно передавать при одновременном нажатии нескольких клавиш. Это также справедливо для игр, а также для других приложений.
Технический результат использования разных отчетов состоит в избавлении от необходимости использовать слишком большого количества концевых точек, например, концевых точек, заданных в инфраструктуре USB x.0. Количество доступных концевых точек может ограничиваться конструкцией кристалла или интегральной схемы. Может поддерживаться только две концевые точки или менее четырех или менее пяти концевых точек. Количество отчетов может быть неограниченным.
Можно заранее задать максимальное количество кодов клавиш для каждой группы, т.е. для первой группы, для второй группы или для дополнительных групп. Можно рассматривать многие операционные системы и/или протоколы начальной загрузки для начальной загрузки BIOS (базовой системы ввода-вывода).
BIOS очень тесно связана с оборудованием компьютера и допускает простые вводы, например, с клавиатуры и простой выводы на экран. BIOS может содержать методы, которые позволяют запускать операционную систему, например Windows, Mac OS, Linux/Unix. Операционная система обычно использует методы BIOS, предпочтительно, через векторы прерываний.
В ходе начальной загрузки BIOS используется один единственный отчет безо всякого идентификатора. Таким образом, в ходе начальной загрузки можно использовать только один тип отчета.
Первые данные отчета могут удовлетворять спецификации HID, и/или вторые данные отчета могут удовлетворять спецификации HID.
Полное название спецификации HID: универсальная последовательная шина (USB) - определение класса устройств для устройств человеко-машинного интерфейса (HID), спецификация программно-аппаратного обеспечения 6/27/01, версия 1.11, или выше или ниже, форум реализаторов USB. Альтернативно, можно использовать спецификацию, которая базируется на одной из этих спецификаций.
Однако спецификация/протокол HID пригодна/ен не только для USB, но и для многих других протоколов или спецификаций, например для Bluetooth.
Спецификация HID допускает определение отчетов. Однако она не утверждает, что для одного и того же устройство ввода, в частности, для одной единственной клавиатуры, можно использовать несколько отчетов.
Структуру данных первых данных отчета можно задавать согласно описателю отчета, который удовлетворяет спецификации HID и/или вторые данные отчета можно задавать согласно описателю отчета, который удовлетворяет спецификации HID. Также вторые данные отчета можно задавать в том же описателе отчета, который задает первые данные отчета, например в другом разделе. Таким образом, данные отчета можно задавать в одной и той же структуре данных, что облегчает программирование и обслуживание.
Описатель отчета для первых данных отчета может содержать по меньшей мере  одно или все из следующих полей данных:
- размер отчета, т.е. количество или длину данных для каждого отчета,
- счетчик отчетов, т.е. количество повторений однотипных данных отчета,
- идентификатор отчета, например число, которое указывает первый отчет,
- ввод, т.е. инструкцию, которая задает конкретный формат ввода,
- вывод, т.е. инструкцию, которая задает конкретный формат вывода.
Все эти поля отвечают спецификации HID. Последовательность полей, опять же, может отличаться от вышеприведенной последовательности. Первый описатель отчета может содержать дополнительные поля данных, например, задающие такие детали данных, как максимальное значение и/или минимальное значение.
Описатель отчета для вторых данных отчета может содержать по меньшей мере  одно или все из следующих полей данных:
- размер отчета, т.е. количество или длину данных для каждого отчета,
- счетчик отчетов, т.е. количество повторений однотипных данных отчета,
- идентификатор отчета, например число, которое указывает второй отчет,
- ввод, т.е. инструкцию, которая задает конкретный формат ввода,
- вывод, т.е. инструкцию, которая задает конкретный формат вывода.
Опять же, все эти поля отвечают спецификации HID. Последовательность полей, опять же, может отличаться от вышеприведенной последовательности. Второй описатель отчета может содержать дополнительные поля данных, например, задающие такие детали данных, как максимальное значение и/или минимальное значение.
Все поля данных первого описателя отчета и второго описателя отчета отвечают спецификации HID. Таким образом, клавиатуры и компьютеры от разных производителей оборудования могут совместно работать без проблем.
Коды клавиш могут соответствовать клавишам одного и того же устройства ввода, например, клавишам одной единственной клавиатуры. Пример клавиатуры более подробно описан ниже.
Альтернативно или дополнительно, каждый код клавиши может содержать количество битов в диапазоне от 2 до 8, обычно 8 битов, т.е. 1 байт. Таким образом, существует различие между кодом клавиши клавиатуры и кнопкой, которая имеет логические состояния переключения или сигнализации 1 и 0, т.е. включенное и выключенное.
Устройство ввода может быть клавиатурой или может содержать клавиатуру, причем клавиатура имеет по меньшей мере  100 клавишных переключателей.
Например, клавиатура может содержать по меньшей мере  одну, две, три, четыре, пять или все из:
- по меньшей мере, 25 клавиш для ввода букв a, b, c и т.д.,
- по меньшей мере, 10 клавиш для ввода цифр 0, 1, 2, и т.д., предпочтительно совместно с дополнительными символами ввода, например, "!", """, "§", "$", и т.д.
- по меньшей мере, 10 клавиш для функций, т.е. функции F1, функции F2, и т.д.,
- по меньшей мере, 10 клавиш клавишной панели для ввода цифр, т.е. цифр 0, 1, 2, и т.д., в частности, дополнительной группы этих цифр,
- никакие дополнительные символы ввода не используются для клавиш дополнительной группы,
- клавиш модификатора, заданных, например, в спецификации HID, т.е. левой клавиши CTRL, левой клавиши SHIFT, левой клавиши ALT, левой клавиши GUI (графический пользовательский интерфейс), т.е., например, левой клавиши Win для Microsoft, левой клавиши Apple для Macintosh, левой клавиши Meta для Sun и т.д., правой клавиши CTRL, правой клавиши SHIFT, правой клавиши ALT, правой клавиши GUI,
- вспомогательных клавиш: Caps Lock, Tab, Spacebar, Page Down, Page Up, Right Arrow, Left Arrow, Up Arrow, Down Arrow.
Однако также можно использовать другие или дополнительные коды клавиш.
Коды клавиш можно задавать согласно спецификации HID и/или согласно "спецификации скан-кодов клавиатуры" производителя операционной системы.
Все или по меньшей мере  некоторые из кодов клавиш для этих клавиш могут соответствовать: Microsoft, Windows Platform Design Notes - Designing Hardware for the Microsoft Windows Family Operating System - Keyboard Scan Code Specification, Revision 1.3a-16 марта 2000 г. или выше или ниже. Альтернативно, можно использовать спецификацию, которая базируется на одной из этих спецификаций. В частности, релевантно Приложение C, т.е. USB Keyboard/Keyboard Page (0x07). Другие производители компьютеров и/или операционных систем также имеют соответствующие спецификации, использующие те же значения, например, Apple.
Ниже приведены примеры кодов клавиш:
- "a" или "A"=hex 04 (шестнадцатеричный), "b", или "B"=hex 05, "c" или "C"=hex 06 и т.д.
- "0"=hex 27, "1"=hex 1E, "2"=hex 1F, и т.д.,
- функция F1=hex 3A, функция F2=hex 3B, и т.д.,
- клавишная панель: "0"=hex 62, "1"=hex 59, "2"=hex 5A, и т.д.,
- вспомогательные клавиши: Caps Lock=hex 39, Tab=hex 2B, Spacebar=hex 2C, и т.д.
Ниже приведены примеры модификаторов:
- левая клавиша CTRL=hex E0,
- левая клавиша SHIFT=hex E1, и т.д.
Однако, согласно USB, для модификаторов вместо кода нужно использовать битовую карту из восьми битов, т.е. одного байта.
Коды клавиш первой группы и/или коды клавиш второй группы могут принадлежать клавишам, которые были нажаты за период времени менее 1 с или менее 500 мс.
Период времени, например, может быть более 1 мс. Эти периоды времени могут быть релевантны для игр, т.е. человек или пользователь нажимает, например, восемь клавиш восемью пальцами одновременно, большие пальцы могут одновременно нажимать дополнительную клавишу или дополнительные клавиши. Кроме того, эти периоды времени могут быть релевантны, если воспроизводятся записанные ранее макрокоманды. Можно также использовать комбинацию клавиш, нажатых за период времени и клавиш, которые воспроизводятся макрокомандой в течение этого периода.
Коды клавиш первой группы и/или коды клавиш второй группы могут сохраняться в памяти в течение периода времени более 1 минуты. Период времени может быть меньше 10 лет или, например, меньше 1 года. Это имеет место, если воспроизводятся только макрокоманды для кодов клавиш. Макрокоманды могут быть ранее записанными или запрограммированными.
Также можно использовать макрокоманду мыши. Однако вводы компьютерной мыши могут передаваться с использованием разных отчетов. Также можно использовать другие устройства ввода и вывода.
По меньшей мере, один код клавиши первой и/или второй группы может не сохраняться в макрокоманде. По меньшей мере, один код клавиши первой и/или второй группы может сохраняться в макрокоманде. Это означает, что можно использовать комбинацию клавиш, нажатых пользователем, и ранее записанных или запрограммированных макрокоманд. Коды клавиш нажатых клавиш могут быть только в первой группе, и коды клавиш макрокоманды могут быть только во второй группе или наоборот. Альтернативно, коды клавиш нажатых клавиш и макрокоманды могут быть в первой группе и/или коды клавиш нажатых клавиш и коды клавиш макрокоманды могут быть во второй группе.
Количество кодов клавиш в первой группе может находиться в диапазоне от 1 до 6, в частности, без модификаторов. Многие операционные системы могут обрабатывать эти диапазоны. Это означает, что устройство ввода, например клавиатура, может избирательно использоваться двумя или более операционными системами.
Количество кодов клавиш во второй группе также может быть в диапазоне от 1 до 6, в частности, без модификаторов. Большинство операционных систем может обрабатывать эти диапазоны. Если оба отчета содержат несколько кодов клавиш в этих диапазонах можно полностью передавать все коды клавиш. Это может быть важно для некоторых применений, например игр.
Альтернативно, количество кодов клавиш во второй группе может превышать количество кодов клавиш в первой группе, например, составлять более 10 или более 20 или более 50. Этот очень большой отчет допускает сокращение количества отчетов для больших количеств кодов клавиш в период передачи. Количество кодов клавиш во втором отчете может быть меньше 500 или меньше 200 или меньше 100. По меньшей мере, первую группу можно использовать, если главная операционная система не способна работать с более крупной второй группой.
Изобретение относится также к клавиатуре, содержащей память, в которой хранится описатель отчета,
причем описатель отчета задает:
- первые данные отчета, содержащие идентификатор первого отчета для передачи первой группы кодов клавиш,
- вторые данные отчета, содержащие идентификатор второго отчета для передачи второй группы кодов клавиш, причем идентификатор второго отчета имеет другое значение, чем идентификатор первого отчета.
Таким образом, пригоден тот же технический результат, который упомянут для способа передачи кодов клавиш, т.е. способа по п. 1.
Клавиатуру можно использовать для осуществления способа согласно одному из вышеприведенных вариантов осуществления. Опять же, для клавиатуры также пригодны те же технические результаты, которые приведены для этих вышеупомянутых вариантов осуществления.
Компьютерный драйвер или драйвер устройства, например устройства ввода, не нуждается в модификации для Windows или одной из других вышеупомянутых операционных систем. Однако могут существовать операционные системы, которые нуждаются в модификации программного обеспечения драйвера, если нужно использовать изобретение.
Кроме того, изобретение относится также к дополнительному способу передачи кодов клавиш. Этот способ может содержать:
- использование данных первой концевой точки, содержащих идентификатор первой концевой точки для передачи первой группы кодов клавиш,
- использование данных второй концевой точки, содержащих идентификатор второй концевой точки для передачи второй группы кодов клавиш, причем идентификатор второй концевой точки имеет другое значение, чем идентификатор первой концевой точки,
- причем количество кодов клавиш в первой группе предпочтительно может составлять от 1 до 6, в частности, без модификаторов, и
- количество кодов клавиш во второй группе может находиться в диапазоне от 7 до 20 или от 7 до 500, в частности, без модификаторов.
Таким образом, количество кодов клавиш в первой группе может быть меньше количества кодов клавиш во второй группе.
Диапазоны для второй группы могут составлять от 7 до 20 или от 7 до 500, в частности, если модификаторы не отсчитываются.
Концевые точки можно задавать согласно USB 2.0 или выше или ниже. Альтернативно, концевые точки можно задавать согласно стандарту или спецификации, которая базируется на одной из этих спецификаций.
Техническим результатом является сокращение количества отчетов и/или концевых точек. Можно использовать по меньшей мере  первую концевую точку, если главная операционная система не может работать с более крупными отчетами.
В отношении разновидности кодов клавиш и/или разновидности клавиатуры, см. вышеприведенное описание первого способа передачи кодов клавиш и описание соответствующих зависимых пунктов или вышеупомянутых вариантов осуществления.
Изобретение относится к клавиатуре, которая может содержать память, в которой может содержаться описатель первой концевой точки и описатель второй концевой точки:
- описатель первой концевой точки может задавать идентификатор первой концевой точки для передачи первой группы кодов клавиш,
- описатель второй концевой точки может задавать идентификатор второй концевой точки для передачи второй группы кодов клавиш, причем идентификатор второй концевой точки имеет другое значение, чем идентификатор первой концевой точки,
- дополнительно содержащей блок управления, который управляет передачей первого количества кодов клавиш в первой группе и который управляет передачей второго количества кодов клавиш во второй группе,
- причем количество кодов клавиш в первой группе, предпочтительно, находится в диапазоне от 1 до 6, в частности, без модификаторов, и
- количество кодов клавиш во второй группе составляет, предпочтительно, от 7 до 20 или от 7 до 500.
Таким образом, количество кодов клавиш в первой группе может быть меньше количества кодов клавиш во второй группе.
Диапазоны для второй группы могут составлять от 7 до 20 или от 7 до 500, если модификаторы не отсчитываются во второй группе.
Описатели обоих концевых точек можно задавать согласно спецификации USB как указано выше.
Техническим результатом является сокращение количества отчетов и/или концевых точек. Можно использовать по меньшей мере  первую концевую точку, если главная операционная система не может работать с более крупными отчетами.
В отношении разновидности кодов клавиш и/или разновидности клавиатуры, см. вышеприведенное описание первого способа передачи кодов клавиш и описание соответствующих зависимых пунктов и вышеупомянутых вариантов осуществления.
Краткое описание чертежей
Для более полного понимания настоящего изобретения и его преимуществ, обратимся к нижеследующему описанию, приведенному совместно с прилагаемыми чертежами, в которых:
фиг. 1 демонстрирует матрицу компоновки ввода,
фиг. 2 демонстрирует состояния сигнала в случае, когда три клавишных переключателя нажаты, и когда первая линия возбуждения заземлена,
фиг. 3 демонстрирует состояния сигнала в случае, когда три клавишных переключателя нажаты, и когда вторая линия возбуждения заземлена,
фиг. 4 демонстрирует состояния сигнала в случае, когда четыре клавишных переключателя нажаты, и когда первая линия возбуждения заземлена,
фиг. 5 демонстрирует состояния сигнала в случае, когда четыре клавишных переключателя нажаты, и когда вторая линия возбуждения заземлена,
фиг. 6 демонстрирует компоненты клавиатуры компьютера,
фиг. 6B демонстрирует способ осуществления цикла сканирования матрицы,
фиг. 7 демонстрирует отображение диапазонов выхода ADC в количество нажатых клавишных переключателей, и
фиг. 7B демонстрирует отображение диапазонов выхода ADC в количество нажатых клавишных переключателей согласно более практическому примеру по сравнению с фиг. 7,
фиг. 8 демонстрирует сигнал устранения дребезга и сигнал, обработанный устройством управления.
Фиг. 9 демонстрирует схемную компоновку для управления током, который течет через цепочки оптических элементов, в частности, LED,
фиг. 10 демонстрирует две характеристики напряжение/ток для LED,
фиг. 11 демонстрирует этапы для определения кривых характеристики LED или цепочек LED или связки цепочек LED,
фиг. 12 демонстрирует кривую характеристики зависимости напряжения от коэффициента заполнения схемной компоновки,
фиг. 13 демонстрирует дополнительные компоненты схемной компоновки,
фиг. 14 демонстрирует кривую характеристики яркости LED или цепочки LED или цепочек LED или связки цепочек LED в зависимости от напряжения,
фиг. 15 демонстрирует обнаруженные пары значений коэффициента заполнения и тока, который течет, например, через цепочки LED,
фиг. 16 демонстрирует ньютоновскую итерацию, которая используется для обнаружения первой рабочей точки, далекой от P_MAX,
фиг. 17 демонстрирует этапы способа обнаружения первой рабочей точки, далекой от P_MAX,
фиг. 18 демонстрирует управление средней яркостью в ходе работы клавиатуры,
фиг. 19 демонстрирует этапы способа управления средней яркостью в ходе работы клавиатуры,
фиг. 20 демонстрирует определение кривой характеристики вблизи P_MAX,
фиг. 21 демонстрирует этапы способа определения кривой характеристики вблизи P_MAX,
фиг. 22 демонстрирует определение кривой характеристики вблизи P_MAX согласно второму варианту осуществления,
фиг. 23 демонстрирует управление яркостью вблизи P_MAX в ходе работы клавиатуры,
фиг. 24 демонстрирует этапы способа управления яркостью вблизи P_MAX в ходе работы клавиатуры, и
фиг. 25 демонстрирует этапы способа определения P_MAX.
Фиг. 26 демонстрирует клавиатуру, соединенную с компьютером через USB-кабель,
фиг. 27 демонстрирует описатель устройства согласно спецификации USB,
фиг. 28 демонстрирует описатель конфигурации согласно спецификации USB,
фиг. 29 демонстрирует описатель интерфейса согласно спецификации USB,
фиг. 30 демонстрирует описатель HID согласно спецификации USB,
фиг. 31 демонстрирует описатель концевой точки согласно спецификации USB,
фиг. 32 демонстрирует описатель отчета,
фиг. 33 демонстрирует обмен данными между компьютером и клавиатурой,
фиг. 34 демонстрирует этапы способа при запуске компьютера, и
фиг. 35 демонстрирует клавиатуру, соединенную с компьютером через USB-кабель, согласно второму варианту осуществления.
Подробное описание - аспект A
Ниже подробно рассмотрены формирование и использование предпочтительных в настоящее время вариантов осуществления. Однако очевидно, что настоящее изобретение предусматривает многие применимые принципы изобретения, которые можно реализовать в разнообразных конкретных контекстах. Конкретные рассмотренные варианты осуществления призваны лишь иллюстрировать конкретные пути создания и использования изобретения, но не ограничивать объем изобретения. Кроме того, одинаковые ссылочные позиции указывают одни и те де технические признаки, если не указано обратное. Слово "может", используемое в этой заявке, означает возможность совершения того или иного действия, а также фактическую техническую реализацию.
Фиг. 1 демонстрирует матрицу компоновки 10 ввода, например клавиатуры. Компоновка 10 ввода содержит матрицу M проводящих линий Ca, Cb, которые образуют столбцы, и проводящих линий L1, L2, которые образуют строки матрицы M. Проводящие линии L1, L2 являются линиями возбуждения, и проводящие линии Ca, Cb являются линиями считывания. Хотя на фиг. 1, показаны только две строки и два столбца, в каждом направлении обычно присутствует более двух строк и/или двух столбцов.
В примере приведены четыре последовательных соединения SC1-SC4 на пересечениях проводящих линий L1, L3 и Ca, Cb. Первое последовательное соединение SC1 состоит из клавишного переключателя S1a и резистора R1a. Второе последовательное соединение SC2 состоит из клавишного переключателя S2a и резистора R2a. Третье последовательное соединение SC3 содержит клавишный переключатель S1b и резистор R1b. Четвертое последовательное соединение SC4 содержит клавишный переключатель S2b и резистор R2b. Дополнительные последовательные соединения находятся на других пересечениях матрицы M, но не показаны на фиг. 1. Другими примерами последовательных соединений являются последовательными соединениями, имеющими резистор, подключенный непосредственно к проводящим линиям Ca и Cb, или последовательными соединениями, каждое из которых имеет два резистора, например, один из резисторов подключен непосредственно к линии возбуждения, т.е. L1, L2, и один из резисторов подключен непосредственно к линии считывания, т.е. Ca, Cb.
Альтернативно, можно использовать, например, полупроводниковые переключатели, например транзисторы MOSFET (полевой транзистор на структурах металл-оксид-полупроводник), имеющие сопротивление Ron в активированном состоянии более 4,5 кОм или 5 кОм. Сопротивление транзистора в деактивированном состоянии гораздо больше, т.е. ввод не осуществляется. Можно также использовать нажимные кнопки, которые включают в себя резисторы R1a и т.д. в подвижной части элемента ввода или клавишного переключателя. В этом случае, в последовательном соединении SC1 или в других последовательных соединениях нельзя использовать отдельный резистор. Подвижные резисторы могут прижиматься к проводящим линиям L1, L2, Ca, Cb на несущей подложке матричной компоновки Ma.
Компоновка 10 ввода также содержит аналого-цифровой преобразователь ADC. На фиг. 1 показаны два входных вывода E1, E2 аналого-цифрового преобразователя ADC. Аналого-цифровой преобразователь ADC может иметь более двух входных выводов, например восемь входных выводов. Мультиплексор можно использовать внутренне в аналого-цифровом преобразователе ADC для отображения множества линий считывания в один единственный аналого-цифровой преобразователь ADC. Альтернативно, аналого-цифровой преобразователь ADC можно использовать на каждой проводящей линии Ca, Cb, которая образует линию считывания и/или необязательную линию Ccc калибровки. Можно также использовать внешний мультиплексор совместно с аналого-цифровым преобразователем ADC.
Кроме того, существует резистор Ra, последовательно соединенный с проводящей линией Ca в конце проводящей линии Ca, которая не соединена с аналого-цифровым преобразователем ADC. Резистор Rb соединен с проводящей линией Cb таким же образом.
Все резисторы R1a-R2b, а также Ra и Rb имеют одно и то же номинальное значение омического сопротивления. Неопределенные потенциалы исключаются с использованием резисторов Ra, Rb. Резисторы могут быть дискретными элементами/устройствами или могут быть встроены, например, в сенсорный экран. Резисторы также можно заменить резистивными элементами, в частности, транзисторами, которые не удовлетворяют функции переключения. Резисторы можно изготавливать методом пигментной печати.
Компоновка Ma ввода в необязательном порядке может содержать линию Ccc калибровки, проходящую в направлении столбцов матричной компоновки Ma. Подтягивающий к питанию резистор Rcc можно использовать для соединения линии Ccc калибровки с положительным рабочим потенциалом. Другой конец линии Ccc калибровки или другое положение линии Ccc калибровки могут быть соединены со схемой обнаружения, например, с входом Ec аналого-цифрового преобразователя ADC или мультиплексора, который способен соединять вход Ec с входом ADC.
Первый опорный резистор R1cc соединяется с линией Ccc калибровки одним из своих выводов и с первой линией L1 возбуждения своим вторым выводом. Соответственно, второй опорный резистор R2cc соединяется с линией Ccc калибровки одним из своих выводов и со второй линией L2 возбуждения своим вторым выводом. Обычно существует гораздо больше двух линий возбуждения и двух линий сканирования. Количество опорных резисторов R1cc, R2cc и т.д. соответствует количеству линий L1, L2 возбуждения и т.д., даже если существует более двух линии L1, L2 возбуждения.
Подтягивающий к питанию резистор Rcc линии Ccc калибровки может иметь значение или такое же номинальное значение омического сопротивления, как у резисторов R1a-R2b и/или других подтягивающих к питанию резисторов Ra, Rb. Резисторы R1cc, R2cc и т.д. линии Ccc калибровки может иметь значение или такое же номинальное значение омического сопротивления, как у резисторов R1a-R2b и/или других подтягивающих к питанию резисторов Ra, Rb.
Переключатели S1a-S1b могут располагаться, как показано на фиг. 1. Однако можно также поддерживать схему соединения, но располагать переключатели S1a-S1b в других позициях, например, для изменения положений.
Фиг. 1 демонстрирует две схемы 2, 4 возбуждения, которые способны выводить жесткий уровень возбуждения относительно потенциала земли/истока. Выход схемы 2 возбуждения соединен непосредственно или через последовательно включенное сопротивление 6 с линией L1 возбуждения. Выход схемы 4 возбуждения соединен непосредственно или через последовательно включенное сопротивление 8 с линией L2 возбуждения. Подтягивающие к питанию или к земле резисторы нельзя использовать на линиях L1, L2 возбуждения и т.д. Необязательные резисторы 6 и 8 могут иметь значения сопротивления менее 200 Ом или даже менее 100 Ом, для снижения электромагнитного излучения сигналов на линиях L1, L2 возбуждения и т.д.
Входы схем 2, 4 возбуждения и т.д. могут устанавливаться устройством управления согласно схеме сканирования матричной компоновки Ma. Это будет более подробно объяснено ниже в отношении фиг. 6B.
Фиг. 2 демонстрирует состояния сигнала в случае, когда три клавишных переключателя S1a, S1b и S2b нажаты одновременно и когда первая линия L1 возбуждения заземлена. Вторая линия L2 возбуждения и все остальные линии возбуждения установлены на Vcc, например, 3.3 В или 5 В.
Как показано на фиг. 2, левая сторона, существуют следующие состояния сигнала, релевантного для линии Ca:
- свободный вывод резистора Ra установлен на потенциал Vcc,
- первое последовательное соединение SC1 (S1a, R1a) заземлено.
Переключатель S2a второго последовательного соединения SC2 разомкнут, т.е. это последовательное соединение SC2 не вносит вклад в потенциал или ток на линии Ca. Поэтому второе последовательное соединение SC2 не показано на фиг. 2.
Эти состояния сигнала приводят к образованию потенциала 1/2 Vcc на входе E1. Потенциал 1/2 Vcc возможен, только если в столбце нажат только один переключатель. Кроме того, потенциал 1/2 Vcc указывает нажатый или активированный переключатель.
Как показано на фиг. 2, правая сторона, существуют следующие состояния сигнала, релевантного для линии Cb:
- свободный вывод резистора Rb установлен на Vcc,
- четвертое последовательное соединение SC4 (S2b, R2b) имеет потенциал Vcc,
- третье последовательное соединение SC3 (S1b, R1b) заземлено.
Это приводит к входному напряжению 2/3 Vcc на входе E2. Это означает, что не происходит ложного нажатия переключения S1b в отличие от многих традиционных клавиатур. Потенциал на линии Cb не оказывает влияния на потенциал на линии Ca вследствие эффекта развязки с потенциалом земли или Vcc. Связи через линии возбуждения не существует, поскольку линии возбуждения подключены к фиксированному потенциалу с низким омическим значением по сравнению с высокими омическими резисторами R1a, Ra и т.д. Эти резисторы R1a, Ra и т.д. также предотвращают короткие замыкания.
Фиг. 3 демонстрирует состояния сигнала в случае, когда три клавишных переключателя S1a, S1b и S2b нажаты, и когда вторая линия L2 возбуждения заземлена. Первая линия L1 возбуждения и все остальные линии возбуждения, кроме второй линии L2 возбуждения, установлены на Vcc.
Как показано на фиг. 3, левая сторона, существуют следующие состояния сигнала, релевантного для линии Ca:
- свободный вывод резистора Ra установлен на Vcc,
- первое последовательное соединение SC1 (S1a, R1a) также установлено на Vcc.
Переключатель S2a второго последовательного соединения SC2 разомкнут, т.е. это последовательное соединение SC2 не вносит вклад в потенциал или ток на линии Ca. Поэтому второе последовательное соединение SC2 не показано на фиг. 3.
Эти состояния сигнала приводят к образованию потенциала Vcc на линии Ca.
Как показано на фиг. 3, правая сторона, существуют следующие релевантные состояния сигнала для линии Cb:
- свободный вывод резистора Rb установлен на Vcc,
- третье последовательное соединение SC3 (S1b, R1b) установлено на Vcc, и
- четвертое последовательное соединение SC4 (S2b, R2b) заземлено.
Эти состояния сигнала приводят к образованию потенциала 2/3 Vcc на линии Cb. Таким образом, по сравнению с фиг. 2, правая сторона, никакого изменения сигнала не происходит. Опять же, ложное нажатие не составляет проблемы.
Фиг. 4 демонстрирует состояния сигнала в случае, когда четыре клавишные переключатели S1a, S1b, S2a и S2b нажаты, и когда первая линия L1 возбуждения заземлена или установлена на 0 В. Вторая линия L2 возбуждения и все остальные линии возбуждения установлены на Vcc, например, 3.3 В или 5 В.
Как показано на фиг. 4, левая сторона, существуют следующие состояния сигнала, релевантного для линии Ca:
- свободный вывод резистора Ra установлен на Vcc,
- переключатель S2a второго последовательного соединения SC2 в этот момент также замкнут, и
- первое последовательное соединение SC1 (S1a, R1a), опять же, заземлено.
Эти состояния сигнала приводят к образованию потенциала 2/3 Vcc на линии Ca. Текущее значение 2/3 Vcc указывает, что нажаты два переключателя т.е., в данном случае, все переключатели.
Как показано на фиг. 4, правая сторона, существуют следующие состояния сигнала, релевантные для линии Cb:
- свободный вывод резистора Rb установлен на Vcc.
- четвертое последовательное соединение SC4 (S2b, R2b) имеет потенциал Vcc,
- третье последовательное соединение SC3 (S1b, R1b) заземлено.
Это приводит к образованию потенциала 2/3 Vcc на входе E2.
Фиг. 5 демонстрирует состояния сигнала в случае, когда четыре клавишные переключатели S1a, S1b, S2a и S2b нажаты, и когда вторая линия L2 возбуждения заземлена. Первая линия L1 возбуждения и все остальные линии возбуждения, кроме второй линии L2 возбуждения, установлены на Vcc.
Как показано на фиг. 5, левая сторона, существуют следующие состояния сигнала, релевантного для линии Ca:
- свободный вывод резистора Ra установлен на Vcc,
- первое последовательное соединение SC1 (S1a, R1a) также установлено на Vcc, и
- второй переключатель S2a второго последовательного соединения SC2 замкнут, т.е. второе последовательное соединение SC2 заземлено.
Эти состояния сигнала приводят к образованию потенциала 2/3 Vcc на линии Cb. Отсутствие изменения потенциалов в столбце матрицы M указывает, что ни один клавишный переключатель или все клавишные переключатели не нажаты. Величина тока также указывает, какой из этих двух случаев пригоден, т.е. здесь второй случай, поскольку существует разность сигналов в отношении Vcc.
Как показано на фиг. 5, правая сторона, существуют следующие состояния сигнала, которые релевантны для линии Cb:
- свободный вывод резистора Rb установлен на Vcc,
- третье последовательное соединение SC3 (S1b, R1b) имеет потенциал Vcc, и
- четвертое последовательное соединение SC4 (S2b, R2b) заземлено.
Эти состояния сигнала приводят к образованию потенциала 2/3 Vcc на линии Ca. Потенциал на линиях L1 и L2 возбуждения изменяется, но потенциал на линии Ca считывания остается неизменным. Отсутствие изменения потенциала в столбце матрицы M указывает, что ни один клавишный переключатель или все клавишные переключатели не нажаты. Опять же, ложное нажатие не составляет проблемы. Кроме того, для обнаружения нажатых или активированных клавишных переключателей используются только статические состояния.
Следующая таблица демонстрирует релевантные токи, если используется матрица 3×3. Каждая строка таблицы соответствует линии возбуждения, которая имеет низкое напряжение. Столбцы таблицы относятся к количеству клавишных переключателей, нажатых в столбце матрицы M, т.е. на одной линии Ca, Cb считывания:
Нажатые клавишные переключатели
0
1
2
3
Первая линия возбуждения заземлена
1 Vcc
1/2 Vcc
2/3 Vcc
3/4 Vcc
Вторая линия возбуждения заземлена
1 Vcc
1 Vcc
2/3 Vcc
3/4 Vcc
Третья линия возбуждения заземлена
1 Vcc
1 Vcc
1 Vcc
3/4 Vcc
В дальнейшем, предполагается, что n дает количество переключателей на каждой линии считывания, т.е. n равно 2 для примера, который показан на фиг. 2-5, и n равно 3 для матрицы 3×3.
Существуют следующие общие правила для указания количества нажатых клавиш и для указания, какая клавиша нажата, т.е. для одной последовательности стробирования или сканирования:
1) Для всех комбинаций потенциала линии возбуждения не происходит изменения напряжения:
a) Потенциал Vcc указывает, что ни один клавишный переключатель не нажат.
b) Потенциал n/(n+1) указывает, что все клавишные переключатели нажаты.
2) Существует изменение напряжения для разных комбинаций потенциала линии возбуждения, т.е. в одной последовательности стробирования или сканирования:
a) Количество нажатых клавиш можно определить из значений наименьших значений в столбце. Количество нажатых клавишных переключателей соответствует непосредственно числителю дроби, знаменатель которой задается количеством клавиш в одном столбце матрицы, см. вышеприведенную таблицу.
b) Клавишный переключатель нажат, если в ходе считывания соответствующей линии потенциал линии считывания имеет значение ниже максимума потенциала в столбце матрицы, т.е., например, ниже Vcc. Заметим, что количество максимумов зависит от количества ненажатых клавиш в столбце.
Можно использовать и другие общие правила.
Альтернативно, для обработки данных аналого-цифрового преобразователя ADC и для управления аналого-цифровым преобразователем ADC можно использовать другие компоненты.
Альтернативно, на линиях возбуждения можно использовать другие комбинации сигналов, например способ бисекции. Если существуют, например, более четырех или более десяти линий возбуждения, можно использовать способ, который уменьшает количество используемых комбинаций ниже количества линий возбуждения, т.е. позволяет быстрее осуществлять обнаружение. Эти способы известны, например, из комбинаторики, в частности из задачи двенадцати монет, т.е. первоначально половина линий возбуждения установлена на высокий уровень, и половина линий возбуждения установлена на низкий уровень. Дополнительные изменения производятся в зависимости от считанного сигнала. Это также позволяет предотвратить ложное нажатие и обнаружить нажатие нескольких клавиш в одном столбце.
В предпочтительном варианте осуществления не требуется, в частности, на первом этапе обнаружения, определять, сколько клавиш нажато или активировано в одном столбце матричной компоновки Ma. Может быть достаточно знать, нажата/активна ли клавиша на линии возбуждения, которая в данный момент активна. Если нажатая клавиша обнаружена, код клавиши этой клавиши может сохраняться в памяти для дальнейшей обработки, например, для отправки с клавиатуры на компьютер через соединение USB (универсальной последовательной шины) или через другое соединение.
В одном варианте осуществления используется только одно пороговое значение SW, см. фиг. 7 и фиг. 7B, т.е. пороговое значение SW, которое не зависит от количества клавиш, или которое не зависит от по меньшей мере  двух, трех или четырех разных количеств клавиш, активированных в одном столбце матричной компоновки Ma. В других вариантах осуществления используется пороговое значение SW и используются дополнительные пороговые значения или пороговые диапазоны, например TR1-TR11, см. фиг. 7 и фиг. 7B, которые указывают конкретное количество активированных клавиш в одном столбце матричной компоновки Ma, в частности, для ускорения сканирования матрицы.
Фиг. 6 демонстрирует компоненты клавиатуры компьютера. Клавиатура содержит:
- компоновку 10 ввода,
- микроконтроллер 26 и
- интерфейс 36.
Фиг. 6 демонстрирует дополнительные проводящие линии 20 (линии считывания), например одиннадцать линий, и дополнительные проводящие линии 22 (линии возбуждения), например десять линий, в матрице M.
Аналого-цифровой преобразователь ADC компоновки 10 ввода подключен к микроконтроллеру 26 шиной 30 сигнала, которая содержит линии данных и линии управления.
Микроконтроллер 26 содержит:
- память Mem, например, RAM (оперативную память), ROM (постоянную память), PROM (программируемую ROM) или EEPROM (электрически стираемую PROM) или другую разновидность памяти,
- процессор P, который выполняет инструкции, хранящиеся в памяти Mem,
- схему 24 возбуждения, которая подключена к линиям возбуждения матрицы M, т.е. к линиям L1, L2 и т.д.,
- шину 32 сигнала между схемой 24 возбуждения и процессором P, и
- шину 34 сигнала между процессором P и памятью Mem.
Альтернативно, аналого-цифровой преобразователь ADC также может составлять часть микроконтроллера 26.
Шина 30 сигнала может быть соединена непосредственно с процессором P. Альтернативно, используется схема интерфейса микроконтроллера 26, не показана. Шина 36 сигнала подключена к микроконтроллеру 26. Шина 36 сигнала является интерфейсом к центральной части компьютера. На шине 36 сигнала используется, например, протокол PS/2 или USB.
Фиг. 6B демонстрирует способ осуществления цикла сканирования матрицы матричной компоновки Ma, см. фиг. 1. Способ начинается на этапе Sx0 способа. В дальнейшем этапы способа именуются просто этапами.
Этап Sx2 следует за этапом Sx0. На этапе Sx2 одна из линий L1, L2 возбуждения и т.д. активируется начиная, например, с первой линии L1 возбуждения. Активация означает, что на этой линии возбуждения используется потенциал земли/истока. Другие линии возбуждения, т.е. неактивированные линии возбуждения, установлены на положительный рабочий потенциал.
После этапа Sx2 следует этап Sx4, на котором считывается линия Ccc калибровки. Линия Ccc калибровки имитирует случай, когда все клавиши столбца нажаты. Для получения калибровочного значения VC путем считывания линии Ccc калибровки, в точности одну линию возбуждения необходимо устанавливать на низкий уровень или низкий потенциал.
Считанное значение линии калибровки является калибровочным значением CV, что будет более подробно объяснено ниже в отношении фиг. 7 и 7B. Калибровочное значение CV используется непосредственно как пороговое значение SW или используется для вычисления порогового значения SW как объяснено более подробно в отношении фиг. 7 и 7B. Пороговое значение SW не зависит от количества нажатых клавиш в столбце матричной компоновки Ma, т.е. его можно использовать для обнаружения, нажата ли клавиша. Альтернативно можно использовать пороговое значение SW, которое не зависит от по меньшей мере  двух разных количеств по меньшей мере  трех разных количеств и т.д. нажатых клавиш в столбце матричной компоновки. Например, если для каждого столбца разрешено максимум четыре активных клавиши, можно использовать гораздо более низкое пороговое значение SW, которое не зависит от количества клавиш, пока активировано не более чем максимум четыре клавиши, т.е. одна клавиша, две клавиши, три клавиши из четырех клавиш.
В ходе активации текущей линии возбуждения текущая линия считывания считывается на этапе Sx6, например начиная с первой линии Ca считывания. Считанное значение сравнивается с пороговым значением SW. Если текущее считанное значение ниже порогового значения, клавиша, которая располагается на пересечении текущей активированной линии L1, L2 возбуждения и т.д. и считываемой в данный момент линии Ca, Cb считывания, и т.д., нажата или активирована. Код клавиши обнаруженной активной клавиши сохраняется в цифровой памяти для дальнейшей обработки.
На следующем этапе Sx8 осуществляется проверка, имеются ли дополнительные линии считывания, еще не считанные для активной на данный момент линии возбуждения, например L1. В этом случае способ предусматривает увеличение или уменьшение первого счетчика линий считывания и возвращается к этапу Sx6. Это означает, что все линии сканирования считаны для активной на данный момент линии возбуждения. Выход из цикла, состоящего из этапов Sx6 и Sx8, происходит на этапе Sx8 только когда все линии считывания просканированы, т.е. обнаружены все активные клавиши на активной на данный момент линии возбуждения.
Этап Sx10 следует сразу после этапа Sx8, если все линии Ca, Cb считывания просканированы, т.е. подцикл линий Ca, Cb считывания завершен. На этапе Sx10 осуществляется проверка, имеются ли дополнительные линии возбуждения, еще не активированные в текущем цикле сканирования матричной компоновки. Если остались линии возбуждения, второй счетчик увеличивается или уменьшается для указания текущая линии возбуждения, которую нужно активировать, т.е. заземлить. Другие линии возбуждения, т.е. неактивированные линии возбуждения, устанавливаются на положительный рабочий потенциал. После этого способ продолжается на этапе Sx2. Это означает, что те же этапы, которые объяснены выше, повторяются для второй линии L2 возбуждения, третьей линии возбуждения и т.д., пока все линии возбуждения не будут активированы и пока все клавиши S1a-S2b и т.д. не будут просканированы и коды клавиш активированных клавиш не будут сохранены в цифровой памяти. Способ совершает цикл из этапов Sx2-Sx10.
Линия Ccc калибровки считывается для каждой линии L1, L2 возбуждения и т.д. Это позволяет рассматривать также отклонения, обусловленные значениями внутреннего сопротивления возбудителей 2, 4 линии. Кроме того, можно вычислять средние значения значений, обнаруженных на линии Ccc калибровки для учета допусков и/или электромагнитного излучения (например, извне клавиатуры), которые могут мешать работе клавиатуры.
Можно также снижать значение подтягивающего к питанию резистора Rcc, чтобы иметь значение аппаратного смещения, см. фиг. 7 и фиг. 7B относительно программного смещения.
Порядок считывания линии калибровки и линий считывания также может быть обращен, т.е. сначала сканирование из линий считывания и затем сканирование линии калибровки для каждого цикла линий возбуждения. В этом случае, считанные значения могут сохраняться пока не будет считано калибровочное значение и пока не станет возможным сравнение.
В отсутствие дополнительных линий возбуждения цикл из этапов Sx2-Sx10 заканчивается. Один цикл сканирования матричной компоновки Ma готов.
Сканирование матричной компоновки Ma может повторяться в данном интервале времени, например, менее 5 мс.
Может не требоваться калибровать для каждой линии возбуждения. В других вариантах осуществления этап Sx2 осуществляется только один раз за одно сканирование полной матричной компоновки Ma.
В необязательном порядке, можно ускорять сканирование матрицы посредством одного из следующих действий:
- a) производится определение, сколько элементов ввода нажато на считанной линии считывания, как только первый активный элемент ввода обнаруживается на этой линии считывания на основании обнаруженного значения и на основании пороговых значений или диапазонов, которые указывают количество активных элементов ввода,
дополнительные электрические сигналы не обнаруживаются на этой линии Ca, Cb считывания, как только обнаружено количество активных элементов ввода, которое равно определенному количеству элементов ввода,
- b) все линии L1, L2 возбуждения возбуждаются до второго потенциала, и определяются линии Ca, Cb считывания, которые не имеют активированных элементов ввода,
эти определенные линии Ca, Cb считывания больше не рассматриваются в ходе сканирования матричной компоновки в текущем цикле сканирования,
- c) порядок возбуждения линий L1, L2 возбуждения и т.д. зависит от вероятности активации элементов ввода, соединенных с соответствующей линией возбуждения,
- d) для возбуждения линий возбуждения используется способ бисекции L1, L2, и т.д.
Фиг. 7 демонстрирует отображение диапазонов выходного значения аналого-цифрового преобразователя ADC в количество нажатых клавишных переключателей. Предполагается, что существует одиннадцать клавишных переключателей в одном столбце матрицы M. Таким образом, существует одиннадцать диапазонов TR1-TR11, которые соответствуют в этом порядке значениям потенциала от 1/12 до 11/12 Vcc. TR12 релевантен, если не нажато ни одной клавиши.
Длина диапазонов TR1-TR11 может быть постоянной и может находиться в диапазоне от 2 до 4 процентов максимального выходного значения, если в каждом столбце матрицы M существуют одиннадцать клавишных переключателей.
Существуют выходные значения между соседними диапазонами TR1-TR12, которые не используются для определения количества нажатых переключателей или для определения, какой переключатель нажат или какие переключатели нажаты в столбце. "Расстояние" Di между двумя соседними диапазонами также находится, например, в диапазоне от 2 до 4 процентов наибольшего выходного значения аналого-цифрового преобразователя ADC. Предпочтительно, неиспользуемые диапазоны имеют такую же длину, как диапазоны, которые используются для классификации. Это не всегда возможно вследствие округления, квантования и значений, которые не делятся нацело.
Калибровочное значение CV, например, обнаруживается с использованием линии Ccc калибровки, благодаря чему, все линии L1, L2 возбуждения и т.д. устанавливаются на потенциал земли или истока для имитации случая, когда все клавишные переключатели в одном столбце матричной компоновки Ma нажаты, т.е. в примере, активировано 11 клавиш.
Пороговое значение SW можно определять путем вычисления разности максимального значения ADC, т.е. 4095 в примере, и калибровочного значения CV или соответствующих значений потенциала. Эта разность, например, делится на 4, приводя к смещению Of, которое нужно прибавить к калибровочному значению для получения порогового значения. Все обнаруженные значения, которые меньше SW, указывают нажатую клавишу на активной в данный момент линии считывания независимо от количества нажатых клавиш в считанным столбце Ca, Cb матричной компоновки. Калибровочное значение CV может изменяться в зависимости от флуктуаций температуры и напряжения в матричной компоновке Ma и/или ADC. ADC может иметь опорное напряжение или потенциал, который фильтруется гораздо больше, чем рабочий потенциал ADC.
Фиг. 7B демонстрирует отображение диапазонов выхода ADC в количество нажатых клавишных переключателей согласно более практическому примеру по сравнению с фиг. 7. На отводе делителя напряжения, показанного на фиг. 2-5, может существовать следующее соотношение в отношении потенциала:
V=Vcc*k/(k+1),
где k - количество нажатых клавиш в одном столбце и при этом k должно быть больше 1. Та же формула пригодна, в принципе, для цифровых значений ADC при замене Vcc максимальным цифровым значением ADC и с учетом ошибок округления.
Это означает, что диапазон TR1 для одной единственной активной клавиши располагается вокруг значения "одна вторая" или 1/2 диапазона ADC или соответствующего потенциала. Диапазон TR2 для в точности двух активных клавиш в одном столбце располагается вокруг значения 2/3 диапазона ADC или соответствующего потенциала и т.д. Диапазон TR11 для одиннадцати активных клавиш, т.е. когда все клавиши нажаты или одиннадцать клавиш активируется нажатием и/или с использованием макрокоманды, очень близок к концу диапазона ADC, т.е. при значении около 3754 в примере в отсутствие дополнительного дрейфа. Это означает, что калибровочное значение CV будет иметь значение 3754 плюс/минус значение дрейфа. Пороговое значение SW можно вычислять, как объяснено выше в отношении фиг. 7, т.е. вычитая значение CV из значения конца, например 4095, и деля результат на четыре, таким образом, получая смещение Of. Смещение Of прибавляется к калибровочному значению CV для получения порогового значения SW. Однако можно использовать и другие способы определения или вычисления SW, например, использовать для деления числа, отличные от 4.
Фиг. 7B также демонстрирует диапазон TR0, который релевантен в отсутствие нажатых клавиш на считываемой в данной момент линии Ca, Cb считывания, и т.д. Пороговые диапазоны TR1-TR11 и/или TR0, опять же, могут иметь длину, которая может лежать в диапазоне от 2 до 4 процентов максимального выходного значения ADC или другого диапазона. Альтернативно, диапазоны, которые относятся к меньшему количеству активных клавиш, можно сделать более широкими, чем другие диапазоны. Таким образом, диапазон TR1 может быть более широким по сравнению с диапазоном TR2, и т.д.
Пороговое значение SW можно также определять иначе, чем с использованием линии Ccc калибровки, см. введение этого текста.
Линий возбуждения, конечно, также может быть больше или меньше 11, например 16 (SW, например, 3915).
Смещение можно также реализовать путем уменьшения значения сопротивления подтягивающего к питанию (или подтягивающего к земле) резистора Rcc, на линии калибровки.
Фиг. 8 демонстрирует сигнал 50 устранения дребезга и сглаженный сигнал 52, обработанный устройством управления, например микроконтроллером 26, см. фиг. 6.
Существует разность D сигналов между значением сигнала V1 (напряжения или тока) до нажатия клавишного переключателя и значением сигнала V2 (напряжения или тока) в конце нажатия клавишного переключателя.
Сигнал 50 устранения дребезга растет и падает несколько раз, демонстрируя, таким образом, выбросы уменьшающейся ширины и уменьшающейся амплитуды. Таким образом, задача состоит в обнаружении промежуточного состояния. Однако использование аналого-цифрового преобразователя ADC позволяет обнаруживать промежуточные значения, составляющие, например, 75 процентов, 50 процентов и 25 процентов значения сигнала V1.
Можно получить гладкое значение в отличие от быстро изменяющейся функции устранения дребезга с использованием сглаживающего конденсатора, например, совместно со статистическим анализом. Альтернативно, можно обнаруживать минимумы сигнала устранения дребезга или значения, которые меньше высокого потенциала в начале активации клавишного переключателя. Максимумы или значения, которые значительно выше низкого значения сигнала, можно обнаруживать, если сигнал является низким в начале.
Во всех вышеприведенных примерах высокое и низкое состояния сигнала могут сменять друг друга.
Хотя были подробно описаны варианты осуществления настоящего изобретения и их преимущества, следует понимать, что они допускают различные изменения, замены и модификации, не выходящие за рамки сущности и объема изобретения, заданных нижеследующей формулой изобретения. Например, специалистам в данной области техники легко понять, что многие описанные здесь признаки, функции, процессы и способы могут изменяться, оставаясь при этом в объеме настоящего изобретения. Кроме того, объем настоящей заявки не подлежит ограничению конкретными вариантами осуществления системы, процесса, изготовления, способа или этапов, описанных в настоящем изобретении. Специалисту в данной области техники легко понять из раскрытия изобретения, что системы, процессы, изготовление, способы или этапы, существующие в настоящее время или подлежащие разработке в дальнейшем, которые осуществляют, по существу, ту же функцию или достигают, по существу, того же результата, что и соответствующие описанные здесь варианты осуществления, можно использовать согласно настоящему изобретению. Соответственно, нижеследующая формула изобретения призвана включать в свой объем такие системы, процессы, способы или этапы.
Подробное описание - первый аспект
Ниже подробно рассмотрены формирование и использование предпочтительных в настоящее время вариантов осуществления. Однако очевидно, что настоящее изобретение предусматривает многие применимые принципы изобретения, которые можно реализовать в разнообразных конкретных контекстах. Конкретные рассмотренные варианты осуществления призваны лишь иллюстрировать конкретные пути создания и использования изобретения, но не ограничивать объем изобретения. Кроме того, одинаковые ссылочные позиции указывают одни и те де технические признаки, если не указано обратное. Слово "может", используемое в этой заявке, означает возможность совершения того или иного действия, а также фактическую техническую реализацию.
Фиг. 1 демонстрирует матрицу компоновки 10 ввода, например клавиатуры. Компоновка 10 ввода содержит матрицу M проводящих линий Ca, Cb, которые образуют столбцы, и проводящих линий L1, L2, которые образуют строки матрицы M. Проводящие линии L1, L2 являются линиями возбуждения, и проводящие линии Ca, Cb являются линиями считывания. Хотя на фиг. 1, показаны только две строки и два столбца, в каждом направлении обычно присутствует более двух строк и/или двух столбцов.
В примере приведены четыре последовательных соединения SC1-SC4 на пересечениях проводящих линий L1, L3 и Ca, Cb. Первое последовательное соединение SC1 состоит из клавишного переключателя S1a и резистора R1a. Второе последовательное соединение SC2 состоит из клавишного переключателя S2a и резистора R2a. Третье последовательное соединение SC3 содержит клавишный переключатель S1b и резистор R1b. Четвертое последовательное соединение SC4 содержит клавишный переключатель S2b и резистор R2b. Дополнительные последовательные соединения находятся на других пересечениях матрицы M, но не показаны на фиг. 1. Другими примерами последовательных соединений являются последовательными соединениями, имеющими резистор, подключенный непосредственно к проводящим линиям Ca и Cb, или последовательными соединениями, каждое из которых имеет два резистора, например, один из резисторов подключен непосредственно к линии возбуждения, т.е. L1, L2, и один из резисторов подключен непосредственно к линии считывания, т.е. Ca, Cb.
Альтернативно, можно использовать, например, полупроводниковые переключатели, например транзисторы MOSFET (полевой транзистор на структурах металл-оксид-полупроводник), имеющие сопротивление Ron в активированном состоянии более 4,5 кОм или 5 кОм. Сопротивление транзистора в деактивированном состоянии гораздо больше, т.е. ввод не осуществляется.
Компоновка 10 ввода также содержит аналого-цифровой преобразователь ADC. На фиг. 1 показаны два входных вывода E1, E2 аналого-цифрового преобразователя ADC. Аналого-цифровой преобразователь ADC может иметь более двух входных выводов, например восемь входных выводов. Мультиплексор можно использовать внутренне в аналого-цифровом преобразователе ADC для отображения множества линий считывания в один единственный аналого-цифровой преобразователь ADC. Альтернативно, аналого-цифровой преобразователь ADC можно использовать на каждой проводящей линии Ca, Cb, которая образует линию считывания. Можно также использовать внешний мультиплексор совместно с аналого-цифровым преобразователем ADC.
Кроме того, существует резистор Ra, последовательно соединенный с проводящей линией Ca в конце проводящей линии Ca, которая не соединена с аналого-цифровым преобразователем ADC. Резистор Rb соединен с проводящей линией Cb таким же образом.
Все резисторы R1a-R2b, а также Ra и Rb имеют одно и то же номинальное значение омического сопротивления. Неопределенные потенциалы исключаются с использованием резисторов Ra, Rb. Резисторы могут быть дискретными элементами/устройствами или могут быть встроены, например, в сенсорный экран. Резисторы также можно заменить резистивными элементами, в частности, транзисторами, которые не удовлетворяют функции переключения. Резисторы можно изготавливать методом пигментной печати.
Фиг. 2 демонстрирует состояния сигнала в случае, когда три клавишных переключателя S1a, S1b и S2b нажаты одновременно и когда первая линия L1 возбуждения заземлена. Вторая линия L2 возбуждения и все остальные линии возбуждения установлены на Vcc, например, 3.3 В или 5 В.
Как показано на фиг. 2, левая сторона, существуют следующие состояния сигнала, релевантного для линии Ca:
- свободный вывод резистора Ra установлен на потенциал Vcc,
- первое последовательное соединение SC1 (S1a, R1a) заземлено.
Переключатель S2a второго последовательного соединения SC2 разомкнут, т.е. это последовательное соединение SC2 не вносит вклад в потенциал или ток на линии Ca. Поэтому второе последовательное соединение SC2 не показано на фиг. 2.
Эти состояния сигнала приводят к образованию потенциала 1/2 Vcc на входе E1. Потенциал 1/2 Vcc возможен, только если в столбце нажат только один переключатель. Кроме того, потенциал 1/2 Vcc указывает нажатый или активированный переключатель.
Как показано на фиг. 2, правая сторона, существуют следующие состояния сигнала, релевантного для линии Cb:
- свободный вывод резистора Rb установлен на Vcc,
- четвертое последовательное соединение SC4 (S2b, R2b) имеет потенциал Vcc,
- третье последовательное соединение SC3 (S1b, R1b) заземлено.
Это приводит к входному напряжению 2/3 Vcc на входе E2. Это означает, что не происходит ложного нажатия переключения S1b в отличие от многих традиционных клавиатур. Потенциал на линии Cb не оказывает влияния на потенциал на линии Ca вследствие эффекта развязки с потенциалом земли или Vcc. Связи через линии возбуждения не существует, поскольку линии возбуждения подключены к фиксированному потенциалу с низким омическим значением по сравнению с высокими омическими резисторами R1a, Ra и т.д. Эти резисторы R1a, Ra и т.д. также предотвращают короткие замыкания.
Фиг. 3 демонстрирует состояния сигнала в случае, когда три клавишных переключателя S1a, S1b и S2b нажаты, и когда вторая линия L2 возбуждения заземлена. Первая линия L1 возбуждения и все остальные линии возбуждения, кроме второй линии L2 возбуждения, установлены на Vcc.
Как показано на фиг. 3, левая сторона, существуют следующие состояния сигнала, релевантного для линии Ca:
- свободный вывод резистора Ra установлен на Vcc,
- первое последовательное соединение SC1 (S1a, R1a) также установлено на Vcc.
Переключатель S2a второго последовательного соединения SC2 разомкнут, т.е. это последовательное соединение SC2 не вносит вклад в потенциал или ток на линии Ca. Поэтому второе последовательное соединение SC2 не показано на фиг. 3.
Эти состояния сигнала приводят к образованию потенциала Vcc на линии Ca.
Как показано на фиг. 3, правая сторона, существуют следующие релевантные состояния сигнала для линии Cb:
- свободный вывод резистора Rb установлен на Vcc,
- третье последовательное соединение SC3 (S1b, R1b) установлено на Vcc, и
- четвертое последовательное соединение SC4 (S2b, R2b) заземлено.
Эти состояния сигнала приводят к образованию потенциала 2/3 Vcc на линии Cb. Таким образом, по сравнению с фиг. 2, правая сторона, никакого изменения сигнала не происходит. Опять же, ложное нажатие не составляет проблемы.
Фиг. 4 демонстрирует состояния сигнала в случае, когда четыре клавишные переключатели S1a, S1b, S2a и S2b нажаты, и когда первая линия L1 возбуждения заземлена или установлена на 0 В. Вторая линия L2 возбуждения и все остальные линии возбуждения установлены на Vcc, например, 3.3 В или 5 В.
Как показано на фиг. 4, левая сторона, существуют следующие состояния сигнала, релевантного для линии Ca:
- свободный вывод резистора Ra установлен на Vcc,
- переключатель S2a второго последовательного соединения SC2 в этот момент также замкнут, и
- первое последовательное соединение SC1 (S1a, R1a), опять же, заземлено.
Эти состояния сигнала приводят к образованию потенциала 2/3 Vcc на линии Ca. Текущее значение 2/3 Vcc указывает, что нажаты два переключателя ,т.е. в данном случае, все переключатели.
Как показано на фиг. 4, правая сторона, существуют следующие состояния сигнала, релевантные для линии Cb:
- свободный вывод резистора Rb установлен на Vcc.
- четвертое последовательное соединение SC4 (S2b, R2b) имеет потенциал Vcc,
- третье последовательное соединение SC3 (S1b, R1b) заземлено.
Это приводит к образованию потенциала 2/3 Vcc на входе E2.
Фиг. 5 демонстрирует состояния сигнала в случае, когда четыре клавишные переключатели S1a, S1b, S2a и S2b нажаты, и когда вторая линия L2 возбуждения заземлена. Первая линия L1 возбуждения и все остальные линии возбуждения, кроме второй линии L2 возбуждения, установлены на Vcc.
Как показано на фиг. 5, левая сторона, существуют следующие состояния сигнала, релевантного для линии Ca:
- свободный вывод резистора Ra установлен на Vcc,
- первое последовательное соединение SC1 (S1a, R1a) также установлено на Vcc, и
- второй переключатель S2a второго последовательного соединения SC2 замкнут, т.е. второе последовательное соединение SC2 заземлено.
Эти состояния сигнала приводят к образованию потенциала 2/3 Vcc на линии Cb. Отсутствие изменения потенциалов в столбце матрицы M указывает, что ни один клавишный переключатель или все клавишные переключатели не нажаты. Величина тока также указывает, какой из этих двух случаев пригоден, т.е. здесь второй случай, поскольку существует разность сигналов в отношении Vcc.
Как показано на фиг. 5, правая сторона, существуют следующие состояния сигнала, которые релевантны для линии Cb:
- свободный вывод резистора Rb установлен на Vcc,
- третье последовательное соединение SC3 (S1b, R1b) имеет потенциал Vcc, и
- четвертое последовательное соединение SC4 (S2b, R2b) заземлено.
Эти состояния сигнала приводят к образованию потенциала 2/3 Vcc на линии Ca. Потенциал на линиях L1 и L2 возбуждения изменяется, но потенциал на линии Ca считывания остается неизменным. Отсутствие изменения потенциала в столбце матрицы M указывает, что ни один клавишный переключатель или все клавишные переключатели не нажаты. Опять же, ложное нажатие не составляет проблемы. Кроме того, для обнаружения нажатых или активированных клавишных переключателей используются только статические состояния.
Следующая таблица демонстрирует релевантные токи, если используется матрица 3×3. каждая линия таблицы соответствует линии возбуждения, которая имеет низкое напряжение. Столбцы таблицы относятся к количеству клавишных переключателей, нажатых в столбце матрицы M, т.е. на одной линии Ca, Cb считывания:
Нажатые клавишные переключатели
0
1
2
3
Первая линия возбуждения заземлена
1 Vcc
1/2 Vcc
2/3 Vcc
3/4 Vcc
Вторая линия возбуждения заземлена
1 Vcc
1 Vcc
2/3 Vcc
3/4 Vcc
Третья линия возбуждения заземлена
1 Vcc
1 Vcc
1 Vcc
3/4 Vcc
В дальнейшем, предполагается, что n дает количество переключателей на каждой линии считывания, т.е. n равно 2 для примера, который показан на фиг. 2-5, и n равно 3 для матрицы 3×3.
Существуют следующие общие правила для указания количества нажатых клавиш и для указания, какая клавиша нажата, т.е. для одной последовательности стробирования или сканирования:
1) Для всех комбинаций потенциала линии возбуждения не происходит изменения напряжения:
a) Потенциал Vcc указывает, что ни один клавишный переключатель не нажат.
b) Потенциал n/(n+1) указывает, что все клавишные переключатели нажаты.
2) Существует изменение напряжения для разных комбинаций потенциала линии возбуждения, т.е. в одной последовательности стробирования или сканирования:
a) Количество нажатых клавиш можно определить из значений наименьших значений в столбце. Количество нажатых клавишных переключателей соответствует непосредственно числителю дроби, знаменатель которой задается количеством клавиш в одном столбце матрицы, см. вышеприведенную таблицу.
b) Клавишный переключатель нажат, если в ходе считывания соответствующей линии потенциал линии считывания имеет значение ниже максимума потенциала в столбце матрицы, т.е., например, ниже Vcc. Заметим, что количество максимумов зависит от количества ненажатых клавиш в столбце.
Можно использовать и другие общие правила.
Альтернативно, для обработки данных аналого-цифрового преобразователя ADC и для управления аналого-цифровым преобразователем ADC можно использовать другие компоненты.
Альтернативно, на линиях возбуждения можно использовать другие комбинации сигналов. Если существуют, например, более четырех или более десяти линий возбуждения, можно использовать способ, который уменьшает количество используемых комбинаций ниже количества линий возбуждения, т.е. позволяет быстрее осуществлять обнаружение. Эти способы известны, например, из комбинаторики, в частности из задачи двенадцати монет, т.е. первоначально половина линий возбуждения установлена на высокий уровень, и половина линий возбуждения установлена на низкий уровень. Дополнительные изменения производятся в зависимости от считанного сигнала. Это также позволяет предотвратить ложное нажатие и обнаружить нажатие нескольких клавиш в одном столбце.
Фиг. 6 демонстрирует компоненты клавиатуры компьютера. Клавиатура содержит:
- компоновку 10 ввода,
- микроконтроллер 26 и
- интерфейс 36.
Фиг. 6 демонстрирует дополнительные проводящие линии 20 (линии считывания), например одиннадцать линий, и дополнительные проводящие линии 22 (линии возбуждения), например десять линий, в матрице M.
Аналого-цифровой преобразователь ADC компоновки 10 ввода подключен к микроконтроллеру 26 шиной 30 сигнала, которая содержит линии данных и линии управления.
Микроконтроллер 26 содержит:
- память Mem, например, RAM (оперативную память), ROM (постоянную память), PROM (программируемую ROM) или EEPROM (электрически стираемую PROM) или другую разновидность памяти,
- процессор P, который выполняет инструкции, хранящиеся в памяти Mem,
- схему 24 возбуждения, которая подключена к линиям возбуждения матрицы M, т.е. к линиям L1, L2 и т.д.,
- шину 32 сигнала между схемой 24 возбуждения и процессором P, и
- шину сигнала 34 между процессором P и памятью Mem.
Альтернативно, аналого-цифровой преобразователь ADC также может составлять часть микроконтроллера 26.
Шина 30 сигнала может быть соединена непосредственно с процессором P. Альтернативно, используется схема интерфейса микроконтроллера 26, не показана. Шина 36 сигнала подключена к микроконтроллеру 26. Шина 36 сигнала является интерфейсом к центральной части компьютера. На шине 36 сигнала используется, например, протокол PS/2 или USB.
Фиг. 7 демонстрирует отображение диапазонов выходного значения аналого-цифрового преобразователя ADC в количество нажатых клавишных переключателей. Предполагается, что существует одиннадцать клавишных переключателей в одном столбце матрицы M. Таким образом, существует одиннадцать диапазонов TR1-TR11, которые соответствуют в этом порядке значениям потенциала от 1/12 до 11/12 Vcc. TR12 релевантен, если не нажато ни одной клавиши.
Длина диапазонов TR1-TR11 может быть постоянной и может находиться в диапазоне от 2 до 4 процентов максимального выходного значения, если в каждом столбце матрицы M существуют одиннадцать клавишных переключателей.
Существуют выходные значения между соседними диапазонами TR1-TR12, которые не используются для определения количества нажатых переключателей или для определения, какой переключатель нажат или какие переключатели нажаты в столбце. "Расстояние" Di между двумя соседними диапазонами также находится, например, в диапазоне от 2 до 4 процентов наибольшего выходного значения аналого-цифрового преобразователя ADC. Предпочтительно, неиспользуемые диапазоны имеют такую же длину, как диапазоны, которые используются для классификации. Это не всегда возможно вследствие округления, квантования и значений, которые не делятся нацело.
Фиг. 8 демонстрирует сигнал 50 устранения дребезга и сглаженный сигнал 52, обработанный устройством управления, например микроконтроллером 26, см. фиг. 6.
Существует разность D сигналов между значением сигнала V1 (напряжения или тока) до нажатия клавишного переключателя и значением сигнала V2 (напряжения или тока) в конце нажатия клавишного переключателя.
Сигнал 50 устранения дребезга растет и падает несколько раз, демонстрируя, таким образом, выбросы уменьшающейся ширины и уменьшающейся амплитуды. Таким образом, задача состоит в обнаружении промежуточного состояния. Однако использование аналого-цифрового преобразователя ADC позволяет обнаруживать промежуточные значения, составляющие, например, 75 процентов, 50 процентов и 25 процентов значения сигнала V1.
Можно получить гладкое значение в отличие от быстро изменяющейся функции устранения дребезга с использованием сглаживающего конденсатора, например, совместно со статистическим анализом. Альтернативно, можно обнаруживать минимумы сигнала устранения дребезга или значения, которые меньше высокого потенциала в начале активации клавишного переключателя. Максимумы или значения, которые значительно выше низкого значения сигнала, можно обнаруживать, если сигнал является низким в начале.
Во всех вышеприведенных примерах высокое и низкое состояния сигнала могут сменять друг друга.
Хотя были подробно описаны варианты осуществления настоящего изобретения и их преимущества, следует понимать, что они допускают различные изменения, замены и модификации, не выходящие за рамки сущности и объема изобретения, заданных нижеследующей формулой изобретения. Например, специалистам в данной области техники легко понять, что многие описанные здесь признаки, функции, процессы и способы могут изменяться, оставаясь при этом в объеме настоящего изобретения. Кроме того, объем настоящей заявки не подлежит ограничению конкретными вариантами осуществления системы, процесса, изготовления, способа или этапов, описанных в настоящем изобретении. Специалисту в данной области техники легко понять из раскрытия изобретения, что системы, процессы, изготовление, способы или этапы, существующие в настоящее время или подлежащие разработке в дальнейшем, которые осуществляют, по существу, ту же функцию или достигают, по существу, того же результата, что и соответствующие описанные здесь варианты осуществления, можно использовать согласно настоящему изобретению. Соответственно, нижеследующая формула изобретения призвана включать в свой объем такие системы, процессы, способы или этапы.
Подробное описание - второй аспект
Ниже подробно рассмотрены формирование и использование предпочтительных в настоящее время вариантов осуществления. Однако очевидно, что настоящее изобретение предусматривает многие применимые принципы изобретения, которые можно реализовать в разнообразных конкретных контекстах. Конкретные рассмотренные варианты осуществления призваны лишь иллюстрировать конкретные пути создания и использования изобретения, но не ограничивать объем изобретения. Кроме того, одинаковые ссылочные позиции указывают одни и те де технические признаки, если не указано обратное. Слово "может", используемое в этой заявке, означает возможность совершения того или иного действия, а также фактическую техническую реализацию.
Фиг. 9 демонстрирует схемную компоновку 10 для управления током, который течет, например, через цепочки оптических элементов, в частности, через LED 32, 42. Альтернативно только один LED, связки цепочек LED или возбудители для оптических элементов могут управляться аналогичным образом или таким же образом. Согласно варианту осуществления, схемная компоновка 10 входит в состав клавиатуры.
Существует положительное рабочее напряжение Vcc на интерфейсе 12 между клавиатурой и компьютером, который не показан на фиг. 9. Клавишный переключатель 14 клавиатуры располагается рядом с или в физическом контакте с LED 32. Другие клавишные переключатели клавиатуры не показаны на фиг. 9. Альтернативно, волноводы можно использовать для передачи света к клавишным переключателям, например, к рамкам, которые располагаются вокруг каждого клавишного переключателя.
Интерфейс 12 электропроводным образом подключен к преобразователю 18 напряжения. Согласно варианту осуществления, используется USB-интерфейс 12.
Преобразователь 18 напряжения относится к бустерному типу. Альтернативно, можно использовать вольтодобавочный преобразователь, инвертор или другой тип преобразователя. Входное напряжение находится, например, в диапазоне от 4 В до 5 В. Выходное напряжение преобразователя может находиться в диапазоне от 15 В до 25 В.
Преобразователь 18 содержит дроссель 20 между Vcc и узел N1 схемы. Дроссель 20 может иметь индуктивность в диапазоне от 10 до 100 мкГн, например 47 мкГн. Сток переключающего полевого транзистора (FET) T1 соединен с узлом N1. Исток переключающего транзистора T1 соединен с землей. Сигнал 26 PWM соединен с затвором транзистора T1. Вместо FET, аналогичным образом можно использовать также биполярные транзисторы.
Кроме того, анод диода Шоттки 22 или другого диода также подключен к узлу N1. Катод диода Шоттки 22 соединен с узлом N2 схемы. Диод Шоттки допускает быстрое переключение и имеет низкое прямое напряжение. Альтернативно, вместо диода Шоттки 22 можно использовать надлежащим образом управляемый транзистор, в частности MOSFET.
Конденсатор 28 соединен с узлом N2 и с потенциалом земли. Основная функция преобразователя 18 напряжения известна. Диод 22 образует второй переключатель преобразователя 18 напряжения помимо транзистора T1.
Первая цепочка 30 LED соединена с узлом N2 и с узлом N3. Существует резистор 60 обнаружения, соединенный с узлом N3 и с землей. Таким образом, существует первая ветвь или первое последовательное соединение, состоящее из цепочки 30 и резистора 60.
Первая цепочка 30 состоит, например, из семи или восьми LED или любого другого количества. На фиг. 9 показан только первый LED 32 цепочки 30.
Вторая цепочка 40 LED соединена с узлом N2 и с узлом N4. Существует резистор 62 обнаружения, соединенный с узлом N4 и с землей. Таким образом, существует вторая ветвь или второе последовательное соединение, состоящее из цепочки 40 и резистора 62.
Вторая цепочка 40 состоит, например, из семи или восьми LED или любого другого количества, приводящего к падению напряжения, равному падению напряжения первой цепочки 30, что обычно означает такое же количество LED, как в первой цепочке 30. На фиг. 9 показан только первый LED 42 цепочки 40.
В других вариантах осуществления может существовать более двух цепочек LED, подключенных параллельно к цепочкам 30 и 40. Другие цепочки соединены с землей через резисторы, которые соответствуют резисторам 60 и 62. Резисторы 60, 62 также именуются резистором R_B и имеют низкое омическое значение, например, менее 50 Ом.
Делитель 50 напряжения, например делитель 10:1, также соединен с узлом N2 и с землей. Делитель 50 напряжения состоит из двух или более двух последовательно соединенных резисторов 52, 54. Узел N5 находится на соединении между резисторами 52 и 54.
Первый резистор 70 соединен с узлом N3. Резистор 72 соединен с узлом N4. Соответствующие резисторы соединены с соответствующими узлами дополнительных цепочек LED, которые могут быть соединены с узлом N2. Другие концы резисторов 70, 72 и т.д. соединены с узлом N6 схемы. Все резисторы 70, 72 и т.д. имеют одно и то же высокое омическое значение, например, более 4,5 кОм или 5 кОм.
Существует четыре аналого-цифровых преобразователя ADC1-ADC4. Аналого-цифровой преобразователь ADC1 соединен с узлом N6 и обнаруживает среднее значение I_E токов через резисторы 60, 62 и т.д. Ток I_E, умноженный на k, т.е. количество цепочек LED, соответствует выходному току преобразователя 18 напряжения.
Аналого-цифровой преобразователь ADC2 соединен с узлом N5 и обнаруживает напряжение U_LED на цепочках 30, 40 LED и т.д. Напряжение U_LED соответствует выходному напряжению преобразователя 18 напряжения. Кроме того, усилитель с единичным коэффициентом усиления или повторитель напряжения может быть подключен между узлом N5 и аналого-цифровым преобразователем ADC2. Делитель 52, 54 напряжения и/или усилитель с единичным коэффициентом усиления является необязательным.
Аналого-цифровой преобразователь ADC3 соединен с входом схемы, которая содержит преобразователь 18 напряжения и микроконтроллер, см. фиг. 13. Аналого-цифровой преобразователь ADC3 обнаруживает U_IN (U Input). Опять же, можно использовать делитель напряжения или усилитель с единичным коэффициентом усиления. Напряжение U_IN соответствует входному напряжению преобразователя 18 напряжения, а также входному напряжению дополнительного преобразователя, который используется для генерации рабочего напряжения микроконтроллера.
Аналого-цифровой преобразователь ADC4 соединен с дросселем (не показан) интерфейса 12 через резистивно-емкостную цепь, которая не показан на фиг. 9. Эта цепь используется для считывания DCR (сопротивления постоянного тока). Аналого-цифровой преобразователь обнаруживает I_IN (I Input), который соответствует входному току преобразователя 18 напряжения плюс входной ток дополнительного преобразователя напряжения для микроконтроллера. Можно использовать ADC4 для определения электрической мощности, используемой микроконтроллером. Однако для определения тока, который используется микроконтроллером, можно использовать другие способы. Этот электрический ток остается сравнительно постоянным в ходе работы схемной компоновки 10.
Нижеследующие уравнения можно использовать для определения полных вольтамперных характеристик схемной компоновки 10 или для нахождения надлежащей рабочей точки:
I_E=U_ADC1/R_B (1),
где U_ADC1 - напряжение, обнаруженное аналого-цифровым преобразователем ADC1, и R_B - омическое значение резистора 60, 62, и т.д.
P_OLED=U_LED*I_E*k (2)
где k - целое число, которое дает количество цепочек LED и P_OLED - полная мощность LED,
Уравнение 3 описывает входной сигнал преобразователя. По P_OLED и коэффициенту Ny эффективности преобразователя, оно коррелирует с уравнение 2, которое фактически описывает выходной сигнал преобразователя. Ny=1 - Gamma.
I_ILED=P_OLED/((1 - Gamma)*U_ILED) (3),
где I_ILED - входной ток преобразователя 18, см. точку 80 схемы, и U_ILED - входное напряжение преобразователя 18 напряжения, см. точку 80 схемы, где Gamma - коэффициент потерь преобразователя 18 (например, в диапазоне от 0,02 до 0,10 предполагая достаточную нагрузку), и
I_USB(MAX)=I_Proz+I_ILED(MAX) (4),
где I_Proz - ток, потребляемый процессором, и I_ILED(MAX) - преобразователь максимального тока в мощность, и при этом I_USB(MAX) - максимальный ток согласно стандарту USB.
Входное напряжение I_USB можно обнаруживать непосредственно с использованием ADC4.
Уравнения (1)-(4) можно использовать для вычисления I_ILED(MAX). U_LED может увеличиваться, пока I_ILED не достигнет I_ILED(MAX).
Фиг. 10 демонстрирует две кривые 106 и 108 характеристики напряжение/ток двух LED 32, 42 или одного LED 32 при равных температурах. Альтернативно, кривые 106 и 108 характеристики могут быть пригодны для двух цепочек 30, 32 LED или для одной цепочки 30 при равных температурах.
Система 100 координат имеет ось 102 x, демонстрирующую напряжение на LED или цепочке LED. Ось 104 y системы 100 координат демонстрирует ток через LED или через цепочку LED.
Кривые характеристики LED или цепочки(ек) LED измеряются индивидуально, даже если LED или цепочки LED заранее выбраны в данных допусках. Таким образом, неизвестно, какая кривая 106, 108 характеристики пригодна для LED или цепочки LED или для конкретного рабочего состояния, например для конкретных температур.
Одним из ограничений является максимальный ток LED или цепочки LED или связки LED. Другим ограничением является максимальный входной ток, отбираемый из USB-интерфейса 12. Фиг. 10 демонстрирует первый прямоугольник для максимальной мощности P1 на USB-интерфейсе 12, который пригоден для кривой 106 характеристики, т.е. напряжения U1 и тока I1. Второй прямоугольник пригоден для максимальной мощности P2 на USB-интерфейсе 12 в отношении кривой 108 характеристики, т.е. напряжения U2 и тока I2. Ток I1 больше тока I2, но напряжение U1 меньше напряжения U2.
Фиг. 11 демонстрирует этапы для определения кривой характеристики зависимости напряжения от коэффициента заполнения LED или цепочек LED или связки цепочек LED. Способ начинается на этапе 200. На следующем этапе 202, выбирается начальное значение для выходного напряжения преобразователя 18 напряжения. Начальный коэффициент DuC заполнения можно выбирать в пределах от 10 до 15 процентов, т.е. сток и исток транзистора T1 соединены в течение 10-15 процентов времени t одного коэффициента заполнения с использованием данной (фиксированной) частоты f. Предполагается, что напряжение равно, например, 14 В, и ток равен 10 мкА в одной цепочке LED. Кроме того, предполагается наличие 15 цепочек, т.е. полный ток 330 мкА. Это дает мощность 3,6 мВт (милливатт).
Не существует ограничений на увеличение DuC в начале обнаружения кривой характеристики, см. этапы 206 и 208. Это означает, что отношение может увеличиваться сравнительно большими шагами, например на 5-10 процентов, см. этап 209. На этапе 209 коэффициент заполнения увеличивается на значение, определенное на этапе 208. Увеличение коэффициента DuC заполнения повышает выходное напряжение, например, как показано на участке 260 на фиг. 12.
Однако, согласно варианту осуществления, горизонтальный участок 262, см. фиг. 12, достигается в полной кривой характеристики при напряжении U4, например 17 В. Горизонтальный участок находится между коэффициентом заполнения DuC1, например 30 процентов, и 50-55 процентов, см. также фиг. 12. На горизонтальном участке выходное напряжение преобразователя напряжения значительно не увеличивается. Постоянное напряжение означает постоянный ток, текущий через цепочки 30-40 LED.
Это означает, что коэффициент заполнения, опять же, может увеличиваться сравнительно большими шагами, например на 5-10 процентов, см. этапы 206, 208. Предполагается, что в начале имеется, например, 17 В (U4) и ток, например 1 мА, и также в конце горизонтального участка. Кроме того, частота также оказывает влияние на ширину горизонтального участка.
Если коэффициент заполнения дополнительно увеличивается, этап 209, опять же, будет существовать растущий участок 264, см. фиг. 12, кривой 256 характеристики. Однако форма кривой на участке 264 зависит от индивидуального LED, цепочки LED или цепочек LED, которые используются в параллельном соединении.
В конце растущего участка 264, см. фиг. 12, на этапе 208 используется очень малая ширина шага для обнаружения уменьшения или по меньшей мере  меньшего увеличения выходного напряжения преобразователя 18 напряжения как можно раньше.
Если обнаружено уменьшение или меньшее увеличение выходного напряжения, можно дополнительно продлить кривую способами, которые будут описаны ниже со ссылкой на фиг. 14-25.
Ширина шага может быть меньше 1 процента коэффициента заполнения тока. Ширина шага может быть меньше 0,5 процентов или менее 0,45 процентов.
За этапом 210 непосредственно следует этап 206, если увеличение коэффициента заполнения больше невозможно, см. этап 206. Увеличение невозможно, если достигнуты пределы, которые установлены спецификацией стандарта, например, стандартом USB. Способ заканчивается на этапе 210.
Фиг. 12 демонстрирует кривую 256 характеристики зависимости коэффициента (DuC) заполнения от напряжения схемной компоновки 10. Система 250 координат имеет ось 252 x, демонстрирующая коэффициент заполнения преобразователя напряжения, т.е. сигнала 26 PWM. Ось 254 y системы 100 координат демонстрирует напряжение U_LED, т.е. напряжение на выходе преобразователя 18 напряжения.
Существует первый участок 260 кривой 256 характеристики. На первом участке существует первое увеличение от DuC 0 процентов и напряжения 0 В до DuC1 и U4. DuC1 составляет, например 30 процентов. U4 равно, например 17 В.
Второй участок 262 кривой 256 характеристики образует горизонтальный участок, где напряжение значительно не изменяется, если коэффициент заполнения увеличивается от DuC1 до DuC2. DuC2 составляет, например 50-55 процентов. Можно изменять частоту сигнала 26 PWM на участке 262, например, для увеличения частоты.
Третий участок 264 кривой 256 характеристики начинается при DuC2. На третьем участке, опять же, происходит увеличение до коэффициента DuC3 заполнения и напряжения U5 на выходе преобразователя 18 напряжения. На участке 264 может быть справедлива следующая формула:
U(DuC)=1/(1-DuC)*U0,
где U0 - входное напряжение преобразователя 18.
Частота PWM может быть на участках 260 и 262, а не в главной части участка 264. Альтернативно, PFM можно использовать на участках 260 и 262.
Частота PWM в конце участка 264 может быть меньше частоты PWM в главной части участка 260. Может существовать частота, например, 1,5 МГц в главной части участка 264 и частота только 0,75 кГц в конце участка 264, т.е. частота может снижаться в диапазоне от 25 процентов до 75 процентов, предпочтительно ступенчато.
Происходит дополнительное увеличение напряжения на четвертом участке 266 кривой 256 характеристики. Участок 266 выходит за пределы спецификации USB-интерфейса 12. Таким образом, участок 266 не обнаруживается. Однако можно подойти очень близко к участку 266, как объяснено ниже со ссылкой на фиг. 14-25.
Фиг. 13 демонстрирует дополнительные компоненты схемной компоновки 10. Аналого-цифровые преобразователи ADC1-ADC4 подключены к микроконтроллеру 300 шинами сигнала, которые содержат линии данных и линии управления.
Микроконтроллер 300 содержит:
- память M, например, RAM (оперативную память), ROM (постоянную память), PROM (программируемую ROM) или EEPROM (электрически стираемую PROM) или другую разновидность памяти, и
- процессор P, который выполняет инструкции, хранящиеся в памяти M.
Альтернативно, аналого-цифровые преобразователи ADC1-ADC4 также могут входить в состав микроконтроллера 300.
Микроконтроллер 300 дополнительный содержит:
- блок 302 определения кривой характеристики или соответствующую программу, например, часть программно-аппаратного обеспечения клавиатуры, например,
- необязательный блок 304 определения частоты или соответствующую программу, например, часть программно-аппаратного обеспечения клавиатуры, например, и
- блок 306 определения коэффициента заполнения, содержащий, например, программу и оборудование.
Блок 302 определения кривой характеристики осуществляет способ, показанный на фиг. 11.
Необязательный блок 304 определения частоты можно использовать в конце участка 264. Кроме того, блок 302 можно использовать для увеличения частоты f сигнала 26 PWM на участке 260 и 262. Альтернативно, PFM можно использовать на участках 260 и 262.
Однако слева от DuC2 можно применять другое средство модуляции вместо простого увеличения частоты PWM-PFM (частотно-импульсная модуляция):
Что означает использование фазы постоянного включения длиной фазы включения, применяемой при DuC2, и удлинение фазы отключения для напряжений ниже U4 (фиг.4). Это фактически означает даже непрерывное снижение частоты для более низких напряжений. Напряжение является строго монотонно возрастающей функцией частоты, теоретически она фактически может быть почти линейной. Это тот же способ, переключающиеся источники питания используются в режиме низкой мощности для повышенной эффективности. Это также применяется к другим случаям участков 260 и 262.
Блок 306 определения коэффициента заполнения может входить в состав блока 302 определения кривой характеристики, а также может использоваться для определения коэффициента заполнения в зависимости, например, от значений, которые зависят от пользователя, или в зависимости от значений температуры.
Альтернативно, можно использовать другое оборудование вместо микроконтроллера 300, например, отдельный микропроцессор или оборудование без процессора.
Блок 308 управления используется для управления коэффициентом заполнения сигнала 26 PWM в отношении яркости значительно ниже P_MAX. Детали будут описаны ниже со ссылкой на фиг. 15-19. Блок 310 управления используется для управления коэффициентом заполнения сигнала 26 PWM в отношении яркости вблизи P_MAX. Детали будут описаны ниже со ссылкой на фиг. 20-25.
Фиг. 14 демонстрирует кривую 356 характеристики зависимости тока от яркости LED 32, 42 или цепочки 30, 40 LED. Та же кривая 356 пригодна для всех цепочек 30, 40 LED, т.е. значение тока нужно умножать на количество цепочек 30, 40 LED. Эти данные можно найти в листе данных производителя LED. Можно сохранять данные в памяти M с использованием таблицы или сплайнов, например, с использованием кубичных сплайнов.
Система 350 координат имеет горизонтальную ось 352 x, демонстрирующую значения напряжения U на LED. Вертикальная ось 354 y демонстрирует значения яркости B с использованием логарифмической шкалы. Корреляция тока и яркости для почти всей области линейна при незначительном смещении, т.е. является "мертвой" областью для очень низких токов, на конце более высоких значений немного нелинейна.
Точка 360 кривой 356 характеристики относится к яркости 360 ниже P_MAX, т.е. обычно к средней или низкой яркости LED 32, 42. Точка 362 кривой 356 характеристики относится к яркости 362 вблизи P_MAX, т.е. обычно к высокой яркости. P_MAX определяется произведением фактического входного напряжения устройства и максимального тока, установленного стандартом USB. Мощность P_MAXLED, которую можно использовать для LED 32, 42 и для цепочек 30, 42 зависит от P_MAX и от других схем, которые соединены с одним USB-интерфейсом 12 или USB-концентратором. P_MAX номинально составляет, например, 2,5 Вт для USB 2.0. Нужно учитывать P_MAXLED ниже P_MAX в качестве энергопотребления других устройств и/или схем, т.е. потребление микроконтроллера 300 или других устройств, которые работают на одном и том же USB-интерфейсе 12. Это будет более подробно объяснено ниже со ссылкой на фиг. 25.
Фиг. 15 демонстрирует обнаруженные пары значений коэффициента заполнения и тока через LED 32, 42 или цепочку 30, 40 LED или, предпочтительно, через все цепочки 30, 40 LED, которые соединены параллельно. Можно обнаруживать или даже измерять значения I с использованием аналого-цифрового преобразователя ADC1. Соответствующие значения коэффициента DuC заполнения сигнала 26 PWM будут известны в микроконтроллере 300.
Система 370 координат имеет горизонтальную ось 372 x, демонстрирующую значения коэффициента DuC заполнения сигнала 26 PWM. Вертикальная ось 374 y системы 370 координат демонстрирует значения тока I_LED, который течет через все LED 32, 42, т.е. I_LED=I_E * k, как задано выше.
В системе 370 координат также показан опорный ток I_S. Опорный ток I_S соответствует средней яркости B, выбранной пользователем клавиатуры, которая содержит клавишный переключатель 14. Кривая 356 характеристики используется для определения тока I_S, который принадлежит выбранной яркости.
Пары 380-386 значений коэффициента DuC заполнения и соответствующего тока I обнаруживаются с использованием аналого-цифрового преобразователя ADC1 и микроконтроллера 300. Также можно без труда вычислять тройки значений коэффициента DuC заполнения, напряжения U и соответствующего тока I. Можно видеть, что имеется возрастающая кривая, которая соединяет точки 380, 382, 384 и 386. Коэффициент DuC заполнения увеличивается от D1 для точки 380, через D2 для точки 382, через D3 для точки 384 до D4 для точки 386. Может существовать такое же увеличение для коэффициентов заполнения от D1 до D4. Однако можно также иметь меньшие интервалы для точек, которые располагаются вблизи I_S, как показано на фиг. 15. Микроконтроллер 300 останавливает обнаружение точек в случае обнаружения тока I, который выше опорного тока I_S, т.е. точка 386 является последней точкой, которая автоматически обнаруживается согласно варианту осуществления.
Фиг. 16 демонстрирует ньютоновскую итерацию, которая используется для обнаружения первой рабочей точки, далекой от P_MAX.
Фиг. 16 демонстрирует увеличение системы 370 координат для релевантного диапазона между коэффициентами заполнения D3 и D4, которые относятся к точкам 384 и 386 вблизи опорного тока I_S.
Задачей микроконтроллера 300 является нахождение пересечения между кривой 390, соединяющей точки 384 и 386, и горизонтальной линией, которая представляет ток I_S. Кривая 390 является кубичным сплайном согласно варианту осуществления. Можно использовать и другие методы интерполяции.
Ньютоновская итерация начинается в точке 386. Прямая 392 демонстрирует наклон кривой 390 в точке 386. Согласно известной ньютоновской итерации, можно вычислить пересечение прямой 392 и горизонтальной линии для I_S, см. точку 394. Точка 394 дает коэффициент D5 заполнения. Формула (сплайн) для кривой 390 можно использовать для определения тока I, который принадлежит коэффициенту D5 заполнения, т.е. точки 396. Следующая итерация метода Ньютона осуществляется для точки 396. Ньютоновская итерация заканчивается, если определен коэффициент заполнения, который дает ток, который находится в данном диапазоне дельты в отношении тока I_S.
Фиг. 17 демонстрирует этапы способа обнаружения первой рабочей точки, далекой от P_MAX. Этот способ ранее графически описан в отношении фиг. 14-16. Все этапы S2-S20, которые показаны на фиг. 17, автоматически осуществляются микроконтроллером 300.
Способ начинается на этапе S2 способа, т.е., короче, на этапе S2. Яркость B определяется на этапе S4, который следует за этапом S2. Яркость B базируется на значении, например, введенном пользователем клавиатуры. Яркость B может считываться из памяти M или из входного буфера.
Кривая 356 характеристики используется на этапе S6 для определения опорного тока I_S, который принадлежит яркости B, выбранной пользователем.
Пары значений коэффициента DuC заполнения и I_LED определяются на этапе S8, который следует за этапом S6. Первая пара представлена, например, точкой 380 на фиг. 15.
Затем осуществляется проверка, выше ли ток I_LED или I, который принадлежит последней обнаруженной паре значений, чем I_S, т.е. опорное значение. Способ продолжается на этапе S12, если значение I_LED не выше.
На этапе S12 коэффициент DuC заполнения увеличивается, например, на фиксированное значение или согласно стратегии для увеличения коэффициента DuC заполнения.
Теперь способ осуществляется в цикле этапов S8-S12 и определяет, несколько пары значений DuC и I, см., например, точки 382 и 384 на фиг. 15. Выход из цикла этапов S8-S12 осуществляется на этапе S10, только если ток I_LED превышает опорный ток I_S.
Этап S14 следует сразу после этапа S10, если ток I_LED выше опорного тока I_S, т.е. обнаружена последняя точка 386. Микроконтроллер 300 осуществляет ньютоновскую итерацию, которая описана выше со ссылкой на фиг. 16. Можно также использовать другие способы итерации или другие способы определения релевантного пересечения. Итерация заканчивается, если найден коэффициент DuC заполнения на пересечении или вблизи пересечения кривой 390 и опорного тока I_S.
Коэффициент DuC заполнения, определенный на этапе S14, используется на этапе S16 для управления сигналом 26 PWM и преобразователем 18 напряжения. Затем способ заканчивается на этапе S20.
Однако может существовать дрейф кривой 390 и также кривой 356 в зависимости, например, от изменений температуры в клавиатуре или вне клавиатуры. Дрейф приводит к более высокому или более низкому току I в отношении коэффициента DuC заполнения, который был определен в начале. Таким образом, предпочтительно, необходимо управление с обратной связью, см. фиг. 18.
Фиг. 18 графически демонстрирует управление средней яркостью в ходе работы клавиатуры. Предполагается, что последней рабочей точкой является точка 398. Точка 398 определяется, например, способом, описанным в отношении фиг. 14-17. Альтернативно, точка 398 определяется в ходе предыдущего управления с обратной связью.
Фиг. 18 демонстрирует ток I_2, который выше опорного тока I_S. Существует дельта D_I для I, обнаруженного аналого-цифровым преобразователем ADC1. Коррекция коэффициента заполнения необходима, если дельта D_I выходит за пределы диапазона дельты, который может, например, задаваться пороговым значением T1. Значение коррекции можно определять с использованием одного из нескольких способов. Согласно варианту осуществления используется очень простой, но, тем не менее, эффективный способ.
Предполагается, что происходит дрейф к точке 386. Альтернативно, любой другой точкой также можно распоряжаться таким же образом. Наклон прямой 392 соответствует наклону m кривой 390 в точке 386. Точка 386 является фактическим или текущим значением на кривой 390.
этот наклон m и дельта D_I используются для вычисления дельты DuC согласно следующей формуле:
D_DuC=D_I/m,
где m - наклон прямой 392. Затем D_DuC используется для уменьшения DuC.
Если дрейф происходит в другом направлении, т.е. ток I_LED снижается ниже порога в отношении I_S, аналогичный способ используется для определения D_DuC. Однако наклон кривой 390 используется в точке 398, т.е. в целевой точке.
Фиг. 19 демонстрирует этапы способа цифрового управления средней яркостью в ходе работы клавиатуры. Этот способ ранее графически описан в отношении фиг. 18. Все этапы S102-S116, показанные на фиг. 19, автоматически осуществляются микроконтроллером 300.
Способ начинается на этапе способа S102, т.е., короче говоря, на этапе S102. Дельта I, т.е. D_I, определяется на этапе S104, который следует за этапом S102. Аналого-цифровой преобразователь ADC1 используется для определения I_LED. Микроконтроллер 300 вычисляет разность между I_LED и опорным током I_S.
Затем осуществляется проверка, превышает ли абсолютное значение D_I пороговое значение T1. Если абсолютное значение D_I не превышает его, способ продолжается на этапе S104.
Теперь способ выполняет цикл этапов S104 и S106 и ожидает возникновения дрейфа. Альтернативно, способ начинается только при обнаружении дрейфа. Для запуска соответствующей процедуры микроконтроллера 300 можно использовать прерывания.
Выход из цикла этапов S104 и S106 происходит на этапе S106 только если абсолютное значение D_I выше порогового значения T1.
Этап S108 следует сразу после этапа S106, если абсолютное значение D_I выше порогового значения T1, т.е. обнаружена последняя точка 386.
Затем осуществляется проверка, превышает ли фактическое значение тока I или тока I_LED опорный ток I_S. Способ продолжается на этапе S110, если значение тока I не превышает I_S, т.е. существует дрейф к более низким значениям тока I.
Значение наклона кривой 390 в целевой точке определяется на этапе S110, например, в точке 398, как показано на фиг. 18. Затем способ продолжается на этапе S114.
Однако способ продолжается после этапа S108 на этапе S112, если значение I выше I_S, т.е. существует дрейф к более высоким значениям тока I. Значение наклона кривой 390 в текущей или фактической рабочей точке определяется на этапе S112, например, в точке 386, как показано на фиг. 18. Затем способ продолжается на этапе S114.
Этап S114 относится к вычислению значения коррекции или значения дельты D_DuC для коэффициента DuC заполнения согласно вышеприведенной формуле.
Коэффициент DuC заполнения тока корректируется на этапе S116 на основании вычисленного значения для D_DuC.
Этап S104 следует, опять же, после этапа S116, т.е. способ выполняет цикл этапов S104-S116 и осуществляет управление яркостью LED 32, 42. Способ заканчивается, например, при выключении компьютера и клавиатуры.
Фиг. 20 графически демонстрирует определение кривой характеристики вблизи P_MAXLED. Вычисление P_MAXLED будет более подробно описано ниже в отношении фиг. 25.
Система 400 координат имеет горизонтальную ось 402 x, демонстрирующую значения U_LED. U_LED обнаруживается с использованием аналого-цифрового преобразователя ADC2. Вертикальная ось 404 y системы 400 координат демонстрирует значения I_LED. I_LED обнаруживается с использованием аналого-цифрового преобразователя ADC1.
Предполагается, что ток I3 и напряжение U3b пригодны для максимального энергопотребления, которое разрешено для LED 32, 42, т.е. для цепочек 30, 42 в данный момент. Это означает, что произведение тока I3 и напряжения U3b равно электрической мощности P_MAXLED.
Способы, которые будут описаны в дальнейшем, не превышают предельную мощность P_MAXLED. Поскольку функция является вогнутой, наклон, используемый для интерполяции, круче действительной единицы, и это позволяет гарантировать, что вычисленное новое U_LED ниже U_LED_U3b. Это может произойти только если какое-либо другое устройство потребляет дополнительную мощность, снижая мощность, которая остается для использования осветительной системой. Но поскольку MCU (блок микроконтроллера) или другой блок обработки управляет всеми компонентами, которые могут привести к этому, он может снижать ток LED прежде чем устройство начнет потреблять дополнительную мощность. Температурный дрейф происходит достаточно медленно, что позволяет обнаружить его до того, как P_MAX превысит предел.
Кроме того, предельная мощность P_MAXLED является переменной. Однако способы также можно использовать для фиксированной предельной мощности.
Микроконтроллер 300 обнаруживает пары обнаруженных значений 410-414, т.е. точку 410, имеющую напряжение U0b и соответствующий ток, точку 412, имеющую напряжение U1b и соответствующий ток, и точку 414, имеющую напряжение U2b и соответствующий ток. Точки 410-414 указаны в спецификации стандарта USB или другого стандарта, например firewire. Это означает, что электрическая мощность для точек 410, 412 и 414 меньше максимальной мощности P_MAXLED. Таким образом, обнаруживать эти точки 410, 412 и 414 можно путем увеличения U с фиксированной шириной шага или согласно другой надлежащей стратегии. Для нахождения кривой или кривых 420, лежащих ниже точек 410-414, можно использовать интерполяцию. Можно использовать сплайновую интерполяцию, например кубичные сплайны или квадратичные сплайны.
Однако если рабочая точка находится вблизи максимальной мощности, используется более сложный способ, позволяющий убедиться в том, что максимальная мощность P_MAXLED не превышена. Это будет описано в дальнейшем.
Кривая 422 экстраполируется от точки 414 к точке 416, которая соответствует максимальной мощности и имеет напряжение U3b и ток I3. Опять же, для экстраполяции также можно использовать сплайны. Однако также можно использовать другие методы экстраполяции.
Наклон m кривой 422 в точке 416 определяется, например, с использованием первой производной кривой 422. Прямая 430 демонстрирует этот наклон m. Предполагается, что наклон m кривой 422 возрастает с увеличением значений U. Наклон m в точке 416 также используется в точке 414 для определения следующего значения U_LED.
Это можно графически представить параллельным переносом линии сканирования 430 к точке 414, см. прямую 432. Затем вычисляется пересечение линии 432 сканирования и горизонтальной линии I3, например, с использованием разности тока I3 и тока в точке 414 и наклона m линии 432 сканирования. Это дает дельту U, которую можно прибавить к напряжению U2b в точке 414. Полученное напряжение является напряжением U4b.
Напряжение U4b используется для определения соответствующего коэффициента DuC заполнения, например, с использованием кривой 256 характеристики, см. фиг. 12. С этой целью можно использовать сохраненные пары значений кривой 256. Альтернативно, можно использовать формулу, которую можно получить преобразованием вышеприведенной формулы для U(DuC). Другими словами, хорошую оценку необходимого коэффициента заполнения можно получить, либо с использованием функции, обратной функции характеристики преобразователя, либо с использованием данных из кривой 256 для создания инвертированного сплайна, т.е. путем диагонального отражения кривой 256.
Этот коэффициент DuC заполнения используется для управления преобразователем 18. Затем напряжение U_LED обнаруживается, опять же, аналого-цифровым преобразователем ADC2, и соответствующий ток I обнаруживается аналого-цифровым преобразователем ADC1, что дает дополнительную точку 440, которая описывает соотношение между напряжением U_LED и током I_LED.
Следующий шаг итерации может осуществляться с использованием точки 440 вместо точки 414 и с использованием, опять же, наклона m, определенного для точки 416. Итерация заканчивается, если мощность для последней точки достаточно близка к максимальной мощности P_LEDMAX. Можно также осуществлять только один шаг итерации или находить пропущенные точки другим способом.
Фиг. 21 демонстрирует этапы способа определения кривой характеристики вблизи P_MAX. Этот способ ранее был графически описан в отношении фиг. 20. Все этапы S202-S218, показанные на фиг. 21, автоматически осуществляются микроконтроллером 300.
Способ начинается на этапе способа S202, т.е., короче говоря, на этапе S202. Последняя известная точка 414, которая имеет электрическую мощность, отвечающую стандарту USB, определяется на этапе S204, который следует за этапом S202.
Последняя точка 414 и, в необязательном порядке, другие точки 410, 412 используются на этапе S204 для экстраполяции кривой 422 к точке 416 которая представляет максимальную электрическую мощность для LED 32, 42 в цепочках 30, 40.
Затем производная в точке 416, т.е. точка максимальной мощности вычисляется для получения наклона m в этой точке 416, см. этап S208.
На этапе S210, точка, обнаруженная последней, используется в качестве начальной точки для следующей экстраполяции с использованием наклона m, вычисленного на этапе 208. Это, например, точка 414 для первой итерации и точка 440 для второй итерации. Новое значение U_LED вычисляется на основании экстраполяции, которая использует наклон m.
После этого, на этапе S212, новое значение U_LED устанавливается путем выбора надлежащего коэффициента заполнения для преобразователя 18 напряжения. С этой целью можно использовать обновленную кривую 256 характеристики.
Значения напряжения U_LED и тока I_LED обнаруживаются для нового коэффициента заполнения на этапе S214. Аналого-цифровой преобразователь ADC1 используется для обнаружения тока I_LED, и аналого-цифровой преобразователь ADC2 используется для обнаружения напряжения U_LED.
Затем осуществляется проверка, необходимы ли дополнительные шаги итерации. Способ продолжается на этапе S210, если необходимы дополнительные шаги итерации, см. стрелку 442.
Теперь способ выполняет цикл этапов S210-S216 и предусматривает нахождение новой пары значений напряжения U_LED и тока I_LED. Все пары или точки имеют электрическую мощность, которая меньше P_MAXLED.
Выход из цикла этапов S210-S216 осуществляется на этапе S216, только если дополнительные шаги итерации не требуется, например, поскольку последняя пара значений имеет электрическую мощность, очень близкую к P_MAXLED. В этом случае сразу после этапа S216 следует этап S218.
Фиг. 22 демонстрирует определение кривой характеристики вблизи P_MAX или, точнее говоря, вблизи P_MAXLED, согласно второму варианту осуществления. Фиг. 22 соответствует фиг. 20. Однако точка 440 используется для улучшения кривой 422 экстраполяции. Новая кривая 450 вычисляется с использованием точки 414 и точки 440, а также других точек 410, 412.
Наклон m2 кривой 450 в точке 440 используется для следующей итерации вместо наклона m кривой 422 в точке 416. Итерация становится более точной и/или быстрой по сравнению со способом, показанным на фиг. 20.
Второй вариант осуществления также показан на фиг. 21, см. пунктирную линию 444, которая проходит от этапа S216 к этапу S206. Способ, таким образом, выполняет цикл этапов S206-S216 и предусматривает нахождение новой пары значений напряжения U_LED и тока I_LED с использованием улучшенных кривых 422, 450 экстраполяции и т.д. Все пары или точки имеют электрическую мощность, которая меньше P_MAXLED.
Фиг. 23 демонстрирует управление яркостью вблизи P_MAX или вблизи P_MAXLED в ходе работы клавиатуры. Предполагается, что происходит дрейф к более высоким значениям тока I, т.е., например, к току I4. Микроконтроллер 300 обнаруживает разность I, т.е. дельты D2_I. Микроконтроллер 300 осуществляет этап управления с обратной связью, если дельта D2_I увеличивает пороговое значение T2.
Вычисляется производная кривой 422 или даже обновленной кривой 450 в точке 498. Точка 498 имеет значение тока I4, которое выше тока I3.
Производную в точке 498 можно представить прямой 500 с наклоном m3. Прямая 500 является касательной к кривой 422, 450 в точке 498. Дельта D_U напряжения вычисляется с использованием дельты D2_I и наклона m3. Дельта D_U вычитается из последнего значения напряжения U_LED, например, между напряжением U4b и напряжением U3b.
Новый коэффициент DuC заполнения определяется из обновленной характеристики 256 на основании нового значения напряжения U_LED. Сигнал 26 PWM регулируется согласно новому коэффициенту заполнения для уменьшения U_LED и I_LED.
В отличие от дрейфа к более высокому значению, наклон в целевой точке нужно использовать, если существует дрейф к более низким значениям тока I, см. описание фиг. 18.
Фиг. 24 демонстрирует этапы способа управления яркости B вблизи P_MAX в ходе работы клавиатуры. Этот способ ранее был графически описан в отношении фиг. 23. Все этапы S302-S312, показанные на фиг. 24, автоматически осуществляются микроконтроллером 300.
Способ начинается на этапе способа S302, т.е., короче, на этапе S302. Дельта I, т.е. D2_I, определяется на этапе S304, который следует за этапом S302. Аналого-цифровой преобразователь ADC1 используется для определения I_LED. Микроконтроллер 300 вычисляет разность между I_LED и опорным током I3 или I_S.
Затем осуществляется проверка, превышает ли абсолютное значение D2_I пороговое значение T2. Если абсолютное значение D2_I не превышает его, способ продолжается на этапе S304.
Теперь способ выполняет цикл этапов S304 и S306 и ожидает возникновения дрейфа. Альтернативно, способ начинается только при обнаружении дрейфа. Для запуска соответствующей процедуры микроконтроллера 300 можно использовать прерывание.
Выход из цикла этапов S304 и S306 происходит на этапе S306, только если абсолютное значение D2_I выше порогового значения T2.
Этап S308 следует сразу после этапа S306, если абсолютное значение D2_I выше порогового значения T2.
Затем осуществляется проверка, превышает ли фактическое значение I или I_LED опорный ток I_S. Способ продолжается на этапе S310, если значение I не превышает I_S, т.е. существует дрейф к более низким значениям I.
Значение наклона кривой 390 в целевой точке определяется на этапе S310. Затем способ продолжается на этапе S314.
Однако способ продолжается после этапа S308 на этапе S312, если значение I больше I_S, т.е. существует дрейф к более высоким значениям I. Значение наклона кривой 422 или кривой 450 в текущей рабочей точке определяется на этапе S312, например, в точке 498, как показано на фиг. 23.
Если точка 498 достигается в первый раз вследствие дрейфа, просто наклон в последней намеренно отрегулированной точке можно надлежащим образом масштабировать, поскольку дрейф не будет изменять базовую форму кривой, но, приближенно, можно считать, что кривая просто растягивается. Полученная регулировка будет, конечно, создавать новую пару значений, которую можно использовать для дополнительного уточнения новой кривой обычными методами интерполяции. Температурный дрейф будет "масштабировать" всю кривую, тогда как большинство других влияний просто будет перемещать разрешенный максимум, оставляя саму по себе существующую кривую нетронутой. В конце допустимого диапазона это осуществляется ранее объясненным образом, тогда как для других точек используется уже известная интерполяционная функция, производная которой дает наклон.
Затем способ продолжается на этапе S314.
Этап S314 используется для вычисления значения коррекции или значения дельты D_U с использованием наклона m и дельты I, т.е., например D2_I. Новое U_LED вычисляется с использованием значения дельты D_U.
Коэффициент DuC заполнения тока корректируется на этапе S316 на основании вычисленного значения для D_U. Кривую 256 характеристики можно использовать для вычисления нового DuC для нового напряжения U_LED. Сигнал 26 PWM адаптируется согласно новому коэффициенту DuC заполнения. Это приводит к увеличению или уменьшению тока I.
Этап S304 следует, опять же, после этапа S316, т.е. способ выполняет цикл этапов S304-S316 и осуществляет управление яркостью LED 32, 42 вблизи максимальной мощности P_MAXLED. Способ заканчивается, например, при выключении компьютера и клавиатуры.
Согласно фиг. 19 и фиг. 24, используются разные кривые, т.е. зависимости тока от коэффициента заполнения (фиг. 19) и тока от напряжения (фиг. 24). Достаточно хорошее приближение зависимости коэффициента DuC заполнения от тока I можно вычислить из зависимости напряжения U от тока I и наоборот, насколько рабочая точка достаточно далека от P_MAX. Можно также использовать зависимость напряжения U от тока I для управления в рабочей точке, далекой от P_MAX. Поскольку существует строго монотонно возрастающая корреляция между коэффициентом заполнения и напряжением, их можно использовать эквивалентно.
Фиг. 25 демонстрирует этапы способа определения P_MAX. Все этапы S400-S412, показанные на фиг. 25, автоматически осуществляются микроконтроллером 300.
Способ начинается на этапе способа S400, т.е., короче, на этапе S400. Входное напряжение U_IN схемной компоновки 10 обнаруживается на этапе S404, который следует за этапом S400. Для обнаружения U_IN используется аналого-цифровой преобразователь ADC3.
Относительное уменьшение U_IN относительно опорного напряжения U_REF вычисляется на этапе S404, который следует за этапом S402. Опорное напряжение U_REF для USB равно, например 5 В.
Полная максимальная электрическая мощность P_MAX и/или мощность P_MAXLED, которую можно использовать для LED 32, 42 и для цепочек 40, 42 вычисляется на этапе S408 на основании результатов этапа S404. Уменьшение максимальной мощности P_MAX, P_MAXUSB или мощности P_MAXLED, например, пропорционально уменьшению входного напряжения U_IN. Это, например, означает, что P_MAXLED снижается на десять процентов, если U_IN также снижается на десять процентов относительно U_REF. Также можно использовать другие схемы вычисления.
Новая P_MAXLED используется на этапе S410, например, в способах, показанных на фиг. 21 и фиг. 24.
Необязательный этап S412 может содержать задержку. Способ снова повторяется, начиная с этапа S402.
Для вычисления P_MAXLED можно использовать следующие формулы:
P_MAXUSB=U_USB*500 mA (миллиампер),
где U_USB - внутреннее напряжение позади диода,
P_USB=P_LED+P_PROZ,
P_MAXLED=(P_USB-P_PROZ)*(1-GAMMA),
где GAMMA - коэффициент потерь в преобразователе напряжения.
Максимальная мощность P_MAX и/или мощность P_MAXLED снижается при наличии уменьшения напряжения для входного напряжения U_IN. Уменьшение напряжения может объясняться включением дополнительного устройства на USB-интерфейсе, которая совместно использует свой источник питания с другими USB-интерфейсами. Кроме того, уменьшение напряжения может объясняться высоким током через сами LED. Это означает, что яркость можно автоматически ограничивать вышеописанными способами, если пользователь выбирает слишком высокую яркость. Вследствие своей нестрого определенной природы, возможно возникающее падение напряжения USB не позволяет эффективно ограничивать P_MAXLED, хотя способы, в целом, позволяют.
Фиг. 21 релевантна, если мощность P_MAXLED возрастает, например, вследствие удаления USB-устройства из USB-интерфейса 12, который совместно использует свой источник питания с другими USB-интерфейсами. В этом случае опорный ток I3 или I_S будет увеличиваться. Нужно найти экстраполяцию кривой 420 характеристики в дополнительный диапазон.
Однако этап S312 на фиг. 24 релевантен, если мощность P_MAXLED и опорный ток I_S уменьшаются, например, поскольку USB-устройство соединен с другим USB-интерфейсом 12, совместно использующим тот же источник питания. Кривая 420 характеристики уже известны в этом случае.
Другие способы также можно использовать для определения P_MAX или P_MAXLED. Можно, например, использовать аналого-цифровой преобразователь ADC4. Входной ток I_IN обнаруживается посредством ADC4. Мощность P_MAX и/или также P_MAXLED должна снижаться, если входной ток I_IN выше I_MAX, указанного, например, стандартом USB или другим релевантным стандартом. Величина уменьшения максимальной электрической мощности P_MAX может быть пропорциональна уменьшению I_IN, которое необходимо для получения тока, заданного спецификацией.
Результат способа, показанного на фиг. 25, нужно рассматриваться для способа, показанного на фиг. 20. Оба способа нужно применять по очереди, если работать на пределе. Способ, показанный на фиг. 25, является необязательным, если работать достаточно далеко от предела.
Вместо бустерного преобразователя можно также использовать другой тип преобразователя, в частности, инвертор, вольтодобавочный преобразователь или обратноходовой преобразователь. В одной ветви схемы могут присутствовать только один LED или два LED, если используется вольтодобавочный преобразователь.
В других вариантах осуществления рабочим напряжением возбудителя LED управляют с использованием одних и тех же или соответствующих схем или способов. Цепочка LED заменяется одной схемой возбуждения, которая возбуждает множество LED.
Можно использовать заранее выбранные LED, например LED, для которых производитель LED гарантирует яркость, которая находится в очень малом диапазоне для опорного тока, например, в диапазоне плюс и/или минус менее 5 процентов или 1 процент относительно опорной яркости, которая лежит в диапазоне, например, в середине диапазона. Однако, изобретение также подходит для заранее не выбранных LED /оптических элементов.
Постоянное входное напряжение используется в других вариантах осуществления вместо напряжения USB.
Изобретение можно использовать для LED клавиатуры, LED подсветка для дисплеев, мощных LED для транспортных средств, например, автомобилей, грузовиков, кораблей, самолетов и т.д.
Хотя были подробно описаны варианты осуществления настоящего изобретения и их преимущества, следует понимать, что они допускают различные изменения, замены и модификации, не выходящие за рамки сущности и объема изобретения, заданных нижеследующей формулой изобретения. Например, специалистам в данной области техники легко понять, что многие описанные здесь признаки, функции, процессы и способы могут изменяться, оставаясь при этом в объеме настоящего изобретения. Кроме того, объем настоящей заявки не подлежит ограничению конкретными вариантами осуществления системы, процесса, изготовления, способа или этапов, описанных в настоящем изобретении. Специалисту в данной области техники легко понять из раскрытия изобретения, что системы, процессы, изготовление, способы или этапы, существующие в настоящее время или подлежащие разработке в дальнейшем, которые осуществляют, по существу, ту же функцию или достигают, по существу, того же результата, что и соответствующие описанные здесь варианты осуществления, можно использовать согласно настоящему изобретению. Соответственно, нижеследующая формула изобретения призвана включать в свой объем такие системы, процессы, способы или этапы. Варианты осуществления введения можно комбинировать друг с другом. Кроме того, можно комбинировать друг с другом примеры описания фигур.
Дополнительно, можно комбинировать варианты осуществления введения и примеры описания фигур.
Подробное описание - третий аспект
Ниже подробно рассмотрены формирование и использование предпочтительных в настоящее время вариантов осуществления. Однако очевидно, что настоящее изобретение предусматривает многие применимые принципы изобретения, которые можно реализовать в разнообразных конкретных контекстах. Конкретные рассмотренные варианты осуществления призваны лишь иллюстрировать конкретные пути создания и использования изобретения, но не ограничивать объем изобретения. Кроме того, одинаковые ссылочные позиции указывают одни и те де технические признаки, если не указано обратное. Слово "может", используемое в этой заявке, означает возможность совершения того или иного действия, а также фактическую техническую реализацию.
Фиг. 26 демонстрирует клавиатуру 10, которая соединена с компьютером 12 через USB-кабель 14.
Клавиатура 10 содержит:
- микроконтроллер 16, т.е. процессор, память и периферийные схемы, или микропроцессор или просто кристалл процессора,
- множество нажимных кнопок, см., например, нажимную кнопку 17, или другой элемент ввода, например сенсорный экран,
- память 18, которая может входить в состав микроконтроллера 16,
- функция 20 USB-устройства, которая также может входить в состав микроконтроллера 16 или другого кристалла USB.
Все элементы ввода могут содержать одни и те же элементы, например, головку 17a нажимной кнопки помимо нажимной кнопки 17. Код клавиши, например 17b, можно задавать и использовать для каждой нажимной кнопки, например 17, или головки нажимной кнопки, например 17a. Нажимная кнопка 17 может принадлежать головке нажимной кнопки, несущей букву "A". Таким образом, соответствующий код 17b клавиши равен hex 04, т.е. в данном случае, равен десятичному 04.
Память M или 18 может содержать программно-аппаратное обеспечение 22, которое включает в себя рабочие инструкции для процессора или контроллера 16. Упомянутые в дальнейшем способы выполняются, если инструкции программно-аппаратного обеспечения 22 обрабатываются процессором или контроллером 16. Альтернативно, можно использовать схему без процессора и контроллера 16, например, FPGA (вентильную матрицу, программируемую пользователем).
Компьютер 12 содержит:
- процессор 24, например микропроцессор,
- память 26, где хранятся данные инструкций для процессора 24 и/или другие данные, которые можно использовать в ходе обработки инструкций, и
- USB-хост 28, который работает, например, в соответствии со спецификацией USB.
В памяти M или 30 может храниться:
- программа драйвера 30 устройства для клавиатуры 10, и/или
- программа 32 анализатора, которая способна считывать описатели отчетов, как объяснено ниже, в частности, в отношении фиг. 32, и/или которая способна принимать отчеты, которые согласуются с такими описателями отчетов. Программа 32 анализатора может входить в состав драйвера 30 устройства.
USB-хост 28 осуществляет связь через USB-кабель 14 с несколькими концевыми точками, которые заданы и реализованы в клавиатуре 10:
- концевой точкой EP0, которая, в основном, используется в целях конфигурирования USB-устройства 20, т.е. клавиатуры 10,
- концевой точкой EP1, которая, например, используется совместно с протоколом начальной загрузки BIOS,
- концевой точкой EP2, которая используется для передачи кодов клавиш под управлением операционной системы,
- необязательными концевыми точками EPx, где x - число в диапазоне от 3 до 32.
Концевая точка EP0 также называется концевой точкой по умолчанию и используется для конфигурирования других концевых точек при запуске BIOS и операционной системы, см. данные 40 конфигурации. При запуске BIOS используются только концевая точка EP0 и концевая точка EP1. На этой фазе концевая точка EP1 конфигурируется через концевую точку EP0. Двунаправленный перенос данных 41 происходит от USB-хоста 28 на USB-устройство 20 и в противоположном направлении, т.е. от USB-устройства 20 на USB-хост 28.
Концевую точку EP1 можно использовать для передачи от 1 до 6 байтов кода клавиши плюс один байт для модификаторов, см. данные 44 протокола начальной загрузки. В спецификации задан восьмой байт, который зарезервирован и не может использоваться для кодов клавиш или для модификаторов. Большинство BIOS способны работать с таким количеством кодов клавиш для каждой передачи. Коды клавиш из концевой точки EP1 передаются в данных 42 полезной нагрузки на USB-хост 28. USB-хост 28 ретранслирует данные кода клавиши на драйвер 30. Драйвер 30 осуществляет связь с главной операционной системой компьютера 12 или непосредственно с BIOS, в зависимости от режима работы.
Данные 46 полезной нагрузки направляются к концевой точке EP2 от USB-хоста 28 или в другом направлении, т.е. от USB-устройства 20 на USB-хост 28. Данные 46 полезной нагрузки содержат несколько отчетов:
- данные 48 отчета,
- данные 50 отчета, и
- необязательные данные 52 отчета.
Данные 48 отчета идентифицируются первым идентификатором отчета ID0 который имеет, например, численное значение "0". Согласно определению первых данных 48 отчета можно включать вплоть до 6 "нормальных" кодов клавиш, т.е. никаких модификаторов, и один байт для, максимум, 8 модификаторов.
Данные 50 отчета идентифицируется вторым идентификатором отчета ID1, который имеет, например, численное значение "1". Согласно определению вторых данных 50 отчета можно включать вплоть до 6 "нормальных" кодов клавиш, т.е. никаких модификаторов, и один байт для максимум 8 модификаторов.
То же самое может быть справедливо для необязательных данных 52 отчета и возможных дополнительных данных отчета, см. идентификатор отчета IDx. Опять же, в эти дополнительные отчеты можно включать вплоть до 6 "нормальных" кодов клавиш, т.е. никаких модификаторов, и один байт для максимум 8 модификаторов.
USB-хост 28 запрашивает данные отчета 44, а также данные 48-52 отчета у USB-устройства в ходе начальной загрузки BIOS и в режиме работы OS. Это называется опросом. В отсутствие кодов клавиш для отчета от USB-устройства 20 может отправляться NAK (отрицательное квитирование, т.е. отказ в запросе данных). Это имеет место, если не нажато ни одной клавиши или если коды клавиш нажатых клавиш могут передаваться более ранними отчетами в течение одной(го) и той(го) же фазы или периода передачи.
Определение формата данных 48-52 отчета приведено ниже в отношении фиг. 32. На основании определения данных 48-52 отчета в описателе отчета, анализатор 32 способен извлекать коды клавиш из данных 46 полезной нагрузки. Анализатор 32 входит в состав драйвера 30 клавиатуры, который передает коды клавиш операционной системе компьютера 12.
Таким образом, только две концевые точки EP1 и EP2 используются для передачи всех кодов клавиш, которые могут нажиматься между двумя фазами опроса. Кроме того, объем данных служебной нагрузки невелик, поскольку в каждом отчете передается только 6 нормальных кодов клавиш, т.е. если в группе был передан только один код клавиши, существует только 5 байтов служебной нагрузки за исключением данных для модификаторов.
Фиг. 27 демонстрирует описатель 100 устройства согласно спецификации USB, см., например, USB 2.0, 27 апреля 2000 г., стр. 262 и 263. В дальнейшем упомянуты только эти поля, что позволяет лучше понять изобретение. Используются и другие поля, но они не имеют прямого отношения к изобретению.
Описатель 100 устройства содержит или включает в себя, например:
- данные 102 длины со смещением 0 байтов от начала описателя,
- данные 104 описателя со смещением 1 байт и два байта,
- данные 106 класса устройств со смещением 4 байта,
- дополнительные данные 108 описателя со смещением от 5 до 16 байтов, и
- количество описателей 110 конфигурации со смещением 17 байтов.
Данные 102 длины указывают размер описателя 100 устройства в байтах. Данные 106 класса устройств указывают код класса клавиатуры, т.е. HID (устройства человеко-машинного интерфейса) с кодом класса hex 03. Количество описателей 110 конфигурации указывает количество возможных конфигураций. Описатель конфигурации описывает по меньшей мере  одну конфигурацию, как объяснено в дальнейшем в отношении фиг. 28.
Фиг. 28 демонстрирует описатель конфигурации согласно спецификации USB, см., например, USB 2.0, 27 апреля 2000 г., стр. 265 и 266. В дальнейшем, упомянуты только эти поля, что позволяет лучше понять изобретение. Используются и другие поля, но они не имеют прямого отношения к изобретению.
Описатель 120 конфигурации содержит или включает в себя:
- данные 122 длины со смещением 0 байтов от начала описателя,
- данные 124 описателя со смещениями 1 байт и 2 байта,
- количество описателей 126 интерфейса со смещением 4 байта,
- дополнительные данные 128 описателя со смещениями от 5 до 7 байтов, и
- данные, указывающие максимальную мощность 130 со смещением 8 байтов.
Данные 122 длины указывают длину описателя 120 конфигурации. Количество описателей 126 интерфейса указывает количество интерфейсов, поддерживаемых этой конфигурацией. Поддерживается, по меньшей мере,  интерфейс. Пример описателя интерфейса приведен ниже на фиг. 29.
Данные 130, указывающие максимальную мощность, дают максимальное энергопотребление USB-устройств из шины в этой конкретной конфигурации, когда устройство полностью используется, выраженный блоками 2 мА (миллиампер), например 50=100 мА.
Фиг. 29 демонстрирует описатель 140 интерфейса согласно спецификации USB, см., например, USB 2.0, 27 апреля 2000 г., стр. 268 и 269. В дальнейшем, упомянуты только эти поля, что позволяет лучше понять изобретение. Используются и другие поля, но они не имеют прямого отношения к изобретению.
Описатель 140 интерфейса содержит или включает в себя:
- данные 142 длины, имеющие смещение 0 байтов,
- данные 144 описателя со смещениями 1 байт, 2 байта и 3 байта от начала описателя,
- количество концевых точек 146 со смещением 4 байта,
- дополнительные данные описателя 148 со смещениями от 5 байтов до 7 байтов,
- индекс данных 150 цепочки со смещением 8 байтов.
Данные 142 длины указывает размер описателя 140 интерфейса. Количество концевых точек 146 указывает количество концевых точек, используемых этим интерфейсом, за исключением концевой точки нуль. Пример описателя концевой точки приведен ниже на фиг. 31. Индекс данных 150 цепочки указывает индекс описателя цепочки, описывающий этот интерфейс, т.е. интерфейс, указанный описателем 140 интерфейса.
Фиг. 30 демонстрирует описатель 160 HID согласно спецификации USB, см., например, спецификацию HID: универсальная последовательная шина (USB) - определение класса устройств для устройств человеко-машинного интерфейса (HID), спецификация программно-аппаратного обеспечения 6/27/01, версия 1.11, стр. 22. В дальнейшем, упомянуты только эти поля, что позволяет лучше понять изобретение. Используются и другие поля, но они не имеют прямого отношения к изобретению.
Описатель 160 HID содержит или включает в себя:
- данные 162 длины со смещением 0 байтов,
- данные 164 описателя со смещениями 1 байт, 2 байта и 4 байта,
- количество описателей 166 отчетов со смещением 5 байтов,
- дополнительные данные 168 описателя со смещением 6 байтов,
- данные длины, указывающие длину описателя 170 отчета со смещением 7 байтов,
- дополнительные данные 172 со смещениями 9 байтов и, возможно, 10 байтов.
Данные 162 длины представляют собой численное выражение, которое является полным размером описателя 160 HID. Количество описателей 166 отчетов представляют собой численное выражение, указывающее количество описателей классов, которое всегда равно по меньшей мере  одному, т.е. описатель отчета. Данные длины, указывающие длину описателя 170 отчета, представляют собой численное выражение, которое является полным размером описателя отчета. Пример описателя отчета объяснен ниже в отношении фиг. 32.
Фиг. 31 демонстрирует описатель 180 концевой точки согласно спецификации USB, см., например, USB 2.0, 27 апреля 2000 г., стр. 269-271. В дальнейшем, упомянуты только эти поля, что позволяет лучше понять изобретение. Используются и другие поля, но они не имеют прямого отношения к изобретению.
Описатель 180 концевой точки содержит или включает в себя:
- данные 182 длины со смещением 0 байтов,
- данные 184 описателя со смещением 1 байт,
- данные 186 адреса концевой точки со смещением 2 байта,
- дополнительные данные 188 описателя со смещениями 4 байта и 5 байтов,
- данные 190 интервала со смещением 6 байтов.
Данные 182 длины указывает размер этого описателя 180. Данные 186 адреса концевой точки указывают адрес или идентификатор концевой точки для концевой точки на USB-устройстве 20, см. фиг. 26. Данные 190 интервала указывают интервал для опроса концевой точки для переносов данных. Интервал выражается в кадрах или микрокадрах в зависимости от быстродействия устройства, т.е. 1-миллисекундных или 125-миллисекундных блоках. Для полноскоростных или низкоскоростных концевых точек прерывания, значение этого поля может составлять от 1 до 255.
Фиг. 32 демонстрирует описатель 200 отчета, упомянутый в описателе 160 HID. Описатели отчетов и/или одиночные поля данных описателей отчетов упомянуты и указаны в спецификации HID. Однако остается возможность дополнительных определений. Здесь, описатель отчета задает два отчета для одной и той же клавиатуры, которая не упомянута в спецификации HID.
См., например, спецификацию HID: универсальная последовательная шина (USB) - определение класса устройств для устройств человеко-машинного интерфейса (HID), спецификация программно-аппаратного обеспечения 6/27/01, версия 1.11, стр. 23 - стр. 25. В дальнейшем, упомянуты только эти поля, что позволяет лучше понять изобретение. Используются и другие поля, но они не имеют прямого отношения к изобретению.
Описатель 200 отчета содержит или включает в себя:
- данные 202 заголовка,
- определение 204 первого отчета, и
- определение 206 второго отчета.
Данные 202 заголовка содержит или состоят из:
- данные 210 описателя, например USAGE_PAGE(...),
- дополнительные данные 212 описателя, например USAGE(...) и
- определение начала коллекции 214, например COLLECTION(),
Определение 204 первого отчета содержит или включает в себя:
- идентификатор 216 первого отчета, например, REPORT ID(0),
- данные описателя первого отчета 218, например usage(...), usage minimum(...), usage maximum(...), logical minimum(...), logical maximum(...),
- размер 220 отчета, например, report size(x), где x - число в диапазоне от 1 до n, n равно, например, 32 или более,
- счетчик 222 отчетов, например, report count(y), где y - число в диапазоне от 1 до n, n равно, например, 32 или более,
- определение входа или определение выхода 224, например, input (data, variable, absolute),
- дополнительные данные 226 описателя, например, input(constant), т.е. spacer byte.
Определение 206 второго отчета содержит или включает в себя:
- идентификатор 228 второго отчета, например, REPORT ID(1),
- данные описателя второго отчета 230, например, usage(...), usage minimum(...), usage maximum(...), logical minimum(...), logical maximum(...),
- размер 232 отчета, например, report size(y), где y - число в диапазоне от 1 до n, n равно, например, 32 или более,
- счетчик 234 отчетов, например report count(w), где w - число в диапазоне от 1 до n, n равно, например, 32 или более,
- определение входа или определение выхода 236, например, input (data, variable, absolute),
- дополнительные данные 238 описателя, например, input(constant), т.е. spacer byte.
Можно также задать более двух отчетов с разными идентификаторами отчетов, см. данные 240.
Ниже приведен пример реализации описателя отчета клавиатуры:
const uchar code keyboardReportDescriptor[KEYBOARD_SIZ_REPORT_DESC]={
0x05, 0x01, // usage page (generic desktop)
0x09, 0x06, // usage (keyboard)
0xA1, 0x01, // collection (application)
0x85, 0x00, // REPORT ID(0)
0x05, 0x07, // usage (Key codes)
0x19, 0xE0, // usage minimum (224)
0x29, 0xE7, // usage maximum (231)
0x15, 0x00, // logical minimum (0)
0x25, 0x01, // logical maximum (1)
0x75, 0x01, // report size (1)
0x95, 0x08, // report count (8)=Modifier Bits (x8)
0x81, 0x02, // Input (data, variable, absolute)=Modifier Byte
0x81, 0x01, // Input (Constant)=Reserved Byte
0x19, 0x00, // usage minimum (0)
0x29, 0x65, // usage maximum (101)
0x15, 0x00, // logical minimum (0)
0x25, 0x65, // logical maximum (101)
0x75, 0x08, // report size (8)
0x95, 0x06, // report count (6)
0x81, 0x00, // input (data, array)=Keycode Bytes (6)
0x85, 0x01, // REPORT ID(1)
0x05, 0x07, // usage (Key codes)
0x19, 0xE0, // usage minimum (224)
0x29, 0xE7, // usage maximum (231)
0x15, 0x00, // logical minimum (0)
0x25, 0x01, // logical maximum (1)
0x75, 0x01, // report size (1)
0x95, 0x08, // report count (8)=Modifier Bits (x8)
0x81, 0x02, // Input (data, variable, absolute)=Modifier Byte
0x81, 0x01, // Input (Constant)=Reserved Byte
0x19, 0x00, // usage minimum (0)
0x29, 0x65, // usage maximum (101)
0x15, 0x00, // logical minimum (0)
0x25, 0x65, // logical maximum (101)
0x75, 0x08, // report size (8)
0x95, 0x06, // report count (6)
0x81, 0x00, // input (data, array)=Keycode Bytes (6)
0x05, 0x08, // usage page (page# for LEDs)
0x19, 0x01, // Usage minimum (1)
0x29, 0x03, // Usage maximum (3)
0x15, 0x00, // logical minimum (0)
0x25, 0x01, // logical maximum (1)
0x75, 0x01, // report size (1)
0x95, 0x05, // report count (5)
0x91, 0x02, // output (data, variable, absolute)=LED Bits (x3)
0x95, 0x03, // report count (3)
0x91, 0x01, // output (constant)=Spacer Bits(
x3)
0xC0 // end collection
} ;
Фиг. 33 демонстрирует обмен 250 данными между компьютером 12 и клавиатурой 10.
Компьютер 12 или, точнее говоря, USB-хост 28 в компьютере 12 отправляет запрос 252 переноса IR (запроса прерывания) на клавиатуру 10, т.е. на USB-устройство 20, которое реализовано в клавиатуре 10. Запросы 252 отправляются в регулярных интервалах. Это также известно как опрос.
USB-устройство в клавиатуре 10 отвечает на запрос 252 ответом, который содержит данные 256 отчета. Данные 258 отчета могут отправляться в одном и том же ответе, т.е., в частности, на фазе DATA0 и DATA1, или в ответ на дополнительный запрос 252 в одном и том же цикле опроса.
Данные 256 отчета содержат идентификатор ID(0) первого отчета и первую группу кодов клавиш. Данные 258 отчета содержат идентификатор ID(1) второго отчета и вторую группу кодов клавиш. Если для второй группы не осталось кодов клавиш, может отправляться пустой второй отчет или NAK.
Фиг. 34 демонстрирует этапы способа при запуске компьютера. Способ начинается на этапе S2 способа или, короче говоря, на этапе S2. Способ начинается, например, с перезагрузки компьютера 12. Этапы S4-S8 относятся к процессу начальной загрузки BIOS. Этапы S12-S24 относятся к процессу начальной загрузки и к нормальному режиму работы главной операционной системы компьютера 12.
Этап S4 следует за этапом S2. На этапе S4 BIOS осуществляет связь с концевой точкой EP0 для определения конфигурации, например, концевой точки EP1. Другие концевые точки EP2 и т.д. не используются BIOS.
На этапе S6, BIOS запрашивает концевую точку EP1, нажаты ли в данный момент клавиши, или нет, например, клавиша "F1" или другая клавиша или комбинация клавиш для изменения настройки в BIOS. Клавиатура 20 передает коды клавиш для клавиш, нажатых в данный момент, на этапе S8.
По завершении процесса начальной загрузки BIOS, формируется сигнал перезагрузки, который перезагружает USB-хост, см. этап S10. Одновременно запускается или загружается операционная система компьютера 12.
На этапе S12 главная операционная система передает данные на концевую точку EP0, т.е. концевую точку по умолчанию и/или из нее. В ходе этой передачи данные описания для всех концевых точек EP0, EP1, EP2, EPx и т.д. передаются на USB-хост 28. Соответствующие концевые точки при необходимости можно конфигурировать и инициализировать. После инициализации, концевые точки можно использовать в регулярном режиме.
Концевая точка EP1 запрашивается на этапе S14. Концевая точка EP1 отвечает на этапе S16, например, путем передачи соответствующих кодов клавиш первой группы, при наличии, и второй группы с использованием по меньшей мере  двух отчетов в первом варианте осуществления.
Концевая точка EP2 запрашивается на этапе S18. Концевая точка EP2 отвечает на этапе S20, например, путем передачи соответствующих данных другого устройства ввода в первом варианте осуществления. Во втором варианте осуществления концевая точка EP2 можно использовать для передачи коды клавиш второй группы, если для этой группы существуют какие-либо коды клавиш.
Концевая точка EPx запрашивается на этапе S22. Концевая точка EPx отвечает на этапе S24, например, путем передачи конкретных данных концевой точки.
Этапы S12-S22 повторяются, см. этап S24. Способ заканчивается на этапе S26, например, выключением компьютера 12.
Фиг. 35 демонстрирует второй вариант осуществления с использованием клавиатуры 310, которая соединена с компьютером 312 через USB-кабель 314.
Клавиатура 310 содержит:
- микроконтроллер 316, т.е. процессор, память и периферийные схемы, или микропроцессор или просто кристалл процессора,
- множество нажимных кнопок, см., например, нажимную кнопку 317, или другой элемент ввода, например сенсорный экран,
- память 318, которая может входить в состав микроконтроллера 316,
- функцию USB-устройства 320, которая также может входить в состав микроконтроллера 316 или другого кристалла USB.
Все элементы ввода могут содержать одни и те же элементы, например, головку 317a нажимной кнопки помимо нажимной кнопки 317. Код клавиши, например 317b, можно задавать и использовать для каждой нажимной кнопки, например 317, или головки нажимной кнопки, например 317a. Нажимная кнопка 317 может принадлежать головке нажимной кнопки, несущей букву "A". Таким образом, соответствующий код 317b клавиши равен hex 04, т.е. в данном случае, равен десятичному 04.
Память M или 318 может содержать программно-аппаратное обеспечение 322, которое включает в себя рабочие инструкции для процессора или контроллера 316. Упомянутые в дальнейшем способы выполняются, если инструкции программно-аппаратного обеспечения 322 обрабатываются процессором или контроллером 316. Альтернативно, можно использовать схему без процессора и без контроллера 316, например FPGA (вентильную матрицу, программируемую пользователем).
Компьютер 312 содержит:
- процессор 324, например микропроцессор,
- память 326, где хранятся данные инструкций для процессора 324 и/или другие данные, которые можно использовать в ходе обработки инструкций, и
- USB-хост 328, который работает, например, в соответствии со спецификацией USB.
В памяти M или 330 может храниться:
- программа драйвера 330 устройства для клавиатуры 310, и/или
- программа 332 анализатора, которая способна считывать описатели отчетов, и/или которая способна принимать отчеты, которые согласуются с такими описателями отчетов. Программа 332 анализатора может входить в состав драйвера 330 устройства.
USB-хост 328 осуществляет связь через USB-кабель 314 с несколькими концевыми точками, которые заданы и реализованы в клавиатуре 310:
- концевой точкой EP0a, которая, в основном, используется в целях конфигурирования USB-устройства 320, т.е. клавиатуры 310,
- концевой точкой EP1a, которая, например, используется совместно с протоколом начальной загрузки BIOS,
- концевой точкой EP2a, которая используется для передачи кодов 317b клавиш под управлением операционной системы компьютера 312,
- необязательными концевыми точками EPxa, где x - число в диапазоне от 3 до 32.
Концевая точка EP0a также называется концевой точкой по умолчанию и используется для конфигурирования других концевых точек при запуске BIOS и главной операционной системы, см. данные конфигурации 340. При запуске и выполнении BIOS используются только концевая точка EP0a и концевая точка EP1a. На этой фазе концевая точка EP1a конфигурируется через концевую точку EP0a. Двунаправленный перенос данных 341 происходит от USB-хоста 328 на USB-устройство 320 и в противоположном направлении, т.е. от USB-устройства 320 на USB-хост 328.
Концевую точку EP1a можно использовать для передачи от 1 до 6 байтов кода клавиши плюс один байт для модификаторов, см. данные 344 протокола начальной загрузки. Большинство BIOS способны работать с таким количеством кодов клавиш для каждой передачи. Коды клавиш из концевой точки EP1a передаются в данных 342 полезной нагрузки на USB-хост 328. USB-хост 328 ретранслирует данные кода клавиши на драйвер 330. Драйвер 330 осуществляет связь с главной операционной системой компьютера 312 или непосредственно с BIOS, в зависимости от режима работы.
Данные 346 полезной нагрузки направляются к концевой точке EP2a от USB-хоста 328 или в другом направлении, т.е. от USB-устройства 320, концевой точки EP2a, на USB-хост 328. Данные 346 полезной нагрузки содержит данные 348 отчета.
Данные 348 отчета не обязательно должны иметь идентификатор отчета. Согласно определению данных 348 отчета, можно включать, например, вплоть до 100 "нормальных" кодов 317b клавиш, т.е. никаких модификаторов, и один байт для модификаторов.
Необязательные данные 350 полезной нагрузки направляются к концевой точке EPxa от USB-хоста 346 или в другом направлении, т.е. от USB-устройства 320, концевой точки EPxa, на USB-хост 28. Данные 350 полезной нагрузки могут содержать необязательные данные 352 отчета.
Необязательные данные 352 отчета не обязательно должны иметь идентификатор отчета. Согласно определению данных 352 отчета, можно включать, например, вплоть до 100 "нормальных" кодов 317b клавиш, т.е. никаких модификаторов, и один байт для модификаторов.
USB-хост 328 запрашивает данные 344 отчета, а также данные 348 отчета и, в необязательном порядке, данные 350 отчета у USB-устройства 320 в ходе начальной загрузки BIOS и в режиме работы OS. Это называется опросом. В отсутствие кодов клавиш для отчета от USB-устройства 320 может отправляться NAK (отрицательное квитирование). Это имеет место, если не нажато ни одной клавиши или если коды клавиш нажатых клавиш могут передаваться концевыми точками с более низкими идентификаторами в течение одной(го) и той(го) же фазы или периода передачи.
Во втором варианте осуществления, определение формата данных отчета также соответствуют спецификации USB и/или спецификации HID. Никаких идентификаторов отчетов не требуется, поскольку для каждой релевантной концевой точки задан только один отчет. Однако можно использовать идентификатор отчета.
Таким образом, для одной концевой точки EP1a, EP2a и EPxa используется только один отчет. Это допускает простое определение отчетов. По меньшей мере, один из отчетов является очень большим отчетом, который содержит, например, более 7 кодов клавиш, более 20 кодов клавиш или более 50 кодов клавиш, которые нужно передавать за один цикл опроса. Клавиши, принадлежащие этим кодам клавиш, нажимаются и/или воспроизводятся, например, программой записи макрокоманд.
Предпочтительно, вторая концевая точка генерирует большой или более крупный отчет. Это позволяет использовать первую концевую точку для передачи кодов клавиш, даже если главная операционная система не способна работать с более крупными отчетами для передачи кодов клавиш.
Изобретение можно использовать для клавиатур или других устройств ввода, а также для устройств вывода.
Спецификация HID пригодна не только для USB, но и для других протоколов переноса, например, для беспроводных протоколов, например Bluetooth.
Хотя были подробно описаны варианты осуществления настоящего изобретения и их преимущества, следует понимать, что они допускают различные изменения, замены и модификации, не выходящие за рамки сущности и объема изобретения, заданных нижеследующей формулой изобретения. Например, специалистам в данной области техники легко понять, что многие описанные здесь признаки, функции, процессы и способы могут изменяться, оставаясь при этом в объеме настоящего изобретения. Кроме того, объем настоящей заявки не подлежит ограничению конкретными вариантами осуществления системы, процесса, изготовления, способа или этапов, описанных в настоящем изобретении. Специалисту в данной области техники легко понять из раскрытия изобретения, что системы, процессы, изготовление, способы или этапы, существующие в настоящее время или подлежащие разработке в дальнейшем, которые осуществляют, по существу, ту же функцию или достигают, по существу, того же результата, что и соответствующие описанные здесь варианты осуществления, можно использовать согласно настоящему изобретению. Соответственно, нижеследующая формула изобретения призвана включать в свой объем такие системы, процессы, способы или этапы.
Варианты осуществления введения можно комбинировать друг с другом. Кроме того, можно комбинировать друг с другом примеры описания фигур. Дополнительно, можно комбинировать варианты осуществления введения и примеры описания фигур.