- •Глава1. Первичные преобразователи для измерения электропроводности.
- •Глава2. Плата интерфейса.
- •2.1 Разработка блока управления
- •2.2 Выбор способа подключения платы к компьютеру.
- •2.3 Проектирование печатной платы в системе pcad .
- •Глава 3. Программное обеспечение.
- •3.1 Структура программного обеспечения кондуктометра.
- •3.2 Информационный обмен ацп-контроллер.
- •3.3 Информационный обмен контроллер- эвм.
- •3.4 Самодиагностика и выявления возможных неисправностей.
- •3.5 Программа контроллера для сбора и обработки информации.
- •3.6 Управление процедурой обмена через rs232.
- •3.7 Программа обработки информации.
- •3.8 Программа обработки информации.
Глава 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 Временная диаграмма работы АЦП.