Maltron 3D Ergonomic Keyboard 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Maltron 3D Ergonomic Keyboard



Клавіатура SafeType

 

Це наступний крок в розвитку тривимірних клавіатур. Ідея - розташувати руки зручніше в порівнянні з традиційною позицією, за заявою виробника робота з такою клавіатурою усуває всі фізіологічні викривлення і абсолютно не ушкоджує руки.

 

The frogpad

 

Скоріше не клавіатура, а кейпад. Розробник запевняє, що при належному навику людина може друкувати до 40 слів в хвилину. Частина букв набирається прямим натисненням, а ряд з використанням функціональних клавіш типу Shift-а. Рішення скоріше для мобільних комп'ютерів.

The Twiddler 2

The Orbitouch

Виступи обертаються, а букви набираються відповідно до того, в яких позиціях вони стоять. Для кожної "ручки" є вісім позицій. У клавіатурі є вбудована миша

The Datahand

У клавіатурі застосовується стандартна QWERTY розкладка. Отвори, куди вставляються пальці це джойстики, які і відстежують рухи пальців. Половинки можна рознести.

The Tidy Tippist

Клавіатура схована всередині декоративної серветки. Миється з усіх сторін. Вирішено проблему із потраплянням часток пилу та бруду всередину.

ІНТЕРФЕЙСИ З’ЄДНАНЬ КЛАВІАТУР З СИСТЕМНИМ БЛОКОМ

Інтерфейси з клавіатурою

Клавішні і кнопкові пристрої вводу інформації сьогодні є най розповсюдженими пристроями в комп’ютерних і мікроконтролерних пристроях. Клавіатури комп’ютерів, PDA та мобільних телефонів, кнопкові поля телефонів, калькуляторів, пультів ДУ, панелі управління в вимірювальних і побутових пристроях – далеко не повний перелік прикладів використання клавіатурних інтерфейсів. В даній статті приводиться огляд схемотехнічних рішень для реалізації інтерфесів з клавіатурами.

Розрізняють два типи клавіатур: кодуючі і не кодуючі. В клавіатурах першого типу при натисканні на клавішу схемою контролера клавіатури, формується відповідний цій клавіші код. До даного типу належать комп’ютерні клавіатури, а зокрема клавіатура IBM PC AT. В керуючих мікроконтролерних системах використовуються прості і дешеві некодуючі клавіатури, які являють собою скануючу матрицю кнопок. Вироджений варіант матриці – одна стрічка чи стовпець створює позиційний код, де кожній кнопці відповідає свій розряд.

Скануючі клавіатури

Розглянемо організацію некодуючої клавіатури розмірністю 5х3. Горизонтальні лінії Х0…Х4 (рядки або стовпці) є вихідними, а вертикальні Y0…Y2 (колонки) являються вхідними (рисунок 1).

Рисунок 1. Рисунок матричної клавіатури

В неактивному стані на виходах Х0…Х4 присутній рівень логічної 1, а входи Y0…Y2 зазвичай підтягнуті до живлення резисторами. Для цього кола, зазвичай, використовуються вбудовані резистори pullup, які містяться у деяких портів мікроконтролерів (наприклад, для мікроконтролерів Microchip це PORTTB). При скануванні на горизонтальних лініях матриці формується сигнал нуля «що біжить». На інших виходах зберігається рівень логічної 1. Для кожної фрази нуля «що біжить» виконується зчитування і аналіз коду Y0…Y2. При замиканні якої-небудь з клавіш матриці, програмно встановлюється код даної клавіші.

Крім розпізнавання положення натиснутої клавіші необхідно програмно захиститися від «брязкоту» контактів, тобто від впливу перехідних процесів, а також ситуацій, зв’язаних з одночасним натисненням клавіш.

Для того, що перешкодити протіканню небезпечних струмів при одночасному замиканні декількох клавіш в одній колонці, в колах Х0…Х4 зазвичай послідовно встановлюють розв’язуючі резистори або діоди. З цією ж метою можна використовувати і інший метод сканування, при якому всі неактивні горизонтальні шини, крім шини нуля «що біжить», програмно назначаються входами. Вплив перехідних процесів можна уникнути, якщо ввести інтегрування за допомогою повторного зчитування станів матриці сканування через певну часову затримку.

Зазвичай в невеликих клавіатурних матрицях комбінації декількох натиснутих клавіш не використовуються. Але якщо це все-таки потребується, то для сканування краще використовувати метод з призначенням входів неактивних рядків. В цьому випадку можна впевнено визначати дві одночасно натиснуті клавіші як в одному рядку, так і в одній стрічці і навіть визначати позиції трьох одночасно натиснутих клавіш. Але це справедливо коли топологія трьох нажатих кнопок не створює прямого кута, як показано на рисунку 2.

Рисунок 2. Хибна клавіша при скануванні

В цьому випадку, крім позицій трьох дійсно натиснутих кнопок буде зчитана як натиснута «фантомна» кнопка, що розміщена в кутку прямокутника. В топології клавіатур з великими розмірами, таких як, наприклад, клавіатура IBM PCAT, виконується рознесення клавіш, що створюють одночасні подвійні та потрійні натискання на різні горизонтальні та вертикальні шини. таким чином вдається уникнути появу «фантомної» клавіші для популярних клавішних комбінаці й. Інші комбінації, що призводять до появи «фантомних» клавіш програмно блокуються.

Для раціонального використання ресурсу ніжок портів їх виводи, які використовуються для сканування клавіатури, можна використовувати і для інших функцій, наприклад, для підтримки динамічної світлодіодної індикації. На рисунку 3 показаний приклад такого мультиплексування портів мікроконтролера.

 

Рисунок 3. Мультиплексне управління матричною клавіатурою і семи сегментним цифровим світлодіодним табло

 

Існують і інші способи зменшення числа виводів мікроконтролера, призначених для сканування клавіатури. Реалізація одного із таких способів показана на рисунку 4.

 

Рисунок 4. Топологія клавіатури з одним контактом

В звичайних матричних клавіатурах при замиканні кожного контакту утворюється електричне з’єднання між вихідним і вхідним колами схеми сканування. Але якщо змінити топологію розташування клавіш таким чином, щоб при замиканні контакту забезпечувалася зміна потенціалів групи шин, то число клавіш, що кодуються можна значно збільшити. Суть розглянутого нижче методу полягає у використанні саме такої топології клавіш, а також провідникових контактів, наприклад еластомеру з провідникової гуми. Така конструкція клавіатури забезпечує кодування більшого числа клавіш, ніж звичайна матрична, при однаковому числі використовуваних кодуючих шин. Збільшення досягнуто за рахунок того, що додаткові кодові комбінації утворюються парами кодуючих шин.

Для подібного варіанту топології сканування не потрібно. Всі шини є входами з підтяжкою до напруги живлення резисторами. Контактор з'єднаний із загальною шиною. При замиканні контакту потенціал контактора передається на одну або дві кодові шини, на перетині яких він знаходиться. Ця подія може викликати переривання, за яким програма просто зчитує стан Х0…Х3 і за таблицею визначає позицію натиснутої клавіші. Контактні майданчики S0...S10 виконуються друкованими провідниками на друкованій платі, а в якості контактора замість провідникового еластомеру може бути використана лавсанова плівка з нанесеним провідниковим шаром.

Вище описаний варіант схеми сканування використовувався в програмованих калькуляторах CASIO, а також в калькуляторі «Електроніка МК-85». Необхідно підкреслити, що даний варіант топології клавіатури забезпечує відповідні позиції тільки однієї або двох одночасно натиснутих клавіш, причому лише в визначених комбінаціях.

Якщо ввести другий замикаючий контактор з потенціалом живлення, то можливо вдвічі збільшити кількість скануємих клавіш. Для цього варіанту необхідно проводити сканування, наприклад, з періодом 20–30 мс. При скануванні використовується ефект пам'яті на паразитній ємності кодуючи шин. В першій фазі сканування всі шини визначаються виходами, і на них подається потенціал лог. 0. Потім виводи порту перевизначаються входами, і проводиться зчитування їхнього стану. Факт замикання фіксується по зміні потенціалу, після чого проводиться друга фаза сканування. Цього разу на шину подається потенціал живлення. Після чого проводиться аналіз зчитаних станів шин і визначаються позиції замкнених контактів.

Рисунок 5. Топологія клавіатури на 20 клавіш

з 4 лініями сканування

При використанні зазначеного методу є дійсною наступна формула, яка пов'язує кількість кодуючи шин з кількістю клавіш:

М=N*(N+1)

де М - максимальне число клавіш, яке кодується N шинами.

Необхідно відмітити, що це значення завжди буде більшим максимального числа кодуючих клавіш для звичайної матричної клавіатури. Наприклад, для використання чотирьох кодуючи шин зі звичайною матричною топологією, можливо сканувати лише 4 кнопки, а з використанням вищеописаного методу вже 20!

Принци роботи інтерфейсу

 

При першому знайомстві із специфікацією інтерфейсу РS/2 у більшості може виникнути законне питання: навіщо було створювати цей інтерфейс? Адже був вже КS-232, в якому використовувався дуплексний режим, який працював без жодних проблем. Врешті-решт, при таких малих відстанях можна було обійтися просто ТТЛ рівнями. Знову-таки, вибір був би не гіршим. Проте, стандарт РS/2 при всій його недосконалості продовжує існувати. Нескладно самостійно описати всі переваги цього інтерфейсу.

Щоб уникнути плутанини при вживанні терміну "контролер клавіатури" використовуватимемо термін "хост" по відношенню до контролера інтерфейсу РS/2, встановленого на материнській платі і терміном "пристрій" по відношенню до контролера, встановленого в клавіатурі або миші.

Інтерфейс РS/2 представлений сигналами: Ground, +5V, Data і Clock. Шина +5V забезпечує живлення схеми клавіатури або миші від джерела, розташованого на материнській платі. Джерела сигналів Data і Clock виконані по схемі з відкритим колектором, в неактивному стані мають рівень 1. Пристрої, що підключаються до даних шин повинні мати на входах опори, підключені до шини живлення. Рекомендований номінал - близько 10 кОм.

Шина РS/2 є послідовний двонаправлений синхронний інтерфейс. Кожен біт передаваних даних Data повинен тактуватися одним імпульсом сигналу uik хост, також вони можуть посилати сигнали один одному, Data і С1осk при цьому мають високий пріоритет, при цьому можуть виникати невідповідності, які можуть утворюватися на двонаправленій шині при спробах одночасної передачі даних з боку хоста і пристрою. В процесі передачі даних пристрій повинен проводити контроль шини за станом сигналу С1осk. Для цього після передачі кожного біта інформації, сигнали Data і С1осk в пристрої переводяться із стану вихід в стан вхід і потім перевіряються. Якщо лінія С1осk має потенціал 0, це означає, що з боку хоста виставлена вимога на передачу. Пристрій повинен припинити передачу, давши пріоритет шині хосту і чекати завершення сеансу передачі.

Вилка 5-pin DIN (AT/XT): 1 - Clock 2 - Data 3 - не використовується 4 - Ground 5 - +5V  
Вилка 6-pin Mini-DIN (PS/2): 1 - Data 2 - не використовується 3 - Ground 4 - +5V 5 - Clock 6 - не використовується
Розетка 6-pin Mini-DIN (PS/2): A – не використовується B - Data C - Ground D - Clock E - +5V F - не використовується

Рисунок 7. Опис роз’ємів РS/2

У реальній апаратурі все йде набагато простіше, і конфліктів не відбувається ніколи. Дані, що посилаються від клавіатури до хосту, фіксуються по задньому фронту тактового сигналу, а дані, що посилаються від хоста до клавіатури фіксуються по передньому фронту.

Треба зазначити, що незалежно від напряму передачі даних - хост => клавітура або клавіатура => хост, джерелом тактових сигналів завжди є клавіатура. Тому, якщо хост повинен передати дані, то він надсилає про це відповідний сигнал пристрою.

Максимальна частота тактового сигналу - не більше 33 кГц, проте, в реальних пристроях частота лежить у проміжку 10... 20 кГц.

Передача даних між пристроєм і хостом проводиться байтами. Посилання містить 11 біт:

• 1 стартовий біт (завжди 0);

• 8 біт даних, молодший біт передається першим;

• 1 біт парності;

• 1 стоп-біт (завжди 1).

Біт парності встановлюється в '1 ', якщо число одиниць у переданого посилання непарне, або в '0', якщо парне. Він використовується для виявлення помилок при передачі. Коли хост передає дані клавіатурі, після прийому посилання пристрій повинен передати біт підтвердження того, що дані прийняти. Коли клавіатура посилає дані, то біт підтвердження хостом не передається.

Таблиця 1. Хост® Клавіатура



Поделиться:


Последнее изменение этой страницы: 2016-09-05; просмотров: 177; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.136.97.64 (0.015 с.)