Рефераты. Обработка сигналов на основе MCS-51

SJMP  WAIT       ; цикл, если TF=0

EXIT: MOV          В, ТН1       ; (В) – (А), число импульсов за время 10 мс

MOV   A, TL1

программный команда управление микроконтроллер

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 кбайт/с.

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


 


Страницы: 1, 2, 3, 4



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.