6. Реализация ЦАП и АЦП

Пример 5 Преобразование информации из цифровой формы в аналоговую осуществляется с помощью подключения интегральных микросхем цифроаналогового преобразователя (ЦАП) к одному из портов MCS-51. Выдача информации при этом осуществляется с помощью одной команды, например: MOV P1, А.

Если необходимо генерировать какую-то сложную функцию, то лучше записать ее таблично и передавать с соответствующим периодом в заданный порт.

Пример 58. Аналого-цифровой преобразователь (АЦП) последовательного приближения (рис. 10).

Рисунок 10 – Реализация АЦП последовательного приближения

МК выдает через порт P1 байт данных, что превращается в аналоговую форму и сравнивается с входным сигналом компаратора, после чего анализируется результат сравнения. В зависимости от значения сигнала на входе Т0 MCS-51 или оставляет старший бит в единичном состоянии, или сбрасывает в 0. Потом аналогично проверяются все остальные биты.

R4 – регистр цифрового эквивалента;

R3 – регистр бегущего значения 1 для указания весового бита.

CONVRT: MOV R5#08Н ; загрузка счетчика циклов

MOV R3,#01Н

MOV R4,#00Н

LOOP: MOV А, R3 ; сдвиг R3 вправо на 1 разряд

RR A

MOV R3, А

ORL А, R4 ; логическое ИЛИ весового разряда и цифрового эквивалента

MOV Р1, А ; выдача в Р1

JBC T0, ENDUGH; если Т0=1, то аналоговый эквивалент выданного байта больше чем UBX и сохраняется в R4, если наоборот, то установленный бит запоминается в R4

MOV R4, А

ENDUGH: DJNZ R5, LOOP; декремент R5 и если не 0, то переход к анализу следующего бита

Пример 59. Реализация АЦП методом двойного интегрирования.

Метод двойного интегрирования заключается в следующем (рис. 11). Сначала интегрируется входной опорный сигнал ЕОП. На выходе интегратора устанавливается отрицательный потенциал, после чего интегрируется входной аналоговый сигнал за строго определенное время Т1. Т1 отсчитывается от момента перехода сигнала интегратора через 0. Потом подается UОП и измеряется время интегрирования Т2, которое пропорционально входному сигналу.

Рисунок 11 – Реализация АЦП двойного интегрирования

Максимальное время преобразования для точности 16 разрядов 2´65.536 мс. Если необходима точность преобразования 8 разрядов, то Т/С0 переключается в режим 8-битного таймера, а время преобразования составляет 2´256 мкс.

Рисунок 12 – Временные диаграммы сигналов АЦП
двойного интегрирования

MOV TMOD,#01H; настройка Т/С0 на режим 16 бит

MOV TH0,#HIGH (NOT(T1)+1); загрузка Т/С0

MOV TL0,#LOW (NOT(T1)+1)

SETB P1.1 ; настройка Р1.1 на ввод

SETB Pl.0 ; подача ЕОП на интегратор

WAIT: JB P1.1, WAIT; ожидание появления на выходе интегратора отрицательного уровня сигнала

CLR P1.0 ; подача UBX на интегратор

WAITT0: JNB P1.1, WAIT0; ожидание момента Т0

SETB TCON.4 ; запуск Т/С0

WAITT1: JNB TCON5, WAITT1; ожидание момента Т1

SETB P1.0 ; подача ЕОП на интегратор и начало обратного интегрирования

WAITT2: JB P1,1, WAITT2; ожидание момента Т2

CLR TCON.4 ; остановка Т/С0

CLR TCON.5 ; сброс флажка TF0

MOV В, TH0 ; формирование результата в регистровой паре А, В

MOV A, TL0


7 Локальная управляющая микросеть на основе MCS-51

При управлении сложными технологическими объектами используются системы с распределенным управлением, которые состоят из группы контроллеров, руководящих отдельными агрегатами объекта (например, многосекционной печатной машиной, бумагообрабатывающей установкой, переплетно-обрабатывающей линией, прокатным станом и т.п.). Между отдельными подсистемами должен быть обеспеченная информационная связь. Поэтому обязательным элементом распределенной системы управления есть локальная сеть, которая объединяет определенные контроллеры в систему.

На такую сеть возлагаются обычно простые функции передачи сообщений за гарантированное время. Протяжность линий связи обычно не превышает десятков метров, размер сообщения – нескольких десятков байтов, а время доставки сообщений – в границах от 0.01 до 1 с. Типичными есть два режима информационного обмена в сети: широковещательный, если сообщение, которое присылается, назначается для всего остатка подсистем (микроконтроллеров сети), и абонентский, если сообщение назначается лишь одному МК. Обычно первым способом передаются разные информационные параметры, которые используются многими подсистемами. Это разрешает уменьшить загрузки сети за счет изъятия многочисленных передач одного и того же сообщения разным адресатам. Вторым способом обычно передаются команды управления от центрального устройства к исполнительным средствам или сообщения экстренного характера.

Наиболее широко распространены локальные сети двух структур: кольцевые и моноканальные (типа BITBUS). Последние есть более удобными для управляющих микросетей, так как допускают простое наращивание и модификацию системы. Кроме этого, в моноканальной сети время доставки сообщение не зависит от общего числа МК и они имеют высокую живучесть и надежность.

В сетях с единым моноканалом все МК связаны между собой одной общей (распределительной) линией связи (рис. 1). В линиях передачи данных обычно используется коаксиальный кабель или витая пара с резисторами согласования на их концах.

Известны разные методы доступа к распределительной линии (протоколы), которые разрешают осуществлять обмен данными между многими МК сети, то есть обеспечивать разделение канала связи между многими подсистемами.

Рассмотрим интервально-маркерный метод доступа к распределительному моноканалу, который разрешает устранить конфликты в канале и достаточно полно использовать пропускную способность канала. Суть метода состоит в следующем:

1. При нулевой загрузке в канале периодически появляется маркер, который генерируется одним из МК сети. Маркер содержит номер ведущего МК. Главное назначение ведущего – поддерживать синхронизм в сети за счет периодической выдачи маркера в канал.

2. Период генерации маркера состоит из определенного числа «окон», число которых равное числу МК в сети. Каждое окно имеет свой номер и принадлежит одной из подсистем.

3. В процессе захвата канала МК, которое желает выдать свой пакет (сообщение), должен дождаться появления маркера и отсчитать от него свое окно.

Если при этом его не опередят другие МК, то, дождавшись своего окна, подсистема может, не опасаясь конфликтов, начать передачу данных (рис. 14а).

4. После выдачи сообщения МК генерирует свой маркер и становится новым ведущим. Старый ведущий микросети, распознав, что моноканал захвачен, освобождается от этой роли.

5. Отсчет момента времени от маркера своего окна проводится по такому правилу. Продолжительность окна принимается равной времени передачи одного байта данных. Если ведущий имел номер l, то первое окно будет принадлежать МК с номером l+1, потом МК с номером l+2 и т.д. Время ожидания своего окна (Т) можно определить как T=t X, где t – время передачи одного байта, то есть продолжительность окна. Число Х определяется следующим образом:

где k – номер МК, который пробует захватить канал, k = 0¸(n-1); l – номер ведущего, l = 0¸(n-1); n – число МК в сети.

6. Если самый ведущему необходимо выдать сообщение, то он может захватить канал во время своего окна, то есть вместо генерации очередного маркера начать передавать свое сообщение.

Выдав маркер, ведущий МК запускает таймер на время t×(n-1), а если за это время ни единый МК не захватит канал, то весь цикл повторяется еще раз и т.д.

8. Любой МК принимает все байты, которые передаются по каналу. Для контроля пропадания маркера любой МК после приема каждого байта запускает таймер на задержку t×(n+1). Таким образом, пропадание маркера (а значит, и режима синхронизма микросети) фиксируется, если за время t×(n+1), не было передано ни одного сообщения.

9. При выявлении пропадания маркера для восстановления синхронизма в микросети любой МК выполняет следующие простые действия: выдерживает паузу продолжительностью t×(i+1), где i – собственный номер МК; если во время паузы снова не было принято ни одной информации, то данный МК становится ведущей и генерирует новый маркер.

Этой процедурой обеспечивается автоматическое восстановление работы микросети при отказе МК, которое есть в данный момент ведущим.

10. При интервально-маркерном методе удается избегнуть любых конфликтов в сети по следующим причинам:

-  контроль пропадания маркера осуществляется постоянно всеми МК и он полностью синхронный, так как счетчики паузы корригируются приблизительно одновременно при приеме каждого байта. Все МК обнаружат пропадание маркера одновременно;

-  одновременно начинается отсчет паузы t×(i+1) всеми МК;

-  микроконтроллер с меньшим номером первым генерирует маркер и восстановит синхронизм в микросети.

Последовательный порт MCS-51 допускает передачу 9-битных кодов. Используя это, можно легко ввести признак маркера таким образом, что байт маркера будет отличаться от любого информационного байта. На рис. 2б изображена структура маркера; старший бит определяет признак маркера (для маркера – 1). Бит 7 используется для простейшего контроля за паритетом. Семибитное поле адреса разрешает иметь в системе до 127 подсистем с номерами от 0 до 126. Адреса 127 зарезервированная для широковещательной передачи.

Рекомендованный формат сообщения представленный на рис. 14в и предусматривает такие поля: А0, – адреса получателя; АВ – адреса отправителя; L – длина поля данных (0–255); CRC – байт контрольной суммы.

Можно определить четыре состояния, в которых будет находиться любой МК микросети.

Приемник (R). В этом состоянии МК прослушивает канал, принимает сообщение и выбирает из них необходимую ему информацию.

Передатчик (W). В этом состоянии МК, захватив канал, передает свое сообщение.

Ведущий (Н). МК – ведущий и поддерживает синхронизм в сети.

Специальное состояние (RM). МК реализует процедуру восстановления синхронизма в сети.

Граф состояний МК микросети представленный на рис 3.

Запрос на передачу сообщения формируется в МК прикладной программой управления объектом и обозначенный RQ. Задержки, которые реализуются таймером, имеют такое содержание:

ТМ1 – контроль исчезновения маркера, задержка равная t×(n+1).

TМ2 – ожидание своего окна (t×х);

ТМЗ – ожидание окончания периода сети (t×п);

TМ4 – пауза перед выдачей маркера при восстановлении синхронизма, задержка равная t×(i+1).

Для реализации подсистемы необходимы следующие ресурсы: УАПП, таймер, два уровня прерываний. Этими ресурсами владеет MCS51, что разрешает вести передачу и прием данных со скоростью до 375 кбит/с. Время передачи одного байта, обрамленного стартовыми и стоповыми битами (плюс 9-й разряд), составляет 58,7 мкс. Пропускная способность микросети при этом равна приблизительно 17 кбайт/с.

Микроконтроллер, который работает в составе распределенной системы управления на основе локальной микросети, должен, кроме прикладной программы управления, иметь еще программные средства доступа к моноканалу. Таким образом, МК должен работать в двухпрограммном режиме с распределением всех ресурсов между этими двумя сопрограммами. Понятно, что при этом должен быть реализован механизм взаимодействия между сетевой и прикладной программами. Чаще всего этот механизм реализуется путем присвоения сетевой программе более высокого приоритета.


Информация о работе «Обработка сигналов на основе MCS-51»
Раздел: Коммуникации и связь
Количество знаков с пробелами: 35873
Количество таблиц: 2
Количество изображений: 3

Похожие работы

Скачать
46876
3
11

... информации из ПК в программно-доступные узлы МК; чтение содержимого программно-доступных узлов и индикация их на мониторе ПК. 1.2 Анализ предыдущей работыВопрос об организации обмена информацией между персональным компьютером и микроконтроллером семейства Intel MCS-51 был уже рассмотрен в бакалаврской работе [3]. В этой работе были рассмотрены проблемы аппаратного и программного сопряжения МК с ...

Скачать
23140
0
2

... объёмом до 16 Мбайт Встроенный интерфейс I2C (не во всех моделях) 2. МИКРОКОНТРОЛЛЕРЫ INTEL 296   2.1 Общая характеристика и применение   В семейство MCS-196 фирмы Intel (иногда используется и название 80C196) входит более 30 разновидностей микроконтроллеров. Это 16-разрядные, быстродействующие ИС высокой степени интеграции, ориентированные на решение задач управления процессами в реальном ...

Скачать
37477
8
8

... байт в регистре A, старший – в регистре B. В случае выполнения операции деления целое от деления помещается в аккумулятор А, остаток от деления – в регистр В. Логические команды с байтовыми переменными. Система команд ОМЭВМ позволяет реализовать логические операции: "И", "ИЛИ", "ИСКЛЮЧАЮЩЕЕ ИЛИ" на регистре-аккумуляторе (А) и байте-источнике. Вторым операндом (байтом-источником) при этом может ...

Скачать
85017
10
29

... Подробные сравнительные характеристики датчиков приведены в [7] и [8]/ В отличии от остальных комплектующих прибора, при выборе газового датчика следует принимать во внимание соображения доступности тех или иных приборов( цена, возможность приобретения в России ). При выборе сенсора RS 286-620 во внимание принимались и эти соображения. Как показали эксперименты, данный тип сенсора не обладает ...

0 комментариев


Наверх