Помогите новичку понять интерфейсы обмена данными
Люди добрые, очень охота понять пошагово как работают протоколы обмена рс232 и юсб, никак не могу разобраться, что такое строб...если кому не трудно уделить время, поясните мне пожалуйста как происходит обмен данными, какая классификация вообще существует по обмену данными. Очень прошу модератора не удалять этот пост
- Реклама
Данные протоколы нацелены на последовательную передачу данных.
RS-232 - последовательный протокл. Две независимые линии передачи данных:
RX - приемная линия
TX - линия передачи.
Передача данных осуществляется последовательно, т.е. в отличие от параллельных интерфейсов в каждый ммомент времени может быть передан только один бит данных. Для нормальной коммуникации линии ТХ и РХ должны быть соединены крест-накрест:
устройство1 устройство 2
ТХ==============РХ
РХ==============ТХ
В состоянии ожидания(когда по интерфейсу не передаются данные) на линии ТХ присутствует сигнал высокого уровня. Когда сигнал переходит в ноль, то это воспринимается как условие начала передачи. После этого должен быть передан один старт бит, затем байт данных, затем стоп-бит. После этого линия опять переключается на высокий логический уровень.
Строб - это стробирующий сигнал по которому происходит защелкивание данных в регистр параллельного сдвига, либо сигнал по которому эти биты последовательно считываются и передаются из этого регистра. Обычно строб сигнал не передается с ПК или в ПК(т.е. обмен данными ассинхронный), но также имеются реализации последовательного интерфейса, поддерживающие синхронизацию(т.е. строб-сигнал передается) - пример USART в МК.
RS-232 - последовательный протокл. Две независимые линии передачи данных:
RX - приемная линия
TX - линия передачи.
Передача данных осуществляется последовательно, т.е. в отличие от параллельных интерфейсов в каждый ммомент времени может быть передан только один бит данных. Для нормальной коммуникации линии ТХ и РХ должны быть соединены крест-накрест:
устройство1 устройство 2
ТХ==============РХ
РХ==============ТХ
В состоянии ожидания(когда по интерфейсу не передаются данные) на линии ТХ присутствует сигнал высокого уровня. Когда сигнал переходит в ноль, то это воспринимается как условие начала передачи. После этого должен быть передан один старт бит, затем байт данных, затем стоп-бит. После этого линия опять переключается на высокий логический уровень.
Строб - это стробирующий сигнал по которому происходит защелкивание данных в регистр параллельного сдвига, либо сигнал по которому эти биты последовательно считываются и передаются из этого регистра. Обычно строб сигнал не передается с ПК или в ПК(т.е. обмен данными ассинхронный), но также имеются реализации последовательного интерфейса, поддерживающие синхронизацию(т.е. строб-сигнал передается) - пример USART в МК.
USB - это тоже ассинхронный последовательный протокол, но куда более сложный. Здесь для обмена данных используется дифференциальная пара D+ и D-. Причем данные здесь могут идти как в одну так и в другую сторону. Скорость передачи данных очень велика поэтому здесь используется помехоустойчивое кодирование NRZI. Оно реализуется на аппаратном уровне. Даже краткое описание этого протокола требует много места, поэтому чтобы не переписывать все то что уже написано, то просто обратитесь к книге Михаила Гука "Аппаратные средства IBM PC. Энциклопедия". Ее можно скачать из сети. Там также прекрасно описан RS-232. Мой совет - сначала полностью разберитесь с 232, а уже потом пробуйте ЮСБ.
- Сообщения: 13796
- Зарегистрирован: Чт сен 20, 2007 14:08:00
конфигурируеш порточень охота понять пошагово как работают протоколы обмена рс232
открываеш его
шлеш байт
закрываеш порт
в мк есть регистр
в авр это udr и в него можно писать и читать по байтам
как там биты по проводам бегут - дело десятое и это уже заботе самой железки
везде есть готовые функции и нужно только напрячь мозги для осиливания строки гугла
строб - это имульс с 0 в 1 и потом снова в 0
например нужен для синхронизации лини данных или если ты записываеш в мс регистра данные, то по стробу можно сразу вывести весь байт на выходы
или же вход строба всегда включен и сдвиг данных идет в реальном времени
второй вариант плох тем, что данные с выходов регистра могут идти еще куда-то и прийти не вовремя
поэтому строб висит на единице в случае использования регистров вместе с 7 сегментными индикаторами
там время переключения незаметно до 8 разрядов
- Реклама
Очень ПОДРОБНО описано в задаче 4 у меня в домашней страничке.Gorec писал(а):Люди добрые, очень охота понять пошагово как работают протоколы обмена рс232
А по советую книгу Агуров "Интерфейс USB" - можно скачать в библе у меня в домашней.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


