Специальная часть
Принцип работы цифрового модема
Модем – внешнее устройство ЭВМ, служащее для связи с телефонными линиями связи, телепатийными аппаратами и т.д., применяющееся в системах связи и выполняющее функцию модуляции и демодуляции(смотреть приложение А).
При установке соединения два модема автоматически «договариваются» между собой о максимально возможной для обоих скорости передачи и выборе коммуникационного протокола. Более быстрый модем может связаться с медленным, наладив уменьшенную скорость передачи.
Если динамик модема включён, то человек в этот момент слышит шипение и свист разной частоты. Модем, устанавливающий соединение, предлагает сначала протокол, в котором указывается максимальная скорость передачи, со сжатием и коррекцией ошибок. Если второй модем не может применить этот протокол (например, из-за низкого качества телефонного соединения), то первый модем меняет его на более простой, со сниженной скоростью передачи или вообще без сжатия данных. Таким образом, первый модем перебирает все поддерживаемые им протоколы, пока не найдёт приемлемый для обоих модемов. Впрочем, обычно модему запрещено «опускаться» до самого примитивного протокола без коррекции данных, которые в обычных телефонных сетях приводят к тому, что даже одно короткое слово невозможно передать без ошибки.
Протокол описывает способы передачи байтов по телефонной линии: тип модуляции аналогового сигнала, несущую частоту, дополнительные служебные биты, а также как байты объединяются в пакеты форматы пакетов, порядок переповтора передачи в случае искажения пакета и т. п. Каждый пакет содержит кроме самих передаваемых байтов дополнительную информацию, включающую, в: частности, контрольную сумму. Контрольная сумма позволяет принимающему устройству проверить, не исказился ли пакет при передаче, и при необходимости запросить повторную передачу.
Модем может использовать коды, исправляющие ошибки, а также сжатие данных. Идея кодов состоит в том, что к каждому байту добавляются дополнительные биты, дающие возможность при искажении одного бита однозначно восстановить исходный байт. И хотя длина сообщения при этом увеличивается, в большинстве случаев не приходится повторять передачу искажённых пакетов. Это особенно важно при неустойчивой связи, а телефонные линии крайне ненадёжны.
Сжатие данных применяется для упаковки содержимого сообщений, что в ряде случаев существенно уменьшает их размер. Правда, при передаче уже упакованных данных, таких, как картинки в формате JPEG или ZIP-файл, дополнительное сжатие практически ничего не даст. Сжатие данных может использоваться совместно с кодами, исправляющими ошибки: сначала данные упаковываются, а затем каждый байт упакованного сообщения передается с помощью кода, исправляющего ошибки.
В настоящее время существует множество коммуникационных протоколов, они имеют свои обозначения: MNP 4, MNP 5, V42b, V.90 и т. п. Если самые первые модемы передавали лишь отдельные байты, не используя никаких протоколов высокого уровня, то со временем скорость передачи менялась от нескольких сотен до 56 тыс бит/с..
Пример программы, входящий в данный пример применения, демонстрирует использование модуля V.21 в комбинации с простым интерфейсом пользователя, который позволяет считывать из MSP430 измеренные данные. На рисунке 18 показан возможный вариант соединения. Персональный компьютер со стандартным модемом подключен к одному разъему симулятора телефонной линии, а программный модем на базе MSP430 - к другому.
т и установлены следующие параметры порта: 8 бит данных, нет бита проверки на четность и установлен один стоп бит. Скорость обмена данными может быть произвольной, так как она используется только для обмена данными между ПК и стандартным модемом. Модемы договорятся о скорости передачи данных по каналу сами.
После настройки программы Hyper Terminal можно протестировать модем при помощи следующих "АТ" команд:
ATZ <Ввод> (выполняет сброс модема)
ATDTx <ВВод> (набирает последовательность цифр "x", которая должна соответствовать номеру порта, к которому подключен программный модем на базе MSP430)
После набора номера и установления соединения модем персонального компьютера сигнализирует об установлении связи с программным модемом MSP430, передавая программе Hyper Terminal строку "MSP430 Soft-Modem Demo". Посылая программному модему на MSP430 кодовые комбинации, стандартный модем получает соответствующие строки, содержащие информацию о состоянии.
Все тестируемые стандартные модемы смогли соединиться с программным модемом на базе MSP430 без каких-либо проблем. Было показано, что функциональные возможности модема могут быть реализованы при помощи самого микроконтроллера без использования дополнительного аппаратного модема. Это позволяет поднять рентабельность многих прикладных решений, которым необходимо вести обмен данными по телефонной линии с другими устройствами.
