Дизайн
и веб-разработка
Реклама
в интернете
Хостинг Телефония
и интернет
Слаботочные
системы
Магазин
 
ООО «Нетфорт» Москва,
ул. Нагатинская, д. 1, стр. 2
Схема проезда
+7 (495) 787-42-50

eDroid: Приступаем к интерфейсам

Медленно, но верно роботостроительный план воплощается в жизнь. Прежде чем писать прошивку и разводить плату  — нужно определиться, какие «ноги» контроллера за что будут отвечать. Что же, приступим.

LPT-порт

Что такое LPT-порт  — знают все. Для тех кто забыл  — напомним.

Итак, LPT  — это такой большой разъем сзади компьютера. Раньше к нему подключался принтер, теперь же принтеры обычно подключают через USB, но LPT еще кое-где остался. С точки зрения программиста этот порт хорош тем, что он по сути  — обычный регистр. Изменился логический уровень на выходе  — изменилось значение в регистре. И обратно  — изменяем значение в регистре, изменится и логический уровень на выходе. Вот каноническая картинка, которая есть повсюду в Интернете и с которой начинал практически каждый, державший в руках паяльник:

Собственно, из картинки все понятно  — имеется три регистра, один отвечает за управляющие сигналы компьютера (Control), другой за данные (Data) и третий за ответные сигналы подключенного к LPT устройства (Status). Мы решили не углубляться в дебри двунаправленной передачи данных, а ограничиться наиболее простым вариантом  — передача данных от компьютера к контроллеру через Data, сигнал «данные выставлены»  — также в Data и ответные слова контроллера  — в Status. Регистр Control не используется. Запрета никакого на его использование нет, исключительно давние воспоминания одного из авторов этого проекта  — при изменении значения в Control система считала, что что-то подключили и начинала сама менять значения этого регистра. Дело давнее, память хранит очень смутные воспоминания, тем не менее решили не наступать на потенциальные грабли и ограничиться 7 битами данных регистра Data + 1 бит «данные выставлены» того же регистра.

Протокол взаимодействия

С разрядностью определились, теперь надо придумать слова, которыми будут обмениваться контроллер и компьютер, и порядок обмена этими словами. Иными словами  — разработать протокол взаимодействия. Что же, приступим!

22 июля 2011 13:30

Записи на ту же тему