Стоп-біт (1)
Біт контролю непарності.
Бітні дані, що містять скан-код клавіші в порядку від молодших до старших бітів.
Під час передачі даних з пристрою PS / 2 відбувається наступне:
- Пристрій PS / 2 перевіряє, що лінії синхронізації і клавіатури є неактивними. Неактивність вказується станом сигналу High. Якщо обидві лінії неактивні, клавіатура готує 'стартовий біт', роблячи стан лінії даних Low.
- Пристрій PS / 2 потім переводить лінію синхронізації в стан Low приблизно на 35 мкс.
- Пристрій PS / 2 потім пересилає решта 10 бітів на швидкості близько 70 мкс за такт. Пристрій PS / 2 управляє даними та лінією синхронізації.
- Комп'ютер розпізнає 'старт' біт і такти в послідовних даних. За 8-битами послідовних даних слід біт контролю непарності, і нарешті High стоп-біт. Якщо пристрій PS / 2 хоче послати ще дані, то відразу за 11-тим бітом слід наступний 'старт' біт. Ця схема повторюється поки клавіатура не закінчить посилати дані, і тоді лінії синхронізації і даних повернутися в своє неактивний стан High.
Мал. 3.3. Передача PS / 2 скан-коду клавіатури
На малюнку 3.3 клавіатура посилає скан-код 16 для клавіші "1", і він має нульовий біт парності.
Клавіатура PS / 2 і миша PS / 2 використовують один і той же протокол синхронної послідовної комунікації. Внутрішньо первісна миша містила кульку, який обертав два коліщатка з прорізами. Коліщатка були з'єднані з двома оптичними датчиками положення. Два оптичних датчика повідомляли про рух по осях x і y, підраховуючи імпульси при русі коліщаток. Вона містила також дві або три кнопки для натискання, які можуть зчитуватися системою і однокристальним мікро контролером. Після включення живлення надсилається команда PS / 2, наказує миші почати посилати спеціальні пакети даних. Вбудована в мікроконтролер програма в миші потім починає періодично посилати в комп'ютер 3-байтниє пакети даних по сигнальним лініях PS / 2. Трехбайтние пакети даних миші повідомляють відносні руху XY і статус кнопок.
Програмне забезпечення інтерфейсу PS / 2 клавіатури і миші
Операційні системи зазвичай включають стандартні драйвери пристроїв клавіатури і миші PS / 2. Драйвер клавіатури перетворює послідовності скан-кодів клавіш в символи, а драйвер миші використовує інформацію про відносне переміщення, що міститься в пакетах даних миші, для обчислення положення виведеного покажчика миші і для моніторингу статус кнопок миші.
У настільної ОС Windows і в Windows Embedded CE, активність введення клавіатури і миші автоматично створюють посилається подія Windows, яке обробляється функцією зворотного виклику програми вікна. Додаток обробляє повідомлення, які йому послані. Він не Новомосковскет безпосередньо введення клавіатури і мишки.
Інтерфейс шини SPI
Шина послідовного периферійного інтерфейсу (SPI) була створена в 1980-і роки. SPI використовувалася для послідовної комунікації між мікропроцесором і його периферійними ІС. SPI має наступні чотири сигнальні лінії: Serial Clock (SCLK), Chip Enable or Select (CS), Serial Data Input (SDI), Serial Data Output (SDO). Мікропроцесор управляє сигнальними лініями CS і SCLK. Підлеглі пристрої SPI отримують сигнали синхронізації і вибору елемента пам'яті з микропроцессора. Коли пристрій SPI не є обраним (елементом пам'яті), його лінія виходи SDO матиме три стану (стан високого імпедансу). Число бітів послідовних даних може варіюватися в залежності від пристрою. Устаткування інтерфейсу SPI містить зсувні регістри. Один зсувний регістр використовується для відправки даних, а інший зсувний регістр використовується для отримання даних. Всі генератори є синхронними і використовують SCLK.
Кілька пристроїв SPI можуть з'єднуватися в одне двома способами. При каскадному з'єднанні використовується тільки один сигнал вибору елемента пам'яті. Мікропроцесор виводить SDO. SDO з'єднується зі входом SDI одного підлеглого пристрою. Лінія SDO кожного пристрою з'єднується з ліній SDI іншого пристрою. Останнє пристрій знову з'єднується з мікропроцесором, так що послідовні дані зміщуються через один великий зсувний регістр. Це спрощує обладнання і добре працює в системах, де усі пристрої завжди семпліруются або оновлюються одночасно. Але якщо потрібні дані тільки одного пристрої, то потрібно зміщуватися через інші пристрої SPI в ланцюжку, щоб дістатися до його даних.
Мал. 3.4. Варіанти конфігурації двох підлеглих пристроїв SPI
У другій конфігурації SPI кожен пристрій має свій власний сигнал вибору елемента пам'яті, і всі вони функціонують як незалежні зсувні регістри. Згадайте, що якщо пристрій не вибрано, воно визначає для свого виходу третій стан. Виходи можна з'єднати разом, але тільки один пристрій в даний момент може бути активована. Це забезпечує незалежне читання і запис пристроїв SPI. Недоліком є те, що потрібно більше ліній виходу для сигналів вибору елементів пам'яті. SPI підтримує також кілька провідних пристроїв шини. Швидкості генераторів пристроїв SPI можуть змінюватися від 30 kHz до 3 MHz. Зазвичай пристрої SPI будуть поміщати нові дані на своїх виходах під час падаючого фронту такту, і дані будуть надходити всередину на зростаючому фронті такту. Уважно перевіряйте технічний опис пристрою SPI, так як ця схема іноді різниться.
SPI називають також Microwire в ІС компанії National Semiconductor. Технічні описи пристроїв SPI компанії Motorola часто використовують інші назви для сигналів SPI. CS може з'явитися як SS, SDI як MOSI, і SDO як MISO. Пристрої SPI доступні також з декількома іншими рівнями напруги харчування в діапазоні від 2.3 до 5 вольт. SPI використовує звичайний генератор і стандартні рівні напруги логіки. Це робить апаратний інтерфейс простіше, ніж послідовне пристрій RS-232C, але він також спроектований для більш коротких відстаней, таких як одна монтажна друкована плата (PCB).
Інтерфейс шини I2C
Щоб з'єднувати інтегральні схеми на одній монтажній платі також в 1980-і роки з'явилася шина Inter IC (I2C). Доступний широкий асортимент ІС і мікропроцесорів з інтерфейсом I2C, використовуваним для послідовної передачі даних на інші ІС. Подібно SPI послідовний інтерфейс має апаратне перевага в тому, що вимагає менше контактів і провідників на монтажній платі, за умови достатності смуги пропускання.
За допомогою додаткових логічних вентилів вихід з трьома станами може моделювати вихід з вільним стоком, роблячи його виходом з трьома станами, коли сигнал біта повинен ставати високим.
Коли процесору (контролеру) необхідно з'єднатися з пристроєм I2C (підлеглим), він посилає стартову послідовність. Щоб зупинити послідовність I2C, мікропроцесор посилає стоп-послідовність.
На малюнку 3,5 відзначимо, що тільки під час старт-послідовності SDA зміняться з високого низьким при високому SCL. Відзначимо також, що тільки під час стоп-послідовності SDA змінюється з низького в високий при високому SCL. Це дозволяє спеціальної логічної схемою виявити старт і стоп.
Мікропроцесор управляє лініями синхронізації SCL для передачі кожного послідовного біта SDA. Пристрої I2C можуть управляти низьким сигналом SCL для створення очікування стану. Типові швидкості передачі лежать в інтервалі від 100 kHz до 400 kHz.
Перевіряйте деталі в технічному описі кожного пристрою.
Коли мікропроцесор хоче послати дані на пристрій I2C, він повинен виконати наступні операції I2C, як показано на малюнку 3.5: