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