Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DMITR / USED / DIPLOM1.DOC
Скачиваний:
19
Добавлен:
16.04.2013
Размер:
410.62 Кб
Скачать

Глава 3. Программное обеспечение.

3.1 Структура программного обеспечения кондуктометра.

Рассмотрим как происходит передвижение и преобразование данных в нашей системе.

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

На нижнем уровне данныхмы уже имеем дело с цифровой информацией. Основную нагрузка здесь ложится на микроЭВМ МК51. Она осуществляет диагностику системы, проверку наличия возможных неисправностей, приём данных от АЦП и передачу их ЭВМ. Программное обеспечение для этого уровня было написано на языке ассемблераMCS-51.

Уровень данных ЭВМопределяет уровень готовности последовательного порта для ввода и вывода информации и организует инициирование и управление процедурой обмена с микроконтроллером черезRS-232.Ввод-вывод управляется подпрограммой обработки прерываний.

Уровень обработки информацииосуществляет обработку полученной информации статистическими методами и методомSpline-функций. На этом уровне описаны все основные процедуры измерительного и калибровочных режимов по работе с данными: загрузка, сохранение, преобразование масштаба, расчёт поправочных коэффициентов.

Рис. 5 Структурная схема ПО.

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

3.2 Информационный обмен ацп-контроллер.

Для получения данных ОМЭВМ от АЦП логично использовать один из двунаправленных портов ввода-вывода (в нашем случае порт Р1). Все четыре порта МК51 предназначены для ввода или вывода информации побайтно. Каждый из портов содержит фиксатор-защелку, который представляет собой восьмиразрядный регистр, имеющий байтовую и битовую адресацию для установки (сброса) разрядов с помощью программного обеспечения, входной буфер и выходной драйвер.

Порт 0 является двунаправленным, а порты 1, 2, 3 -квазидвунаправленными. Каждая линия портов может быть использована независимо для ввода и вывода информации. Для того чтобы некоторая линия порта использовалась для ввода, в D-триггер регистра-защелки порта должна быть записана 1, которая закрывает МОП-транзистор выходной цепи.

По сигналу СБР в регистры-защелки всех портов автоматически записываются единицы, настраивающие их тем самым на режим ввода. Все порты могут быть использованы для организации ввода-вывода информации по двунаправленным линиям передачи. Однако порты 0 и 2 не могут быть использованы для этой цели, в случае, если МК система имеет внешнюю память, связь с которой организуется через общую разделяемую шину адреса/данных, работающую в режиме временного мультиплексирования.

Нагрузочная способность портов. Выходные линии портов 1 ,2 и 3 могут работать на одну ТТЛ-схему. Линии порта 0 могут быть нагружены на два входа ТТЛ-схем каждая. Линии порта 0 могут работать и наn-МОП схемы, однако при этом их необходимо подключать на источник электропитания через внешние нагрузочные резисторы за исключением случая, когда шина порта 0 используется в качестве шины адреса/данных внешней памяти.

Входные сигналы для МК51 могут формироваться в качестве источников сигналов для МК51 могут формироваться ТТЛ-схемами или n-МОП схемами. Допустимо использование в качестве источников сигналов для МК51 схем с открытым коллектором или открытым стоком. Однако при этом время изменения входного сигнала при переходе из 0 в 1 окажется сильно затянутым.

Запись в порт.При выполнении команды записи в порт новое значение записывается в защёлку в фазеS6P2последнего машинного цикла команды. Однако новое содержимое защёлки выводится непосредственно на выходной контакт порта только в фазеS1P1следующего машинного цикла.

При переходе выводов порта Р1 из состояния 0 в 1 для уменьшения времени переключения используется дополнительный транзистор N1(Рис. 6), который включается на время равное двум периодамTBQ тактовой частоты ОМЭВМfBQ (транзисторN1 открыт в течение фазS1P1иS1P2машинного цикла, в котором происходит смена состояния вывода порта). В открытом состоянии транзисторN1 обеспечивает ток приблизительно в 100 раз больший, чем постоянно открытый транзистор N2.

Рис. 6. Разряд порта Р1.

В схеме на рис. 5 выдержка в два периода TBQобеспечивается элементомDL.

Особенности работы портов.Команды чтения портов ОМЭВМ делятся на две категории: команды, считывающие информацию с выходов защёлок, и команды, считывающие информацию непосредственно с внешних контактов выводов порта. Команды, считывающие информацию с выходов защёлок, реализуют так называемый режим «Чтение- Модификация- Запись», заключающийся в том, что команда считывает состояние защелки, при необходимости модифицирует полученное значение и записывает результат обратно в защёлку.

Команды, работающие в режиме «Чтение- Модификация- Запись». Во всех случаях, когда операндом и регистром назначения результата является порт или бит порт, команды считывают информацию с выходов защёлок, а не с внешних контактов выводов порта.

ANL (логическое И, напримерANL P1,A)

ORL(логическое ИЛИ, напримерORL P2,A)

XRL (логическое ИСКЛЮЧАЮЩЕЕ ИЛИ, напримерXRL P3,A)

JBC(переход, если бит =1 и очистка бита, например,JBC P1.1,LABEL)

CPL (инверсия бита, например,CPL P3.0)

INC (инкремент, например,INC P2)

DEC (декремент, например,DEC P2)

DJNZ (декремент и переход, например,DINZ P3,LABEL)

MOV PX.Y,C(пересылка бита переноса в битY порта X)

CLR PX.Y (очистка битаYпортаX)

SETB PX.Y (установка битаYпортаX)

Неочевидно, что последние три команды в приведённом списке работают в режиме «Чтение- Модификация- Запись», однако это так. Указанные команды считывают с порта весь байт целиком, модифицируют адресуемый бит, после чего записывают полученный новый байт обратно в фиксатор-защёлку порта.

Рис. 7 Диаграмма работы с портом Р1.

Чтение информации с выходов защёлок, а не с внешних контактов выводов порта позволяет исключить возможную в ряде случаев неправильную интерпретацию уровня напряжения на выводе порта. К примеру, вывод порта может использоваться для управления базой n-p-n транзистора. В этом случае, когда в защелку вывода порта записывается 1, транзистор открывается. Если после этого ОМЭВМ прочитает состояние внешнего контакта рассматриваемого вывода порта, то получит значение логического 0, т.к. на контакте в это время присутствует напряжение базы открытого транзистора. Чтение же выхода защёлки покажет истинное значение сигнала на выводе порта, т.е. 1. На рис. 7 приведены временные диаграммы, иллюстрирующие выполнение операций ввода/вывода информации через порт Р1 МК51.

Обмен между АЦП и контроллером происходит по следующей схеме (рис.8):

- через линию синхронизации (SCLK) с МК51 подаются синхронизирующие импульсы;

- по входной линии данных принимается старт-бит (St) и настроечная информация: выбор номера канала 0..8 (Sel2, Sel1, Sel0), выбор режима работы однополярный/двуполярный (UNI/DIP), обычный или дифференциальный сигнал (SCL/DIF), режим энергопотребления обычный или пониженный (PD1-PD0);

-передача стробирующего сигнал(10 нс) сигнализирует о принятии управляющего байта и готовности к передаче данных.

- по выходной линии данных АЦП передает 12 бит данных.

Рис.8 Временная диаграмма работы АЦП.

Соседние файлы в папке USED