Проектирование цифрового интерфейса
Повышение быстродействия последовательного интерфейса до уровня гигагерц. Интегрированные в микросистему средства контроля. Обзор реализации цифрового интерфейса, организация протокола связи. Анализ информационных потоков, проектирование дальномера.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.02.2015 |
Размер файла | 5,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ СВЕРДЛОВСКОЙ ОБЛАСТИ
ФИЛИАЛ ГОСУДАРСТВЕННОГО АВТОНОМНОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ СВЕРДЛОВСКОЙ ОБЛАСТИ
"НИЖНЕТАГИЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ПРОФЕССИОНАЛЬНЫЙ КОЛЛЕДЖ им. Н.А. Демидова"
Микропроцессорные системы
Курсовой проект
На тему: Проектирование цифрового интерфейса
Выполнила студентка
Старикова В.А.
2014
Содержание
Введение
Глава 1. Обзор реализации цифрового интерфейса
1.1 Интерфейс RS-232
1.2 Интерфейс RS-485
1.3 Организация протокола связи
Глава 2. Разработка цифрового интерфейса дальномера
2.1 Постановка задачи разработки цифрового интерфейса
2.2 Анализ информационных потоков
2.3 Проектирование цифрового интерфейса дальномера
Заключение
Список использованной литературы
Приложение
Введение
Подавляющее большинство современных цифровых устройств взаимодействуют между собой посредством последовательных кабельных интерфейсов. Цифровые последовательные интерфейсы (ЦПИ) обеспечивают скорости передачи информации более 100 Гбит в секунду. Развитие цифровых технологий постоянно увеличивает как объемы передаваемой информации, так и возможности систем связи. ЦПИ превращаются из отдельных микросхем в блоки сложных микросистем, занимающие лишь несколько процентов площади на кристалле ультра-БИС. Наличие ЦПИ увеличивает стоимость кристалла микросистемы также лишь на несколько процентов. При проектировании микросистемы основные затраты, связанные с использованием ЦПИ, приходятся на этапы разработки, контроля и организации применения изделий.
Методика проектирования интегральных микросистем предполагает использование разработанных заранее универсальных блоков, в том числе и блоков ЦПИ. Требования универсальности и совместимости блоков ЦПИ с другими частями микросистемы существенно меняет и маршрут проектирования. Блоки микросистемы должны обладать высокой помехоустойчивостью, синхронизироваться с другими блоками, занимать на кристалле минимальную площадь, задействовать минимальное число выводов корпуса, легко адаптироваться к изменениям технологии при переносе на другую фабрику. Почти все эти требования могут быть достигнуты путем замены аналоговых узлов на цифровые. Однако возможности такой замены очень ограничены и до конца не исследованы.
Значительную часть стоимости микросхемы составляют затраты на проведение операций аттестации и контроля. Повышение быстродействия ЦПИ до уровня гигагерц создает непреодолимые трудности для проведения контроля с применением только внешней контрольно-измерительной аппаратуры. Интегрированные в микросистему средства контроля являются единственным экономически целесообразным направлением развития методики контроля ЦПИ.
Увеличение пропускной способности интерфейсов неизбежно приводит и к расширению полосы частот сигналов, передаваемых по кабелю.
Искажения широкополосных сигналов в кабеле и соединительных цепях ведут к повышению требований к параметрам кабеля, увеличению его стоимости и сокращению дальности связи. Компенсация кабельных эффектов дешевыми электронными средствами является приоритетной задачей развития ЦПИ. Известные решения основаны на применении инерционных аналоговых фильтров и используются в ЦПИ с однонаправленным непрерывным потоком данных. Для ЦПИ с двунаправленной пакетной передачей информации проблема компенсации кабельных эффектов пока не решена.
Тема работы, посвященная проектированию цифровых интерфейсов, является важной и актуальной.
Цели и задачи работы. Целью работы является изучение методов проектирования цифровых интерфейсов
Для достижения поставленной цели в работе решены следующие задачи:
- проведен анализ известных технических решений и современных методов проектирования цифровых интерфейсов;
- рассмотрена возможность усовершенствования лазерного дальномера путем добавления к нему цифрового интерфейса;
- выполнено проектирование цифрового интерфейса для лазерного дальномера.
Предметом работы выступает архитектура и организация ЭВМ. Объектом исследования - цифровой интерфейс.
Глава 1. Обзор реализации цифрового интерфейса
1.1 Интерфейс RS-232
RS-232 (Recommended Standard 232) - стандарт, описывающий интерфейс для последовательной двунаправленной передачи данных между терминалом (DTE, Data Terminal Equipment) и конечным устройством (DCE, Data Circuit-Terminating Equipment).
Это легендарный стандарт, который появился в 60-х годах 20 века, и стал основой для всех последующих интерфейсов последовательного обмена данными.
Интерфейс RS-232C был применен в первых персональных компьютерах фирмы IBM и до сегодняшнего дня входит в структуру любого персонального компьютера в аппаратном или программном виде.
Решения, которые заложены в этот стандарт, используются практически повсеместно.
Невозможно считать себя промышленным программистом, не зная этого стандарта.
Интерфейс RS-232 полностью аппаратно реализован на персональных компьютерах в виде микросхем и разъемов.
В PC его называют COM-портом (Communication port).
Аппаратная реализация означает то, что он работает всегда, не зависимо, какая операционная система установлена на PC (он работает и без ОС). Программы могут взаимодействовать с СОМ-портами всеми доступными средствами: прямым кодом микропроцессора, аппаратными прерываниями, функциями BIOS, средствами ОС, компонентами языков высокого уровня. СОМ порт, реализованный по стандарту RS-232- универсален. Он обеспечивал работу PC с периферийными устройствами (чем сейчас занят USB), взаимодействие с локальной сетью через модем (Ethernet), обмен данными между PC и промышленным оборудованием (ModBus и др.), чтобы разбираться как работают эти протоколы необходимо понимать какую функцию СОМ порта они взяли на себя.
В 60-х годах прошлого века началось бурное развитие телекоммуникационных технологий. Многочисленные фирмы США и других стран, выпускавшие оборудования связи, использовали собственные стандарты передачи данных. Использование этого оборудования вызывало проблемы их совместимости. Разъёмы, электрические характеристики сигналов, сервисные сигналы, способы синхронизации были различны у разных фирм. Одни протоколы кодировали символы 4 битами, другие 5 битами и т.д. до 8 бит. Отсутствие международного стандарта по последовательные передачи данных тормозило развитие телекоммуникационной отрасли.
В 1962 году Electronics Industries Association (EIA) разработало рекомендации для производителей оборудования, назвав их "Рекомендованный стандарт 232". Интерфейс RS-232 был разработан максимально универсальным, что позволяло многим производителям легко переделать своё оборудование под этот стандарт. Кодировать символы допускалось от 5 до 8 бит, напряжение сигнала могло быть от ±3 до ±25 В и т.д. Было предусмотрено 16 сервисных сигналов, использование которых было не обязательно. Допускалась работа, как в синхронном, так и асинхронном режиме передачи данных. Такая лояльность стандарта устраивала производителей телекоммуникационного оборудования.
В 1969 году EIA выпустила редакцию стандарта RS-232C, в котором был учтен семилетний опыт применения стандарта RS-232A/В. Окончательно был узаконен 25 штырьковый разъем DB25 и электрические характеристики сигнала. Эта редакция стала основным интерфейсом передачи данных по последовательным каналам связи на многие годы вперед. Международные и национальные стандарты стали включать части стандарта RS-232C в свои структуры.
В 1983 году фирма IBM выпустила персональные компьютеры IBM XT и 1984 году IBM AT с встроенными универсальными приемопередатчиками UART. UART разрабатывались по стандарту RS-232C, он поддерживал передачу данных только в асинхронном режиме. IBM XT поддерживал до 4-х независимых UART, которые назывались COM-портами (Communication port).
Первоначально разъемы СОМ-портов соответствовали стандарту RS-232C, т.е. использовали 25 штырьковый разъем DB25p. Большая часть сервисных сигналов RS-232C в UART не использовалась. Поэтому фирма IBM стала использовать в своих компьютерах 9-ти штырьковые разъемы DE9p, в которых использовались шесть сервисных сигналов стандарта RS-232C. Чтобы узаконить использование этого разъема TIA выпустила новый стандарт TIA-574. Стандарт TIA-574 разрешал использовать 9 штырьковый разъем в телекоммуникационном оборудовании, работающем по стандарту RS-232C.
С развитием международных и национальных стандартов в области телекоммуникаций, роль EIA стала уменьшаться. В 1986 году EIA для подержания своего имиджа заменило название стандартов с RS на EIA.
Роль ассоциации продолжала падать и её обязанности перешли к родственной ассоциации TIA. Ассоциация TIA выпустила ещё две редакции стандарта RS-232C с наименованием TIA/EIA 232-E (1991) и TIA/EIA 232-F (1997). Ничего нового в последовательной передаче данных эти стандарты не привнесли, они практически полностью повторяют стандарт RS-232C. В 1997 году ассоциация EIA перестала существовать, её наследником стал альянс производителей промышленной электроники. Сегодня EIA и TIA торговые организации.
В приложении 1 показана эквивалентная электрическая схема при обмене последовательными данными по стандарту RS-232C. Эта эквивалентная схема независима от того, где расположен генератор в DTE или DCE.
Характеристики сигнала обмена данными по стандарту RS-232C включены в международный стандарт ITU-T v.28.
V0- напряжение генератора при разомкнутой схеме.
R0- общее сопротивление генератора.
C0- общая ёмкость генератора.
V1- напряжение между сигнальной линией и общим проводом в месте стыка.
CL- общая ёмкость приёмника.
RL- общее сопротивление приёмника.
EL- ЭДС приёмника при разомкнутой схеме.
Стыком интерфейса RS-232C считается линия соединения DTE плюс кабель с DCE (приложение 2). То есть, соединительный кабель интерфейса входит в состав DTE.
Электрические характеристики приёмника сигналов.
RL- общее сопротивление приёмника должно находиться в пределах 3000...7000 Ом.
V1- напряжение на входе приёмника должно быть в пределах ±3...±15 В.
EL- ЭДС приёмника при разомкнутой схеме должно быть не более ±2 В.
CL- общая ёмкость цепей приёмника должна быть не более 2500 пФ.
Входной импеданс приёмника не должен быть индуктивным.
Электрические характеристики генератора сигналов.
Допускается короткое замыкание сигналов.
Допускается оставлять выход генератора без нагрузки.
V0- напряжение генератора при разомкнутой схеме должно быть не более ±25В/±15 В (RS-232/ITU-T v.28)
R0 и C0 для генератора не нормируются.
Короткое замыкание цепей генератора не должно вызывать токи величиной более 0,5А.
Если EL=0, то напряжение на входе приёмника должно быть V1=±5...±15 В, для любого диапазона нагрузки генератора RL=3000...7000 Ом.
Генератор должен быть способен работать на ёмкостную нагрузку C0 плюс 2500 пФ.
1.2 Интерфейс RS-485
Интерфейс RS-485 (другое название - EIA/TIA-485) - один из наиболее распространенных стандартов физического уровня связи. Физический уровень - это канал связи и способ передачи сигнала (1 уровень модели взаимосвязи открытых систем OSI) (приложение 3).
Сеть, построенная на интерфейсе RS-485, представляет собой приемопередатчики, соединенные при помощи витой пары - двух скрученных проводов. В основе интерфейса RS-485 лежит принцип дифференциальной (балансной) передачи данных. Суть его заключается в передаче одного сигнала по двум проводам. Причем по одному проводу (условно A) идет оригинальный сигнал, а по-другому (условно B) - его инверсная копия. Другими словами, если на одном проводе "1", то на другом "0" и наоборот. Таким образом, между двумя проводами витой пары всегда есть разность потенциалов: при "1" она положительна, при "0" - отрицательна.
Именно этой разностью потенциалов и передается сигнал. Такой способ передачи обеспечивает высокую устойчивость к синфазной помехе. Синфазной называют помеху, действующую на оба провода линии одинаково. К примеру, электромагнитная волна, проходя через участок линии связи, наводит в обоих проводах потенциал. Если сигнал передается потенциалом в одном проводе относительно общего, как в RS-232, то наводка на этот провод может исказить сигнал относительно хорошо поглощающего наводки общего ("земли"). Кроме того, на сопротивлении длинного общего провода будет падать разность потенциалов земель - дополнительный источник искажений. А при дифференциальной передаче искажения не происходит. В самом деле, если два провода пролегают близко друг к другу, да еще перевиты, то наводка на оба провода одинакова. Потенциал в обоих одинаково нагруженных проводах изменяется одинаково, при этом информативная разность потенциалов остается без изменений.
Аппаратная реализация интерфейса - микросхемы приемопередатчиков с дифференциальными входами/выходами (к линии) и цифровыми портами (к портам UART контроллера). Существуют два варианта такого интерфейса: RS-422 и RS-485 (приложение 4).
RS-422 - полнодуплексный интерфейс. Прием и передача идут по двум отдельным парам проводов. На каждой паре проводов может быть только по одному передатчику.
RS-485 - полудуплексный интерфейс. Прием и передача идут по одной паре проводов с разделением по времени. В сети может быть много передатчиков, так как они могут отключаются в режиме приема.
Остановимся поподробнее на приемопередатчике RS-485. Цифровой выход приемника (RO) подключается к порту приемника UART (RX).
Цифровой вход передатчика (DI) к порту передатчика UART (TX). Поскольку на дифференциальной стороне приемник и передатчик соединены, то во время приема нужно отключать передатчик, а во время передачи - приемник. Для этого служат управляющие входы - разрешение приемника (RE) и разрешения передатчика (DE). Так как вход RE инверсный, то его можно соединить с DE и переключать приемник и передатчик одним сигналом с любого порта контроллера. При уровне "0" - работа на прием, при "1" - на передачу (приложение 5).
Приемник, получая на дифференциальных входах (AB) разность потенциалов (UAB) переводит их в цифровой сигнал на выходе RO. Чувствительность приемника может быть разной, но гарантированный пороговый диапазон распознавания сигнала производители микросхем приемопередатчиков пишут в документации. Обычно эти пороги составляют ± 200 мВ. То есть, когда UAB> +200 мВ - приемник определяет "1", когда UAB < -200 мВ - приемник определяет "0". Если разность потенциалов в линии настолько мала, что не выходит за пороговые значения - правильное распознавание сигнала не гарантируется. Кроме того, в линии могут быть и не синфазные помехи, которые исказят столь слабый сигнал.
Все устройства подключаются к одной витой паре одинаково: прямые выходы (A) к одному проводу, инверсные (B) - к другому.
Входное сопротивление приемника со стороны линии (RAB) обычно составляет 12 КОм. Так как мощность передатчика не беспредельна, это создает ограничение на количество приемников, подключенных к линии. Согласно спецификации RS-485 c учетом согласующих резисторов передатчик может вести до 32 приемников. Однако есть ряд микросхем с повышенным входным сопротивлением, что позволяет подключить к линии значительно больше 32 устройств.
Максимальная скорость связи по спецификации RS-485 может достигать 10 Мбод/сек. Максимальное расстояние - 1200 м. Если необходимо организовать связь на расстоянии большем 1200 м или подключить больше устройств, чем допускает нагрузочная способность передатчика - применяют специальные повторители (репитеры) (приложение 6).
1.3 Организация протокола связи
На физическом уровне линия связи готова к работе, однако, нужен еще и протокол - договоренность между устройствами системы о формате посылок.
По природе интерфейса RS-485 устройства не могут передавать одновременно - будет конфликт передатчиков. Следовательно, требуется распределить между устройствами право на передачу. Отсюда основное деление: централизованный (одномастерный) обмен и децентрализованный (многомастерный).
В централизованной сети одно устройство всегда ведущее (мастер). Оно генерирует запросы и команды остальным (ведомым) устройствам. Ведомые устройства могут передавать только по команде ведущего. Как правило, обмен между ведомыми идет только через ведущего, хотя для ускорения обмена можно организовать передачу данных от одного ведомого к другому по команде ведущего.
В децентрализованной сети роль ведущего может передаваться от устройства к устройству либо по некоторому алгоритму очередности, либо по команде текущего ведущего к следующему (передача маркера, ведущего). При этом ведомое устройство может в своем ответе ведущему передать запрос на переход в режим ведущего и ожидать разрешения или запрета.
Последовательный канал по меркам контроллера - штука медленная. На скорости 9600 бод передача одного символа занимает больше миллисекунды. Поэтому, когда контроллер плотно загружен вычислениями и не должен их останавливать на время обмена по UART, нужно использовать прерывания по завершению приема и передачи символа. Можно выделить место в памяти для формирования посылки на передачу и сохранения принятой посылки (буфер посылки), а также указатели на позицию текущего символа. Прерывания по завершению приема или передачи символа вызывают соответствующие подпрограммы, которые передают или сохраняют очередной символ со сдвигом указателя и проверкой признака конца сообщения, после чего возвращают управление основной программе до следующего прерывания. По завершению отправки или приема всей посылки либо формируется пользовательский флаг, отрабатываемый в основном цикле программы, либо сразу вызывается подпрограмма обработки сообщения.
В общем случае посылка по последовательному каналу состоит из управляющих байтов (синхронизация посылки, адресов отправителя и получателя, контрольной суммы и пр.) и собственно байтов данных.
Протоколов существует множество и можно придумать еще больше, но лучше пользоваться наиболее употребительными из них. Одним из стандартных протоколов последовательной передачи является MODBUS, его поддержку обеспечивают многие производители промышленных контроллеров. Но если Вам нужно буквально "два байта переслать" или просто освоить методы связи и не хочется из-за этого изучать систему команд модбаса и писать для него драйвер, предлагаю варианты относительно простых протоколов. (И все-таки в дальнейшем стоит ориентироваться именно на MODBUS.)
Основная задача в организации протокола - заставить все устройства различать управляющие байты и байты данных. К примеру, ведомое устройство, получая по линии поток байтов, должно понимать, где начало посылки, где конец и кому она адресована.
1). Часто встречаются протоколы на основе ASCII-кода. Управляющие символы и данные передаются в виде обыкновенных ASCII символов. Посылка может выглядеть так:
В HEX виде: 3Ah 31h 32h 52h 53h 34h 38h 35h 0Dh
В ASCII виде: ":" "1" "2" "R" "S" "4" "8" "5" /ПС/
В начале управляющий символ начала посылки ":", следующие две цифры - адрес получателя (12), затем символы данных (RS485) и в конце - управляющий символ конца посылки 0Dh (перевод строки). Все устройства на линии, приняв символ ":", начинают записывать в память посылку до символа конца строки 0Dh. Затем сравнивают адрес из посылки со своим адресом. Устройство с совпавшим адресом обрабатывает данные посылки, остальные - игнорируют посылку. Данные могут содержать любые символы, кроме управляющих (":", 0Dh).
Достоинство этого протокола в удобстве отладки системы и простоте синхронизации посылок. Можно через преобразователь RS485-RS232 подключить линию к COM-порту компьютера и в любой терминалке увидеть всю проходящую информацию "на человеческом языке".
Недостатки - относительно большой размер посылки при передаче большого количества двоичной информации, ведь на передачу каждого байта нужно два ASCII символа (7Fh - "7", "F"). Кроме того, надо преобразовывать данные из двоичного вида в ASCII и обратно.
2). Можно организовать протокол с непосредственной передачей двоичных данных. При этом управляющие символы и байты данных различаются с помощью настройки дополнительного девятого бита в UART. Для управляющих символов этот бит устанавливается в "1". Первым в посылке передается управляющий символ с единичным девятым битом - остальные его "нормальные" биты могут содержать адрес устройства-получателя, признак начала/конца посылки и что-нибудь еще. Затем передаются байты данных с нулевым девятым битом. Все принимающие устройства узнают по девятому биту управляющий символ и по содержанию его остальных битов определяют, кому адресованы последующие данные. Адресуемое устройство принимает данные, а все остальные игнорируют их до следующего управляющего символа.
UART некоторых контроллеров, например, C167 (Infineon) может в особом режиме (wakeup) автоматически распознавать в полученном байте девятый бит и генерировать прерывание при получении только управляющего символа. Адресуемое устройство при этом нужно переключить в режим обычного приема до следующего управляющего символа. Это позволяет остальным устройствам сэкономить время на обработке прерываний при получении байтов данных, адресованных не им.
Если требуется сопряжение системы и компьютера с Windows, такой протокол лучше не применять, так как у Windows могут быть проблемы с распознанием девятого бита в UART.
3) Протокол может быть "чисто" двоичным, то есть без выделения специальных управляющих символов. Синхронизация посылок в этом случае может осуществляться за счет отслеживания паузы между принятыми байтами. Принимающее устройство отсчитывает время с момента последнего приема байта до следующего, и если эта пауза оказывается больше какой-то величины (например,
- 3.5 байта), делается вывод о потере предыдущей посылки и начале новой.
Даже если предыдущая посылка была незакончена - приемный буфер сбрасывается. Можно также синхронизировать посылки по уникальной стартовой последовательности байтов (по аналогии со стартовым символом в ASCII протоколе). В таких протоколах надо принимать особые меры для защиты от приема ложной посылки, начатой из-за помехи.
В рамках данной работы будет использоваться протокол DCON.
Протокол DCON представляет собой сетевой протокол обмена данных использующий линии связи RS-485 для передачи. Протокол DCON не является одним из стандартных протоколов обмена данными для систем автоматики, однако, за счет распространенности контроллеров компаний ICP DAS, RealLab и Advantech DCON получил большое распространение на рынке автоматики.
Популярность протокола DCON обусловлена тем. Что нет необходимости в специальных микросхемах стека протоколов. Помимо этого, стоит выделить и простоту в обучении для работы с ним.
Протокол DCON использует только два уровня модели OSI: физический и прикладной.
На физическом уровне данные проходят процесс двоичного кодирования. Логический ноль соответствует низкому уровню сигнала на RS-485, единица - высокому уровню. Помимо этого, на физическом уровне, для обеспечения надежности передачи, осуществляется вычисление контрольной суммы.
За счет отсутствия канального уровня, все возможные ошибки могут присутствовать лишь на прикладном, граничащим с программой пользователя. Это существенно упрощает выявление неполадок в сети.
Протокол DCON построен по принципу "master-slave", где допустимо использование 255 ведомых устройств в сети и одно ведущее.
Сообщение протокола DCON начинаются со специфического разделителя. Этим разделителем может выступать символы: $, #, %, @, *. В ответах используют ~,>.
Каждое сообщение заканчивается символом возврата каретки cr (ASCII код 0Dh). Вся информации в сообщении передается в ASCII коде. Данные и контрольная сумма могут отсутствовать (рис. 1.1).
Рис. 1.1 Формат кадра протокола DCON
За некоторыми командами следуют данные, но их может и не быть. Контрольная сумма, состоящая из двух символов, может отсутствовать. Каждый кадр должен оканчиваться символом возврата каретки cr (ASCII код 0Dh). гигагерц быстродействие микросистема протокол
Контрольная сумма (CHK) состоит из двух символов (в нее не включается код символа возврата каретки) и позволяет обнаружить ошибки в командах, посланных из ведущего устройства, а также в ответах ведомого.
Вся информация, содержащаяся в кадре, включая адрес модуля и данные, передается в ASCII кодах.
Контрольная сумма представляется двумя ASCII символами шестнадцатеричного формата и передается непосредственно перед "возвратом каретки" (cr). Она должна быть равна сумме кодовых значений всех ASCII символов команды и быть представлена в шестнадцатеричной системе счисления. Если сумма больше FFh, то в качестве контрольной суммы используется только ее младший байт.
Например, если нужно переслать ведомому устройству команду $012(cr), то сумма ASCII кодов символов команды (символ возврата каретки не считается) равна
“$” +”0” +”1” +”2” = 24h+30h+31h+32h=B7h, контрольная сумма равна B7h, т.е. перед символом (cr) в команде надо указать” B7”, и команда $012(cr) будет выглядеть как $012B7(cr).
Если ответ модуля на эту команду без контрольной суммы получен в виде, например, !01400600(cr), то сумма ASCII кодов символов этой команды равна:
“!”+”0” +”1” +”4” +”0” +”0” +”6” +”0” +”0” =21h+30h+31h+34h+30h+30h+36h +30h +30h =1AСh, и контрольная сумма для этого случая равна ACh, т.е. ответ модуля при работе с контрольной суммой будет, например, !014006С0AC(cr), где предпоследний байт С0 означает, что установлен режим обмена с контрольной суммой. При написании программы прикладного уровня используется набор команд, примеры которых приведены в табл. 1.1.
Таблица
Примеры команд протокола DCON
Команда |
Ответ |
Описание |
|
%AANNTTCCFF |
! AA |
Устанавливает адрес, диапазон входных напряжений, скорость обмена, формат данных, контрольную сумму |
|
#AA |
> (Data) |
Возвращает все входные значения для заданного модуля |
|
#AAN |
> (Data) |
Возвращает входное значение в канале номер N для модуля с заранее заданным адресом |
|
$AA0 |
! AA |
Выполняет калибровку аналогового модуля для компенсации погрешности коэффициента передачи |
|
$AA1 |
! AA |
Выполняет калибровку аналогового модуля для компенсации погрешности смещения нуля |
|
$AA2 |
! AATTCCFF |
Возвращает параметры конфигурации модуля с указанным адресом |
|
$AA8 |
! AAV |
Читает конфигурацию светодиодного индикатора |
|
$AA8V |
! AA |
Устанавливает конфигурацию светодиодного индикатора |
Команды протокола DCON делятся на 4 типа:
- команды модулей аналогового ввода;
- команды модулей аналогового вывода;
- команды дискретного ввода-вывода;
- команды счетчиков/таймеров.
Рассмотрим пример применения команды #AA для получения данных из модуля аналогового ввода.
Синтаксис команды: #AA[CHK](cr), где AA - адрес модуля (от 00 до FF).
Ответ модуля на эту команду имеет вид> (Data)[CHK](cr), если команда выполнена. Здесь> - символ-разделитель при выполненной команде; (Data) - измеренные данные. Если имели место синтаксические ошибки или ошибки связи, то ответа нет.
Например, для опроса модуля с адресом 01 рассматриваемая команда примет вид #01(cr). Ответ на нее может выглядеть следующим образом:
> +1.2345+0.3456+0.0001+2.5000+1.2345+0.3456+0.0001+2.5000
Глава 2. Разработка цифрового интерфейса дальномера
2.1 Постановка задачи разработки цифрового интерфейса
Измерение расстояний -- была и есть важная задача на производстве и в быту. В последнее время большое распространение получили бесконтактные измерители сравнительно небольших дистанций. Эти приборы представлены в основном двумя видами: ультразвуковыми и лазерными. Ультразвуковые дальномеры отличаются невысокой стоимостью, но при этом имеют худшую точность измерения и меньшую максимальную измеряемую дистанцию. Лазерные дальномеры позволяют измерять дистанции до 200 м с погрешностью в единицы миллиметров. Более высокая точность и тенденция к снижению цены выводят их на первый план.
Лазерный дальномер часто называют "лазерной рулеткой", потому что он фактически заменил традиционную рулетку во многих отраслях производства. Вычисление площади и объема, сложение и вычитание результатов нескольких измерений -- эти функции лазерного прибора стали привычными. Многие модели могут, используя теорему Пифагора, вычислить длину недоступного отрезка по результатам измерения расстояний от дальномера до его концов.
Как правило, для большинства применений вполне хватает функций, заложенных в самой недорогой "рулетке", рассчитанной только на визуальное считывание результата измерения. Однако передать результат в компьютер для дальнейшего использования способны лишь дорогие модели, например, лазерные дальномеры DLS-A15 и DLS-A30 фирмы Dimetix оборудованы промышленным проводным интерфейсом RS-422, а приборы Leica DISTO D8 и Bosh DLE 150 connect -- беспроводным интерфейсом Bluetooth. Однако дистанционное управление дальномерами с беспроводным интерфейсом, как правило, не предусмотрено, а компьютер может принимать передаваемую ими информацию только с помощью специального программного обеспечения.
Основное препятствие к широкому применению дальномеров промышленного производства с цифровым интерфейсом -- высокая цена. Таким образом, актуальна задача оснащения недорогой "лазерной рулетки" интерфейсом, позволяющим дистанционно управлять ею и передавать результаты измерения удаленным потребителям (компьютерам, контроллерам различных механизмов).
В качестве объектов доработки были рассмотрены два дальномера: EcoDist и Infiniter 80. Анализ их устройства показал, что проще всего получить сведения об измеренной дистанции, используя информацию, посылаемую электронным блоком дальномера на индикатор для отображения. В дальномере EcoDist применяется символьный ЖКИ, считать информацию с которого затруднительно в связи с большим числом необходимых для этого точек подключения. Графический индикатор дальномера Infiniter 80 получает информацию по четырехпроводному последовательному интерфейсу. Поэтому для оборудования цифровым интерфейсом был выбран именно этот дальномер, внешний вид которого изображен на фото (приложение 7).
По интерфейсу дальномеру должна поступить команда выполнить измерение дистанции, а он -- по запросу сообщить результат последнего измерения. Было решено использовать физические интерфейсы RS-485 и RS-232, а программно -- частично реализовать протокол DCON.
2.2 Анализ информационных потоков
ЖКИ дальномера Infiniter 80 имеет экран 132x65 пкс и выполнен по технологии COG (Controller On Glass) -- микросхема его встроенного контроллера помещена непосредственно на стеклянный корпус собственно индикатора. Несмотря на отсутствие какой-либо маркировки, сопоставив число входных/ выходных линий контроллера, разрешение индикатора, его физические размеры и другие факторы, все-таки удалось определить тип контроллера как S6B1713 фирмы Samsung.
В нем имеются параллельный и последовательный интерфейсы. В дальномере использован последовательный, временные диаграммы сигналов на линиях которого показаны на рис. 2.1. Сигнал CS активирует интерфейс, по линии DATA происходит передача информации последовательным кодом, CLK -- тактовые импульсы, в зависимости от уровня на линии RS контроллер воспринимает передаваемую информацию либо как интерфейсную команду, либо как информацию для вывода на табло индикатора.
Рис. 2.1 Диаграмма сигналов
ЖКИ соединен с разъемом на плате дальномера гибким 18-проводным плоским кабелем. Чтобы "подслушать" информацию, получаемую индикатором, необходимо подключиться параллельно к контактам 1 (CS), 3 (RS), 4 (CLK) и 5 (DATA) этого разъема, проанализировать передаваемые сигналы и выделить из информационного потока сведения, относящиеся к результату измерения дистанции.
Экранная память рассматриваемого жидкокристаллического дисплея (ЖКИ) имеет страничную структуру, причем к каждой из девяти страниц можно обращаться независимо. Выяснилось, что информация об измеренной дистанции находится на страницах с пятой по седьмую. Форма выводимых на индикатор цифр показана на рис. 2.3. Их изображения построены по электронным фотографиям экрана.
Рис. 2.3 Форма цифр
Хотя каждая цифра размещается на трех страницах экранной памяти ЖКИ, для однозначной идентификации оказалось достаточным анализировать только информацию, направляемую на шестую страницу.
Соответствующие кодовые последовательности представлены шестнадцатеричными числами в нижней части рисунка. Исключение -- десятичная точка; ее образ целиком умещается на седьмой странице экранной памяти, так что приходится анализировать и ее.
Пример информационного потока, поступающего в контроллер ЖКИ, показан на рис. 2.4. Анализ его выделенных на рисунке фрагментов, начинающихся байтами ОхВб и 0хВ7, свидетельствует, что на индикатор выводится число 1,355.
Рис. 2.4 Пример информационного потока, поступающего в контроллер жидкокристаллического дисплея.
В результате изучения особенностей индикатора был принят следующий алгоритм идентификации цифр: после обнаружения в потоке байта-адреса страницы принимаются следующие за ним 14 байтов.
Эта последовательность сравнивается с подготовленными заранее шаблонами цифр. При совпадении опознанная цифра направляется на дальнейшую обработку. Эту процедуру следует выполнять всякий раз после получения дальномером команды выполнить измерение.
2.3 Проектирование цифрового интерфейса дальномера
Для анализа информации, поступающей на индикатор, передачи его результата по цифровому интерфейсу и приема команд разработана приставка к дальномеру, схема которой показана в приложении 8.
Микроконтроллер ATmega48-20PU (DD1) имеет встроенный контроллер последовательного интерфейса SPI, который удобно использовать для обработки сигналов, снимаемых с ЖКИ дальномера. Эти сигналы поступают в приставку по гибкому плоскому кабелю.
Предусмотрена полная гальваническая развязка цепей интерфейса RS-232 от микроконтроллера приставки и дальномера. Для этого между микроконтроллером DD1 и драйвером интерфейса RS-232 DA4 включена микросхема гальванической развязки DA2, имеющая два канала, передающих сигналы в противоположных направлениях.
Питание драйвера и соединенной с ним части микросхемы DA2 напряжением 5 В производится через изолирующий преобразователь DC/DC DA3.
При необходимости организовать в приставке интерфейс RS-485 в нее нужно
нужно добавить еще две микросхемы согласно схеме, изображенной в приложении 9.
Микросхема ADUM1200ARZ (DA5) отличается от ADUM1201ARZ (DA2) только тем, что оба ее канала передают сигналы в одном направлении. В данном случае это сигналы управления приемником и передатчиком драйвера интерфейса RS-485 ADM485 (DA6).
Гальваническая развязка информационных сигналов и питания микросхемы DA6 производится теми же средствами, что и для микросхемы DA4.
Если интерфейсом RS-232 пользоваться не предполагается, микросхему DA4, конденсаторы С9--С12 и разъем ХРЗ в приставку можно не устанавливать.
Лазерный дальномер Infiniter 80 при автономной работе питается от двух гальванических элементов типоразмера АА. Однако в нем имеется импульсный преобразователь, повышающий напряжение питания до 5 В. Это дает возможность отказаться от автономного питания, подав напряжение +5 В от приставки непосредственно на выход импульсного преобразователя. Дальномер потребляет в среднем 80 мА, причем во время измерения дистанции потребляемый ток достигает 700...800 мА.
Для дистанционного управления дальномером (включение, выключение, запуск цикла измерения) необходимо подключится к его кнопкам. Провод POW подключают к среднему контакту кнопки "ON/OFF", а провода МС и ME -- к контактам кнопки "Measure". Лучше всего впаивать соединительные провода в переходные отверстия на плате дальномера, связанные с нужными контактами. Провода +5 В и Общ. припаивают к соответствующим печатным проводникам.
Все принимаемые и передаваемые приставкой сообщения представляют собой символьные последовательности в коде ASCII. Это позволяет использовать для
налаживания и проверки устройства любую компьютерную терминальную программу, работающую с последовательным портом. Предусмотрено всего четыре команды: запуск цикла измерения, запрос передачи измеренного значения, задание конфигурации, запрос имени устройства.
Дальномер вместе с подключенной к нему приставкой помещаются в прочный металлический корпус с отверстием для прохода лазерного луча и интерфейсными разъемами.
Проверка этой инструкции показала ее устойчивую работу и достаточно высокую стабильность показаний. Было испытано тридцать экземпляров дальномера и установлено, что точность измерений соответствует заявленной производителем.
Общие затраты на простой дальномер и его доработку оказались значительно меньше стоимости готового прибора, оснащенного подобным интерфейсом.
Заключение
Интерфейсы RS-485 и RS-422 описаны в стандартах ANSI EIA/TIA*-485-А и EIA/TIA-422. Интерфейс RS-485 является наиболее распространенным в промышленной автоматизации. Его используют промышленные сети Modbus, Profibus DP, ARCNET, BitBus, WorldFip, LON, Interbus и множество нестандартных сетей. Связано это с тем, что по всем основным показателям данный интерфейс является наилучшим из всех возможных при современном уровне развития технологии. Основными его достоинствами являются:
- двусторонний обмен данными всего по одной витой паре проводов;
- работа с несколькими трансиверами, подключенными к одной и той же линии, т. е. возможность организации сети;
- большая длина линии связи;
- достаточно высокая скорость передачи.
Именно поэтому данный интерфейс был выбран для создания цифрового интерфейса дальномера.
Как правило, для большинства применений вполне хватает функций, заложенных в самой недорогой "рулетке", рассчитанной только на визуальное считывание результата измерения. Однако передать результат в компьютер для дальнейшего использования способны лишь дорогие модели. Например, лазерные дальномеры DLS-A15 и DLS-A30 фирмы Dimetix оборудованы промышленным проводным интерфейсом RS-422, а приборы Leica DISTO D8 и Bosh DLE 150 connect -- беспроводным интерфейсом Bluetooth. Однако дистанционное управление дальномерами с беспроводным интерфейсом, как правило, не предусмотрено, а компьютер может принимать передаваемую ими информацию только с помощью специального программного обеспечения.
Основное препятствие к широкому применению дальномеров промышленного производства с цифровым интерфейсом -- высокая цена.
Таким образом, актуальна задача оснащения недорогой "лазерной рулетки" интерфейсом, позволяющим дистанционно управлять ею и передавать результаты измерения удаленным потребителям (компьютерам, контроллерам различных механизмов).
Согласно поставленной задаче по интерфейсу дальномеру должна поступить команда выполнить измерение дистанции, а он -- по запросу сообщить результат последнего измерения. Было решено использовать физические интерфейсы RS-485 и RS-232, а программно -- частично реализовать протокол DCON.
· Дальномер вместе с подключенной к нему приставкой помещаются в прочный металлический корпус с отверстием для прохода лазерного луча и интерфейсными разъемами. Проверка этой инструкции показала ее устойчивую работу и достаточно высокую стабильность показаний. Было испытано тридцать экземпляров дальномера и установлено, что точность измерений соответствует заявленной производителем. Общие затраты на простой дальномер и его доработку оказались значительно меньше стоимости готового прибора, оснащенного подобным интерфейсом.
Список использованной литературы
1. Бень Е.А. RS-485 для чайников. - http://www.mayak-bit.narod.ru/index.html
2. Куликов К.Е. Цифровое будущее: интерфейсы передачи аудио- и видеоданных. // Электросвязь. 2013. № 6.
3. Локотков А. Интерфейсы последовательной передачи данных. Стандарты RS-422/RS-485//СТА. - №3. - 2013
4. Обрежьте жирок с RS-485. - http://www.gaw.ru/html.cgi/txt/interface/rs485/power.htm
5. Описание протокола MODBUS. - http://www.idom.ru/files/Schneider/Info/Networks/MODBUS/Modbus_Rus.Doc
6.Правильная разводка сетей RS-485. -
7.Самарин А. Новый цифровой интерфейс - эволюция или революция? // Компоненты и технологии. 2013. № 5.
8.Филатов А. Цифровой интерфейс к "лазерной рулетке"//Радио. - № 4. - 2011.
9. Энциклопедия АСУ ТП. - http://bookasutp.ru/
10. Яшкардин В. RS-232. - http://www.softelectro.ru/rs232.html
11.Яшкардин В. RS-485. - http://www.softelectro.ru/interface.html
12.DisplayPort Standart. Version 1.1. March, 2007.
13.Explanation of Maxim RS-485 Features. - http://www.maxim-ic.com/appnotes.cfm/appnote_number/367
14.High bandwidth Didital Content Protection System. Revision 1.3. December, 2007.
15.http://www.gaw.ru/html.cgi/txt/interface/rs485/app.htm
16.ITU-T v.28 03.1993 ELECTRICAL CHARACTERISTICS FOR UNBALANCED DOUBLE-CURRENT INTERCHANGE CIRCUITS
17.RS-422 and RS-485 Application Note. - http://www.bb-elec.com/bb-elec/literature/tech/485appnote.pdf
18. Selecting and Using RS-232, RS-422, and RS-485 Serial Data Standards. - http://www.maxim-ic.com/appnotes.cfm/appnote_number/723
19. Unified Display Interface (UDI) Specification. Revision 1.0a. Jule, 2006.
20. www.3dnews.ru.
Приложение 1
Эквивалентная электрическая схема RS-232C
Приложение 2
Практическая схема стыка интерфейса RS-232C
Приложение 3
Сеть, построенная на интерфейсе RS-485
Приложение 4
Аппаратная реализация интерфейса
Приложение 5
Приемопередатчик RS-485
Приложение 6
Параметры интерфейсов
Стандартные параметры интерфейсов |
RS-422 |
RS-485 |
|
Допустимое число передатчиков / приемников |
1/10 |
32 / 32 |
|
Максимальная длина кабеля |
1200 м |
1200 м |
|
Максимальная скорость связи |
10 Мбит/с |
10 Мбит/с |
|
Диапазон напряжений "1" передатчика |
+2...+10 В |
+1.5...+6 В |
|
Диапазон напряжений "0" передатчика |
-2...-10 В |
-1.5...-6 В |
|
Диапазон синфазного напряжения передатчика |
-3...+3 В |
-1...+3 В |
|
Допустимый диапазон напряжений приемника |
-7...+7 В |
-7...+12 В |
|
Пороговый диапазон чувствительности приемника |
±200 мВ |
±200 мВ |
|
Максимальный ток короткого замыкания драйвера |
150 мА |
250 мА |
|
Допустимое сопротивление нагрузки передатчика |
100 Ом |
54 Ом |
|
Входное сопротивление приемника |
4 кОм |
12 кОм |
|
Максимальное время нарастания сигнала передатчика |
10% бита |
30% бита |
Приложение 7
Внешний вид Infiniter 80
Приложение 8
Схема приставки дальномера
Приложение 9
Схема организации в приставки интерфейса RS-485
Размещено на Allbest.ru
...Подобные документы
Обзор мобильной ОС Android. Выбор инструментов и технологий. Проектирование прототипа графического интерфейса. Характеристика и описание пользовательского интерфейса. Проектирование и разработка базы данных. Определение списка необходимых разрешений.
курсовая работа [376,6 K], добавлен 13.09.2017- Разработка программного имитатора цифрового канала связи с применением помехоустойчивого кодирования
Изучение работы цифрового интерфейса, способ осуществления помехоустойчивого кодирования. Выбор среды программирования. Разработка структуры программного обеспечения и методики его тестирования. Создание алгоритмов работы имитатора цифрового канала связи.
дипломная работа [2,7 M], добавлен 10.09.2011 Стандартный интерфейс IEC 625-1 для программируемых приборов. Логическая организация интерфейса. Протокол сигналов для установления связи по магистрали IEC. Условия функционирования приборов в системе. Коды и форматы, физическая реализация интерфейса.
контрольная работа [102,4 K], добавлен 23.01.2014Аналитический обзор целевой аудитории сайта. Анализ требований к сайту. Проектирование функций и архитектуры системы при помощи CMS WordPress. Разработка интерфейса и структуры данных. Реализация интерфейса (экранные формы и руководство по эксплуатации).
дипломная работа [2,0 M], добавлен 19.01.2017Создание Интернет-сайта для упрощения связи учителей-логопедов и родителей учащихся. Проектирование макета графического интерфейса. Выбор средств разработки программного продукта. Требования к функционалу ученика. Возможности интерфейса администратора.
дипломная работа [2,8 M], добавлен 01.04.2013Требования к подсистеме создания Scorm-пакетов. Построение диаграммы потоков данных. Проектирование программного средства. Выбор средств реализации подсистемы. Организация взаимодействия приложения с базой данных. Реализация пользовательского интерфейса.
курсовая работа [634,2 K], добавлен 16.08.2012Создание прикладного программного обеспечения для реализации интерфейса терминала по приему платежей за услуги связи. Анализ требований к программному обеспечению. Выбор языка программирования. Разработка интерфейса пользователя и проектной документации.
дипломная работа [1,3 M], добавлен 18.06.2015Изучение и проектирование автоматического интерфейса ввода-вывода, состоящего из канала измерения в указанных пределах и канала управления напряжением в определенном диапазоне с максимальной приведенной погрешностью и ограниченным временем измерения.
контрольная работа [93,1 K], добавлен 31.08.2010Разработка инфологической модели базы данных "Рабочее место кассира", требования к ее функциональным характеристикам. Создание программы в Delphi. Описание компонентов для реализации графического интерфейса и интерфейса ввода справочника кассиров.
курсовая работа [2,2 M], добавлен 17.04.2014Последовательность выполнения задания и рекомендации по проектированию. Проектирование несложных дискретных устройств (цифрового автомата), структурная схема и алгоритм функционирования. Применение синхронного триггера и его отличия от асинхронного.
методичка [258,6 K], добавлен 28.04.2009Описания сетевых протоколов прикладного уровня, позволяющих производить удалённое управление операционной системой. Основные характеристики протокола CMIP. Изучение особенностей Telnet, сетевого протокола для реализации текстового интерфейса по сети.
реферат [47,0 K], добавлен 24.01.2014Дизайн интерфейса приложения как связь человека и персонального компьютера. Adobe Photoshop и его возможности, анализ функциональности и содержание главных операций. Используемые инструменты для разработки дизайна интерфейса текстового редактора.
контрольная работа [407,5 K], добавлен 12.10.2015Системные службы хостинг-компании как целевая аудитория сервиса, общие требования к ним. Критерии оценки интерфейса и направления разработки. Проектирование интернет-сервиса, схема его функционирования и принципы реализации, оценка эффективности.
дипломная работа [2,5 M], добавлен 18.11.2013Критерии и порядок выбора интерфейса веб-сайта. Характеристики, которые определяют успешность пользовательского интерфейса. Структура навигационной системы. Графический дизайн и выбор цветовой схемы. Техническая реализация интерфейса сайта на сегодня.
реферат [164,8 K], добавлен 24.02.2011Автоматизированная система управления, важные компоненты. Описание SCADA-системы WinCC v6. Graphics Designer как редактор для разработки кадров пользовательского интерфейса. Alarm Logging как редактор для конфигурирования и архивации аварийных сообщений.
презентация [415,0 K], добавлен 06.08.2013Особенности создания ряда игровых приложений, логической игры. Программное обеспечение простейшего калькулятора, генератора функций. Разработка элементов интерфейса простейшего графического редактора, электронной записной книжки, текстового редактора.
методичка [788,7 K], добавлен 24.10.2012Понятие и виды пользовательского интерфейса, его совершенствование с помощью новых технологий. Характеристика приборной панели управления современного автомобиля и пультов дистанционного управления. Использование клавиатуры, особенности интерфейса WIMP.
курсовая работа [1,4 M], добавлен 15.12.2011Особенности процесса взаимодействия пользователя с компьютером. Графический интерфейс ОС Windows, его преимущества и недостатки. Основы простейшего SILK-интерфейса. Основные черты и специфика структуры WIMP-интерфейса. Общепринятые соглашения для меню.
реферат [26,8 K], добавлен 02.10.2012Алгоритмическое представление и описание правил игры "Эволюция". Построение диаграммы прецедентов. Разработка графического интерфейса пользователя. Реализация интерфейса в среде Unity. Структура файла сохранения игры. Проектирование поведения компьютера.
дипломная работа [3,3 M], добавлен 18.02.2017Разработка и анализ интерфейса пользователя базы данных. Ознакомление с процессом поэтапного создания проекта и добавления файла локальной базы данных. Исследование и характеристика главных принципов программирования функциональной части интерфейса.
дипломная работа [3,0 M], добавлен 27.09.2017