043–Интерфейсы связи электронных устройств.

Автор: | 05.06.2010

ТитлПока у меня нет возможности чего-то попаять, давайте подтянем «матчасть» — поговорим о связи между периферийными устройствами (читайте устройствами с этого блога) и Вашим проектом. Изобретать велосипед мы не будем (разве что совсем маленький), для общения между электронными устройствами существует множество интерфейсов (протоколов). Исходя из соображений экономии ресурсов Вашего проекта (памяти, времени выполнения процедуры обработки интерфейса, ножек, прерываний, таймеров и т.д.) не все интерфейсы нам подойдут. Для нас будут интересны лишь те интерфейсы, с которыми Вам будет легко работать, а легко работать с интерфейсами, которые аппаратно поддерживаются микроконтроллерами или легко реализуемых программно.

Нужна связь!

Вот список интерфейсов, с которыми мы будем работать.
Аппаратно поддерживаемые:
Эти интерфейсы не требуют особых ресурсов памяти и времени (работа на прерываниях). В языках высокого уровня (C, Pascal, Basic и т.д.) есть готовые процедуры для работы этими интерфейсами, поэтому их легко включить в работу основной программы.

UART (при условии согласования уровней, совместим с RS-232 и COM портом) – довольно старый и распространенный интерфейс для связи с периферией. Аппаратно реализован во всех современных микроконтроллерах.

SPI – самый быстрый и простой интерфейс. В любом микроконтроллере аппаратно реализован.

I2C (у Atmel он зовется TWI) – популярный двухпроводный интерфейс. Аппаратно реализован во многих микроконтроллерах.

Легко реализуемые программно:
Эти интерфейсы нестандартны, их нет в языках программирования, но они легки в обработке и не требуют сложного кода. Для определенных устройств могут быть предпочтительней аппаратно поддерживаемых интерфейсов.

BS – BitStream (битовый поток) – передача данных по одной линии в одну сторону (от устройства к главной схеме). Формат делал для своих нужд – понравился своей простотой. Отличается тем, что на приемной стороне практически не требует ресурсов и настройки (сам настраивается на частоту передатчика) и повесить можно на любую ножку контроллера.

PB – ParallelBits (параллельные биты). Это, даже, не интерфейс, а скорее «настроечные ножки». Нужен будет для того, чтобы задать режим работы устройства из нескольких возможных вариантов.

1WIR – это интерфейс, который позволит легко и дешево связать устройства в сеть как по одной линии, так и по IR каналу. Интерфейса еще не существует. Есть наметки его реализации. Я надеюсь, вместе мы его реализуем. Будет очень перспективный и интересный проект. Присоединяйтесь!

Особые:
1-Wire – однопроводный интерфейс от Dallas. Интересен простотой реализации сети устройств, но сложна программная реализация интерфейса (аппаратно поддерживает небольшое число контроллеров). Существует множество устройств, работающих с этим интерфейсом. 1-Wire — план на будущее. Будет время – буду добавлять устройства и с этим интерфейсом.

Каждое разработанное устройство в этом блоге я планирую выкладывать в нескольких вариантах интерфейсов, чтобы легче было приспособить для Вашего проекта.

Следующие статьи будут посвящены описанию интерфейсов (не бойтесь, все будет очень просто).

(Visited 1 872 times, 1 visits today)