Страница 1 из 1

Помогите новичку понять интерфейсы обмена данными

Добавлено: Пт окт 10, 2008 09:23:25
Gorec
Люди добрые, очень охота понять пошагово как работают протоколы обмена рс232 и юсб, никак не могу разобраться, что такое строб...если кому не трудно уделить время, поясните мне пожалуйста как происходит обмен данными, какая классификация вообще существует по обмену данными. Очень прошу модератора не удалять этот пост

Добавлено: Пт окт 10, 2008 11:15:23
uk8amk
Данные протоколы нацелены на последовательную передачу данных.
RS-232 - последовательный протокл. Две независимые линии передачи данных:
RX - приемная линия
TX - линия передачи.
Передача данных осуществляется последовательно, т.е. в отличие от параллельных интерфейсов в каждый ммомент времени может быть передан только один бит данных. Для нормальной коммуникации линии ТХ и РХ должны быть соединены крест-накрест:
устройство1 устройство 2
ТХ==============РХ
РХ==============ТХ
В состоянии ожидания(когда по интерфейсу не передаются данные) на линии ТХ присутствует сигнал высокого уровня. Когда сигнал переходит в ноль, то это воспринимается как условие начала передачи. После этого должен быть передан один старт бит, затем байт данных, затем стоп-бит. После этого линия опять переключается на высокий логический уровень.
Строб - это стробирующий сигнал по которому происходит защелкивание данных в регистр параллельного сдвига, либо сигнал по которому эти биты последовательно считываются и передаются из этого регистра. Обычно строб сигнал не передается с ПК или в ПК(т.е. обмен данными ассинхронный), но также имеются реализации последовательного интерфейса, поддерживающие синхронизацию(т.е. строб-сигнал передается) - пример USART в МК.

Добавлено: Пт окт 10, 2008 11:26:54
uk8amk
USB - это тоже ассинхронный последовательный протокол, но куда более сложный. Здесь для обмена данных используется дифференциальная пара D+ и D-. Причем данные здесь могут идти как в одну так и в другую сторону. Скорость передачи данных очень велика поэтому здесь используется помехоустойчивое кодирование NRZI. Оно реализуется на аппаратном уровне. Даже краткое описание этого протокола требует много места, поэтому чтобы не переписывать все то что уже написано, то просто обратитесь к книге Михаила Гука "Аппаратные средства IBM PC. Энциклопедия". Ее можно скачать из сети. Там также прекрасно описан RS-232. Мой совет - сначала полностью разберитесь с 232, а уже потом пробуйте ЮСБ.

Добавлено: Пт окт 10, 2008 12:24:04
kalobyte
очень охота понять пошагово как работают протоколы обмена рс232
конфигурируеш порт
открываеш его
шлеш байт
закрываеш порт

в мк есть регистр
в авр это udr и в него можно писать и читать по байтам
как там биты по проводам бегут - дело десятое и это уже заботе самой железки

везде есть готовые функции и нужно только напрячь мозги для осиливания строки гугла

строб - это имульс с 0 в 1 и потом снова в 0
например нужен для синхронизации лини данных или если ты записываеш в мс регистра данные, то по стробу можно сразу вывести весь байт на выходы
или же вход строба всегда включен и сдвиг данных идет в реальном времени

второй вариант плох тем, что данные с выходов регистра могут идти еще куда-то и прийти не вовремя
поэтому строб висит на единице в случае использования регистров вместе с 7 сегментными индикаторами
там время переключения незаметно до 8 разрядов

Добавлено: Пт окт 10, 2008 13:34:00
Gorec
Спасибо большое всем за пояснения, буду качать книжку и изучать, а еще хочу у вас спросить про классификацию интерфейсов, т.е.какие они бывают,названия, и т.д. Заранее вам спасибо

Re: Помогите новичку понять интерфейсы обмена данными

Добавлено: Пт окт 10, 2008 13:45:42
tych
Gorec писал(а):Люди добрые, очень охота понять пошагово как работают протоколы обмена рс232
Очень ПОДРОБНО описано в задаче 4 у меня в домашней страничке.

А по советую книгу Агуров "Интерфейс USB" - можно скачать в библе у меня в домашней.

Добавлено: Пт окт 10, 2008 16:30:24
Gorec
Спасибо всем огромное за пояснения

Да,хороши книжки,изучаю сейчас, еще раз спасибо за советы