Що таке SPI-інтерфейс
SPI-інтерфейс був розроблений фірмою Motorola. На сьогоднішній день він один з найпопулярніших, завдяки високій швидкості і винятковій простоті, з усіх тих, що відносяться до послідовного типу. Крім того, SPI-інтерфейс являє собою ще й принцип зв`язку. По суті, SPI є логікою передачі даних (ведучий-ведений) між двома різними пристроями. Фізичним властивостям приділяють значно менше уваги, їх реалізують, як кажуть, «за обставинами», при цьому не передбачається протокол нижнього рівня. Кожен виробник може внести щось своє.
SPI-інтерфейс: опис
Логіка такого пристрою полягає в послідовній передачі даних (Побитно). При цьому установка і зчитування розділяються в часі завдяки спеціальному синхросигналу на спеціальній шині (її називають "шиною тактирования", або "синхронізації"). Під поділом розуміють те, що процес установки і зчитування даних відбувається по протилежних фронтах синхроимпульса, що генерується на шині. Завдяки такому чітко розділеному в часі чергуванню зчитувань і установок, створюється можливість використання одного і того ж регістра для прийому і для передачі інформації. Саме під такий принцип і розроблявся SPI-інтерфейс. Однак розвиток техніки не стоїть на місці, на сьогоднішній день великі обсяги пам`яті не представляють ніяких проблем, і більшість пристроїв мають окремі вхідні і вихідні регістри. Ось у двох словах ми і розглянули, яким чином влаштований інтерфейс SPI.
Опис роботи пристрою
Прилад, що генерує сінхроімпульси (управитель) на шину тактирования, є «провідним» (майстер). Такий пристрій здійснює управління всім процесом обміну даними, тобто визначає, коли почати обмін, коли закінчити, скільки біт інформації передати і т. Д. Другий прилад, який бере участь в обміні, називається «веденим». Це пристрій ніяким чином не впливає на шину тактирования. Для полнодуплексного обміну (передача в обидві сторони одночасно) SP- інтерфейс використовує чотири лінії:
- MOSI - вихід ведучого і вхід відомого. По цій лінії відбувається передача інформації від головного пристрою до приймального.
- MISO - вхід ведучого і вихід «веденого». З цього проводу майстер приймає дані від допоміжного приладу.
- SCLK - шина тактирования. По цій лінії «провідне» пристрій генерує сінхроімпульси.
- SS - вибір «веденого». За допомогою цього проводу майстер управляє сеансом обміну.
Рівні логічного нуля і одиниці кодуються величиною напруги на шині даних (MISO і MOSI). Сигнал SS позначає кінець і початок сеансу обміну інформацією. Найчастіше він інверсний. Це означає, що під час обміну даними «провідне» пристрій повинен встановити на лінії SS сигнал низького рівня, а по закінченні обміну - високого. Наявність рівня SS дозволяє організувати передачу по декількох «веденим» приладам, використовуючи один синхронизирующий сигнал і одну шину даних без додаткових протоколів. Правда, при такому підключенні необхідно підводити від кожного приймального пристрою окрему лінію SS.