Книга
Книга
ПРЕДИСЛОВИЕ
В общем потоке публикаций, посвященных созданию и применению микропроцессорных средств, значительное место занимают вопросы применения микропроцессоров в измерительной технике. Использование ЭВМ в измерительной технике началось задолго до появления микропроцессоров; на первых этапах главным направлением было создание специализированных информационно-измерительных систем с применением центральной ЭВМ; на этапе внедрения микропроцессоров основным направлением стало создание автономных измерительных приборов со встроенными микро-ЭВМ и децентрализованных информационно-измерительных систем с местной обработкой данных автономным микроконтроллером или микроЭВМ.
В разработке этих вопросов принимают активное участие специалисты по цифровой измерительной и вычислительной технике; имеется большое число публикаций как зарубежных (Э.Клингман, Б. Соучек, Дж. Коффрон и др.), так и отечественных (И. В. Прангишвили, В, Ю. Кнеллер, В. Н. Малиновский и др.) ученых. В имеющихся (публикациях в основном рассмотрены общие вопросы разработки микропроцессорных систем и их применения; в настоящей книге рассматриваются главным образом вопросы применения микропроцессоров в измерительной технике и в меньшей степени ——вопросы создания самих микропроцессорных аппаратно-программных средств. В основу изложения положен функционально-целевой принцип проектирования структуры прибора.
В гл. 1 рассмотрены основные аппаратные структуры микропроцессорных систем, применяемых в измерительной технике, и дан обзор специфических особенностей измерительных схем приборов со встроенными микропроцессорами. В гл. 2 описан функциональный подход к проектированию измерительного прибора с микропроцессором и дан обзор типовых функций, выполняемых микропроцессорами в приборе. В гл. 3 рассмотрена структура программного обеспечения измерительного прибора, описаны ее основные
олокн, а также дан обзор методов и средств разработки программного обеспечения для микропроцессорных систем. В гл. 4 рассмотрены внутриприборные и межприборные интерфейсы микропроцессорных систем, даются примеры программной и аппаратной реализации интерфейсов. В гл. 5 приведены примеры конкретной реализации измерительных приборов со встроенными микропроцессорами. Этот материал не претендует на полноту охвата всех типов измерительных приборов; описаны лишь основ1ные направления развития приборов, измеряющих электрические величины, и ряд направлений развития приборов, измеряющих |неэлектрические величины, в разработке которых авторы принимали непосредственное участие.
Описание принципов построения и функционирования микропроцессоров и микроЭВМ в книге не приводится; по этим вопросам имеется обширная литература учебного и справочного характера. Предполагается, что читатель знаком с основными понятиями микропроцессорной техники.
Книга рассчитана на специалистов в области цифровой измерительной и вычислительной техники, а также студентов соответствующих специальностей.
АвторыАвторыАвторы будут благодарны читателям за критические замечания и дополнения, которые просят направлять по адресу: 113114, Москва, М-114, Шлюзовая наб., 10, Энерго- атомиздат.
Авторы
Авторы
ВВЕДЕНИЕ
Микропроцессорная техника получает все большее применение в приборостроении. Применение микропроцессоров (МП) преобразует измерительные приборы в «интеллектуальные» устройства, способные производить необходимую математическую обработку измерительной информации и представлять ее в наиболее удобном для восприятия виде.
В случаях, когда измерительные приборы выполняются в виде отдельных устройств, нс связанных с информационно-измерительной -системой, микропроцессоры обеспечивают весь необходимый комплекс обработки информации. В случаях, когда прибор входит в качестве звена в информационно-измерительную систему, микропроцессор производит либо полную обработку информации, либо предварительную обработку данных, оставляя задачи полной обработки информации за вычислительной частью информационно-измерительной системы.
Кроме задач математической обработки измерительных параметров микропроцессор выполняет функции управляющего устройства, обеспечивающего .подключение необходимых элементов приборов, прием командных сигналов, передачу выход!ных данных и др.
В зависимости от типов измерительного прибора и примененного микропроцессора возможна различная структура 《ннтеллектуалнного》 прибора. Возможно применение в приборе нескольких микропроцессоров, один из которых выполняет функции управления, в то время как другие выполняют задачи обработки информации.
Микропроцессоры получают значительное применение во всех основных направлениях развития информационноизмерительной техники.
В приборах для измерения электрических и меэлектри- ческих величин микропроцессоры выполняют следующие основные функции:
автоматическую установку пределов измерения, корректировку аддитивных и мультипликативных погрешностей;
автоматическое управление процессом уравновешивания в приборах сравнения постоянного и переменного токов;
первичную обработку данных ——определение отклонений от номинальных значений, определение моментов приближения к граничным условиям, вычисление отношений максимума-минимума, именованных значений отсчетов, умножение и деление на константы;
статистическую обработку данных: определение средних значений контролируемых величин за определенные интервалы времени, вычисление вариаций, дисперсий, средних квадратических значений и др.;
обработку данных по упрощенным алгоритмам: определение контролируемых параметров по измеренным значениям и известным зависимостям—определение расхода с вычислением по формулам, определение температур с учетом нелинейности характеристик термоэлементов и температуры окружающей среды, сглаживание полученных значений и др.;
обработку данных по алгоритмам, реализующим метод измерения: определение скоростей движения и значений расхода на основе корреляционных методов, определение параметров объекта на основе спектрального анализа сигналов и др.;
регистрацию данных в буферных (транзитных) регистраторах: управление частотой отсчетов, рациональное использование буферной памяти, подготовку данных к передаче в блоки основной регистрации;
визуализацию и регистрацию данных на осциллографах и дисплеях: управление процессом визуализации, организацию памяти, формирование знаков, управление цветом, формирование маркерных меток и др.;
диагностику функциональных узлов приборов: определение перед началом измерения исправности основных узлов сложных приборов, организацию тестов контроля и индикацию неисправностей;
управление работой узлов, выполняющих отдельные функции измерительного преобразования, в частности работой аналого-цифрового преобразователя и др.;
полное управление процессом измерения по заданной программе, включая управление внешними блоками, дополнительными устройствами (в том числе переключателями, вентилями, микродвигателями), для приборов, измеряющих неэлектрические величины.
6
Указанные выше области применения микропроцессоров в измерительных приборах относятся, как указывалось ранее, к отдельным приборам, не входящим в систему. В приборах, входящих в измерительную систему, микропроцессоры используются также для связи приборов в единый комплекс, кодирования и декодирования данных, передаваемых по каналам связи, повышения надежности системы путем защиты данных от искажений, сжатия данных и других задач, характерных для информационноизмерительных систем.
Приведенный выше перечень функций микропроцессоров в измерительных приборах определяет и основные типы приборов со встроенными микропроцессорами. Наиболее широко используются следующие типы средств измерений:
многопредельные вольтамперомметры, вольтметры с микропроцессорным управлением процессом измерения, автоматической коррекцией погрешностей и программной обработкой результатов измерений;
мосты и компенсаторы переменного тока с автоматизацией процесса уравновешивания, автоматическим выбором пределов измерения комплексных величин, вычислением выходных данных по различным схемам замещения;
регистрирхпощие приборы с аналого-цифровым преобразованием и хранением данных в буферной памяти, с управлением процессом визуализации данных;
преобразователи (датчики) неэлектрических величин с устройствами коррекции погрешностей, преобразованием вида сигналов и др.;
приборы для измерений неэлектрических величин с обработкой данных по определенным алгоритмам (корреляционные расходомеры и др.);
приборы для измерения неэлектрических величин, включающие в себя комплекс вспомогательных элементов и устройств (хроматографы, весоизмерительные приборы И др.).
В настоящей книге приведены материалы исследований авторов по ряду из перечисленных направлений на кафедре электроники и информационно-измерительной техники Московского института нефтехимической и газовой промышленности и в отделе применения микропроцессоров Всесоюзного научно-исследовательского института медицинского приборостроения, а также сведения обзорного характера из отечественной и зарубежной периодической литературы.
ГЛАВА ПЕРВАЯ
СТРУКТУРЫ ИЗМЕРИТЕЛЬНЫХ ПРИБОРОВ
С МИКРОПРОЦЕССОРАМИ
ОБЩИЕ ПОНЯТИЯ
Внедрение микропроцессорной техники в измерительные приборы приводит к унификации их структур, точнее, той части функциональных узлов, которая обеспечивает управление процессом измерения и обработку информации. Электроизмерительная схема или схема преобразования неэлектрической величины в электрическую является специфичной для конкретного типа прибора; остальные узлы и связи между ними зависят от требуемых функциональных характеристик прибора и архитектуры применяемого микропроцессор а или микроЭВМ.
От структуры функциональных узлов измерительного прибора можно перейти к структуре аппаратных и программных модулей, которые выполняют соответствующие функции. Оптимальное проектирование измерительного прибора состоит в слабо формализованной процедуре синтеза этой аппаратно-программной структуры. Критериями оптимальности могут при этом быть стоимость, надежность и др.; ограничениями —т''погрешность, быстродействие и другие функциональные характеристики.
Дуализм аппаратного и программного обеспечения дает возможность в каждом конкретном случае определить оптимальные наборы модулей, обеспечивающих заданный набор функций. Реализация аппаратных и программных модулей в микропроцессорных системах существенно зависит от архитектуры применяемого микропроцессора. Понятие архитектуры микропроцессор а включает в себя его внутреннюю структуру; способы обмена информацией с внешними модулями; форматы информации, циркулирующей в системе; набор команд микропроцессора. Особенности архитектуры различных типов микропроцессоров подробно рассмотрены в ряде обзоров и учебных пособий 8
[6, 45, 73, 88, 104]; здесь ограничимся краткой справкой. Напомним основные определения.
Микропроцессор — это устройство для обработки информации и управления, работающее под управлением программы и построенное на одной или нескольких интегральных микросхемах высокого уровня интеграции (БИС). Изолированный микропроцессор не способен к функционированию.
МикроЭВМ — это совокупность микропроцессора, запоминающих устройств для хранения программы и данных и устройств ввода-вывода, обладающая функциональной законченностью и построенная на одной или нескольких БИС. МикроЭВМ, выполненную на одной печатной плате, называют одноплатной; если все элементы микроЭВМ находятся в одной БИС, то микроЭВМ называют однокристальной.
Одноплатные микроЭВМ часто снабжаются встроенными клавиатурой и индикаторами; в таком виде они могут составить вычислительную часть измерительных приборов Таблица 1.1. Данные зарубежных микропроцессоров и микроЭВМ
ипTипTHH9■quoHaKdeedHH9■quoHaKdeedBHJOyoHXJIBHJOyoHXJI"OTQOYQHh sglDHEd-LD ・odu BOHQadnv"OTQOYQHh sglDHEd-LD ・odu BOHQadnvQHW .Jad+JadHHhedau。QHW .Jad+JadHHhedau。mod LQHIed。弓Hhmod LQHIed。弓Hh
ип
T
ип
T
HH9
■quoHaKdeed
HH9
■quoHaKdeed
BHJOyoHXJI
BHJOyoHXJI
"OTQOYQHh sglDHEd-LD ・odu BOHQadnv
"OTQOYQHh sglDHEd-LD ・odu BOHQadnv
QHW .Jad+JadHHhedau。
QHW .Jad+JadHHhedau。
mod LQHIed。弓Hh
mod LQHIed。弓Hh
Микропроцессоры с фиксированной структурой
4004 МС6800 8080F8 IM6100 Z80 TMS9900 8086 MC68000 Z80004004 МС6800 8080F8 IM6100 Z80 TMS9900 8086 MC68000 Z8000IntelMotorolaIntelFairchildIntersilZilogTexas InstrumentsIntelMotorolaZilogIntelMotorolaIntelFairchildIntersilZilogTexas InstrumentsIntelMotorolaZilog48882866648882866666"МОП п-МОП п-МОП п-МОП К-МОП п-МОП п-МОП п-МОП п-МОП п-МОП"МОП п-МОП п-МОП п-МОП К-МОП п-МОП п-МОП п-МОП п-МОП п-МОПкккккккммм44444421686 6 6 6 3 1 4кккккккммм44444421686 6 6 6 3 1 48 6 4 5 7»2 2 2 5 ,2 ‘ ‘ ,о 1 0008 6 4 5 7»2 2 2 5 ,2 ‘ ‘ ,о 1 0007375277977и 6 и 11 11 117375277977и 6 и 11 11 11
4004 МС6800 8080
F8 IM6100 Z80 TMS9900 8086 MC68000 Z8000
4004 МС6800 8080
F8 IM6100 Z80 TMS9900 8086 MC68000 Z8000
Intel
Motorola
Intel
Fairchild
Intersil
Zilog
Texas Instruments
Intel
Motorola
Zilog
Intel
Motorola
Intel
Fairchild
Intersil
Zilog
Texas Instruments
Intel
Motorola
Zilog
488828666
488828666
6
6
"МОП п-МОП п-МОП п-МОП К-МОП п-МОП п-МОП п-МОП п-МОП п-МОП
"МОП п-МОП п-МОП п-МОП К-МОП п-МОП п-МОП п-МОП п-МОП п-МОП
кккккккммм44444421686 6 6 6 3 1 4
кккккккммм44444421686 6 6 6 3 1 4
8 6 4 5 7»2 2 2 5 ,2 ‘ ‘ ,о 1 000
8 6 4 5 7»2 2 2 5 ,2 ‘ ‘ ,о 1 000
7375277977и 6 и 11 11 11
7375277977и 6 и 11 11 11
Микропроцессоры с секционной структурой
3002SBP 040067013002SBP 04006701IntelTexas InstrumentsMonolithic MemoriesIntelTexas InstrumentsMonolithic Memories2 4 42 4 4лллллли 12и 12TMS10008748TMS10008748Однокристальные микроЭВМTexas Instruments 4 р-МОП Intel8 /г-МОПОднокристальные микроЭВМTexas Instruments 4 р-МОП Intel8 /г-МОП1 К4 К1 К4 К1212
3002
SBP 0400
6701
3002
SBP 0400
6701
Intel
Texas Instruments
Monolithic Memories
Intel
Texas Instruments
Monolithic Memories
2 4 4
2 4 4
ллл
ллл
и 12
и 12
TMS1000
8748
TMS1000
8748
Однокристальные микроЭВМ
Texas Instruments 4 р-МОП Intel8 /г-МОП
Однокристальные микроЭВМ
Texas Instruments 4 р-МОП Intel8 /г-МОП
1 К
4 К
1 К
4 К
12
12
Таблица 1.2. Данные отечественных микропроцессоров и микроЭВМ
Тип
Разрядное ть, бнт
ТеХно.чогия
Д.'1НТСЛЬНОС ть операции рсг+ 十per, мкс
К536
8
р-МОП
20
К580
8
«-МОП
2
К588
16
Л-МОП
5
К581
16
п-МОП
2
К589 (секционный)
ТТЛ
0,12
KP18D4 (секционный)
ТТЛ
0,15
К1800 (секционный)
эсл
0,05
«Электроника 60》
16
«-МОП
4
(микроЭВМ)
средней сложности. Перспективны для применения в измерительных приборах, например, одноплатные микроЭВМ «Электроника НЦ-80» и ^Электроника К1-20» отечественного производства.
В табл. 1.1 и 1.2 приведены основные характеристики некоторых наиболее популярных и широко используемых микропроцессоров и микроЭВМ. Микропроцессоры размещены в порядке улучшения их характеристик: их первые образцы относятся к первому поколению, последние ——к третьему.
В соответствии с особенностями архитектуры микропроцессоров выделяют два основных типа систем: с центральным процессорным элементом с фиксированной .структурой и жесткой системой команд или с секционной модульной структурой и микрокомандным управлением.
СИСТЕМЫ С МИКРОПРОЦЕССОРОМ С ФИКСИРОВАННОЙ СТРУКТУРОЙ
В явном или неявном виде системы с микропроцессором с фиксированной структурой всегда содержат три магистрали сигналов: данных, адресов, управления. Иногда эти магистрали совмещаются на одних и тех же шинах и разделяются мультиплексированием во времени. Можно выделить два типа таких систем: системы типовые, полностью раскрывающие возможности данного типа микропроцессора по вариантам управления, адресному пространству и т. п., и системы, адаптированные к конкретному прибору, в которых некоторые возможности микропроцессора не используются, но сами системы за счет этого могут быть существенно упрощены.
Типовая система на основе микропроцессора К580ИК80 представлена на рис. 1.1. Центральный процессор ЦП является основным управляющим узлом, осуществляющим синхронизацию работы всех остальных узлов системы и выполнение команд программы. Центральный процессор взаимодействует с остальными узлами системы через 8-битовую магистраль данных, 16-битовую магистраль адресов и 12-битовую магистраль управления. Сигналы адресов формируются однонаправленным буфером адресов БА, сигналы данных — двунаправленным буфером данных БД. Для формирования сигналов управления используется системный контроллер СК, в котором по стробирующему сигналу STSTB происходит запоминание слова состояния процессора с шины данных. В соответствии с запомненным словом формируются сигналы управления: чтение памяти MEMR, запись в память MEMW, чтение с портов ввода I/OR, запись еа порты вывода I/OW, подтверждение прерывания INTA, цикл выборки кода команды Ml, цикл записи или вывода WO. С процессора поступают разрешения прерывания INTE и ожидания WAIT. С внешних узлов на ЦП могут поступать сигналы запросов непосредственного, или -прямого, доступа в память (ПДП)——DMA REQ и ожидания WAIT REQ, а также (через узел контроллера прерываний Л77) сигналы прерывания INT. Синхронизация работы центрального процессора осуществляется генератором импульсов ГИ, выдающим двухфазную последовательность импульсов 0 1,02 частотой 2 МГц и сигнал стробирования слова состояния STSTB, и синхронизатором СИНХ* формирующим сигналы захвата HOLD, готовности READY и включения буферов на магистраль микропроцессорной системы BUSEN. Сброс процессора в исходное состояние (на нулевой адрес программы) осуществляется сигналом RESET, подтверждение захвата — сигналом HLDA.
В системе с 1несколькими управляющими узлами сигналы управления от микропроцессора проходят через буфер управления 5У. Буферы БД, БА, £У — трехстабильные, т. е. могут отключать микропроцессор от управления всеми магистралями.
Связь в-сех остальных узлов микропроцессорной системы с ЦП может происходить по инициативе ЦП или по инициативе этих узлов. В первом случае стандартная последовательность обмена включает в себя ряд машинных циклов: цикл считывания из оперативной памяти ОЗУ
11
ГИГИСИНХСИНХQHHH1VMQHHH1VM> 02■АHOLDREADY RESET >HLDAINT> 02■АHOLDREADY RESET >HLDAINTКПКПтьм wadтьм wadMINIMINIWRDBIN二 ASTSTB>WRDBIN二 ASTSTB>CKCKTNTE >WAITTNTE >WAITMEMR —->MEMWMEMR —->MEMWI/OR 175^ ->ШТА >I/OR 175^ ->ШТА >
ГИ
ГИ
СИНХ
СИНХ
QHHH1VM
QHHH1VM
> 02
■А
HOLD
READY RESET >
HLDA
INT
> 02
■А
HOLD
READY RESET >
HLDA
INT
КП
КП
тьм wad
тьм wad
MINI
MINI
WR
DBIN二 A
STSTB>
WR
DBIN二 A
STSTB>
CK
CK
TNTE >
WAIT
TNTE >
WAIT
MEMR —->
MEMW
MEMR —->
MEMW
I/OR 175^ ->
ШТА >
I/OR 175^ ->
ШТА >
Рис. 1.1. Типовая структурная схема измерительного прибора с микро-
или постоянной памяти ПЗУ кода команды, инициализирующей обмен; затем возможен при прямом методе адресации цикл считывания адресов памяти или устройства ввода-вывода, с которыми предстоит обмен; затем следует сам цикл обмена. В цикле обмена ЦП выставляет на адресной шине адрес узла, с которым происходит обмен; в этом узле открывается адресный селектор, настроенный на этот адрес, затем -с управляющей шины проходит сигнал записи или считывания, который в комбинации с сигналом адресного селектора открывает буфер данных этого узла и производит запись или считывание. По тому же алгоритму работает система в машинных циклах, предшествующих циклу обмена — при считывании кода 12
процессором К580ИК80процессором К580ИК80①工 нняи''①工 нняи''
процессором К580ИК80
процессором К580ИК80
①工 нняи''
①工 нняи''
команды и кодов адресов. Обмен с памятью в системе К580 производится со следующими видами адресации:
прямая адресация со считыванием кодов адресов из программы (команды типа STA adr, LDA adr …);
непосредственная адресация, когда операнд содержится в самой команде, т. е. в памяти программ (команды типа MVI г, data; LXI гр, data);
косвенная адресация с аппаратным формированием адресов в адресном регистре микропроцессора (команды типа MOV М, A, STAX В
адресация с аппаратным формированием адреса и
13
автоинкрементацией адреса — при обращении к стеку (команды типа POP Н, PUSH PSW ...).
Время обмена в расчете на 1 байт для первого метода —6,5 мкс, для второго и третьего методов — 3,5 мкс, для четвертого ——2,5 мкс. Обмен с устройствами ввода- вывода в системе К580 производится специальными командами IN port, OUT port, в которых используется прямая адресация. При пересылке массива из внешнего устройства в память время пересылки одного байта при использовании команд IN port, MOV М, А составляет 8,5 мкс. Как было показано выше, косвенная адресация и обращение к стеку имеют преимущества перед прямой адресацией по быстродействию; поэтому может оказаться выгодным обмен с устройствами ввода-вывода с помощью команд обмена с памятью. При этом адреса устройства ввода-вывода занимают часть адресного пространства памяти, т. е. выигрыш в быстродействии сопровождается проигрышем в емкости прямо адресуемой памяти. В таком режиме адресации устройства ввода-вывода называются «картированными по памяти» (Memory-mapping input/out- put).
Обмен с ЦП по инициативе узлов производится с помощью сигналов 'прерывания. Запрос от узла INT# проходит через контроллер прерываний КП и при наличии сигнала разрешения прерывания INTE воспринимается процессором. В развитой системе прерывания используется векторное приоритетное маскируемое прерывание. При векторном прерывании для запроса по каждому каналу вырабатывается начальный адрес подпрограммы обслуживания прерывания. При приоритетном прерывании разрешается повторное прерывание (т. е. прерывание подпрограммы обслуживания) только для входов прерывания с более высоким приоритетом, чем обслуживаемый в данный момент вход. При маскируемом прерывании можно программно запретить прерывание по любому каналу.
По инициативе узла может производиться также обмен с оперативной памятью системы, для чего узел выставляет запрос на прямой доступ в память. Запрос обрабатывается контроллером КПДП с учетом приоритетов узлов, и после разрешения ПДП со стороны процессора (сигнал HLDA) буферы адресов и данных ЦП отключаются от магистрали (сигналом BUSEN) и КПДП выдает управляющие сигналы для обмена узла с памятью.
Минимальный набор узлов микропроцессорной системы цифрового средства измерения электрического сигнала 14
включает в себя следующие функциональные узлы: ЦП; ПЗУ; ОЗУ; измерительной схемы; аналого-цифрового преобразователя (АЦП); задания режима (пульт оператора); индикации результатов.
Обмен с последними четырьмя узлами ведется ЦП через порты ввода-вывода или через «картированный» ввод- вывод.
Перечисленные узлы в том или ином виде имеются практически во всех измерительных приборах со встроенными микропроцессорами. Дополнительно могут быть включены узлы, расширяющие вычислительные возможности: специализированный расширитель для аппаратного умножения и пр.; узлы, производящие предварительную обработку входного сигнала: фильтр, дифференцирующее устройство, коррелятор и пр.; узлы для отсчета времени и калибровки; таймер, генератор эталонного сигнала и пр.; узлы для расширения возможностей диалога оператора с прибором: дисплей, средства ввода графической информации, средства маркирования и пр.; узлы для документирования и хранения измерительной информации: память, графопостроитель, магнитофон, накопитель на гибких магнитных дисках и пр.; узлы для включения прибора в информационно-измерительную систему: интерфейс к ЭВМ высшего уровня, приборный интерфейс типа IEEE-488 и пр. Широко применяются также устройства гальванической развязки измерительной схемы (или узлов приборов, непосредственно связанных с измерительной схемой) с остальной частью прибора. В последнее время преимущественно применяются оптоэлектронные методы развязки.
Альтернативный вариант микропроцессорной системы—максимально упрощенная структура без буферов, системного контроллера, контроллера прерываний, контроллера непосредственного доступа в память, которая показана на рис. 1.2. Обмен с внешними функциональными узлами происходит в такой структуре только по инициативе процессора, все операции, включая отсчет времени, производит микропроцессор программным способом. Вместо индивидуальных адресных селекторов для каждого узла здесь применен общий дешифратор адресов ДША, который по четырем старшим разрядам адресной шины адресуется к 16 массивам памяти до 4 Кбайт в каждом и портам ввода-вывода. В § 1.5 описана упрощенная система, в которой микропроцессор 8080 управляет аналого-цифровым преобразованием и мультиплексированием каналов. Такая система может быть построена на одной плате, включая ОЗУ, ПЗУ и схемы индикации. Также на одной плате может быть построена более объемная по функциям система, включающая в
себя однокристальную микроЭВМ с внутренними ОЗУ и ПЗУ. Основные преимущества одноплатной структуры — уменьшение числа БИС и буферов, снижение мощности потребления, габаритных размеров и стоимости прибора.
Типовая микропроцессорная система, показанная на рис. 1.1, обычно строится на отдельных для каждого узла платах; при этом магистраль системы проходит через
Рис. 1.2. Упрощенная структурная схема измерительного прибора с микропроцессором К580ЙК80
разъемы плат. Магистральная структура дает большие удобства для создания ряда модификаций прибора на унифицированной основе, а также для снабжения прибора сменными блоками и блоками расширения возможностей: сменными ПЗУ для хранения различных программ обработки, сменными АЦП для привязки к различным входным сигналам, узлами расширения для привязки к информационно-измерительной системе и пр. Для этого создается унифицированная магистраль с ответными разъемами для функциональных узлов, причем место включения любого узла безразлично. В наиболее гибком варианте структуры каждый узел имеет встроенное ПЗУ, хранящее протокол связи центрального процессора с этим узлом и основные технические характеристики узла. При некоторой избыточности отдельных узлов такая структура позволяет применять одну и ту же основную программу для различных конфигураций прибора. Магистральная структура требует включения большого числа буферных формирователей для развязки каждого узла от системной магистрали, что существенно увеличивает общее потребление прибора.
Типовая система с одним микропроцессором К580ИК80 обеспечивает 500 тыс. коротких операций (типа сложения регистр-регистр) в секунду, прямую адресацию 64 Кбайт памяти и связь с 256 портами ввода-вывода. В состав команд процессора входят 243 команды, из них 83 команды пересылки данных, 108 арифметическо-логи- ческих команд, 36 команд управления ходом программы (ветвлением), 16 специальных команд управления стеком, вводом-выводом, прерыванием, пропуском команды и остановом. Этот набор является достаточным для управления работой прибора по сравнительно простым алгоритмам, рассмотренным в гл. 3, обработки накопленных данных в режиме диалога с оператором при числе операций обработки до 105 коротких операций в секунду, вывода результатов на индикацию, печать и накопители. При более высоких требованиях к объему вычислительных операций, выполняемых в секунду, или при необходимости создания специализированных команд пользователя переходят к системе с микрокомандным управлением, которая рассматривается в следующем параграфе.
Если дополнительно выдвигается требование к обслуживанию одновременно большого числа разнородных процессов, синхронизация которых принципиально затруднена, или есть необходимость гальванической развязки различных функциональных узлов прибора, целесообразно перейти к многопроцессорной структуре. С развитием однокристальных микроЭВМ, представляющих собой функционально закопченные БИС, вес чаще в приборе применяется несколько процессоров. Небольшая стоимость кристаллов БИС делает экономически более выгодным применение для каждого типа функций прибора отдельного процессора. При этом несколько микропроцессоров или микроЭВМ могут использовать одно, более дорогое периферийное устройство (своеобразный режим «разделения времени наоборот》). Многопроцессорные структуры рассмотрены в § 1.4.
1717Общие принципы магистральной организации микропроцессорных систем, рассмотренные выше, сохраняют силу и для тех микропроцессоров с фиксированной структурой, у которых шины адресов и данных совмещены в пространстве, с мультиплексированием сигналов во времени. Дополнительно в систему при этом включаются буферы-фиксаторы для сохранения значений действующих адресов и данных.
17
17
МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ С СЕКЦИОННОЙ СТРУКТУРОЙ
Секционированные или модульные микропроцессоры (ММП) в отличие от однокристальных МП выполняются из ряда специализированных БИС, причем центральный процессорный з』емент (ЦПЭ) составляется из ряда секций фиксированной разрядности (2, 4, 8 бит). Это позволяет просто наращивать разрядности обрабатываемых слов, а также изменять структуру проектируемой микропроцессорной системы. За счет использования принципа микропрограммного управления, позволяющего изменить набор команд и обеспечивающего высокую степень параллелизма при выполнении операций по обработке данных, возможно значительное повышение производительности и гибкости разрабатываемой системы. Модульные микропроцессоры поэтому применяются в измерительных системах с большим объемом информации и высокой скоростью ее обработки, в системах с корреляционными способами измерений, при проведении цифровой фильтрации и спектрального анализа, в системах обработки данных в реальном масштабе времени, в средствах измерения повышенного быстродействия.
Центральный процессорный элемент ММП содержит арифметическо-логическое устройство (АЛУ), регистры, мультиплексоры одинаковой разрядности, а также дешифратор микрокоманд. Центральный процессорный элемент имеет раздельные шины ввода и вывода данных, адреса, вспомогательных сигналов, сигналов управления и сигналов, используемых при объединении секций. На рис. 1.3 и 1.4 приведены структурные схемы ЦПЭ серии К589 (два разряда) и К1804 (четыре разряда). Включение в состав каждой секции дешифратора микрокоманд, создает некоторую аппаратную избыточность процессора, но такое решение позволяет резко сократить количество шин управления и освободить выводы кристалла для других сигналов. Пример соединения секций К589ИК02 для получения многоразрядного процессора приведен на рис. 1.5. Использование ММП снимает ограничение на разрядности шин из-за общего числа выводов у кристалла, характерное для однокристальных процессоров. Разрядность шины данных может быть выбрана исходя из необходимой точности вычислений, а шины адреса — из необходимой емкости адресуемой памяти.
Следует также отмстить, что БИС ММП выполняются на основе быстродействующих элементов, главным образом на ТТЛ элементах 18
с диодами Шоттки и элементах ЭСЛ. Поэтому быстродейстзие ММП выше, чем у однокристальных МП, т. е. выполнение одинаковых операций типа регистр-регистр занимает как минимум в 2 раза меньше времени. Однако главный выигрыш в быстродействии достигается за счет использования принципа микропрограммного управления, позволяющего при использовании ММП создать оптимальную архитектуру и эффективный набор команд для каждой задачи. Организация конвейерной, параллельной обработки данных позволяет в специализированных ММП повысить быстродействие при выполнении сложных операций еще в 4—6 раз.
При микропрограммном управлении программирование ведется на уровне микрокоманд (микроопераций), а не команд. Микрокоманда содержит набор управляющих кодов действий, выполняемых разными блоками МП системы в одном такте, включающих в себя и действия по формированию адреса следующей микрокоманды. Каждая микрокоманда содержит две части: управляющую и адресную. В простейшем случае полностью незакодированной микрокоманды каждый бит управляющей части микрокоманды управляет действием определенного блока системы; при сложных системах микрокоманда может содержать около 100 разрядов. Для уменьшения длины микрокоманды и, следовательно, количества линий связи между блоками при управлении логически связанными и относящимися к одному моменту времени такта действиями используют кодирование. В этом случае управляющая часть команды разбивается на поля, в которых содержатся коды управления определенными блоками системы. Пример формата микрокоманды такого типа системы, выполненной на ММП серин К1804, дан на рис. 1.6. В такой системе предусмотрена, в частности, возможность в одном такте считывать данные с двух регистров общего назначения, выполнять над ними операции в АЛУ и возвращать результаты в блок регистров общего назначения.
Простейшее устройство, реализующее принцип микропрограммного управления, содержит ЗУ, в котором хранится программа, написанная в микрокомандах (МПЗУ), и адресный регистр (рис. 1.7). Однако такое устройство не позволяет организовать ветвление в программе по тем или иным признакам результата или внешним условиям. В простых случаях бит необходимого условия или признака может быть использован как дополнительный разряд адреса для МПЗУ, поэтому в зависимости от его значения выбирается следующая микрокоманда (рис. 1.8). Выбор необходимого условия перехода осуществляется мультиплексором, управляемым кодом специального поля условий или признаков микрокоманды. Смена программы работы такого устройства требует замены микропрограммного ЗУ или его перепрограммирования. Подобная 2* 19
8 1 7
6
5 J 4 1 3
2
1
О
Управление приемником
Операция АЛУ
Источник операнда АЛУ
Дешис
зрация микрокоманд
]I К。口 управленияс <9>
芟
<—Напряжение питания Vcc
—О В
Вывод влево/ввод справа
Сдвиг
ПЗУ о содержимого ПЗУзПЗУ
Вывод ввод
<_А
вправо/
слева
Вывод влево/ Вывод вправо/
ввод справа
JU ввод слева
Синхр.
Qo
Q3
Аз …А{)〉
Ввод данных В
Сдвигсодержимого
Адрес А
Синхро-импульсы
ЗУПВ из 16
F
Вз・..拎
D3 #»»D.q
J [
Вводпереноса(С)
Активация выхода -~>
адресуемых Адрес В
регистров
Синхро-импульсы
Выводданных А
Выводданных В
Логический О
D. А
В
¥
Селектор источника данных
AS
芟
R
43r&
С
АЛУ, м выполняющее 8 операдой
F
F
Селектор выходных данныхY
Г7
Q「
Q-регистр(расширитель)
Q
—a G (сформировать)
—а 戸(передать)
——*• Сn+4 (выходной перенос)
—>р3(знак)
—а Переполнение
a F=OOOO
Выходные данные (три.состояния) У.з.».Уо*
Рис. 1.3. Структурная схема ЦПЭ К1804
организация управления позволяет программисту полностью управлять микропроцессорной системой, формировать наиболее эффективные команды для решения поставленной задачи. Однако для этого программист дол-
УправлениеУправлениеАдресД'44-АдресД'44-p 6p 6ДанныеDДанныеDа Буфер 1а Буфер 1Буфер 2 *Буфер 2 *УправлениеУправление
Управление
Управление
АдресД'44-
АдресД'44-
p 6
p 6
Данные
D
Данные
D
а Буфер 1
а Буфер 1
Буфер 2 *
Буфер 2 *
Управление
Управление
Регистр адресаРегистр адресаРегистр АККРегистр АКК
Регистр адреса
Регистр адреса
Регистр АКК
Регистр АКК
-е-еLIСОLIСО■>■>Буфер 3Буфер 3АЛУАЛУ44Синхр.Синхр.Селектор АСелектор А11Селектор выводаЗУПВ11 регистровСелектор вводаСелектор выводаЗУПВ11 регистровСелектор вводамПамятьмПамятьБуфер 4Буфер 4Селектор ВСелектор В木木CI .ROCI .RO.1 КВвод Маска.1 КВвод МаскаdoJBdBHmQndoJBdBHmQnРис. 14 Структурная схема ЦПЭ К589ИК02жен полностью представлять структуру системы и возможное взаимодействие ее узлов.Эффективность работы процессора во местом зависит от длины микрокоманды и числа фаз тактового генератора. Для достижения высокого быстродействия используют большую длину команды и минимальное число фаз тактового импульса. Большая разрядность управляющей части команды позволяет организовать микрокоманду с высокой степенью параллелизма операций, т. е. поточную или конвейер-Рис. 14 Структурная схема ЦПЭ К589ИК02жен полностью представлять структуру системы и возможное взаимодействие ее узлов.Эффективность работы процессора во местом зависит от длины микрокоманды и числа фаз тактового генератора. Для достижения высокого быстродействия используют большую длину команды и минимальное число фаз тактового импульса. Большая разрядность управляющей части команды позволяет организовать микрокоманду с высокой степенью параллелизма операций, т. е. поточную или конвейер-
-е
-е
LI
СО
LI
СО
■>
■>
Буфер 3
Буфер 3
АЛУ
АЛУ
4
4
Синхр.
Синхр.
Селектор А
Селектор А
1
1
Селектор выводаЗУПВ11 регистровСелектор ввода
Селектор выводаЗУПВ11 регистровСелектор ввода
м
Память
м
Память
Буфер 4
Буфер 4
Селектор В
Селектор В
木
木
CI .RO
CI .RO
.1 К
Ввод Маска
.1 К
Ввод Маска
doJBdBHmQn
doJBdBHmQn
Рис. 14 Структурная схема ЦПЭ К589ИК02
жен полностью представлять структуру системы и возможное взаимодействие ее узлов.
Эффективность работы процессора во местом зависит от длины микрокоманды и числа фаз тактового генератора. Для достижения высокого быстродействия используют большую длину команды и минимальное число фаз тактового импульса. Большая разрядность управляющей части команды позволяет организовать микрокоманду с высокой степенью параллелизма операций, т. е. поточную или конвейер-
Рис. 14 Структурная схема ЦПЭ К589ИК02
жен полностью представлять структуру системы и возможное взаимодействие ее узлов.
Эффективность работы процессора во местом зависит от длины микрокоманды и числа фаз тактового генератора. Для достижения высокого быстродействия используют большую длину команды и минимальное число фаз тактового импульса. Большая разрядность управляющей части команды позволяет организовать микрокоманду с высокой степенью параллелизма операций, т. е. поточную или конвейер-
ную обработку. Однако аппаратурная реализация поточной обработки оказывается достаточно громоздкой и мало эффективной из-за жесткой архитектуры. Решением вопроса является использование микропроцессорных наборов БИС, дополняющих ММП и расширяющих его возможности. Такие наборы содержат 10—30 специальных микросхем.
Наиболее существенной является микросхема управления, определяющая последовательность микрокоманд, выбираемых из МПЗУ, и называемая обычно узлом микропрограммного управления УМУ или узлом выработки микрокоманд УВМ. Такой узел по сложности не уступает ЦПЭ. При его использовании значительно упрощается программирование. При сформированном наборе микрокоманд, записанных в МПЗУ, программирование ведется уже на уровне команд или макрокоманд. Формирование последовательностей микрокоманд с проверкой всех необходимых признаков и условий и выработка адреса следующей микрокоманды или перехода осуществляются УМУ. Структурная схема такого управления ММП показана на рис. 1.9.
В настоящее время на секционных МП строятся цифровые измерительные системы трех типов с микропрограммным управлением.
Поля микро-.Назначение полей
команды Битьх
о
2
Управление УМУ
3
5
Условные
переходы
6
8
Источник
Код
9
АЛУ
11
Управления
12
14*
Приемник
ЦПЭ
15
Перенос
16
Адрес А
Адреса
19
20
Адрес В
СОЗУ
23
24
При 1 — адрес с шины
25
Адрес УВВ
28
29
-Г
Адрес ПЗУ
38 '
39
Управление ТИ'
40
2 : ,
_48
Рис. 1.6. Формат микрокоманды 2ИМП-системы серии К1804
1, Специализированные высокопроизводительные си- стемыт в которых программы работы записаны непосредственно на языках микрокоманд. Архитектура и набор команд в них различны и формируются исходя из решае-
Мий адрес
Рис. 1.7. Структурная схема простейшего устройства с микропрограммным управлением
Регистркоманды
Декодер
Конвейерныйрегистр
и
Биты управления
Рис. 1.9. Структурная схема микропрограммного управления с УМУ
Рис. 1.8, Структурная схема устройства с микропрограммным управлением с возможностью ветвления в программе
мых задач. В таких системах полностью используются все достоинства микропрограммного управления. Однако проектирование таких систем сложно, программирование требует полного представления организации системы. Для таких систем отсутствуют отработанные средства отладки и автоматизации программирования.
Системы с постоянной архитектурой, специализация которых осуществляется за счет разработки эффективного списка микрокоманд. Его введение в систему осуществляется либо программированием содержания, либо полной заменой узла памяти микропрограмм (МПЗУ). В этом случае при разработке новой системы используются уже существующие средства отладки и автоматизации программирования для базовой системы.
Системы, в которых микропрограммирование произведено изготовителем. Содержащийся в МПЗУ набор микрокоманд обеспечивает выполнение фиксированного списка команд системы. Использование и проектирование такой системы полностью аналогичны использованию и проектированию систем с жестким программным управлением.
ПРИМЕНЕНИЕ СПЕЦИАЛИЗИРОВАННЫХ ПРОЦЕССОРОВ
И РАСШИРИТЕЛЕЙ
Ведущим направлением в построении развитых микропроцессорных систем, выполняющих ряд разнородных функций, является стремление к независимости отдельных подсистем, выполняющих эти функции. Поэтому в основном микропроцессоры проектируются и строятся таким образом, чтобы обеспечить в дальнейшем добавление новых подсистем, не затрагивая при этом уже имею- нанеся подсистемы. Измерительные приборы и системы являются примером комплексирования функций различного характера «с точки зрения» центрального процессора. Поэтому применение в них специализированных узлов и БИС, предназначенных для выполнения отдельных функций, является мощным средством повышения их производительности и универсальности.
Архитектура микропроцессора, хорошо приспособленная для расширения с помощью независимых подсистем, иногда называется в литературе «ортогональной» [45]. В частности, архитектура микропроцессора К580ИК80 (как и его аналога 8080) вполне соответствует этому названию. Рассмотрим возможности расширения микропроцессорной системы с одним центральным процессором в направлении разлн^ннх функций.
Расширение и управление памятью. В архитектуре К580ИК80 заложены возможности расширения памяти и портов ввода-вывода без особых аппаратных затрат. Так как в слове состояния процессора, которое запоминается 26
в узле системного контроллера СК (см. рис. 1.1), имеются сигналы обращения к стеку, чтения и записи, то, используя их для коммутации входных буферов узлов памяти и ввода-вывода, можно удвоить емкость памяти до 128 Кбайт и число устройств ввода-вывода до 512. При этом 64 Кбайт памяти будут использоваться только при обращении к стеку. С учетом того, что скорость пересылки данных при обращении к стеку максимальная (как было показано в § ].1), эта часть памяти может эффективно использоваться для хранения массивов данных. Из 512 устройств ввода-вывода 256 будут работать только на чтение, 256 — только на запись.
Применение постраничной адресации позволяет в принципе неограниченно увеличивать емкость оперативной памяти. Одно из простейших решений для системы К580 показано на рис. 1.10. Номер страницы фиксируется в порте вывода 〃8, который конструктивно распределен по восьми узлам памяти (каждый узел соответствует одной странице емкостью до 64 Кбайт). При обращении центрального процессора к этому порту во все триггеры, входящие в порт, записывается бит состояния страницы. Для одной из страниц он равен 1——страница включена на магистраль данных, для всех остальных 0 ——страницы выключены. Сигналы с выходов триггеров коммутируют магистральные буферы данных страниц памяти. При сбросе системы сигналом RESET включается первая страница, остальные отключаются. Таким образом, переход со страницы на страницу в такой системе осуществляется двумя командами: MVIA―■ слово состояния страниц; OUT —— порт состояния страниц.
Одной из важных задач управления памятью является обеспечение прямого доступа к ней со стороны ряда конкурирующих периферийных блоков. Для различных конкретных систем построение контроллера прямого доступа к памяти (КПДП на рис. 1.1) может быть индивидуальным, как индивидуальны функции, выполняемые при ПДП; например, для систем ПДП с внешних накопителей производится пересылка данных в ОЗУ по последовательным адресам при заданном объеме массива или обратная пересылка; для систем гистограммного анализа внешнее устройство формирует адрес, затем по запросу ПДП инкрементирует содержимое ячейки по этому адресу; в системах регенерации динамической памяти регенератор по запросу ПДП производит обращение (без чтения) последовательно ко всем строкам кристалла памяти и пр.
типам:типам:ПДППДП1*-я страница1*-я страница11Рис. 1.10. Постраничная адресация в системе К580Рис. 1.10. Постраничная адресация в системе К580&&11① HH8ufflBdIIA① HH8ufflBdIIA11
типам:
типам:
ПДП
ПДП
1*-я страница
1*-я страница
1
1
Рис. 1.10. Постраничная адресация в системе К580
Рис. 1.10. Постраничная адресация в системе К580
&
&
1
1
① HH8ufflBdIIA
① HH8ufflBdIIA
1
1
:способы ПДП можно классифицировать по двум прозрачный и монопольный [85]. В первом случае осуществляется только во время тех циклов про-
цессора, когда он не обменивается данными с памятью, а производит внутренние операции; при этом процессор как бы《не замечает» ПДП. Пропускная способность ПДП уменьшается при этом примерно вдвое. Во втором случае 28
контроллер ПДП занимает системную шину на все время ПДП.
Для наиболее распространенных режимов ПДП разрабатываются специализированные БИС, программируемые от центрального процессора, например БИС КПДП К580ИК57, осуществляющая монопольный режим пересылки массивов данных. Эта схема управляет по приоритетам четырьмя блоками, запрашивающими ПДП, и позволяет каскадирование для большего числа каналов. Для каждого запроса ПДП микросхема К580ИК57 загружается 16-битовыми адресами области памяти, с которой производится обмен, 14-битовыми кодами счетчика массива и 2-битовыми кодами режима.
Счетвдк массива обеспечивает отсчет до 16 Кбайт, 2 бита управления режимом кодируют три режима: чтение, запись, контроль (для сравнения двух файлов данных без пересылки). После загрузки КПДП полностью берет на себя управление магистралью и осуществляет обмен данными со скоростью 500 кбайт/с, по завершении ПДП возвращает управление центральному процессору. Заметим, что пересылка данных с помощью процессора К580ИК80 возможна при скорости не более 400 кбайт/с (обмен со стеком без учета организации цикла).
С появлением микропроцессоров третьего поколения с большой емкостью адресуемой памяти (порядка 1 Мбайт) начался выпуск специализированных БИС для распределения и защиты памяти по указаниям операционной системы. Так, микросхема Z-MMU фирмы Zilog [85], предназначенная для управления сегментированной памятью, осуществляет защиту содержимого сегментов. Имеется тенденция к выполнению всех средств управления памятью (организации виртуальной и ассоциативной памяти, памяти с обнаружением и коррекцией ошибок и пр.) в виде функционально законченных специализированных БИС. Для микропроцессора третьего поколения MC68000 фирмы Motorola разработано устройство управления памятью МС68451 [138], которое осуществляет аппаратное преобразование логических адресов памяти в физические, динамическое выделение памяти в процессе выполнения программы, динамическое перемещение программ, защиту сегментов программы по записи, чтению, доступу для выполнения. Функции защиты сегментов программы необходимы для мультипрограммных и мультизадачных систем.
Использование специального контроллера расширенной памяти позволило увеличить емкость ОЗУ микрокомпьютеров фирмы Hewlett Packard [124]: в модели НР-86 — от 64 до 576 Кбайт; в модели НР-87ХМ — от 128 до 640 Кбайт. Применение специального контрол-
лера позволило отказаться от избыточных требований по страничному обмену; контроллер снабжен средствами автоинкрементации и авто- декремептации подобно указателю стека в Intel 8080.
Расширение емкости памяти имеет важное значение для автономных приборов, в которых осуществляются накопление и обработка больших массивов: в регистраторах переходных процессов, статистических анализаторах, приборах для обработки изображений. Применение внешних запоминающих устройств в этих приборах не всегда возможно по условиям быстродействия; поэтому емкость требуемой оперативной памяти часто превышает 64 Кбайт.
Расширение вычислительных возможностей. Необходимость в аппаратной реализации арифметических операций умножения и деления, операций с плавающей запятой, тригонометрических функций часто возникает в микропроцессорных системах, выполняющих цифровую фильтрацию, масштабирование сигнала, сжатие данных, корреляционный и спектральный анализ, т. е. стандартные процедуры предварительной обработки и анализа сигнала. Отдельные операции можно достаточно просто осуществить с помощью схем среднего уровня интеграции. В качестве примера на рис. 1.11 показана структурная схема устройства, выполняющего аппаратное умножение двух 16-битовых операндов и округление результата до 16 бит. Схема включает в себя 8-разрядные регистры хранения и сдвига Рг1 —尸еб, 4-разрядные арифметическо-логические устройства АЛУ1 — АЛУ4 со схемой ускоренного переноса СУП, счетчик тактов С% дешифратор адресов и тактов ДШАТ, двунаправленный буфер данных БД и буфер адресов БА. Применяется алгоритм умножения со сдвигом сомножителя, находящегося в Pel, Рг2, и суммы в Рг5, Ргб. Все регистры адресуются как ячейки памяти и занимают 6 байт адресного пространства. Устройство связывается с магистралью процессора К580ИК80 и работает на его тактовой частоте 2 МГц. Умножение производится за 17 тактов, т. е. за 8,5 мкс; начинается непосредственно после загрузки второго операнда: окончание умножения сигнализируется по линии READY. Заметим, что программное умножение в этом формате для К580ИК80 длится около 500 мкс. Однако реальный выигрыш не так велик, поскольку следует учесть время, необходимое для загрузки исходных данных и считывания результата. Если исходные данные находятся в регистрах микропроцессора ВС и DE, а результат считывается в ВС} то для загрузки, умножения и считывания нужно выполнить последовательность команд: 30
LX I H, ADUMN MOV M, c INX H MOV м, в INX H MOV M, E INX H MOV M, D INX H MOV C, M INX H , MOV B? MLX I H, ADUMN MOV M, c INX H MOV м, в INX H MOV M, E INX H MOV M, D INX H MOV C, M INX H , MOV B? M;загрузить адрес умножителя ;загрузить первый операнд;загрузить адрес умножителя ;загрузить первый операнд;загрузить второй операнд;загрузить второй операнд;считать результат;считать результат
LX I H, ADUMN MOV M, c INX H MOV м, в INX H MOV M, E INX H MOV M, D INX H MOV C, M INX H , MOV B? M
LX I H, ADUMN MOV M, c INX H MOV м, в INX H MOV M, E INX H MOV M, D INX H MOV C, M INX H , MOV B? M
;загрузить адрес умножителя ;загрузить первый операнд
;загрузить адрес умножителя ;загрузить первый операнд
;загрузить второй операнд
;загрузить второй операнд
;считать результат
;считать результат
Выполнение умножения начнется после команды MOV М, D и продолжится 8,5 мкс. Поэтому команда MOV С,М будет выполнена только через это время. Общее время описанного цикла составит 40 мкс.
Схемы, аналогичные описанной выше, выполняются в виде одной БИС высокого быстродействия. Так, 16-битовый МОП-умножитель WTL 1016 [64] имеет среднее время умножения 100 нс. В однокристальных умножителях для сокращения среднего времени умножения часто применяется алгоритм Бута, основанный на анализе не одиночных битов множителя, а групп соседних одинаковых битов. Так, умножение на число 11100011 может быть выполнено в три приема вместо восьми. Это позволяет примерно вдвое уменьшить среднее время умножения На этом принципе кроме WTL' 1016 выполнен умножитель Am25s558 со средним временем умножения 8-битовых операндов 45 нс и максимальным 70 нс.
Более универсальными устройствами являются арифметические процессоры, выполняющие все арифметические операции с фиксированной и плавающей запятыми, операции по извлечению корня, возведению в степень, тригонометрические операции. Эти процессоры обычно приспособлены для включения в микропроцессорную магистраль. Пример — БИС фирмы Advanced Micro Devices (США): Am9511 и Am9512 [92]. Первый работает в 16-битовом формате с фиксированной запятой или 32-битовом формате с плавающей запятой; второй (удвоенной точности) —— в 32-битовом формате с фиксированной запятой и 64-битовом формате с плавающей запятой. Время выполнения сложения 32-битовых чисел с плавающей запятой 27 мкс, умножения в том же формате ■—73 мкс. На рис. 1.12 показана упрощенная схема соединения Am9511 с центральным процессором 8085 фирмы Intel. Кроме стандартного сигнала о конце выполнения операции предусмотрен сигнал об ошибке выполнения, используемый для запуска подпрограммы прерывания по ошибке. Арифметические
©ЗННЕ口
умножителя 16X16 битумножителя 16X16 битРис. 1.11. Структурная схема
умножителя 16X16 бит
умножителя 16X16 бит
процессоры Л1п9511, Arn9512 используются также совместно с микропроцессором Z80A в одноплатном быстродействующем компьютере ZBC80A.
Как было показано выше, эффективность арифметических расширителей и процессоров снижается, если их нужно загружать данными от центрального процессора и считывать результат в него же. Этот недостаток устраняется в некоторых системах. Математический про-
Преры- вание 1 Преры- вание 1 А15А15Прерывание 2 »Готовность >Прерывание 2 »Готовность >9808 Лооофиоас9808 ЛооофиоасАНАНЧтЧтЗпЗпДШДШвквкКоманда/ДанныеКоманда/ДанныеDQ …D7-JT1 而DQ …D7-JT1 而-工 3Н—Сброс-工 3Н—Сбросаооофдоай5s①工BMdvаооофдоай5s①工BMdvОшибкаОшибкаКонецвыполненияКонецвыполненияПаузаПауза
Преры- вание 1
Преры- вание 1
А15
А15
Прерывание 2 »
Готовность >
Прерывание 2 »
Готовность >
9808 Лооофиоас
9808 Лооофиоас
АН
АН
Чт
Чт
Зп
Зп
ДШ
ДШ
вк
вк
Команда/Данные
Команда/Данные
DQ …D7
-JT1 而
DQ …D7
-JT1 而
-工 3Н
—Сброс
-工 3Н
—Сброс
аооофдоай5s①工BMdv
аооофдоай5s①工BMdv
Ошибка
Ошибка
Конецвыполнения
Конецвыполнения
Пауза
Пауза
Рис. 1.12. Включение арифметического процессора в микропроцессорную систему
цессор 8087 фирмы Intel [85], который предиазиачается для совместного использования с процессором 8086 той же фирмы, вместо получения команд от центрального процессора контролирует текущий поток команд, распознавая «свои» команды. Математический процессор Intel 8087 использует стековую структуру данных, работает в формате 64 бита с плавающей запятой, имеет полный набор арифметических операций, а также тригонометрические функции.
Другой подход применен в быстродействующем процессоре сигналов S2811 фирмы American Microsystem (85], предназначенном для синтеза и распознавания речи, быстрого преобразования Фурье, обработки изображений в радиолокации. Он обеспечивает суммирование 16-битовых чисел за 40 нс, умножение 12-6итовнх чисел с 16-битовым результатом за 300 нс. Команды на запуск своей программы принимаются от центрального процессора, после окончания своей программы процессор сигналов выдает в ЦП сигнал прерывания. 3—319 33
Процессор сигналов включает в себя два 4-Кбитовых блока памяти поэтому можно вести обработку массива без перезагрузки данных
Для выполнения вычислительных операций применяются и дру гие специализированные расширители: программируемые цифровые фильтры, корреляторы. В [121] описан 64-битовый коррелято( TDC 1023J фирмы TRW Inc с тактовой частотой 15 МГц. Коррелят吋 генерирует 7-битовый код, который показывает число совпадающе битов в анализируемых двоичных последовательностях. Выходной ко】 коррелятора можно использовать для расчета полярной функции, & цифровых корреляционно-экстремальных приборах [67], частично рассмотренных в гл. 5, для исправления ошибок, синхронизации последовательностей данных и пр. Отдельные разряды коррелятора можно маскировать (не сравнивать), возможна установка порога корреляции.
Устройства связи с периферийными узлами. Здесь можно выделить два основных класса специализированных устройств:
процессоры связи, осуществляющие программируемый ввод-вывод параллельным или последовательным кодом, не связанные с каким-либо определенным типом внешнегс устройства;
интерфейсные устройства, иногда выполненные в виде БИС, для связи с конкретным устройством или типом устройства, например интерфейс механической клавиатуры, интерфейс символьного дисплея и пр.
Устройства. второго класса подробнее рассмотрены в гл. 4 при описании схемных и программных интерфейсов.
Наиболее известными и освоенными отечественной промышленностью процессорами связи являются программируемый интерфейс на 24 параллельные линии ввода-вывода К580ИК55 и универсальный синхронно-асинхронный приемопередатчик для последовательного ввода-вывода К580ИК51. Структура и функции подобных устройств неоднократно рассматривались в литературе [45] и хорошо известны. Более сложные устройства предназначаются для обслуживания микропроцессоров третьего поколения. Специализированный процессор ввод-вывода 8089 фирмы Intel, предназначенный для совместного использования с ЦП 8086, имеет адресацию 1 Мбайт и встроенное 20-битовое АЛУ. Процессор 8089 не занимает при выполнении- своих программ системную шину; он может быть использован, например, для работы с дисковым контроллером: поиска дорожки, сектора, символа в записи, проверки четности и пр.
Кроме перечисленных функций программируемые спе-
цййлизированньте устройства расширения выполняют отсчет времени (интервальный таймер К580ВИ53), приоритетное прерывание (контроллер К580ВН59).
Большая часть перечисленных выше устройств относятся к специализированным процессорам. Характерные общие черты специализированных процессоров: программирование режима их работы от центрального процессора путем засылки управляющего слова в регистр режима, совместимость с магистралью центрального процессора, связь с центральным процессором по прерыванию после окончания собственной программы. По мере развития специализированных процессоров в них кроме регистров режима и данных встраиваются оперативная и программируемая постоянная память, т. е. они приближаются по структуре к однокристальным специализированным микроЭВМ.
МУЛЬТИМИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ
Системы, рассмотренные в предыдущем параграфе, включают в себя один центральный процессор и ряд специализированных процессоров для выполнения стандартных функций. Однако часто в измерительном приборе или системе должны выполняться разнородные группы функций, не соответствующие набору специализированных процессоров и расширителей, который имеется в распоряжении разработчика. Тогда становится выгодным применение нескольких универсальных микропроцессоров, каждый из которых должен выполнять свою группу функций. Низкая стоимость универсальных микропроцессоров делает предпочтительным построение мультимикропроцессорных систем по сравнению с разработкой сложного аппаратного и программного обеспечения для разделения различных функций.
Большая часть измерительных приборов, выпущенных в 1978—1982 гг., имела в своем составе один или два микропроцессора. В этом параграфе основное внимание уделено двухпроцессорным системам.
Простейший вариант связи между двумя микропроцессорами в измерительном приборе — при двух независимых микроЭВМ с изолированными друг от друга магистралями и памятью. Связь между микроЭВМ. осуществляется через канал связи, который для каждой микроЭВМ является портом ввода-вывода. В качестве примера рассмотрим структурную схему мультиметра 8860А фиРмы Pluke 3* 35
(рис. 1.13). Технические характеристики эТОГб прибора рассмотрены в гл. 5, здесь рассмотрим разделение функций между микроЭВМ и способ связи. В состав мультиметра входят две однокристальные микроЭВМ: Mostek 3870 и Intel 8039. МикроЭВМ 3870 выполняет функции управления измерительной схемой, задает параметры дели-
Рис. 1.13. Структурная схема двухпроцессорного мультиметра
теля напряжения и буферного усилителя, управляет подключением образцового источника, синхронизацией и работой АЦП. МикроЭВМ 8039 выполняет функции вычисления отсчета, управления индикацией, органами лицевой панели и связи с внешними устройствами и информационно-измерительной системой. Измерительная часть прибора, включая микроЭВМ 3870, заэкранирована, связь между микроЭВМ осуществляется через двунаправленный оптический канал. Координация работы микроЭВМ в подобной структуре не вызывает трудностей: инструкции one- ратора после кодирования микроЭВМ 8039 передаются по каналу связи в микроЭВМ 3870, которая выполняет про- 36
Грамму измерений и передает результат по тому же каналу обратно.
Более сложный вариант ——когда взаимодействующие микропроцессоры могут вызывать друг у друга прерывания по нескольким входам и имеют общие узлы памяти и внешние устройства. Есть 1Несколько вариантов структуры такого типа; один из наиболее часто используемых —— магистральная структура на шине A'liJtibus. Шина Multibus ——универсальная 86-контактная шина для мульти- микропроцессорных систем на основе 8-битовых и 16-битовых микропроцессоров. Шина разработана фирмой Intel, на ее основе строятся системы с микропроцессорами 8080, 8085, 8086, Z80 и др. В нее входят 16-битовая шина данных, 16-битовая шина адресов и 23-контактная шина управления. В шину управления кроме сигналов, известных по типовой однопроцессорной структуре (см. рис. 1.1), входят шесть контактов для разрешения конфликтов между различными ведущими блоками при занятии шины и два контакта для сигналов подтверждения приема. Более подробное описание шины дано в [135]. Основная идея магистральной структуры ——наличие в каждый момент времени только одного ведущего узла. Если несколько узлов претендуют на роль ведущего, то ведущим становится узел с более высоким приоритетом. В двухпроцессорной системе на шине Multibus может и не быть системы приоритетов. Способ занятия шины при этом один — через прерывание. Так организована самолетная система сбора данных в реальном времени, описанная в [115]. В системе выполняются выборка данных АЦП с частотой квантования до 400 Гц, ввод данных навигационной системы о положении самолета, рассортировка данных измерений по значениям амплитуды, распечатка сведений о распределении сигналов по уровням, а также сообщений о состоянии и ошибках системы, регистрация данных на магнитной ленте. В системе имеется ряд аппаратных расширений: таймер, канал прямого доступа в память для обмена с накопителем на магнитной ленте, арифметический процессор. Ведущими узлами являются две одноплатные микроЭВМ SBC 80/20 на основе микропроцессора 8080. Все перечисленные узлы подключены к шине Multibus; кроме них к шине подключены двухбуферная память 16 Кбайт, АЦП и плата ввода-вывода для связи с навигационной системой. Память используется в режиме «пинг-понг»: пока один буфер заполняется с помощью Центрального процессора, Другой разгружается на магнит-
ную ленту через канал прямого доступа. Функции разделены между центральными процессорами следующим образом: ЦП-I управляет контроллером ПДП, выборкой АЦП, вводом данных навигационной системы» арифметическим процессором, таймером и контролирует состояние системы; ЦП-2 обеспечивает пультовый ввод-вывод, печать, индикацию, контроль ошибок оператора. Очевидно, применение двух процессоров в данном случае было связано с необходимостью своевременно реагировать на команды оператора, не предсказуемые по времени, и одновременно выполнять многоканальную обработку данных в реальном времени.
Представляет интерес организация взаимных прерываний в описанной системе (рис. 1.14). Кроме прерывания от таймера, которое осуществляется внутри ЦП-1, все остальные прерывания проходят через порт вывода, доступный обоим процессорам, и шину прерываний, которая входит в шину управления Multibus. Из рис. 1.14 видно, что от ЦП-1 к ЦП-2 проходит три вида прерываний, от ЦП-2 к ЦП-1 — два, одно прерывание поступает к обоим процессорам от пульта оператора. Для выставления прерывания процессор записывает в порт вывода кодовое слово с единицей в нужном разряде.
Другой способ связи двух ведущих процессоров с общим модулем памяти состоит в том, что кроме средств взаимного прерывании в модуль связи каждого процессора с общим модулем памяти включается триггер состояния, программно доступный для записи другому процессору. Такая структура позволяет более гибкое взаимодействие ведущих процессоров.
Число микропроцессоров, большее двух, характерно уже не для отдельного измерительного прибора, а для информационно-измерительной системы. Известны три основных принципа организации связи ведущих узлов с общими ведомыми узлами (например, общей памятью) [89, 129]: магистральная структура (односвязный интерфейс), когда все узлы находятся на одной магистрали и только один выступает в роли ведущего;
матричная структура (полносвязный интерфейс), когда ведущие и ведомые узлы соединяются через матричный переключатель по принципу «каждый с каждым»;
смешанная структура, когда каждый ведомый узел доступен нескольким (но не всем) ведущим узлам.
Эти три структуры показаны на рис. 1.15. Выбор структуры в конечном счете зависит от экономических соображений. Матричная структура наиболее универсальна, но требует больших аппаратных затрат для построения мат- 38
Рис. 1.14. Организация прерываний в двухпроцессорной системе
ричного переключателя. Магистральная структура наиболее экономична, но имеет ограниченную пропускную способность по скорости передачи информации. Тем не менее в практических применениях магистральная структура встречается чаще. Как указывалось ранее, возможность доступа к магистрали определяется приоритетом узла. Си-
Рис. 1.15. Структуры мультипроцессорных систем: а — магистральная; 6 — матричная; в — смешаннаяРис. 1.15. Структуры мультипроцессорных систем: а — магистральная; 6 — матричная; в — смешанная
Рис. 1.15. Структуры мультипроцессорных систем: а — магистральная; 6 — матричная; в — смешанная
Рис. 1.15. Структуры мультипроцессорных систем: а — магистральная; 6 — матричная; в — смешанная
стема приоритетов обеспечивается либо специальным узлом-арбитром, либо методом едейзи-цепочки^ (daisy-chain) [135J. Организация связи с шиной Multibus методом «дей- зи-цепочки» показана на рис. 1.16. Приоритет ведущего узла жестко определяется при этом его местом в цепочке узлов. Если узел запрашивает шину, он ставит свой сигнал выходного приоритета BPRO в 1. Этот запрос передается ко всем узлам с низшим приоритетом через их контакты входного приоритета BPRN. Если для запрашивающего узла запросы с более высоким приоритетом отсутствуют (BPRN=0) и сигнал занятости шины BUSY二 1, то узел может занять шину, выставив при этом сигнал требования шины BREQ. Во избежание конкуренции в случае, когда два ведущих узла одновременно запрашивают шину, прежде чем выдать сигнал BREQ, блок ожидает следующего никла тактирующего сигнала BCLK.
Другой метод связи в мультимикропроцсссор!!оп системе——не Через общую память, а через быстродействующие каналы связи. Такой метод применен, например, в системе Scidac фирмы Scicon Consul-
fT=10MFn
Рис. 1.16. Организация связи с системной шиной методом «дейзи-це- почки»
tancy Int [101], где до 250 параллельно работающих микропроцессоров 8086 (каждый со своей резидентной памятью) связываются Через быстродействующее двунаправленное кольцо. Такие способы организации системы характерны для так называемых локальных вы-
числительных сетей [107]; работоспособность системы обеспечиВаеФсй при этом высокой пропускной способностью каналов связи. Так, в локальной сети Clusterbus фирмы Nester Systems 64 микрокомпьютера Apple II объединяются 16-проводным кабелем со скоростью передачи 240 Кбод. В системе Hyperchannel фирмы Network Systems достигается скорость передачи 10 Мбод. С увеличением числа микропроцессоров центр тяжести в проектировании мультимикропроцессорных систем переносится на программное обеспечение. Появляются новые операционные системы, специально предназначенные для повышения производительности мультимикропроцессорных систем и их надежности. Этн вопросы более подробно рассмотрены в § 3.1.
ОСОБЕННОСТИ ИЗМЕРИТЕЛЬНЫХ СХЕМ
Внедрение микропроцессоров дало возможность применения во входных измерительных цепях простых схемных решений; малая погрешность при этом обеспечивается калибровкой, линеаризацией и масштабированием сигнала. Разумеется, эти решения вполне могут быть реализованы и без микропроцессоров—на жесткой логике, но широкое применение их оказалось экономичным в микропроцессорных системах.
В частности, существенно изменился подход к использованию образцовых мер в приборах сравнения. В многодиапазонных приборах сравнения, например в мостовых измерителях, раньше применялось много пассивных образцовых мер с высокой стабильностью, для которых требовалась особая подгонка при изготовлении и калибровке прибора, что значительно повышало стоимость прибора. При введении микропроцессора число образцовых мер высокой стабильности может быть уменьшено в пределе до 1; роль остальных мер могут выполнять дешевые пассивные элементы с кратковременной стабильностью, значение этих элементов определяется при самокалибровке прибора путем сравнения их со стабильной образцовой мерой. В [79] показано, что при таком подходе можно скомпенсировать аддитивную и мультипликативную погрешности аналогоцифрового преобразователя комплексной величины в код.
Изменяется и оптимальная измерительная структура , автоматических измерителей параметров комплексных ве-; личин. Раньше измерительные схемы таких преобразовате- J лей строились по принципу обеспечения прямого отсчета—— ' искомая величина должна быть пропорциональна коду, управляющему переключением пассивной скалярной величины. Это требование приводило к усложнению измери- 42
тельных схем и введению дополнительных аналоговых преобразователей. При введении микропроцессора оптимальность измерительной схемы определяется лишь ее метрологическими свойствами. Оказывается выгодным применение простейших неуравновешенных цепей с последующими вычислением и коррекцией результата.
Далее рассмотрен ряд вариантов применения упрощенных схемных решений в аналого-цифровых преобразователях напряжения постоянного тока—эти решения являются типичными для входной части большинства микропроцессорных измерительных приборов.
Интегрирующие АЦП. В 20-разрядном АЦП фирмы National Semiconductor (США) [108] применен метод однотактного интегрирования——линейно нарастающее образцовое напряжение сравнивается с измеряемым. Преимущество этого метода——высокая линейность преобразования; в числе основных недостатков——влияние нестабильности емкости интегрирующего конденсатора. Из-за этого недостатка более широкое применение в измерительной технике находит метод двухтактного интегрирования (ДИ). В АЦПДИ результат преобразования определяется отношением времени разряда от образцового напряжения к времени заряда от измеряемого напряжения. Для АЦПДИ влияние нестабильности емкости конденсатора исключается, но на линейность характеристики преобразования может оказать влияние диэлектрическая абсорбция интегрирующего конденсатора.
Применение микропроцессора в АЦП, реализующих метод однотактного интегрирования, позволяет скорректировать нестабильность емкости конденсатора за счет измерения времени интегрирования для трех напряжений: нулевого уровня Uq, полной шкалы иш и измеряемого Ux. Структурная схема измерительной части показана на рис. 1.17. В схеме применен микропроцессор INS 8070. Последовательность операций при преобразовании следующая: микропроцессор подключает вход компаратора к U^ ждет начала интегрирования образцового напряжения и измеряет время 力 от начала интегрирования до пересечения с уровнем Uа Затем те же операции проводятся с напряжением полной шкалы иш и измеряемым напряжением Ux. Измеряемое напряжение вычисляется по формуле
U 尤=々(tx-—%)/ (方山-fo). (1.1)
Так как конденсатор заряжается всегда с одной скоростью и в одном направлении, погрешность из-за диэлек-
трического поглощения постоянна и устраняется при само- калибровке. Основным ограничением по точности являются нестабильности источника образцового напряжения: тем- лературная—около 0,25 • 10~6 1 /℃, временная—несколько миллионных долей вольта в год. Эти нестабильности влияют на величину /0 в (1.1).
Рис. 1.17, МикропроцессорныйРис. 1.17, МикропроцессорныйАЦП с однократным интегрированиемАЦП с однократным интегрированием
Рис. 1.17, Микропроцессорный
Рис. 1.17, Микропроцессорный
АЦП с однократным интегрированием
АЦП с однократным интегрированием
]Мостовой I]Мостовой Ij_H3MepHTenbjj_H3MepHTenbj
]Мостовой I
]Мостовой I
j_H3MepHTenbj
j_H3MepHTenbj
Калибро-преобразования
в очный
делитель
Рис. 1.18. Мостовой измерительный прибор с однократным интегрированием
' По принципу действия интегрирующие АЦП являются медленно .действующими (для описываемого АЦП время преобразования, вклю- »чая вычисление, составляет 300 мс). Во избежание помех в измерительной схеме от фронтов импульсов аналоговая часть развязывается от цифровой оптоизоляторами. Прием оптической развязки измерительной схемы от схем, обеспечивающих вычисления, управление и вывод информации на индикацию, широко используется в микропроцессорных измерительных приборах, описанных, в частности, в гл. 5.
Фаза балансировки|Фаза балансировки|2 о ш6dOLUdJWH8 磊HUQ «050X3^2 о ш6dOLUdJWH8 磊HUQ «050X3^27 мс I27 мс II Фаза считывания,I подсчет импульсами4МГцI Фаза считывания,I подсчет импульсами4МГц
Фаза балансировки|
Фаза балансировки|
2 о ш6dOLUdJWH8 磊HUQ «050X3^
2 о ш6dOLUdJWH8 磊HUQ «050X3^
27 мс I
27 мс I
I Фаза считывания,I подсчет импульсами4МГц
I Фаза считывания,I подсчет импульсами4МГц
Рис. 1,19. Процесс аналого-цифрового преобразования с балансировкоц зарядов
Другой прием аналого-цифрового преобразования —— интегрирующее преобразование с балансировкой зарядов—— описан в [97]. Временная диаграмма процесса преобразования поясняется рис. 1.19. Интегрирующий конденсатор заряжается от известного напряжения до 2 В, после чего с частотой 500 кГц производится частичный съем зарядов с интегрирующего конденсатора, затем следует фаза окончательного разряда конденсатора и фиксирование момента равенства напряжений )на конденсаторе нулю. Время от начала фазы окончательного разряда до момента срабатывания компаратора и является выходом аналоговой части схемы. Микропроцессор МС6808 последовательно измеряет таким способом напряжения нулй Uo й полной шкалы иШ1 постоянно удерживая в памяти текущие значения /о и Ли; при однотактном измереййй он подключает к входу компаратора Ux, измеряет tx й определяет Ux по формуле (1.1). Цикл одного 材зМерСН曲я длится 27 мс; микропроцессор управляет й{)оцёссом измерения через универсальный адаптер-интёрфейс^ оптически развязанный с аналоговыми цепями.
Таким образом, интегрирующие АЦП с временем преобразования 30—300 мс, с использованием микропроцессора позволяют получить высокую точность при сравнительно простой схеме преобразования и малом числе прецизионных элементов. При необходимости повышения быстродействия используются АЦП последовательного приближения.
Рис. 1.20. АЦП с программным управлением процессом преобразованияРис. 1.20. АЦП с программным управлением процессом преобразования&&КомпараторКомпаратор① I0HHB口① I0HHB口«офй<«офй<
Рис. 1.20. АЦП с программным управлением процессом преобразования
Рис. 1.20. АЦП с программным управлением процессом преобразования
&
&
Компаратор
Компаратор
① I0HHB口
① I0HHB口
«офй<
«офй<
АЦП последовательного приближения. Простейшая схема АЦП последовательного приближения может быть реализована на цифро-аналоговом преобразователе (ЦАП), компараторе и схемах простой логики, с программным управлением процессом преобразования от микропроцессора. В [81] описана подобная реализация с управлением от микропроцессора 8080. Для 8-разрядного АЦП время преобразования составляет около 500 мкс, что вполне достаточно для многих промышленных применений. Структурная схема АЦП показана на рис. 1.20, схема программы микропроцессора, управляющей аналого-цифровым преобразованием,—на рис. 1.21. В схему включен мультиплексор на восемь аналоговых входов, управляемый через «картированный» порт. Для минимизации числа элементов схемы управление ЦАП и считывание результата шага преобразования с компаратора производятся не с помощью портов, а присоединением ЦАП непосредственно к шине адресов, а
компаратора через простую логику— к шине данных. Такое соединение позволяет сэкономить два порта за счет резервирования области адресов памяти. Выдача кода на ЦАП и чтение результата с компаратора производятся при этом одной командой MOV А, М. Предполагается при этом, дто общее время срабатывания ЦАП и компаратора не
Рис, 1.21. Схема программы управления АЦП превышает времени между подачей адреса и считыванием данных в этой команде——около одного такта работы микропроцессора (500 нс).
Схема на рис. 1.20 легко модифицируется для случая применения медленных ЦАП, когда между подачей адреса на вход ЦАП и считыванием результата с компаратора проходит время, превышающее длительность одного такта работы микропроцессора—для этого вводится простая схема ожидания результата на двух триггерах. Число входных каналов легко увеличить до 128.
Применение микропроцессорного управления процессом аналого-цифрового преобразования с последовательным
47
приближением, естественно, приводит к потерям процессорного времени. Широкое распространение однокристальных АЦП, в которых процесс преобразования управляется встроенными в них аппаратными средствами, и постоянное уменьшение их стоимости делают удобным их применение в микропроцессорных измерительных приборах. Время преобразования в однокристальных АЦП широкого применения составляет 5——50 мкс; в них предусматриваются специальные возможности для сопряжения с микропроцессорами: трехстабильный выход для стыковки с магистралью данных, встроенный мультиплексор для работы с несколькими входными каналами, управление от стандартных шин микропроцессорной магистрали. Так, в [111] описаны 8-разрядный АЦП ADC-0801-04, совместимый с микропроцессором 8080, и метод ц'ифровой коррекции напряжения смещения, позволяющий получить повышенное разрешение. Метод основан на формировании корректирующего напряжения с помощью дополнительного 11.АП, управляемого от микропроцессора через порт.
Регулировка элементов измерительной схемы и усилительного тракта с помощью ЦАП, управляемых от микропроцессора, широко применяется в современных измерительных приборах. Могут возникать дополнительные сложности, если разрядность ЦАП выше разрядности микропроцессорной магистрали данных. Передача информации на обычный ЦАП в два приема вызывает погрешности переходного процесса. Этот недостаток устраняется введением буферных регистров, в которых запоминаются побайтно коды с магистрали данных. На этом принципе построен ЦАП Microdac фирмы National Semiconductor (США) [112].
Компенсация влияния температурного и временного дрейфов элементов измерительной схемы эффективно проводится комбинированными аналоговыми н цифровыми методами. Тремя основными составляющими погрешности измерительной схемы являются погрешность нелинейности (максимальное отклонение характеристики преобразова- нн兄 от идеальной при пулевых погрешностях усиления и смещения нуля), мультипликативная погрешность усиления и аддитивная погрешность смещения нуля (максимальное отклонение выходного сигнала измерительной схемы при нулевом значении входного сигнала). Погрешность нелинейности не поддается регулировке внешними элементами; она контролируется в основном в процессе изготовления анало-: го-цифрового преобразователя и зависит от согласования между собой резисторов матрицы и остаточных напряжений токовых ключей. Погрешности усиления и смещения нуля зависят от точности источника опорного напряжения, напряжения смещения компаратора и операционного усилителя. Температурный дрейф этих элементов может быть
частично скомпенсирован введением й схему дополнительного элемента с противоположным по знаку температурным коэффициентом, нанрнмер кремниевого диода. Недостатком такой компенсации является необходимость индивидуального подбора для каждой системы и невозможность учета нелинейности температурных характеристик и старения элементов. Цифровые методы компенсации являются более гибкими: они допускают возможность проведения компенсации перед каждым измерением, что позволяет осуществить почти полную компенсацию погрешностей усиления и смещения нуля. Ограничением цифровых методов компенсации является дискретность АЦП ——точность компенсации ограничена 0,5 младшего разряда преобразователя. Идеальной настройкой можно было бы считать настройку на точку перехода выходного кода АЦП от 00 ... 00 к 00 ... 01, когда входное напряжение соответствует 0,5 младшего разряда шкалы АЦП. Для полной шкалы идеальной настройкой является точка перехода 11 ... 11 к 11 ... 10, когда входное напряжение соответствует Umax 一1,5 младшего разряда преобразователя. Такой метод идеальной настройки АЦП по двум точкам применяется в системе сбора данных SDM 856/857 фирмы Burr-Brown [87]. При настройке применяются алгоритмы цифровой компенсации, но для двух указанных точек резисторами смещения и усиления производится аналоговая регулировка.
Сверхбыстродействующие измерительные схемы. Описанные средства измерения охватывают диапазон частот выборки до 200 кГц. Для более высоких частот применяются АЦП с непосредственным сравнением, которые характеризуются ограниченной разрядностью (6——8 бит) и временем преобразования около 0,1 мкс. Применение отечественного однокристального АЦП 1107 ПА1 с непосредственным сравнением описано в [1].
Наконец, для частот выше 100 МГц используются системы с аналоговыми запоминающими устройствами. Системы такого типа TSN693 и TSN694, разработанные фирмой Thomson-CSF (Франция) [32J, предназначаются для исследований в области ядерного синтеза и техники высоких напряжений. В модели TSN693 применяются 10 аналоговых ЗУ по 100 конденсаторов в каждом; в модели TSN694— 50 аналоговых ЗУ; интервалы выборки 10 и 2 нс. Таким образом, общее число запоминаемых отсчетов—до 5000. Запомненный сигнал затем считывается микропроцессором через сравнительно медленный АЦП в основное ЗУ цифрового типа. Для повышения точности каждому измерению сопутствует тестовый сигнал, который проходит те же стадии запоминания и последующей дискретизации, в результате чего рассчитываются калибровочные коэффициен- 4^319 49
ТВ для всех ячеек аналоговых ЗУ. Операции калибровки, ввода и вывода управляются микропроцессорами 8080 и 8047. Вся система предназначена для разовых измерений, так как из-за медленного съема с АЦП и калибровки время между последовательными циклами составляет несколько секунд.
Развитие интегральной схемотехники постепенно стирает конструктивные грани между измерительной схемой и схемой обработки сигнала. Вслед за выпуском однокристальных микроЭВМ со встроенными ОЗУ и ПЗУ появился ряд однокристальных устройств, объединяющих функции АЦП, микроЭВМ и ЦАП—так называемые цифровые про- иессоры аналоговых сигналов [86]. На очереди—дальнейшая интеграция с целью включения полупроводникового первичного преобразователя и устройств предварительной аналоговой обработки в один кристалл с АЦП и микроЭВМ [3]. Такие «разумные» первичные преобразователи должны обладать рядом преимуществ, связанных прежде всего с увеличением помехоустойчивости и надежности всей системы. Вместе с тем помимо конструктивных и технологических трудностей есть ряд проблем, связанных с работой 《разумного》 первичного преобразователя в агрессивных средах, при высокой температуре и с идеологией его применения в разветвленных сетях сбора и обработки информации.
ГЛАВАВТОРАЯ
ФУНКЦИИ МИКРОПРОЦЕССОРОВ
В ИЗМЕРИТЕЛЬНЫХ ПРИБОРАХ
ФУНКЦИОНАЛЬНАЯ СХЕМА ИЗМЕРИТЕЛЬНОГО ПРИБОРА
И СТРУКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Современные методы программирования позволяют оптимизировать процесс разработки программно-алгоритмического обеспечения измерительных микропроцессорных приборов. В'основу разработки кладется принцип нисходящего проектирования с последовательной декомпозицией целей и подцелей. Исходным заданием при J проектировании является перечень функций, выполняе- ? мых прибором; соответственно начальный этап проектирования——анализ функциональной схемы прибора. Однако функциональная схема, описанная на языке поль- 50
зоватсля ——специалиста по измерительной технике, далеко не всегда может служить основанием для декомпозиции на функционально-программные модули. Рассмотрим в качестве примера перечень функций (назовем их условно измерительными функциями), выполняемых микропроцессорами в типовых электроизмерительных приборах так, как он сформулирован в [136].
Многопредельный мультиметр: запоминание минимального и. максимального значений для сравнений; расчет эффективного, пикового, средних значений то ка и напряжения; расчет сопротивления и мощности; калибровка; расчет среднего значения и отклонений; расчет отношения напряжений и их разностей; умножение на кон” станту.
Счетчик-частотомер: пересчет интервала времени в частоту; пересчет интервала времени в фазовый сдвиг; расчет времени нарастания и времени спада; рао чет средней частоты и отклонения; умножение на константу шкалы; калибровка; пересчет отношения в проценты; вычисление разности частот; вычисление индекса моду* ляции.
Осциллограф: цифровое представление частоты и амплитуды; расчет длительности периода из частоты; измерение временных интервалов, времени нарастания и спада; расчет мгновенной мощности гт энергии сигнала; калибровка; расчет относительных значений амплитуды.
Спектральный анализатор: запоминание данных анализа; пересчет из временной области в частотную; расчет среднего значения; пересчет в децибелы; оптимиза' ция измерений.
Очевидно, что большая часть из перечисленных функций выполняется в реальном приборе с помощью типовых процедур из следующего перечня:
ввод задания от оператора прибору; отметим, что сама эта процедура кроме работы с клавиатурой может включать в себя ряд разнотипных операций ―• «подсказку» оператору на дисплее или принтере, индикацию ошибок оператора, маркирование исследуемой области или точки на экране ЭЛТ и пр.;
.управление входными цепями прибора, настройка их на заданный режим;
измерение первичной величины;
предварительная обработка результатов измерения — введение корректировок, масштабирование и пр.;
вычисление вторичного параметра: йм^яяп эта 口pone-
铝 RI
дура обычно называется в предыдущем перечне в качеств ве измерительной функции;
вывод вычисленного параметра на индикацию и (или) регистрацию.
Здесь перечислены только явные процедуры, присущие практически любой функции измерения некоторого вторичного параметра. Кроме того, имеется еще ряд процедур, связанных с согласованием по времени прохождения различных процедур, например управление входными цепями, измерение и предварительная обработка могут проходить одновременно — при обработке массива данных с совмещенным вводом, оператор может вмешиваться в про^ цесс измерения до его завершения и т. п. Сюда следует добавить также ряд процедур, связанных с тестированием измерительного прибора и интерфейсом его с ииформа* ционно-измерительной системой.
Программные модули, выполняющие типовые процедуры, однотипны по структуре для большей части измерительных функций; специфика конкретной измерительной функции выражается только в типовой процедуре «вычисление вторичного параметра》. Это означает, что различные измерительные функции конкретного прибора могут быть выполнены набором программных модулей, выполняющих типовые процедуры из приведенного перечня, причем для каждой функции эти модули модифицируются, не меняя основной структуры, например, с помощью выборов формальных параметров на входе и выходе модуля.
В результате модульная структура программного обеспечения приобретает для конкретного прибора вид, совершенно отличный от функциональной измерительной схемы. В качестве примера рассмотрим структуру программного обеспечения анализатора параметров полупроводников HP 4145А [131]. Этот прибор вычисляет, показывает и регистрирует характеристики биполярных и полевых транзисторов и позволяет вычислять отдельные амплитудные и временные параметры этих характеристик. Упрощенная структурная схема его программного обеспечения показана на рис. 2.1. Она основана на управляющей программе——мониторе реального времени и программах-драйверах, управляющих аппаратной частью прибора, графическим дисплеем, лицевой панелью, встроенным магнитным диском и пр. Все процедуры выполняются программными модулями, расположенными на четырех приоритетных уровнях, Высший (нулевой) приоритет имеют задачи
внешней информационио-измерительнои системы и задачи анализа состояния панели оператора. На следующем (первом) уровне приоритета находятся задачи печати и графопостроителя, задачи анализа накопленной информации и задачи анализатора последовательности программ. Модуль анализатора последовательности программ следит
Уровень 。Уровень 。Уровень 2Уровень 2УтилитыУтилитыр!Монитор реального временир!Монитор реального времениxeRMdoMdxeRMdoMd
Уровень 。
Уровень 。
Уровень 2
Уровень 2
Утилиты
Утилиты
р!Монитор реального времени
р!Монитор реального времени
xeRMdoMd
xeRMdoMd
Задачи "меню" и режима Управление дисплеем
Уровень 3
Формированиевыходной после-довательностиФормированиевыходной после-довательностиУправлениеизмеритель-ной цепьюУправлениеизмеритель-ной цепьюРедакторРедакторДиагнос-тикаДиагнос-тика
Формированиевыходной после-довательности
Формированиевыходной после-довательности
Управлениеизмеритель-ной цепью
Управлениеизмеритель-ной цепью
Редактор
Редактор
Диагнос-тика
Диагнос-тика
Рнс. 2.1. Упрощенная структура программного обеспечения прибора для измерения параметров полупроводников
за обменом данными между различными программными модулями. На втором уровне находятся задачи символьнографического дисплея и 《меню》,т. е. перечня возможных режимов, сообщаемых оператору. На третьем уровне приоритета находятся задачи формирования выходной последовательности, задачи диагностики и задачи управления измерительной цепью.
Очевидно, что структура программного обеспечения соответствует, с одной стороны, элементам аппаратного обеспечения, которыми управляет процессор: органам руч-
ного и дистанционного управления, органам индикации и регистрации, переключателям измерительной цепи, а с другой стороны ——основным процедурам, которые выполняет процессор: обеспечению режима реального времени,; анализу данных, формированию результатов, диагностике, и пр.I
С учетом этого можно построить следующую классификацию функций, выполняемых микропроцессором в измерительных приборах:
контроллерные функции, связанные с управлением со стороны микропроцессора элементами аппаратного обеспечения прибора;
вычислительные функции, связанные с обработкой и анализом данных;
тестовые функции, связанные с определением работоспособности прибора, диагностикой и локализацией неис^ ; правности;
сервисные функции, связанные с общением с прибором со стороны оператора и информационно-измерительной . системы.
Кроме этого перечня можно выделить функции метасистемы, которая обеспечивает выполнение всех перечисленных выше функций и их согласование между собой. Такой метасистемой в приборе является операционная система. Функции операционной системы рассматриваются в гл. 3.
КОНТРОЛЛЕРНЫЕ ФУНКЦИИ
К контроллерным относятся функции непосредственного управления элементами аппаратного обеспечения, в частности функции программ-драйверов. По типу аппаратного обеспечения контроллерные функции можно в свою очередь разбить на ряд подклассов:
управление измерительной цепью. Сюда входят управление переключателями каналов и диапазонов, подключение образцовых мер в процессе калибровки, управление измерительными усилителями. В приборах для измерения неэлектрических величин часто большинство этих функций составляет управление подготовкой измерительной цепи; например в химических анализаторах ——это управление механическими манипуляторами, дозаторами, гидравлическими схемами, температурным режимом. По скорости управления эти функции можно отнести к медленным из-за : реакции исполнительных цепей. Как правило, эти функции выполняются чисто программными методами, иногда р
участием таймера — с помощью микропроцессора и портов ввода-вывода;
управление аналого-цифровым преобразованием. Эта функция может выполняться как чисто программно —— микропроцессором, так и специализированным аппаратным обеспечением, в частности однокристальными аналогоцифровыми преобразователями ih таймером, или комбинированными аппаратно-программными методами. При использовании однокристального АЦП и таймера функции микропроцессора ограничиваются заданием частоты квантования для таймера и, возможно, заданием опорного напряжения для АЦП. Если аналого-цифровое преобразование производится программными методами с использованием микропроцессора, то можно ограничиться простейшей схемой из цифро-аналогового преобразователя и компаратора (см., например, рис. L20). В этом варианте микропроцессор выполняет отсчет периода квантования, задание кода для ЦАП и анализ выходного сигнала компаратора. По скорости управления функции аналого-цифрового преобразования связаны с характеристиками исследуемого сигнала;
управление средствами общения с оператором. Сюда входит большая группа функций управления клавиатурой, индикаторами, звуковой сигнализацией и дисплеем. Для клавиатуры, индикаторов и звуковой сигнализации эта функции относятся к медленным и могут выполняться чисто программными методами с помощью микропроцессора и портов ввода-вывода. Для дисплея объем и скорость пересылаемой информации более значительны, и часто программное формирование изображения невозможно по условиям быстродействия. В этих случаях имеется дополнительное аппаратное обеспечение, которое формирует изображение, обеспечивает его регенерацию и модификацию в реальном времени;
управление регистраторами. Сюда относятся функции управления печатающими устройствами, самописцами, графопостроителями, внешними накопителями на магнитной ленте в режиме записи. Большая часть этих устройств (кроме накопителей на магнитной ленте) являются медленными, и управление ими может выполняться чисто программными методами. Для (накопителей на магнитной ленте возможность программного управления зависит от требуемой скорости обмена. Для медленных накопителей типа бытового магнитофона скорость обмена не превышает 1 кбод и может быть достигнута с помощью микропроцес-
сора среднего быстродействия. Для быстрых накопителей необходимо дополнительное аппаратное обеспечение или применение быстродействующих процессоров;
управление внешней памятью. Сюда относятся функции управления накопителями на магнитной ленте в режиме двустороннего обмена, управления накопителями на магнитных дисках и дополнительными внешними модулями оперативной и программной памяти. В основном это быстрые устройства, и управление ими производится с помощью быстродействующих процессоров или дополнительного аппаратного обеспечения.
Резюмируя этот краткий обзор контроллерных функций, можно отметить тесную связь этих функций со спецификой технического обеспечения измерительного прибора и номенклатурой внешних устройств. Если рассматривать все контролируемые устройства как внешние по отношению к центральному микроконтроллеру (под микроконтроллером здесь понимается совокупность узлов центрального процессора, оперативной и постоянной памяти и портов ввода-вывода), то управление производится по схеме микроконтроллер — аппаратно-программ- .ный интерфейс ——контролируемое внешнее устройство. Сущность алгоритма управления определяется аппаратно-программным интерфейсом, поэтому более подробно контроллерные функции рассматриваются в гл. 4 при описании интерфейсов соответствующих устройств.
ВЫЧИСЛИТЕЛЬНЫЕ ФУНКЦИИ
К вычислительным относятся функции предварительной и основной обработки данных. Математический аппарат, применяемый на этапах предварительной и основной обработки, не может быть четко разграничен для абстрактного измерительного прибора, так как одни и те же процедуры обработки могут в одних приборах выполняться на предварительном этапе, а в других ——на основном. Поэтому рассмотрим конкретный пример выполнения вычислительных функций в многоканальных анализаторах биопотенциалов, которые выполняют автоматический анализ электрокардиограмм, электроэнцефалограмм и пр.
В качестве предварительной обработки сигналов здесь применяются следующие процедуры:
калибровка, линеаризация, нормализация. Эти виды предварительной обработки связаны с коррекцией погрешностей, вносимых первичными измерительными преобразователями и усилительным трактом. Простейший вид коррекции — калибровка по двум точкам 56
(нуля и полной шкалы) ——производится по алгоритму, рассмотренному в § 1.3. Более сложный вид коррекции —— линеаризация ——учитывает нелинейность приемно-усили- (тельного тракта, в частности нелинейность первичного преобразователя. Массив входных данных при этом преобразуется в соответствии с заданной нелинейной характеристикой. Если характеристика приемно-усилительного тракта не может быть удовлетворительно аппроксимирована :простой формульной зависимостью, то применяется более ;общий вид коррекции ——нормализация, когда для всей совокупности дискретных значений, поступающих на вход вычислительной части прибора, задан массив нормализующих коэффициентов; коррекция проводится умножением каждого кода на《свой》нормализующий коэффициент;
масштабирование. Этот вид предварительной обработки служит для учета коэффициентов передачи и напряжений смещения узлов в приемно-усилительном тракте. Масштабирование в общем случае проводится по формуле
у=ак + Ь;(2.1)
цифровая ф iH л ьтр а ц in я. Введение цифровых фильтров в приемно-усилительный тракт может проводиться как чисто программными, так и аппаратными и смешанными методами. Код па выходе нерекурсивного цифрового фильтра формируется по формуле
g《)=》尤" 一期叁,(2.2)
■ где а左——коэффициенты цифрового фильтра;
сжатие данных. Для экономии памяти данных в анализаторах биопотенциалов применяется сжатие данных без потери информации, основанное на алгоритмах адаптивного квантования. Простейший вид сжатия — кусочнолинейная аппроксимация, более общий вид ——аппроксимация участками кривых n-го порядка. Математический аппарат, применяемый при сжатии информации, аналогичен тому, который применяется при контурном и спектральном анализе (при основной обработке сигнала);
распознавание и устранение артефактов. Этот вид предварительной обработки особенно актуален для систем анализа биопотенциалов, но может применяться и в других системах. Сущность процедуры рас- ;познавания артефактов ——это классификация ■ входного ;Сигнала по двум классам: «подлежит анализу», 《не под- ;57
лежит анализу》. Не подлежащий анализу сигнал считается «артефактом»; имеется в виду, что он обязан своим происхождением факторам, которые не являются предметом исследования: случайным нарушениям измерительной цепи, побочным влияниям на первичные преобразователи, наводкам от внешних цепей и пр. Естественно, для подобной классификации необходимы априорные сведения о сигнале, например ожидаемом частотном и амплитудном диапазонах, ожидаемой последовательности характерных точек (последовательность Р—Q — R—S — Т зубцов электрокардиограммы) и т. п. Соответственно распознавание артефактов производится или с помощью алгоритмов амплитудного и частотного анализа, или с помощью контурного анализа сигнала и логического анализа выявленной последовательности характерных точек.
В качестве основной обработки сигнала в анализаторах биопотенциалов применяются следующие процедуры:
статистическая обработка. Сюда входит ряд процедур для вычисления функции и плотности распределения, математического ожадания, дисперсии, среднего квадратического отклонения, вариации, асимметрии, эксцесса, корреляционной функции, спектральной плотности и других стандартных статистических характеристик. Более подробно этот класс процедур рассмотрен в § 3.3;
вычисление вторичных параметров по формулам. Эти процедуры перечислены в § 2.1 в качестве основных измерительных функций прибора. Если в прибор закладываются возможности программирования этих формул пользователем, то обычно в состав программного обеспечения входит язык интерпретирующего типа, например БЕЙСИК;
амплитудно-временной и контурный анализ ы. К этим процедурам относятся определение параметров экстремальных точек, длительностей фронта и среза импульсов, выделение характерных точек, точек пересечения заданного порога и пр. Применяются две основные разновидности анализа: полуавтоматический, когда оператор выделяет с помощью маркеров анализируемый участок или отдельные точки, задает уровни или моменты времени, а затем микропроцессор автоматически анализирует и выполняет задание; автоматический, когда задание на обработку не включает субъективной, т. е. зависящей от оператора, информации.
Рассмотренный перечень вычислительных процедур является характерным и наиболее общим для измеритель- 58
§ Ннх приборов; в частности, Все измерительные функции, [перечисленные в § 2.1, могут быть выполнены с помощью I описанных вычислительных процедур.
В зависимости от предъявляемых к системе требований вычислительные процедуры могут быть совмещены по времени с вводом информации или могут выполняться над накопленным массивом после ввода. В первом случае вычисления проводятся в интервалах времени между отсчетами АЦП или применяется техника накопления и вычисления, известная в литературе под термином «пинг-понг^. При этом создается буферная память для ввода данных, которая делится пополам; в то время как в одну из половин памяти производится запись отсчетов с АЦП методом прямого доступа, данные, хранящиеся во второй половине памяти, обрабатываются процессором; затем производится переключение половин памяти: первая подключается к процессору, вторая — к АЦП. В системах с совмещением времени ввода и времени вычислений ресурсы одного процессора среднего быстродействия, как правило, недостаточны для полной обработки сигнала за время ввода; поэтому широко применяются аппаратные расширители» специализированные процессоры и многопроцессорные системы.
В [59] рассмотрены вопросы применимости однопроцессорных си- 'стем для анализа биопотенциалов и даны рекомендации по методам структурного расширения.
В системах с обработкой накопленного массива после ввода данных требуемая скорость выполнения вычислительных функций определяется или условиями диалога с оператором (если вычисленные параметры не используются для автоматического управления), или допустимой задержкой формирования управляюп;его сигнала (если в результате вычислений формируется управляющее воздействие).
Описанные выше вычислительные процедуры используют в качестве программных модулей низшего уровня типопые программы арифметических операций, выполняемых в различных форматах, программы преобразования форматов, программы вычисления тригонометрических, логарифмических, степенных и других функций. При невысоких требованиях к быстродействию прибора все эти программы могут выполняться микропроцессором среднего быстродействия; более подробно некоторые из них описаны в гл. 3.
ТЕСТОВЫЕ ФУНКЦИИ
Самотестирование цифровых измерительных приборов и систем — характерная особенность современных приборов со встроенными микропроцессорами. Дополнительные аппаратные затраты на тестирование составляют небольшую часть общей стоимости прибора н сводятся в основ-
59
ном к стоимости дополнительного ПЗУ для хранения тестовой программы.
На стадии промышленного выпуска прибора аппаратная отладка не обеспечивает достаточной проверки работоспособности в сложных режимах; поэтому тестирование на этой стадии является необходимым этапом производства приборов. То же относится и к стадии ремонта. Локализация неисправности по некоторым данным [113] занимает 90% времени восстановления работоспособности прибора, поэтому наиболее эффективны те виды тестового контроля, которые обеспечивают помодульную диагностику неисправности.
В еще большей степени это относится к стадии эксплуатации прибора. Микропроцессоры дают возможность так организовать общение прибора и оператора, что даже при низкой квалификации последнего в области вычислительной техники возможно локализовать неисправность с точностью до типового элемента замены (ТЭЗ). После этого можно оперативно восстановить работоспособность прибора путем замены отказавшего ТЭЗ.
Для возможности помодульного тестирования необходимо при проектировании системы обеспечить взаимное соответствие ТЭЗ и функциональных модулей — это связано с функциональным принципом построения системы тестов. Последовательность процедур тестирования должна быть построена так, чтобы каждый модуль при проверке получал контрольные сигналы только от модулей, уже прошедших проверку. На практике это не всегда выполнимо, так как минимальное работоспособное в режиме тестирования ядро микропроцессорной системы включает в себя центральный процессор, ПЗУ и индикатор, т. е. несколько функциональных модулей. Требования полноты теста, глубины диагностики, средней (наработки на отказ и стоимости прибора должны рассматриваться при проектировании в комплексе, и компромисс между ними достигается на основе системных соображений.
Можно разделить все типы тестирования приборов со встроенными микропроцессорами на два основных класса: тестирование с применением внешних микропроцессорных средств и полностью автономное тестирование. Возможно также использование комбинированных методов.
Для первого типа тестирования применяются специализированные тестеры или системы типа универсальной микроЭВМ. Программы тестирования стандартных блоков обычно входят в программное обеспечение тестера; в 60
йёкоторых CHCTeMN义 программы тестирования могут составляться пользователем на языке высокого уровня, и, таким образом, пользователь имеет возможность создания тестовых систем для произвольных блоков и приборов. В качестве примера рассмотрим несколько специализированных тестирующих систем.
В тестере, описанном в [82], применены сервисный процессор Omnicomp, близкий по характеристикам к LSI-11, и. запоминающее устройство емкостью 96 Кбайт. Общение с оператором, проводящим тестирование, идет через принтер. По инструкциям на принтере оператор касается зондом точек тестируемой печатной платы; процессор анализирует результат и выдает следующую инструкцию. В приборе имеется встроенный цифровой мультиметр; пользователь имеет возможность программировать тесты на языке PSP BASIC.
Более сложные варианты тестов может выполнять универсальный функциональный тестер Graduate фирмы Marconi (США) [103], в котором применен 24-разрядный секционный процессор с адресацией 1 Мслово. Тестирование модулей производится в этом тестере путем подачи на их входы цифровых и аналоговых тестерных сигналов и исследования реакции модулей. В тестере применена сенсорная программируемая клавиатура, совмещенная с графическим дисплеем (подробнее эта клавиатура описана в § 4.1), которая дает пользователю широкие возможности по организации различных конфигураций те* стируемых систем и различных последовательностей тестовых процедур. Общая последовательность тестовых процедур в тестере Graduate следующая: сначала оператор задает условия испытаний, т. е. перечень тестируемых модулей и перечень исследуемых характеристик; затем микроЭВМ сообщает оператору, какие стандартные модули тестера нужны для этих испытаний и куда их устанавливать. После этого оператор может получить иа программируемой клавиатуре мнемосхему тестирования, ввести свои обозначения узлов и клавиш. При таком подходе оказывается возможным с помощью небольшого числа стандартных модулей тестера обеспечить испытания в широком диапазоне частот для большой гаммы тестируемой аппаратуры. Универсальный тестер предназначен для контроля печатных схем, автоматических телефонных коммутаторов, электронной аппаратуры ракет и пр.
Другой тип тестирования ——полностью автономное тестирование——рассчитан на проверку прибора в условиях эксплуатации без каких-либо дополнительных средств. При этом функции тестирования чаще всего выполняет основной процессор прибора, однако возможно и встраивание в прибор специального микропроцессорного узла, предназначенного только для автодиагностики (такой подход опи-
Сан в [113]). В зависимости от требований пользователя тестирование может проводиться в двух основных режимах:
определение работоспособности — для этого режима достаточно двух точечных индикаторов, показывающих положительный или отрицательный результат проверки модуля или системы в целом; локализация неисправности может при этом быть произведена раздельным запуском тестов отдельных модулей. Возможен также вариант с цифровой индикацией номера отказавшего модуля;
диагностика неисправности ——для этого режима нужно устройство вывода сообщений (дисплей или принтер); локализация неисправности при этом проводится по отдельным элементам тестируемого модуля, например по разрядам шип данных, адресов и управления.
При автономном тестировании для хранения программы тестирования используется либо внешнее устройство памяти (накопитель на диске или магнитной ленте), если оно имеется в системе для основного режима, либо, чаще, тестовое ПЗУ, В последнем случае часто тестовое ПЗУ размещается в том же адресном пространстве, что и основное ПЗУ. Это позволяет экономить адресное пространство; учитывается то, что во время основной работы тестовое ПЗУ не нужно и доступ к нему можно запретить специальным сигналом. При тестировании запрещается доступ к основному ПЗУ и открывается доступ к тестовому ПЗУ. Иногда ПЗУ для тестирования модуля размещают конструктивно в самом этом модуле. Это дает ряд преимуществ: большую автономность теста, экономию адресного пространства при использовании ряда сменных модулей и др. То же ПЗУ часто используется для идентификации модуля. В сложных системах с большим числом сменных модулей этот прием позволяет избавиться от ввода оператором дополнительной информации при смене модулей. В ПЗУ модуля записываются для ввода в процессор основныые технич-еские характеристики и структурные особенности модуля; в том же ПЗУ находится протокол связи модуля с центральным процессором.
Общая примерная последовательность помодульного тестирования измерительного прибора со встроенным микропроцессором следующая: тест ПЗУ, тест ЦП, тест дисплея, тест ОЗУ, тест устройств внешней памяти, тест устройств дискретного ввода-вывода, тест устро/ств аналогового ввода-вывода, тест измерительной схемы.
В целях минимизации объема дополнительного оборудования здесь не в полной мере выдерживается принцип независимости рс- 62
зультатов каждого теста от узлов, тестируемых позднее. Так, для теста ПЗУ используется центральный процессор; для тестов ПЗУ и центрального процессора используется дисплей.
Проведение полного тестирования модулей (т. е. во всех возможных режимах при всех комбинациях входных сигналов) невозможно по условиям быстродействия, поэтому в перечисленной серии тестов обычно используется ограниченное число комбинаций входных величин, соответствующее наиболее тяжелым условиям эксплуатации. Ряд функциональных устройств приходится тестировать совместно, для того чтобы можно было замкнуть тестовую цепочку микроЭВМ — задание тестового сигнала ——тестируемый модуль ——выходной сигнал — микроЭВМ ——анализ выходного сигнала. Так, устройства дискретного вывода объединяются с устройствами дискретного ввода; устройства цифро-аналогового преобразования объединяются с устройствами аналого-цифрового преобразования. Например, в [113] рассмотрен алгоритм диагностики счетчиков-частотомеров; для создания тестируемой цепи кроме счетчика и микропроцессорного модуля используются цифро-аналоговый преобразователь и преобразователь напряжения в частоту импульсов. Тестирование индикационных модулей, служащих для выдачи информации оператору, проводится в полуавтоматическом режиме, т. е, результаты индикации визуально проверяются оператором. Таким способом тестируются точечные и цифровые индикаторы, дисплей, принтер, графопостроитель.
Более подробно алгоритмы тестирования отдельных модулей рассмотрены в гл. 3.
СЕРВИСНЫЕ ФУНКЦИИ
Расширение возможностей измерительных приборов со встроенными микропроцессорами закономерно сопровождается }7величением объема информации, циркулирующей между оператором (или внешней информационно-измерительной системой) и прибором. Со стороны оператора увеличиваются число режимов измерения и обработки, которые он может задать, число параметров, подлежащих измерению, и число их комбинаций, число дополнительных директив, задаваемых в процессе измерения, и т. п. Со стороны прибора резко возрастают объем визуальной и звуковой информации, число альтернативных вариантов измерения и обработки, возникающих в процессе работы, и т, Поэтому по мере услож-
нения системы все чаще применяется режим интерактивной обработки ——многостадийного диалога оператора с микропроцессорным прибором. При этом весь процесс измерения 口 обработки разбивается на ряд последовательных процедур взаимного обмена информацией. Интерактивный режим эффективен лишь в том случае, когда информация оператору представлена в удобном для восприятия виде, а имеющиеся органы управления со сто、 роны оператора позволяют ему гибко контролировать работу прибора. Обеспечение интерактивного режима составляет основную часть функций микропроцессора по обслуживанию оператора и внешней информационно-из' мерительной системы ——сервисных функций.
Поскольку функции непосредственного управления клавиатурой оператора и индикационными устройствами рассматривались как кoнтpOv^лepныe (в § 2.2), здесь рассмотрим главным образом общую структуру диалоговых процедур в измерительных приборах.
До недавнего времени диалоговые процедуры считались прерогативой больших универсальных ЭВМ, обладающих мощными операционными системами для их реализации, В последние годы диалог широко используется в малых и мнкроЗВМ, причем благодаря их экономичности сфера применения диалоговых процедур значительно расширилась. Чаще всего диалоговые процедуры применяются в системах с большим объемом задания, вводимого оператором. В одних случаях эго связано с комплексным характером аналитических процедур, в которых участвует разнородная информация ——идентификационная, справочная, информация об исследуемом процессе, часто с наложением шумов и артефактов. Это приводит к нестандартному характеру обработки с необходимостью адаптироваться к меняющимся характеристикам объекта исследования и режима измерения. Вместе с тем при большом перечне возможных функций прибора или при большом числе параметров, задаваемых для расчета одной функции, оператору трудно точно сформулировать задание на обработку, особенно при малой квалификации в области вычислительной техники и математических методов. В этих ситуациях применение диалоговых процедур позволяет максимально использовать возможности вычислительной техники для автоматизации рутинных процедур сбора и обработки информации, давать «подсказку» оператору со стороны системы в виде указания последовательности действий, замечаний при неверных действиях, 64
нескольких альтернативных вариантов дальнейших действий и пр.
Можно выделить ряд этапов измерения и анализа с применением диалога.
Ввод задания. Этот этап часто разбивается на ряд подэтапов, каждый из которых выполняется на разных стадиях обработки. На начальной стадии вводится первичный блок задания, включающий в себя идентификационные данные (сведения об объекте измерения, время и условия проведения эксперимента, данные оператора, конфигурацию системы измерения и пр.) и тот минимальный набор параметров задания, который может быть введен априорно.
Сбор и предварительная обработка первичной информации. Этап сбора первичной информации может быть полностью автоматизирован или может проводиться в режиме диалога со стимуляцией объекта измерения с участием оператора.
Этап предварительной обработки состоит из ряда обязательных для данной задачи процедур и процедур, вводимых по желанию оператора. К первым можно причислить распаковку исходных файлов, -их кодирование в заданном формате, масштабирование, линеаризацию, калибровку, сжатие информации и пр. Процедуры второго типа вводятся в результате анализа оператором качества первичной информации. Так, в системе измерения биопотенциалов качество записанной электрокардиограммы может быть визуально оценено с помощью дисплея или самописца, и после этого оператор может принять решение о необходимости введения сетевого фильтра, фильтра верхних частот или о необходимости дополнительной записи из-за наличия артефакта. К этим же процедурам предварительной обработки относятся процедуры улучшения качества полутонового изображения, применяемые, например, в гамма-камерах, ультразвуковых скеннерах и др. Отметим, что качество первичной информации может оцениваться и автоматически по объективным критериям — уровню шумов в заданной полосе частот, уровню фона полутонового изображения, дисперсии периодического процесса и пр.; однако при интерпретации изображения оператором необхо. димо его участие в визуальной оценке качества информации.
Основная обработка и интерпретация результатов. В простейшем случае этап основной обработки состоит из вычислительных процедур, выполняемых, в автоматическом режиме. В более сложных случаях это процесс, облада-
65655—319
65
65
ющий свойствами итеративности и альтернативности и управляемый оператором. Итеративность процесса заключается в неоднократном повторении однотипных вычисли^ тельных процедур с изменением ряда параметров, задаваемых оператором. Пример ——полуавтоматический амплитудно-временной анализ электрокардиограмм с ручной корректировкой маркеров, отмечающих характерные точки; вводимые при этом параметры — абсциссы характерных точек, отмечаемые маркером. Альтернативность процесса означает возможность для оператора выбора различных ветвей вычислительной процедуры. Например, в телеметрической системе анализа электрокардиограмм с 《разум、 нммн》 микропроцессорными терминалами ресурсы терминала позволяют проводить элементарную диагностику с разбиением на основные классы. Тонкая диагностика проводится с привлечением центрального ядра системы — ЭВМ более высокого класса. Решение о необходимости привлечения ресурсов центральной ЭВМ или достаточности терминальной диагностики принимает оператор терминала.
В функции оператора при проведении итераций и выборе альтернатив входят:
выбор математической модели, адекватной исследуемому объекту, и корректировка ее параметров;
оценка качества результатов исследования, их соответствия между собой и соответствия опыту оператора.
Эти функции имеют неформальный характер, при решении их оператор пользуется эвристическими и интуитивными приемами, вытекающими из его опыта и профессионального мастерства.
Еще один вариант применения диалога в этапе основной обработки ——полностью формализованная процедура, требующая от оператора сложной последовательности действий, например ввода большого числа взаимозависимых параметров. Примером такой процедуры является вычисление взаимной корреляционной функции двух процессоров.
Варианты задания определяются набором следующих параметров: частоты квантования, объема массива, диапазона задержек, шага задержки, разрядности отсчетов, допустимой погрешности вычисления, модификации функции (стандартная корреляционная, релейная, полярная). Часть этих параметров являются взаимозависимыми, только некоторые сочетания их корректны. Время расчета сложным образом зависит от этих параметров, и расчет в реальном времени (т. е. одновременно с накоплением) 66
возможен лишь в ограниченной области многомерного пространства параметров. Учет всех этих факторов при задании принципиально возможен, так как все эти зависимости формал1изуемы, но он требует от оператора высокой математической квалификации м проведения дополнительных расчетов. Для подобных процедур целесообразен режим задания с последовательной «подсказкой» оператору допустимых значений очередного вводимого параметра'
Вывод результатов исследования для интерпретации, документирования и архивации. Этот этап частично пересекается с предыдущим этапом, В функции оператора входит:
выбор формы представления результатов: формат символьной таблицы, формат графической информации, линейное, логарифмическое, полулогарифмическое представление графиков, выбор цветовой шкалы и пр.;
выбор технических средств вывода: печать, графопостроитель, дисплей, внешняя память на магнитных накопителях кассетного или дискового типа, линия связи с внешней системой архивации (базой данных) и пр.
Эти решения оператор принимает, исходя из психофизиологических особенностей восприятия, организационных и конъюнктурных соображений. '
В качестве примера на рис. 2.2 показана схема диалоговой процедуры анализа электрокардиограмм в телеметрической системе с микропроцессорным терминалом.
Рассмотрим вкратце основные технические .и программные средства обеспечения диалога в приборах со встроенными микропроцессорами. Технические средства определяются видом информации, поступающей от прибора, и действиями оператора. Основная информация, поступающая от прибора, — визуальная (символьная, графическая, полутоновая, цветовая, штриховая и пр.). Дополнительная информация——звуковая и тактильная ——применяется обычно в системах специального назначения. Вывод визуальной информации перечисленных типов можно произвести на дисплей или универсальный прин- тер/графопостроитель. Средства ввода информации в систему оператором——клавиатура, координатный рычаг (joystick) или координатный Шар (trackball). Световое перо более характерно для систем автоматизированного проектирования, чем для измерительных приборов. Речевой ввод требует большого объема программного обеспечения и в микропроцессорных системах неупотребителен. Для простых диалоговых процедур с малым количеством альтернатив и вводимых параметров достаточно управления с помощью клавиатуры с фиксированными функциями клавиш. Усложнение процедур вызывает быстрый 5*
Рнс. 2.2. Схема диалога в телеметрической системе с «интеллектуальным» кардиотерминалом
68
рост числа клавиш, для предотвращения этого на одной клавише совмещается ряд функций и вводится переключатель функций (как в клавишных калькуляторах). Введение программного переключения функций клавиш еще больше повышает гибкость системы и приводит к концепции «виртуального» прибора, т. е. прибора, у которого структура и функции управления программируются пользователем. Более подробно техника программирования клавиш описана в § 4.1, виртуальные приборы — в § 5.4.
Наибольшие возможности появляются при управлении не одиночными клавишами, а их последовательным набором — словами специализированного входного языка прибора. Выходной язык ——язык сообщений прибора — в общем случае независим от входного.
Существуют специальные интерпретирующие языки для диалоговых процедур общего типа» как, например, БЕЙСИК, часто реализуемый в различных модификациях в измерительных и аналитических приборах. Однако для конкретных применений удобнее специализированные языки» учитывающие специфику применения и более близкие к языку неквалифицированного пользователя. О целесообразности специализированных языков свидетельствует большое число подобных разработок, как, например, язык Simpl [84], применяемый, в частности, в медицинских системах, язык QBE фирмы IBM [122] и др.
Обмен сообщениями оператора с прибором может производиться с помощью языка эталонных текстов или языка произвольных текстов. В микропроцессорных диалоговых системах чаще применяется язык эталонных текстов; при этом система анализирует принятое сообщение на совпадение с эталоном из заданного набора. Сообщение может также содержать эталон, тогда его можно выделить методом «скользящей маски». На основе решения о принятии эталонного сообщения производится переход к программному модулю, выполняющему соответствующее ответное действие прибора. С ростом возможностей прибора объем эталонных текстов быстро растет, занимая значительную часть программной памяти.
. Для облегчения действий оператора широко применяются разновидности метода эталонных текстов, когда прибор формирует ряд эталонных текстов, а оператору предоставляется возможность выбора из них. Пример — метод табличного задания: прибор формирует таблицу с эталонными текстами и эталонными значениями вводимых параметров, а оператор модифицирует эту таблицу, выбирая эталоны с помощью маркеров или кодирующей клавиатуры. Для сокращения емкости памяти, занимаемой эталонными текстами, целесообразно их перекодирование с помощью дополнительного словаря: таким способом можно сэкономить около 50% емкости памяти.
Сложнее программное обеспечение, и соответственно больше возможности при применении языков произвольных текстов.
Применяя языки, порождаемые контекстно-свободными грамма-
тиками (КС-грамматиками), с помощью синтаксических методов анализа сообщения можно эффективно определить принадлежность сообщения определенному классу. При этом используется универсальная программа синтаксического анализа, входным параметром которой является порождающая грамматика; таким образом, программа пригодна для анализа сообщений различных языков при смене входного параметра. Использование подобного анализатора в измерительных
Рис. 2.3. Внешний вид многотерминальной диалоговой системы
приборах позволяет унифицировать программное обеспечение диалоговых процедур для приборов различного назначения с различными входными языками.
Как показывает опыт разработки измерительных приборов со встроенными микропроцессорами, доля средств обеспечения диалога с оператором и внешней измерительной системой в техническом и программном обеспечении постоянно растет. Если сначала эти средства ограничивались светодиодным дисплеем и миниклавиатурой, то сейчас применяется большая гамма телевизионных дисплеев, в том числе с совмещенными программируемыми клавишами; типовой объем программного обеспечения диалога составляет 8——24 Кбайт, имеется тенденция к выделению специального процессора для управления диалогом.
На рис. 2.3 показан внешний вид многотерминальной системы, в которой центральный процессор К580ИК80 обеспечивает диалог с системой со стороны оператора и четырех пользователей. Система применяется для сбора данных анамнеза в поликлиниках,и больницах, для профессионального и психологического тестирования и пр. [63].
ГЛАВАТРЕТЬЯ .
ПРОГРАММНО-АЛГОРИТМИЧЕСКОЕ ОБЕСПЕЧЕНИЕ
ОПЕРАЦИОННЫЕ СИСТЕМЫ
В предыдущей главе была рассмотрена примерная модульная структура программного обеспечения измерительного прибора с разбиением по обобщенным программным функциям. Как было показано, существенную часть программного обеспечения представляет метасистемная управляющая программа, которая в сравнительно простых приборах обычно называется монитором, а в сложных — операционной системой (ОС).
Операционная система — это ядро программного обеспечения, она контролирует все аппаратные ресурсы и управляет ходом выполнения программы. Операционная система воспринимает команды с пульта оператора и интерпретирует их, содержит протоколы связи с дисковыми и кассетными накопителями, принтерами и другими устройствами ввода-вывода, управляет всеми процедурами и другими устройствами. Для многозадачных систем ОС планирует, когда выполняется каждая задача в соответствии с выбранным приоритетом. При работе в реальном времени ОС реагирует на внешние события, которые являются сигналами для начала выполнения определенных программ. Именно ОС определяет функциональные и математические возможности микропроцессорной системы, возможности ее взаимодействия с пользователями и внешней памятью и выдачи результатов на терминалы.
Традиционные для универсальных машин операционные системы обычно хранятся на магнитных лентах и жестких дисках. Для микропроцессорной техники более характерно хранение операционных систем на гибких магнитных дисках и в ПЗУ. Размещение операционной системы в ПЗУ получает сейчас все большее распространение, имеется даже специальный термин «кремниевое программ-
ное обеспечением. Например, БИС 80130 фирмы Intel обеспечивает операционную систему iRMX-86 [68]. При размещении ОС в ПЗУ сохраняется гибкость работы ОС с внешними устройствами — возможность модификации адресов устройств можно обеспечить с помощью внешних таблиц адресов, размещаемых в оперативной памяти.
Минимальный вариант операционной системы ——программа-монитор обычно предоставляет пользователю возможности программирования в машинных кодах. Используя эту программу, пользователь может проконтролировать и изменить содержимое ячеек ОЗУ или регистров процессора, загрузить программу в шестнадцатеричных (или восьмеричных) кодах в оперативную память и выполнить программу или отдельные фрагменты ее. Для возможности выполнения этих функций в монитор включаются программы ——драйверы пульта оператора, дисплея, устройств внешней памяти и других устройств ввода-вывода. Кроме того, в состав монитора входит ряд вспомогательных подпрограмм, выполняющих часто встречающиеся преобразования кодов, сравнения, проверки условий, программные задержки и др.
Пример структуры монитора показан на рис. 3.1. Подобную структуру имеют монитор фирмы Intel и ряд аналогичных ему — монитор микроЭВМ СМ 1800, монитор, используемый в медицинских приборах [96], и др. На верхнем уровне находится подпрограмма распознавания задаваемых пользователем команд GETCM. Эта подпрограмма принимает управление непосредственно после входа в монитор и выполнения необходимых операций по сохранению состояния регистров программы пользователя. На втором уровне находятся подпрограммы, выполняющие команды монитора. Для загрузки, отладки и выполнения программ пользователь может применять следующие команды монитора: _
команду D [начальный адрес {丁} конечный адрес CR] (где CR — символ возврата каретки)—распечатывает содержимое ячеек по указанным адресам, начиная каждую строку с распечатки адреса. Эта команда выполняется подпрограммой DCMD. После выполнения команды D подпрограмма DCMD возвращается к ожиданию ввода следующей команды, т. е. передает управление подпрограмме GETCM, находящейся на верхнем уровне структурной схемы;
команду инициации выполнения программы пользователя G [адрес CR] — дает возможность выполнить про- 72
грамму или ее отдельные фрагменты, начиная с заданного адреса или с того адреса, который находится в программном счетчике программы пользователя. Эта команда выполняется подпрограммой GCMD;
команду I [адрес CR — строка шестнадцатеричных символов О ] — позволяет вводить набор шестнадцатеричных символов в ячейки начиная с адреса, указанного в команде I. После выполнения этой команды подпрограмма ICMD передает управление программе GETCM;
команду М [младший адрес {「} старший адрес {丁 } назначение CR] —осуществляет пересылку внутри памяти. Эта команда пересылает коды из ячеек памяти, начиная с ячейки с младшим адресом и кончая ячейкой со старшим адресом, в область памяти, начиная с ячейки «назначение». По окончании работы подпрограмма MCMD, выполняющая эту команду, передает управление подпрограмме GETCM;
ВходВход в монитор
в монитор из прикладной программы
Сохранение состояния регистровприкладной программы
0§Q0§Qa wowa wow0 2 ио0 2 иоQwusQwusCIWUXCIWUXGETCHО UTCECHO CDВспомогательные подпрограммыGETCHО UTCECHO CDВспомогательные подпрограммыРис. 3.1. Структурная схема монитораРис. 3.1. Структурная схема монитора
0§Q
0§Q
a wow
a wow
0 2 ио
0 2 ио
Qwus
Qwus
CIWUX
CIWUX
GETCH
О UTC
ECHO CD
Вспомогательные подпрограммы
GETCH
О UTC
ECHO CD
Вспомогательные подпрограммы
Рис. 3.1. Структурная схема монитора
Рис. 3.1. Структурная схема монитора
команду распечатки содержимого памяти с возможностью замены кодов S [адрес {丁} старое значение — новое значение {Т} ... CR]——выполняется подпрограммой SCMD, после отработки которой управление передается GETCM;
команду распечатки содержимого регистров с возможностью его замены [{идентификатор регистра ._, старое значение — новое значение 一 ... CR}] — выполняется подпрограммой XCMD;
команду 0[{с }CR] —с ее помощью пользователь может определять выходное устройство (печать или дисплей) для вывода информации — подпрограмма OCMD;
команду L[CR]——инициализирует драйвер устройства хранения программы или данных (фотосчитывающего устройства или кассетного магнитофона) для загрузки кодов в оперативную память. Эта команда выполняется подпрограммой LCMD.
На третьем уровне структурной схемы находятся драйверы клавиатуры GETCH, печатающих устройств OUTC и ECHO, символьного дисплея CD, фотосчитывающего устройства и кассетного магнитофона (на рисунке не показаны) и ряд вспомогательных подпрограмм.
Структура монитора позволяет наращивать число команд в зависимости от требований пользователя и конфигурации системы. Пользователю могут быть полезны дополнительные команды или модификации команд: пошаговая отладка, пуск программы с установкой одной или двух точек останова, сравнение двух массивов с выдачей на дисплей несовпадающих кодов, заполнение заданной области памяти константой или последовательностью констант и т. д. При введении дополнительных внешних устройств увеличивается число программ-драйверов.
Описанный монитор позволяет отлаживать прикладные программы в реальном масштабе времени, что значительно снижает время отладки программы. Команды монитора позволяют делать произвольную расстановку контрольных точек в программе пользователя, что является мощным средством отладки.
Таким образом, монитор является средством создания, отладки и выполнения программных модулей пользователя. Однако и в приборах, в которых не предусматривается возможность программирования пользователем, обычно имеется управляющая программа, подобная монитору в части управления аппаратным обеспечением и вспомогатель-
ных подпрограмм. Роль команд пользователя, поступающих с пульта, в этом случае играют запросы отдельных программных модулей (внешних по отношению к монитору) на выполнение типовых процедур. Описанный выше монитор и аналогичные ему управляющие программы обычно занимают 1—2 Кбайт.
Более сложные операционные системы, ориентированные на работу с языками высокого уровня и на выполнение задач в режиме реального времени, — различные версии операционной системы ISIS и система iRMX・86 (фирма Intel). В такие операционные системы включаются большое число пакетов программ для реализации арифметических операций, трансляторы с языков ассемблера, БЕЙСИК, PLM, ФОРТРАН, редактирующие программы и пр. Подобные системы предназначены для работы с конкретным типом микропроцессора и определенной конфигурацией устройств ввода-вывода.
Получили распространение также операционные системы, которые допускают работу с микропроцессорами различных типов, с разными системами команд, работу нескольких пользователей на одной микроЭВМ и совместную работу нескольких микроЭВМ. Пример серии ОС, выполняющих подобные функции, — серия СР/М—МР/М, CP/NET [29, 94].
С Р/М ——это управляющая программа для одной микроЭВМ, обеспечивающая составление, запоминание, редактирование, ассемблирование и компиляцию программ пользователя. Версия СР/М требует для своего размещения 12 Кбайт памяти.
МР/М — это совместимая снизу вверх версия СР/М, приспособленная для работы в реальном времени с несколькими задачами и несколькими пользователями, ее дополнительные функции ——диспетчеризация задач, управление памятью и системой синхронизации задач* СР/NET — ОС, обеспечивающая совместную работу подчиненных процессоров, каждый из которых снабжен ОС СР/М, н ведущего процессора, снабженного ОС МР/М, который управляет коллективными ресурсами системы.
Эти операционные системы рассчитаны на работу с микропроцессорами серий 8080, 8085, 8086, MC68000 и др. Серия ОС построена по принципу компоновки постоянной части (общей для всех версий), которая обеспечивает отображение структуры данных на произвольную дисковую память, произвольные пульт и принтер, и переменной части (определяется пользователем), которая содержит драйверы устройств для каждой конкретной конфигурации.
На рис. 3.2 показана структура СР/М и МР/М. Базовая система ввода-вывода BIOS представляет собой переменную часть ОС; она
адаптируется для обращения к пульту, принтеру и дискам конкретной системы. Расширенная базовая система ввода-вывода XIOS дополнительно содержит ядро реального времени, в которое в свою очередь входят средства управления очередями, диспетчер процессов, средства управления памятью и интерпретатор командных строк. Базовая дисковая система BDOS обеспечивает динамическое распределение дисковой памяти, она работает с 16 накопителями до 8 Мбайт на каждом. ССР ——процессор пультовых сигналов, обеспечивает взаимодействие пользователя с ОС. ТРА — рабочая область программ, отводится для загружаемых извне и составляемых на месте программ.
1-3 Кбайт {
3,5 Кбайт {
57-59 Кбайт.
BIOS
4-6 Кбайт {
8 Кбайт {
2 Кбайт { а) 44,5 Кбайт {
XIOS
б)
BDOS
XDOS
ССР
BDOS
ТРА
ТРА
Рис. 3.2. Структуры операционных систем: в — СР/М; 6 —МР/М
Кроме операционных систем со стандартными языками программирования типа БЕЙСИК, ФОРТРАН все большее распространение получают системы со специализированными языками пользователя, близкими к естественному. Системы такого типа ориентированы на пользователя, неквалифицированного в области программирования, и обеспечивают ему возможность общения с системой на языке, близком к его специальности или к определенному кругу задач. Примерами такого языка могут быть Autolab BASIC — модифицированный для задач автоматизированного биохимического анализа БЕЙСИК, SIMPL — язык для информационно-справочных систем в здравоохранении [84], QBE — язык запросов по примеру [122] и др.
АРИФМЕТИЧЕСКИЕ ПРО「РАММЬ1
Основой вычислительных процедур, выполняемых в измерительных приборах, являются пакеты арифметических программ. При жестких требованиях к точности выполнения процедур или к их быстродействию пользователь обычно сам формирует арифметические программы в необходимом ему формате, но часто применяются и унифицированные пакеты арифметических программ в одном из типовых фор- 76
матов. На рис. 3.3 дан ряд форматов представления чисел в микропроцессорных системах: однобайтовый двоичный с фиксированной запятой без знака (пределы представления чисел — 0—255), однобайтовый двоичный с фиксированной запятой со знаком (пределы ——127++127), двухбайтовый двоичный с фиксированной запятой со знаком (пределы —327674-~|-32767), трехбайтовый двоичный
7D7D圆 к圆 кD7DO
7
D
7
D
圆 к
圆 к
Знак物丨丨I ГГП б)
пХаШ м^сыЖЛпХаШ м^сыЖЛ▼Ноу й- 昔2①出▼Ноу й- 昔2①出Младший байтМладший байтв-в-I J Старший байт мантиссыI」Младший байт мантиссы г)1 ―J Байт знакаI J Старший байт мантиссыI」Младший байт мантиссы г)1 ―J Байт знакаБайт старшей декадыБайт старшей декады(Байт младшей декады д)(Байт младшей декады д)I I I Старший байт
пХаШ м^сыЖЛ
пХаШ м^сыЖЛ
▼Ноу й- 昔2①出
▼Ноу й- 昔2①出
Младший байт
Младший байт
в-
в-
I J Старший байт мантиссы
I」Младший байт мантиссы г)
1 ―J Байт знака
I J Старший байт мантиссы
I」Младший байт мантиссы г)
1 ―J Байт знака
Байт старшей декады
Байт старшей декады
(Байт младшей декады д)
(Байт младшей декады д)
Старший байт Младший байт
Знак/ 丨 I I I【I 丨丨 j I I 丨 I、
工・я2—я3—я4・я
(старшая)тетрадатетрада(младшая)
тетрадаусеченная
е)тетрада
Рис, 3.3. Форматы представления чисел в микропроцессорных системах
77
с плавающей запятой (пределы —1,7-10384- + 1,7-1038, минимальное представляемое при этом число 1,79-10~43), шестибайтовый распакованный десятичный с фиксированной запятой со знаком (пределы от ——99999 до +99999), двухбайтовый упакованный десятичный с фиксированной запятой со знаком (пределы от ——9998 до . +9998), минимальное представляемое число 2). В описываемых форматах с фиксированной за-
Рис. 3.4. Структурная схема пакета арифметических программ с фиксированной запятой
пятой все числа интерпретируются как целые, т. е. запятая расположена справа от младшего разряда; возможны и другие варианты, например когда все числа считаются меньше, чем 1, т. е. запятая располагается слева от старшего разряда, все пределы представления чисел уменьшатся в 2П или 10т раз. В формате с плавающей запятой обычно применяется нормализованное представление чисел — мантисса меньше 1 и старший бит мантиссы (справа от знакового) ненулевой. Наборы арифметических программ обычно включают в себя программы для выполнения в описанных форматах четырех арифметических действий, операции сравнения с формированием флагов условий, операции извлечения квадратного корня, операции расчета тригонометрических, логарифмических, экспоненциальных и других специальных функций.
Рассмотрим более подробно структуру арифметических пакетов с фиксированной и плавающей запятыми, в которых используются некоторые из перечисленных выше форматов.
Структурная схема пакета арифметических программ с фиксированной запятой показана на рис. 3.4. Пакет со- 78
держит подпрограммы, позволяющие проводить арифметические операции с двоичными числами со знаком и без него.
Программы беззнаковой арифметики используют следующие форматы: двоичные числа 8- и 16-разрядные: десятичные числа 5-разрядные и позволяют пользователю обращаться к следующим подпрограммам:
MLT ——подпрограмме умножения 16-разрядных двоичных чисел на 8-разрядные двоичные числа;
DIV ——подпрограмме деления двух 16-разрядных двоичных чисел;
DP — подпрограмме преобразования 16-разрядных двоичных чисел в 5-разрядные десятичные числа;
DBCON ——подпрограмме преобразования 5-разрядных десятичных чисел в 16-разрядные двоичные числа.
Программы знаковой арифметики используют следующие форматы:
двоичные числа 16-разрядные со знаком в старшем бите;
десятичные числа 4-разрядные со знаком в старшем бите и усеченным младшим битом;
градусы и минуты — аргументу тригонометрической функции 2л соответствует двоичное число 0,1111111111111111В.
Эти программы позволяют пользователю обращаться к следующим модулям:
DC — подпрограмме определения дополнительного кода 16-разрядного двоичного числа;
MODI — подпрограмме определения модуля 16-разрядного двоичного числа;
PER1 — подпрограмме перевода 4-разрядных чисел и градусов в 16-разрядные двоичные числа;
PER2 — подпрограмме перевода 16-разрядного двоичного числа в 4-разрядное десятичное число;
UMN ——подпрограмме умножения двух 16-разрядных двоичных чисел и округления результата до 16-разрядного Двоичного числа. При этом используется представление двоичных чисел с фиксированной запятой, которая находится слева от старшего (незнакового) бита; таким образом, при умножении оба операнда и результат всегда меньше единицы; отметим, что при прочих арифметических операциях, выполняемых описываемым пакетом, за переполнением должен следить программист — выдача сообщения о переполнении не предусматривается;
DEL — подпрограмме деления двух 16-разрядных двоичных чисел;
COR — подпрограмме извлечения квадратного корня из 16-разрядного двоичного числа;
SUBT — подпрограмме вычитания 16-разрядных двоичных чисел;
SIN (или COS)—подпрограмме вычисления тригонометрических функций SIN и COS 16-разрядного двоичного числа.
В структурной схеме на рис. 3.4 показана взаимосвязь подпрограмм по обращаемости ——подпрограммы верхнего уровня обращаются к подпрограммам нижнего уровня.
Арифметические программы с фиксированной запятой обеспечивают наибольшую скорость выполнения арифметических операций, возможную при программной реализации; однако необходимость следить за переполнением в большинстве операций является неудобством для программиста, особенно при длинных цепочках вычислений.
Поэтому более широкое применение находят программы с плавающей запятой; структурная схема пакета таких программ показана на рис. 3.5. Используется трехбайтовый формат, показанный на рис. 3.3, мантисса занимает 15 бит, порядок 7 бит; по одному бигу занимают знаковые разряды мантиссы и порядка. В пакет входят следующие подпрограммы:
FTADD ~ подпрограмма сложения двух чисел;
FTSBH и FTSBD — подпрограммы вычитания двух чисел X и Y (соответственно X—Y и Y—X);
FTMUL — подпрограмма умножения двух чисел;
FTDHD и FTDDH — подпрограммы деления двух чисел X и Y (соответственно X : Y и Y : X);
FTCPD и FTCPH — подпрограммы сравнения двух чисел, при этом результат не замещает в регистрах микропроцессора один из операндов, как это имеет место, например, в программе вычитания, но формируются значения флагов во флаговом регистре микропроцессора и тем самым определяются признаки результата — равенство нулю, знак, наличие переполнения, четность;
FTSRD1 —подпрограмма извлечения квадратного корня.
В пакет также входят подпрограммы преобразования форматов:
CFTSI — подпрограмма преобразования целого числа с фиксированной запятой ординарной длины (1 байт, включая знак) в число с плавающей запятой;
80.
Г 3 2
Рис. 3.5. Структурная схема пакета арифметических программ с плавающей запятой
ОО
CFTDI — подпрограмма преобразования целого числа с фиксированной запятой двойной длины (2 байта, включая знак) в число с плавающей запятой;
CSIFT ——подпрограмма, производящая действия, обратные подпрограмме CFTSI;
CDIFT — подпрограмма, производящая действия, обратные подпрограмме GFTDI.
В отличие от предыдущего описанного пакета программ с фиксированной запятой в пакете с плавающей запятой предусмотрена распечатка (или индикация на дисплее) ошибок при выполнении подпрограмм. В данном пакете возможны определение и распечатка восьми видов ошибок; ошибке соответствует однобуквенный код.
Ошибка А обозначает, что результат слишком мал, чтобы быть представленным в формате числа с плавающей запятой.
Ошибка В обозначает, что результат слишком велик, чтобы быть представленным в формате числа с плавающей запятой.
Ошибка С указывает, что делитель в подпрограмме деления равен 0.
Ошибка D указывает, что аргумент в подпрограмме извлечения квадратного корня — отрицательное число.
Ошибка Е указывает, что число, представленное в формате с плавающей запятой, больше максимально представимого целого числа в формате с фиксированной запятой ординарной длины; преобразование форматов с помощью подпрограммы CSIFT невозможно.
Ошибка F указывает, что число, представленное в формате с плавающей запятой, меньше 1, поэтому его нельзя преобразовать с помощью подпрограммы CSIFT в целое число ординарной длины.
Ошибка I указывает, что число, представленное в формате с плавающей запятой, больше максимально представимого целого числа в формате с фиксированной запятой двойной длины; поэтому преобразование форматов с помощью подпрограммы CDIFT невозможно.
Ошибка J указывает, что число, представленное в формате с плавающей запятой, меньше 1, поэтому его нельзя преобразовать с помощью подпрограммы CDIFT в целое число двойной длины.
Описанные арифметические пакеты используются в приборах для обработки медико-биологической информации [96]. Арифметические пакеты, работающие с аналогичными форматами и включающие в себя логарифмические и экспоненциальные функции, описаны в [55]. Там же приведены длительно-сти выполнения отдельных подпрограмм на микропроцессоре К580ИК80. Приведем ряд длительностей для формата 《3 байта с плавающей запятой》: сложение—1,1 мс, умножение — 3,3 мс, извлечение корня —22,2 м& вычисление логарифма — 44,4 мс.
Алгоритмы, используемые в программах четырех
арифметических действий, неоднократно описывались в учебной литературе. Кроме классического способа умножения с анализом каждого бита множителя, формированием частичных произведений и сдвигом их суммы используется также алгоритм Бута, в котором производится анализ группы бит множителя на совпадение и число частичных произведений в среднем уменьшается вдвое; соответственно уменьшается среднее время умножения. При чередовании 1 и 0 в множителе через разряд алгоритм Бута, естественно, не дает выигрыша в быстродействии.
В программах для форматов с плавающей запятой сначала производится выравнивание порядков операндов (для сложения и вычитания), затем — действие над мантиссами, после чего производится нормализация ——сдвиг мантиссы до появления 1 в старшем (!незнаковом) бите с соответствующей коррекцией порядка.
Большинство программ преобразования форматов основано на универсальном алгоритме
3 也, (3.1)
где В — двоичный код числа в новом формате; Ь» ——двоичные коды отдельных разрядов числа в старом формате; Ci — весовые коэффициенты, равные двоичным кодам отдельных разрядов, выраженным в новом формате.
Например, для преобразования из двоично-десятичного упакованного формата в двоичный двухбайтовый формат используется формула
凡=2c 也, (3.2)
где коэффициенты Ci соответствуют весам разрядов двоично-десятичного кода 8 : 4 : 2 : 1 : для старшей тетрады Ci5 = 6666H, Си = ЗЗЗЗН, С1з=199АН, G2 = 0CCDH; для второй тетрады Си —ОАЗЕН, Ci0 = 051FH,宾=028FH, Cs = = 0М7Н и т. д.
Основным методом вычисления специальных функций является разложение их в степенные ряды, например разложение синуса:
sin х = х十-——T'—十…;(3.3)
3!5!7!9!•
6*6*разложение экспоненциальной функции:
6*
6*
83
Более экономич1ным по времени вычислений и используемой оперативной памяти является представление формул (3.3) и (3.4) в виде
废=(((传2十子)2 +专卜*专)2+1)2+1.(3.6)
Вычисления при этом проводятся последовательно слева направо.
Как было показано выше, вычисление специальных функций требует существенных затрат процессорного времени, что не всегда приемлемо по условиям быстродействия. Минимальное время определения специальных функций получается при их табличном представлении; например, весь диапазон изменения угла 0—н/2 разбивается на 256 значений, и для каждого значения угла в таблицу записывается соответствующее значение синуса; тогда при вычислениях для определения синуса достаточно по значению аргумента определить адрес для обращения к таблице. При этом затрачивается определенный объем памяти для хранения таблицы, тем больший, чем больше необходимая точность представления функции.
Компромиссным вариантом являются методы вычисления специальных функций с использованием ряда опорных значений, например таблиц малого объема. Тогда все промежуточные значения функции могут быть найдены по сравнительно простым формулам: интерполяцией, по формуле синуса суммы углов и т. п. Затраты памяти при этом значительно меньше, чем в чисто табличном методе, а быстродействие того же порядка, что и при простых арифметических действиях.
Подобный метод вычисления тригонометрических функций через формулы синуса и косинуса суммы и разности углов применен в алгоритме быстрого преобразования Фурье, описанном далее.
ИССЛЕДОВАНИЕ СТАТИСТИЧЕСКИХ ХАРАКТЕРИСТИК
И СПЕКТРА
При исследовании статистических характеристик и спектра случайного процесса чаще всего процесс считают стационарным и эргодическим при заданной длительности реализации. Из определения стационарного эргодического процесса следует, что по одной достаточно длинной реализации можно судить о статистических характеристиках процесса так же, как и по любому количеству реализаций.
Расчет математического ожидания и дисперсии стационарного эргодического процесса возможен методом яе- 84
посредственного накопления массива отсчетов случайной величины и вычислений по формулам
加* =丄£无;么=— MJ. (3.7)
*=1i = l
Однако если ожидаемый интервал изменения случайной величины априорно известен, то обычно более экономично использовать формулы
тtn
М=》巧臼;4= N沁一必『円,(3.8)
где pj — вероятность появления значения сигнала 尤小
При расчете р; заменяется относительной частотой, которая определяется в эксперименте. Вопрос о том, какая из формул —— (3.7) или (3.8)——экономичнее по требуемой емкости памяти, решается в зависимости от того, что больше—объем выборки п, необходимый по условиям статистической достоверности, или число квантованных значений ш случайной величины, зависящее от ее разброса и требуемой точности определения Мх и Dx.
Определение коэффициентов вариации 力в, асимметрии ах и эксцесса сх производится по следующим формулам:
кв = бк]Мх;(3.9)
akjWd尤;(3.10)
с* =卩 4/0%—3,(3.11)
где о% — среднеквадратическое отклонение; 卩4 = =工 (%/——Mx)^pj ——центральный момент четвертого по
рядка, который служит для характеристики островершинности или плосковерши1нности распределения; 卩з = т
=£ (Xj—MQ3pj ——центральный момент третьего поряд
ка, который служит характеристикой асимметрии («скошенности») распределен1ия.
Определение относительных частот появления отдельных значений сигнала 尤力 относительных частот временных интервалов между исследуемыми событиями (например, иежду моментами пересечения сигналов заданных уровней) и других относительных частот является предметом
85
гистограммного анализа, который более подробно рао смотрен в § 5.6 для приборов анализа биопотенциалов.
Корреляционный анализ сигналов чаще всего основной целью имеет определение параметров максимума взаимной корреляционной функции. Положение этого максимума по оси времени т дает значение《транспортного》запаздывания между двумя исследуемыми процессами, а амплитуда максимума характеризует степень их взаимосвязи. По «транспортному» запаздыванию можно судить о скорости движения объекта (или скорости распространения сигнала), о расстоянии до объекта, направлении и ряде других параметров. Использование этого принципа в измерительной технике более подробно рассмотрено в § 5.7.
Общий вид графика корреляционной функции позволяет судить о спектральных характеристиках процесса. Чем уже график корреляционной функции, тем более широкополосным является процесс, и наоборот. Корреляционная функция Rx (т) и спектральная плотность Sx (о) связаны уравнениями Винера — Хинчина
88
Rx (т) = -i j Sx ((о) егшх d^\ Sx ((о) = 2 J R* ⑺已7"т 厶(3.12) 00—00
и, следовательно, имеют одинаковую информационную ценность. При различных методах анализа сигналов более удобно применять ту или иную характеристику.
Расчет значений нормированной корреляционной функции дискретизированного процесса без постоянной составляющей производится по формуле
此(%)= х舟,(3.13)
где %(i), х(»+记)——значения отсчетов;七冗一значение дискретной задержки, соответствующей k отсчетам; Dx —— дисперсия процесса % (%).
Для нормированной взаимной корреляционной функции применяется формула
Rxu (“)= ^7= £ X (О У (叶期, (3.14) где %(£), ^(力+方) ——соответственно значения отсчетов процессов 尤(f), y(t); DXj Dy — дисперсии процессов 尤 «), y(i)^ Формулы (3.13), (3.14) рассчитываются в микропроцессорной системе с помощью алгоритма, схема которого по- 86
Возврат
Рис. 3.6. Схема подпрограммы расчета корреляционной и взаимной корреляционной функций
Изана на рис. 3.6. Здесь FR ——флаг, определяющий, какая из формул применяется: при FR = 0 (3.13); при FR = 1 (3.14); DLK—приращение задержки; L1 — максимальное значение задержки; DLK и L1 соответствуют числу определяемых значений корреляционной функции.
Наибольшее время в описываемом алгоритме занимает операция умножения. Для ускорения расчета здесь выгоднее применять умножение с фиксированной запятой в формате 8X8=16 бит и сложение с фиксированной запятой в формате 32+16=32 бит. При этом операция умножения занимает около 250 мкс, что при объеме массива "=1024 приводит к времени расчета одной точки К(т^) около 0,25с. Расчет 256 точек корреляционной функции, что соответствует полному видеокадру при выводе графика корреляционной функции на графический дисплей (см. § 4.2), занимает при этом около 64 с. При уменьшении объема массива снижается точность расчета из-за методической погрешности, связанной с ограниченностью объема выборки.
Для ускорения расчета применяют модификации корреляционной функции: релейную или полярную функцию, в которой один из сигналов 尤(/), y(t) или оба сигнала при дискретизации квантуются на два уровня: 0 и 1. За уровень различения обычно принимают математические ожидания процессов. При превышении его на выходе квантующего устройства появляется I, в противном случае 0. Квантование может легко осуществляться программным способом для накопленного массива.
Диагностическая и информативная ценность модификаций корреляционной функции определяется тем, что для гауссовских процессов положение максимума функции на оси времени не меняется по сравнению с корреляционной функцией, а между амплитудами существует функциональная связь; например, для полярной функции
Rp (т) = sin ^― R《(t)] , (3.15) где Rk(t)—корреляционная функция; Rp(t)—полярная функция.
После операции квантования на два уровня восемь отсчетов процесса упаковываются в 1 байт. Расчет полярной функции производится по формуле
RP (次)=⑴]sgn[g(i + W, (3.16) ху /V
где sgn[x(i)], sgn[z/(i + ^)]——сигнум-функции процессов x(f), у«+Тк), или по аналогичной формуле для полярной функции одного процесса.
Схема алгоритма расчета показана на рис. 3.7. Аналогично алгоритму, показанному на рис. 3.6, FR ——флаг, определяющий, какая функция определяется — полярная одного процесса или взаимная полярная двух процессов.
Микропроцессор К580ИК80 по своему набору команд ие приспособлен для быстрой обработки битовых последовательностей, поэтому 88
прИ выполнении на нем данного алгоритма вводятся две дополнительные операции, реализуемые подпрограммами:
операция SHL(p) — сдвиг двух байтов X(J), X(J+1) на заданное число бит р влево;
операция SUM{B} — подсчет числа бит, равных 1, в байте В.
Рмс. 3.7. Схема подпрограммы расчета полярной н взаимной полярной Функций
В показанной схеме количество вычисляемых значений полярной функции равно L1; расчет ведется с минимальной ступенью дискрет, ности по времени, равной периоду квантования. Время расчета одной точки полярной функции примерно на порядок меньше времени соответствующего расчета для корреляционной ф\шкции.
Спектральная плотность стационарного эргодического процесса 尤(f) рассчитывается по формуле
/V—1
Ck = — -^(])e , (3.17)
где x (/)——значения отсчетов процесса 尤(f); С在——значения комплексных коэффициентов Фурье; или в тригонометрической записи
Gm二十工X⑴SE (衰好). (3.19)
Для ускорения расчетов на ЭВМ (3.18), (3.19) обычно рассчитываются по специальному алгоритму «быстрого преобразования Фурье», который позволяет сократить время расчета в N/logz/V раз. В разработанной программе для микропроцессора К580ИК80 применен вариант быстрого преобразования Фурье, описанный в [21].
Схема алгоритма показана на рис. 3.8—3.10. На рис. 3.8 показан подготовительный этап ——обмен значений в исходном массиве. Это необходимо для того, чтобы в результате расчета все коэффициенты Фурье были расположены на местах элементов исходного массива в порядке возрастания частоты. На рис. 3.9 показан основной этап — расчет действительной и мнимой частей спектра. Все элементы исходного и результирующего массивов записываются в трехбайтовом формате с плавающей запя* той. На рис. 3.10 показан заключительный этап ——расчет модулей коэффициентов Фурье по действительной и мнимой частям. Аналогично можно провести расчет фазового спектра.
Все индексы массива хранятся в двухбайтовом формате с фиксированной запятой. Программа, выполняющая алгоритм, показанный на рис. 3.8—3.10, написана на мак* роассемблере с широким использованием макросов и под* программ, реализующих операции с числами в трехбайто* 90
вом формате с плавающей запятой и операции обмена с оперативной памятью для различных форматов. Результаты расчета могут быть выведены на графический дисплей
с помощью программы преобразования форматов. Время расчета 256 точек спектральной плотности составляет около 8 с, 1024 точек — около 32 с.
В измерительных приборах и анализаторах описанный алгоритм быстрого преобразования Фурье редко применяется в чистом виде. Это связано с искажениями спектра на концах диапазона, возникающими из-за ограниченно-
91
Рис, 3.9. Схема программы быстрого преобразования Фурье (продолжение)
扌 Окончание
CL(:L)=A(J)/N 1=2
~CL(I)=SQRT [A⑴xA⑴+力(I)xAJ⑴]/NV2 E+I|
Конец
Рис. 3.10. Схема программы быстрого преобразования Фурье (окончание)
сти исходной выборки. Для уменьшение этих искажений вводятся спектральные «окна》со специальными функциями преобразования исходного массива. Среди методов спектрального анализа, уменьшающих искажения и повышающих частотное разрешение, популярны методы Блэкмана — Тьюки, Писаренко, Прони и др.; сравнительный анализ этих методов проведен в [43].
ТЕСТОВОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
В § 2.4 был дан обзор методов, применяемых при тестировании прибора и его узлов, с использованием микропроцессоров; были рассмотрены основные варианты тестирования с помощью специализированных тестирующих устройств и автономного тестирования, организованного с помощью встраиваемой или внешней программы. Здесь рассмотрим программы автономного тестирования основных узлов микропроцессорной системы.
Тест центрального процессора К580ИК80. Тест построен таким образом, что все последующие блоки используют проверенные ранее команды. В начальных блоках теста по возможности не используются непроверенные команды. Использованные в начальном блоке команды LXI Н, ор, СМР г, JNZ addr проверяются в последующих блоках. В тесте используется управляющая программа-монитор, рассмотренная в § 3.1.
Команды процессора группируются по общим признакам в 11 блоков. На дисплей выводятся номер и тип ошибки, по которым можно определить, в какой группе команд произошел сбой.
В блоке 1 определяются ошибки, которые возникают при пересылке данных между регистрами, исключая пересылки, использующие ячейки внешней памяти. Всего для семи регистров проверяются 49 пересылок. В этом же блоке проверяются команды инкрементации и декрементации для внутренних регистров центрального процессора.
В блоке 2 проверяются команды с непосредственной адресацией: пересылка непосредственно адресуемых данных в семь регистров, непосредственная загрузка пар регистров, арифметические операции, в которых непосредственно адресуется одни из операндов. Операции с использованием ячеек внешней памяти в этом блоке не рассматриваются. Проверку всех команд в блоке 2 осуществляют с одним аргументом.
Логические операции, включая непосредственные логические операции с аккумулятором, сгруппированы в блоке 3. В командах ANA г, ORA г, XRA г рассматриваются варианты, когда оба аргумента равны и вместе изменяются от ООН до 0FFH, а также когда один аргумент равен ООН, другой 0FFH и они одновременно изменяются соот- ветственнно до 0FFH и ООН. В командах Д\1 op, ORI op, XRI ор непосредственные данные в одном случае имеют значение ООН. в другом 0FFH, а данные в аккумуляторе изменяются от ООН 工о 0FFH в обоих случаях. Команды CMP г, СМ А проверяются в диапазоне изменения аргументов от ООН до 0FFH.
К блоку 4 относятся команды увеличения и уменьшения содержимого пар регистров ВС, DE, HL'. В команде INX гр аргумент меняется от 0000Н до 0FF00H; в команде DCX гр — от 0FF00H до 0000Н.
Команды циклического сдвига RAR, RAL; RRC, RLC рассматриваются в блоке 5. При проверке Э1их команд оперируют тетрадами; одна тетрада равна 0> другая 0FH. Тетрады перемещают, используя бит Carry в соответствии со спецификой команды, и сравнивают с константами.
В блоке 6 собраны команды арифметических операций. Рассматриваются команды сложения и вычитания для всех регистров с учетом и без учета бита Carry, сложения содержимого пар регистров и команды установления и дополнения бита Carry. Аргумент в блоке 6 меняется от ООН до 0FFH.
В блоках 7 и 8 проверяют команды центрального процессора, использующие оперативную память. В блоке 8 рассматриваются команды, использующие стек; в блоке 7 — все остальные команды, оперирующие с оперативной памятью. Команды пересылок между памятью и регистрами, а также команды логических операций с внешней памятью проверяются в том же диапазоне изменения аргументов, что и соответствующие команды внутренних регистров, описанные выше. Команды PUSH гр и POP гр, исключая команды PUSW и POP PSW, проверяются с изменением аргумента от 0000Н до 0FFFFH;
увеличение иа 1 производится в обоих регистрах одновременно. Остальные команды в блоках 7, 8 проверяются с одним аргументом.
Инструкции переходов, вызова подпрограмм и возврата рассматриваются в блоке 9. В блоке 10 проверяется команда RST.
В блоке 11 рассматривается команда преобразования содержимого аккумулятора в двоично-десятичный код. Проверяются восемь возможных вариантов аргумента, влияющих на способ перевода.
Команды IN и OUT проверяются косвенно при вводе тестовой программы с внешних устройств, вводе команд с пульта оператора и выводе результатов контроля на дисплей и печатающее устройство.
Команды EI и DI проверяются с использованием сигнализации от вывода процессора «Разрешение прерываний». После команды EI сигнализация включается, затем отсчитывается временная задержка, подается команда DI и сигнализация отключается.
При сбое в одном из блоков теста на экран дисплея выводятся номер и тип ошибки, а процесс проверки продолжается с начала следующего блока; таким образом, по окончании теста на экране отображается перечень выявленных ошибок.
Тесты памяти. Для проверки оперативной памяти применяется 《галопирующей» тест, выполняемый программой GALPAT. Схема программы показана па рис. 3.11. При этом тесте память заполняется нулями, затем в один из адресов записывается 1 и выполняется поочередное чтение из этого адреса и других адресов, отличающихся от -него на 1, 2, 3 и т. д. Затем 1 перезаписывается в другой адрес и все повторяется. Эта группа проверок составляет подтест "All 1’ 6”. Затем все пооверки повторяются с инверсными данными — подтест "All 0’ S”. Тест GALPAT является критичным для поверяемого узла памяти по времени выборки при переходе от одного адреса к любому другому. В рассматриваемом варианте программы оператор вводит с пульта в начале теста начальный и конечный адреса контролируемой памяти (BOTAD и TOPAD). В целях сокращения времени проверки переходы при поочередном чтении выполняются не больше чем на 256 соседних адресов. Глубина DEPTH перехода также задается с пульта оператора.
Описанная методика тестирования оперативной памяти стирает всю имеющуюся в ней информацию. Существуют упрощенные методы тестирования с сохранением информации в памяти [10]. Сущность этих методов заключается в использовании контрольных сумм. Все ячейки тестируемой памяти поочередно модифицируются (с возвратом к предыдущему значению), и при каждой модификации 95
Рис. 3.11. Блок-схема теста оперативной памяти 96
подсчитывается новая контрольная сумма и сравнивается с предыдущей.
Метод контрольных сумм является основным и при тестирования ПЗУ; при этом контрольные суммы должны быть записаны заранее в специально выделенные ячейки ПЗУ.
МЕТОДЫ И СРЕДСТВА РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Технология разработки программного обеспечения (ПО) основывается на общих принципах структурного программирования, но имеет некоторые особенности, связанные со спецификой специализированных микропроцессорных систем — хранением основной части программного обеспечения в ПЗУ. Объем программ, записываемых в ПЗУ, занимает от нескольких сотен до нескольких десятков тысяч байт. Для возможности размещения программы в пределах прямо адресуемого адресного пространства, а также для уменьшения потребления, габаритных размеров и стоимости микропроцессорной системы необходимо экономить память при программировании. Использование языков высокого уровня — ПЛ/1, ФОРТРАН и др. — ограничено, так как объектные модули при использовании ^тих языков значительно больше по объему, чем при использовании ассемблера. Трудоемкость программирования ва ассемблере может быть значительно сниженая если использовать библиотеку системных и прикладных программ, состав которой ориентирован на круг задач, решаемых пользователем [96]. Библиотека хранится на дисках; необходимые модули ее присоединяются к программам пользователя и совместно транслируются. Объем исходных программ, разрабатываемых пользователем, при этом рленьшается в несколько раз по сравнению с работой без использования библиотеки.
Общая последовательность процедур при разработке Программного обеспечения микропроцессорных приборов Показана на рис. 3.12. Можно выделить следующие основные этапы разработки, существенно различающиеся по методам и средствам:
разработку модульной структуры программного обеспечения прибора;
разработку и отладку программных модулей, объединение модулей;
* запись программы в программируемое ПЗУ. 7-319
IКодирование модулей псевдокодом
jОбследование результатов
IКодирование на языке программирования
Синтаксический анализ
IПодготовка тест^-последовательностей
]Функциональный анализ
(Конец )
Рис. 3.12. Этапы разработки программного обеспечения
Разработка модульной структуры ПО. Разработка ПО начинается после того, как на основе анализа потребностей пользователя определена функциональная схема прибора и выделены те функции, которые будут реализованы программным способом. Спецификация на ПО должна учитывать полноту реализации всех программных функций и управление аппаратной частью. Согласно основным принципам нисходящего структурного проектирования структурная схема ПО делится на уровни и модули, расположенные на различных уровнях. Принципы деления следующие:
модуль — это набор операторов, реализующий часть программы и выполняющий законченную функцию; его можно самостоятельно транслировать и отлаживать; отдельные модули соответствуют отдельным процессам обработки информации;
объем модуля не превышает 1 Кбайт для сохранения наглядности и легкости проверки и сокращения сроков разработки;
внутренняя структура модуля закрыта для внешних обращений;
модули одного уровня связаны между собой по информационным входам и выходам; связи между модулями минимизированы;
различные уровни относительно независимы друг от Друга.
Анализ разработанной модульной структуры на соответствие перечисленным принципам позволяет определить «узкие» места, информационные неувязки, а также устранить дублирование модулей и минимизировать структуру. На модульную структуру ПО существенное влияние оказывает наличие библиотечных модулей и возможности их адаптации к разрабатываемой структуре. Для сокращения сроков разработки может оказаться выгодным переориентировать структуру ПО, с тем чтобы максимально использовать имеющиеся библиотечные модули, если даже общий объем ПО при этом несколько увели- адтся. Для возможности их широкого использования унифицированные библиотечные модули должны обладать свойствами адаптируемости в широком диапазоне характеристик системы. Так, например, Для адаптации к конкретной системе монитора, описанного в § 3.1, в нем предусматривается возможность смены псевдокоманд для определения адресов портов в драйверах, форматов строк и кадров в Дисплее, кодов печатающих устройств. В более сложном варианте Можно унифицировать монитор на уровне функциональных подпрограмм, выполняющих команды G, D, S и пр. При генерации системы ПО модифицируется таблица ветвлений и выбирается с помощью 7* 99
операторных скобок IF... ENDIF (описанных ниже) необходимый набор подпрограмм. Такая методика унификации позволяет генерировать монитор с заданным набором команд, выбранных из исходного набора.
Разработка и отладка программных модулей, объединение модулей. Если структура ПО построена согласно принципам нисходящего структурного программирования ;и на все модули имеются мини-спецификации, описывающие их входные и выходные параметры и реализуемые ими функции, то разработка всех программных модулей может проходить параллельно и одновременно. Рекомендуется сначала вести разработку модулей на псевдокоде—наглядном языке высокого уровня, не предназначенном для дальнейшей трансляции и компиляции* Такое кодирование улучшает обозримость результатов и позволяет провести оптимизацию внутренней структуры модуля.
Следующий этап ——кодирование модуля на языке программирования, с которого впоследствии будут производиться трансляция и компиляция. Для модулей ориентировочным объемом до нескольких сотен байт применяется язык ассемблера, для модулей объемом около 1 Кбайт или выше применяются специализированные языки высокого уровня для микропроцессорных систем (например, язык PLM) или язык макроассемблера. Применение специализированных языков типа PLM незначительно увеличивает объем объектного модуля по сравнению с ассемблером (примерно на 30%). Возможно написание различных модулей на разных языках программирования.
Эффективность программирования на ассемблере может быть значительно повышена широким применением библиотечных подпрограмм и макросов. Использование макросов (макрокоманд) позволяет улучшить читаемость программ и снизить трудоемкость разработки. Особенно полезно применение макросов в том случае, когда какая- либо небольшая группа команд повторяется много раз в ходе программы лишь с небольшими изменениями при каждом повторении (если изменений вообще нет, то предпочтительнее применение подпрограмм). Макросы позволяют также создать собственный язык пользователя, ориентированный на конкретные задачи и мало связанный со спецификой используемого микропроцессора.
Пакет макросов, выполняющих стандартные процедуры, может храниться в библиотеке и присоединяться к программе пользователя целиком, при трансляции будут транслироваться только макросы, имеющиеся в програм- 100
ме пользователя. В состав пакета входят макросы, выполняющие:
пересылки данных в форматах пользователя из памяти в регистры микропроцессора и обратно;
арифметические операции в форматах пользователя;
временные задержки и командные последовательности;
распечатки текстов;
типовые структурные блоки "IF.. .THEN.. .ELSE**, "DO WHILE", "DO UNTIL”,"CASE” [26].
Одним из основных преимуществ макросов в макроассемблере Intel 8080 является возможность передачи им списка фактических параметров для замещения формальных параметров. Подобная процедура при использовании подпрограмм в ассемблере Intel 8080 затруднительна и требует искусственных приемов. Вместе с тем широкое применение макросов существенно увеличивает требуемую емкость памяти. При совместном использовании макросов и подпро
грамм основное содержание процедуры записывается в виде подпрограммы, операнды и результаты которой размещаются в ячейках процессорной и оперативной памяти. С помощью макроса организуются
выдача рс- адаптируе- параметровоперандов.выдача рс- адаптируе- параметровоперандов.загрузка фактических параметров, вызов подпрограммы и зультатов в заданные ячейки. В результате достигается миств подпрограммы к различным спискам фактических при минимальной емкости памяти.
выдача рс- адаптируе- параметров
операндов.
выдача рс- адаптируе- параметров
операндов.
Пример. Макроопределение для умножения двух
один из которых адресуется косвенно, по адресу, хранящемуся в ячейке ADIND, а другой — прямо, по адресу ADDIR (ADIND и
ADDIR являются формальными ческими при макрорасширении). товом формате с плавающей FTMUL* результат — в регистрахADDIR являются формальными ческими при макрорасширении). товом формате с плавающей FTMUL* результат — в регистрахпараметрами и замещаются факти- Умножение производится в трехбай- запятой с помощью подпрограммы BDE процессора. Пересылка первогопараметрами и замещаются факти- Умножение производится в трехбай- запятой с помощью подпрограммы BDE процессора. Пересылка первогооперанда из памяти в регистры процессора производится подпрограммой MOVPM.операнда из памяти в регистры процессора производится подпрограммой MOVPM.
ADDIR являются формальными ческими при макрорасширении). товом формате с плавающей FTMUL* результат — в регистрах
ADDIR являются формальными ческими при макрорасширении). товом формате с плавающей FTMUL* результат — в регистрах
параметрами и замещаются факти- Умножение производится в трехбай- запятой с помощью подпрограммы BDE процессора. Пересылка первого
параметрами и замещаются факти- Умножение производится в трехбай- запятой с помощью подпрограммы BDE процессора. Пересылка первого
операнда из памяти в регистры процессора производится подпрограммой MOVPM.
операнда из памяти в регистры процессора производится подпрограммой MOVPM.
ML3ID LHLD CALL LDA .LHLD CALL ENDM
MACROADIND, ADDIR
ADIND
MOVPM; первый операнд в BDE
ADDIR
ADDI'R + 1; второй операнд в AHL
FTMUL
;результат в BDE
Дополнительные удобства при использовании библиотечных модулей связаны с использованием операторных скобок IF.. .ENDIF. Операторные скобки дают возможность пользователю избирательно транслировать нужные ему модули и отдельные участки модулей из всего пакета.
Для этого в задание трансляции вставляются операто-
101
ры вызова требуемых участков. В библиотеке содержатся условия вызова всех участков, поэтому выполняется автоматическая трансляция всех модулей, к которым имеется обращение из непосредственно вызываемого модуля. Условия вызова получаются на основе анализа структурных схем программных пакетов.
Пример. Пользователю необходимо получить объектные модули подпрограмм COR и SIN из пакета арифметических программ с фиксированной запятой, описанного в § 3.2. Для этого перед пакетом при трансляции нужно вставить операторы условий:
CCOR SET 1
CSIN SET 1
В библиотечном пакете имеются операторы условий вызова:
CCOSEQUCSIN+CCCOS
CUMNEQUCCOS+CCUMN
CMOD1EQUCUMN+CDEL+CPER2+CCMD1
CDCEQUCMOD1+ CCOR+CPER1+CCDC
Здесь С [идентификатор подпрограммы]——условие трансляции подпрограммы; если оно не равно нулю, подтфограмма транслируется, в противном случае нс транслируется. Условие для каждого модуля вычисляется как сумма условий по всем вызывающим модулям и условия непосредственного вызова модуля пользователем.
В результате из всего пакета оттранслируются только модули DC, MODI, UMN, COS, SIN, COR, необходимые для вычисления функций 丁左 и sin±.
Этап программирования модулей содержит процедуры синтаксической отладки (диагностика дается транслятором) и функциональной отладки (для диагностики функциональной отладки разработчик подготавливает тест- последовательности — контрольные примеры). Важную роль на этом этапе играют средства автоматизации программирования, которые делятся на два основных типа: резидентные и кроссовые.
Резидентные средства содержат микропроцессор тот о же типа, что и разрабатываемая система. Для эффективной трансляции, отладки и документирования резидентные средства должны иметь оперативную память большой емкости, внешние дисковые ЗУ, развитую периферию: печать, фотосчитывающее устройство, перфоратор, пульт оператора и пр. При отсутствии или нехватке развитых резидентных средств программирование и отладка модулей могут проводиться с помощью кроссовых (межмашинных) средств.
При этом программирование производится на системах, содержащих не тот процессор, который должен быть в разрабатываемом приборе, а другой, более мощный. Удобно использовать для этой цели универсальные ЭВМ/ имеющие большую емкость оперативной и внешней памяти и комплекс стандартных периферийных средств. При этом универсальная ЭВМ принимает исходный программный модуль на алгоритмическом языке, переводит его с помощью транслирующих или компилирующих средств в машинные коды команд микропроцессора, распределяет память и выдает результата трансляции на внешнее устройство, задаваемое пользователем (печать, вывод на перфоленту, магнитный диск и пр.). На печать выдаются сообщения диагностики об ошибках трансляции.
Для функциональной отладки программного модуля с помощью кросс-средств проводится интерпретация на универсальной ЭВМ. Это обеспечивается специальной моделирующей программой, входящей в состав кросс-средств—— интерпретатором. Интерпретатор имитирует в памяти универсальной ЭВМ все основные регистры и ячейки памяти микропроцессорной системы и каждую микропроцессорную команду серией команд универсальной ЭВМ. Так как для имитации одной микропроцессорной команды требуется от 15—20 до 100—200 команд универсальной ЭВМ, то, следовательно, для имитации требуется гораздо больше машинного времени (в 100 раз и более), чем для непосредственного выполнения программы. Это является некоторым недостатком применения кросс-средств.
Другой недостаток — сложность имитации процедур ввода-вывода и прерывания. Эти недостатки компенсируются удобствами отладки и широкими возможностями документирования результатов. Применение кросс-средств позволяет параллельно вести разработку схемного н программного обеспечения даже на начальном этапе освоения микропроцессорной техники, поскольку отработка программы уже не зависит от наличия аппаратуры и ее макета. Это намного сокращает сроки проектирования.
Этап программирования завершается объединением модулей. Производится распределение памяти между отдельными модулями и наборами данных. Затем отлаженные исходные модули соединяются в общий пакет с указанием областей памяти для соответствующих загрузочных модулей. Производятся повторная трансляция всей программы, ее синтаксическая отладка и проверка на
контрольных примерах. Результатами на этапе программирования являются листинг трансляции и загрузочная программа на машинном носителе (перфолента, магнит^ ная лента, магнитный диск).
Загрузочный модуль заносится в оперативную память макетирующей (прототипной) системы, и производится отладка программы на прототипной системе; после ее завершения производится программирование ПЗУ, Программа должна быть приведена к виду, пригодному для записи в ПЗУ, т. е. должны быть разделены постоянны^ и модифицируемые области программы, определены контрольные суммы для возможности тестирования ПЗУ в дальнейшем и пр.
Запись программы в программируемое ПЗУ. Среди типов ПЗУ, программируемых пользователем, основное применение находят два типа: с пережигаемыми плавкими перемычками (серии К556РТ4, К556РТ5, К155РЕЗ и др.) и с ультрафиолетовым стиранием (К573РФ1, К573РФ2 и др-)-
Программаторы для схем с пережиганием. Во ВНИИМП разработана схема программатора для ППЗУ с плавкими перемычками типов К556РТ4, К556РТ5, К155РЕЗ [54]. Схема предназначена для работы в двух независимых режимах; автоматическом — для записи больших объемов информации и ручном — для записи малых объемов информации и введения исправлений в уже запрограммированные ячейки. Структурная схема программатора показана на рис. 3.13. В нее входят:
клавиатура, расположенная на передней панели прибора; она дает возможность в ручном режиме набирать исходные данные: тип микросхемы, режим работы (《про- жиг» или 《контроль》), адреса ячеек ППЗУ, записываемые коды;
узел выбора режима работы прибора УВР, на выход которого в зависимости от положения переключателя режима поступает код данных либо с клавиатуры, либо с буфера сопряжения с микро-ЭВМ;
узел преобразования кода да(нньгх У〃К, который в зависимости от типа микросхемы производит кодирование данных в прямом или обратном коде;
задающий генератор ЗГ, который формирует временные последовательности импульсов, необходимые согласно техническим условиям на программирование микросхемы;
узел формирования управляющих сигналов и строби-
рующих импульсов УФУС, необходимых для анализа результатов прожига;
узел аналоговых усилителей УУС, формирующих из сигнала логического уровня (ТТЛ) сигнал прожига;
МикроЭВММикроЭВМБСДБСДКлавиатура[ п~Г^^^~уврЬ=Клавиатура[ п~Г^^^~уврЬ=ЗГЗГAe -Ae -В ЕА ПВ ЕА П热yn热ynУФУСУФУС口 УПК仆УУС口 УПК仆УУСЦЦНбдпНбдпКристаллППЗУ=УАЛ|2:=f уАр 隆КристаллППЗУ=УАЛ|2:=f уАр 隆,Индикаторы,Индикаторы査査
МикроЭВМ
МикроЭВМ
БСД
БСД
Клавиатура[ п~
Г^^^~уврЬ=
Клавиатура[ п~
Г^^^~уврЬ=
ЗГ
ЗГ
Ae -
Ae -
В ЕА П
В ЕА П
热yn
热yn
УФУС
УФУС
口 УПК
仆УУС
口 УПК
仆УУС
Ц
Ц
Нбдп
Нбдп
КристаллППЗУ
=УАЛ|2:
=f уАр 隆
КристаллППЗУ
=УАЛ|2:
=f уАр 隆
,Индикаторы
,Индикаторы
査
査
Рис. 3.13. Структурная схема программатора для прожига ППЗУ
узел аналоговых преобразователей УАП уровня сигналов, снимаемых с контактов панели ППЗУ, до сигналов логики, поступающих на схему анализа;
узел анализа результата прожига УАР^ формирующий служебные сигналы для продолжения или окончания процесса программирования.
Основные служебные сигналы, адреса ячеек ППЗУ; Данные клавиатуры и коды ППЗУ индицируются на передней панели прибора. Для работы программатора в автоматическом режиме в общую структурную схему добавляются узлы сопряжения с микроЭВМ: буфер данных БД; буфер адресов ячеек ППЗУ БД; буфер кодов данных ППЗУ БДП\ буфер флагов БФЛ\ буфер управляющих сигналов 力У〃; адресный селектор ДС; буфер сопряжения данных с микроЭВМ БСД.
Последовательность операций при ручном режиме программирования следующая. На клавиатуре передней па- коли прибора набираются исходные данные к программированию. При нажатии кнопки《Пуск》схема начинает программирование кристалла памяти, для чего задающий генератор формирует временные последовательности импульсов (рис. 3.14). На рис. 3.14,а показана первая основная обязательная серия до 1000 импульсов программирования. Параллельно 心 процессом пережигания плавких перемычек проводится проверка на правильность записываемой информации. Для этого после каждого четвертого (для К556РТ4) и каждого восьмого (для К556РТ5 и К155РЕЗ) прожигающего импульса формируется контрольный импульс, во время которого (3 мкс) сравнивается информация, набранная для прожига, с данными от ППЗУ. Если результат сравнения удовлетворителен (данные совпадают), то первая серия выключается и запускается третья серия (рис. 3.14,в) из 40 импульсов, служащая для закрепления результата прожига. По окончании третьей серии на передней панели включается индикатор, сигнализирующий об окончании прожига и верной записи информации; программатор отключается. Если данные не совпадают, то после окончания первой серии запускается вторая серия до 100 импульсов с большей длительностью (рис. 3.14,6). Если результат второй серии удовлетворителен, то она выключается и запускается третья серия. Если и после второй серии результат прожига не соответствует контрольным данным, то программатор сигнализирует о неисправности кристалла. Для проверки ранее записанной в кристалл информации переключатель режима работы ставится в положение «контроль» и производится перебор адресов; коды ячеек ППЗУ при этом индицируются на передней панели программатора.
В автоматическом режиме последовательность серий прожигающих и контрольных импульсов остается той же; добавляются процедуры обмена информацией с микроЭВМ. С магистрали микроЭВМ в порты программатора записываются адреса ячеек, коды данных и управляющих слов. В процессе работы переключение режимов происходит по результатам опросов 《флагов» программатора.
Один кристалл К556РТ5 емкостью 512 байт программируется в автоматическом режиме около 30 с. Конструктивно программатор выполнен в стандартном блоке 120Х180X280 мм. Стыковка с системной шиной микроЭВМ (на основе К580ИК80) осуществляется через разъем. 106
ив、
Рис. 3.14. Временные диаграммы импульсов прожига ППЗУ:
Т=25 мкс; Ti = I мкс; q = 3 мкс;工尸 10 мс;尼=4 (для К356РТ4);左二8 (для К556РТ5, К155РЕЗ)
Программатор выполнен на микросхемах серий 155 и 589 (за исключением его аналоговой части).
Программаторы для микросхем памяти с ультрафиолетовым стиранием (РП 3 У). Для программирования РПЗУ при отсутствии микроЭВМ может быть использован дисплей с дополнительным устройством записи. С пульта дисплея в его ОЗУ вводятся коды данных. Для переписи данных в РПЗУ используются также счетчик адреса и сигналы управления считыванием дисплея. При переписи данные сохраняются в ОЗУ дисплея, что позволяет обеспечить необходимое число циклов повторений записи. Проверка массива, записанного в РПЗУ, производится поочередным выводом на экран данных из РПЗУ и данных из ОЗУ (через кадр). Ошибки в записи будут видны как мерцающие, двоящиеся символы среди вдвое более ярких изображений правильно записанных символов. Для записи информации в РПЗУ с ультрафиолетовым стиранием серии 573 было разработано устройство записи, предназначенное для работы с дисплеем СИД-1000. Емкости СИД и РПЗУ этой серии (К573РФ1) не совпадают из-за различной разрядности слов. В СИД-1000 может быть записано 1024 7-разрядных символа в 16 строчках по 64 символа. Программные данные записываются в шестнадцатеричном коде, т. е. содержат два символа, кодируемые полубайтами. Для записи одного байта памяти используются, таким образом, два полубайта, каждый из которых состоит из четырех младших разрядов слова СИД. Таким образом, из 1024 символов, индицируемых на экране СИД, формируется 512 слов, записываемых в одну половину памяти. Запись второй половины памяти возможна после ввода новых данных в ОЗУ дисплея. Выбор половины памяти осуществляется вручную заданием 0 или 1 в старшем разряде шины адреса памяти А9.
Для надежной записи информации в память типа К573РФ1 подаваемый импульс записи по каждому адресу должен иметь длительность около 1 мс, а суммарная длительность импульсов записи по каждому адресу должна быть не менее 100 мс. Необходимо, чтобы смена адреса и данных для памяти происходила через 1 мс. В СИД вывод данных на экран осуществляется построчно, причем переход к следующему символу происходит через 14,5 мс. Длительность строки превышает 1 мс; поэтому запись информации в память организована по столбцам, причем в одном кадре осуществляется запись содержимо- 108
го двух столбцов с экрана СИД. Это потребовало введения отдельного счетчика адреса памяти. Общее время' записи одной половины памяти определяется числом повторяемых циклов программирования. Время записи 2,0 мин.
Рис. 3.15. Функциональная схема программатора для схем с ультрафиолетовым стиранием в режиме записи
Функциональная схема устройства записи приведена на рис. 3.15. Устройство содержит регистры Рг1 и Рг2 для хранения полубайтов слов программы на время записи в РПЗУ, счетчики адреса памяти Сч1 и Сч2, схему сравнения адресов ОЗУ СИД и РПЗУ, триггер управления записью Т, буфер данных 6, счетчик кадров СчК и схему формирования импульсов программирования ⑦ и У.
На регистры поступают младшие разряды D0——D3 шины данных СИД. Последовательность и время записи полубайтов слов СИД определяются триггером записи Т. Триггер управляется тактовыми импульсами ТИ при наличии выходного сигнала от схемы сравнения СС. На входы схемы сравнения поступают девять разрядов А1——А9 ши-
ны адреса СИД (кроме младшего АО) и девять разрядов шины адреса РПЗУ АО—А8 (кроме старшего А9), При совпадении этих адресов схема выдает сигнал, длительность которого соответствует времени вывода двух символов на экран СИД, т. е. 29 мкс. Импульс программирования длительностью 1 мс формируется в Ф. Для обеспечения записи данных по столбцам эти импульсы поступают на вход счетчика адреса строк С“/, изменяя его содержимое после записи в ПЗУ очередного банта. Адрес столбцов в Сч2 изменяется только после записи всех элементов предыдущих двух столбцов.
Буферный тристабильный каскад 6 управляется сформированным импульсом программирования и подает данные на входы ППЗУ только в режиме записи. В режиме контроля каскад имеет высокое выходное сопротивление и не мешает считыванию информации нм ППЗУ. Запись осуществляется за 6400 кадрсв; количество кадров считывается счетчиком 04K с такой же емкостью. Его переполнение блокирует прохождение импульсов совпадений на схему формирования Ф и триггер управления Т, т. е. прекращает процесс записи в РПЗУ. Предусмотрена световая индикация конца записи.
Схема устройства в режиме контроля записи приведена на рис. 3.16. Схема содержит те же счетчики адреса Сч1 и С/2, рабо-
Рис. 3.16. Структурная схема программатора для схем с ультрафиолетовым стиранием в режиме контроля записи
тающие синхронно со счетчиком адреса СИД. Синхронизация обеспечена подачей на их вход импульсов от соответствующих разрядов счетчика СИД. Это обеспечивает подачу соответствующих символов из ОЗУ СИД и РПЗУ в одно место экрана для их сравнения. Данные нз СИД и РПЗУ подаются на экран через кадр. При этом коммутируются только младшие разряды DO——D3 шины данных, а старшие разряды D4—D6 постоянно поступают из ОЗУ СИД. Выбор полубайта из слова РПЗУ осуществляется мультиплексором ——коммутатором MSI, управляемым триггером Г. Коммутация полубайтов СИД ——РПЗУ при смене кадров осуществляется мультиплексором MS2 с помощью триггера кадров ТК. Этот же мультиплексор обеспечивает пропуск в СИД в любом кадре служебной информации из блока управления СИД по тем же шинам DO——D3 во время обратного хода развертки строки. Для управления MS2 поэтому кроме триггера ТК также использованы служебные сигналы Инф^ Служ, применяемые для различения информационных и служебных слов в СИД (слов <начало строки》,«конец строки», «конец кадрам). Переход от режима записи к режиму контроля записанной в РПЗУ информации осуществляется переключателем Запись^Чтение, который коммутирует входные сигналы счетчиков адреса памяти, а также переводит мультиплексор MS2 из режима постоянного пропуска данных СИД в режим коммутации.
Устройство выполнено на микросхемах серий 155, 589; в усилителе мощности сигнала программирования использованы транзисторы. Схема занимает одну плату. Соединение с СИД осуществлено кабелем через свободный разъем в устройстве управления.
В последнее время наряду с программаторами, предназначенными для конкретных типов микросхем, появились универсальные программаторы, имеющие средства перепрограммирования на языках высокого уровня [110]. 11а таких программаторах можно вести электрическое программирование любых микросхем, в том числе и перспективных, учитывая особенности их временной диаграммы.
ГЛАВА ЧЕТВЕРТАЯ
ИНТЕРФЕЙСЫ МИКРОПРОЦЕССОРНЫХ СИСТЕМ
ИНТЕРФЕЙС К МЕДЛЕННЫМ УСТРОЙСТВАМ
При разработке измерительных приборов со встроенными микропроцессорами одной из основных проблем является обеспечение внутриприборного и межприборного интерфейса. Как было показано в гл. 1, внутриприбор- ный интерфейс, как правило, основывается на магист-
ш
ральной структуре и унифицированных решениях по используемой шине, методам доступа и использованию специализированных процессоров ввода-вывода. Специфика межприборного интерфейса зависит прежде всего от структуры информационно-измерительной системы, в которую включается данный прибор. В этой главе рассмотрим, главным образом, те аппаратные и программные особенности внутриприборного и межприборного интерфейсов, которые выходят за рамки стандартного обмена через порты ввода-вывода и требуют дополнительных решений.
В этом параграфе рассмотрены способы организации связи с устройствами со скоростью передачи информации менее 100 байт/с. К этой группе относятся средства цифровой индикации, звуковой сигнализации, клавиатура, устройства посимвольной печати, перфораторы, графопостроители, шаговые двигатели и др. Общим для всех этих устройств является, в частности, то, что по своему быстродействию микропроцессор способен управлять ими чисто программными методами, т, е. формируя управляющий потенциал на порте вывода или считывая информацию с порта ввода. Вместе с тем это приводит к затратам процессорного времени, и может оказаться более экономичным дополнительное аппаратное управление, чтобы минимизировать число операций управления, выполняемых процессором. Конкретный выбор способа управления (программного или аппаратного) в конечном счете зависит от экономических соображений.
Индикаторы. Простейшая индикация в измерительном приборе——индикация состояния: готовность к измерению, процесс измерения или обработки, ошибка, результат теста и пр. Такая индикация производится единичным и световыми индикаторами, например светодиодами; организация интерфейса в этом случае достаточно тривиальна — через стандартные порты вывода. Для цифровых знакосинтезирующих индикаторов в принципе возможен такой же тнп связи; при этом микропроцессор выполняет программное формирование знакосинтезирующего кода, однако существенны затраты на организацию портов вывода. Число шин вывода можно сократить, включив между портами вывода и знакосинтезирующими индикаторами дешифраторы кода. Для передачи одного десятичного разряда при этом используются четыре шины. При большом числе выводимых знаков число выходных шин можно существенно уменьшить, применив циклический регенеративный 112
режим. При этом код на каждый индикатор подается на малую долю цикла, а непрерывность восприятия обеспечивается инерцией глаза или послесвечением индикатора.- Пример такого экономичного решения приведен на1 рис. 4.1,и. В показанной схеме 16-знакового индикатора с микропроцессорным управлением четыре разряда порта
Рис. 4.1. Структурная схема регенеративного индикатора (а) и 15-але。 ментный знакосинтезирующий индикатор (б)Рис. 4.1. Структурная схема регенеративного индикатора (а) и 15-але。 ментный знакосинтезирующий индикатор (б)йд— к«ювп-мийд— к«ювп-миб)б)
Рис. 4.1. Структурная схема регенеративного индикатора (а) и 15-але。 ментный знакосинтезирующий индикатор (б)
Рис. 4.1. Структурная схема регенеративного индикатора (а) и 15-але。 ментный знакосинтезирующий индикатор (б)
йд— к«ювп-ми
йд— к«ювп-ми
б)
б)
вывода используются для передачи сигналов на дешифраторы кода ДШ1 …ДШ16У на выходе которых формируется знакосинтезирующий код. Оставшиеся четыре разряда порта вывода используются для циклического переключения входов гашения ДШ1 …ДШ16 с помощью, специального дешифратора гашения ДШГ.
Другой подход к построению регенеративного индика- тора описан в [76]. 32-знаковый индикатор с частотой? 『регенерации 200 Гц управляется от биполярного микропроцессора 8X300 фирмы Signetics. Индикатор предназначается для общения на языке пользователя, поэтому пользователь может сам задавать начертание символов^ и их набор. Коды символов заносятся в прсграммируемое^ ПЗУ стандартных шрифтов; микропроцессор обеспечивает программным способом синтез изображений знаков и последовательное возбуждение знакомест. Кодирование' знака производится двумя байтами, индикатор 15-элементный (рис. 4.1,6).
' Клавиатура. Здесь можно выделить два основных типа- клавиатуры с точки зрения микропроцессорного управ- 8—319113:
ления: с аппаратным и программным формированием выходного кода. Клавиатура первого типа представляет собой функционально законченный автономный блок, на выходе которого формируются стандартный код для обмена с центральным процессором и импульс записи в порт ввода. Тип клавиши (механическая н〃и сенсорная) не влияет на структуру интерфейса, который выполняется но структурной схеме, показанной на рис. 4.2,а、 При нажатии клавиши в интервале, свободном от дребезга, формируется строб-импульс записи, код записывается в многорежимный буферный регистр МБР (или программируемый параллельный интерфейс), на выходе которого появляется сигнал прерывания. В подпрограмме обслуживания прерывания микропроцессор считывает код из МБР, адресуясь к нему через адресный селектор; прерн- ванне при этом сбрасывается. Формирование кода нажатой клавиши и защита от дребезга требуют аппаратных затрат. Более простое схемное решение достигается во втором типе клавиатуры, структурная схема которого показана на риз 4.2,6.
Клавиатура состоит из двух систем пересекающихся шин с нормально разомкнутыми контактами в местах пересечения. В схему входят также два порта микропроцессорной системы и схема И-НЕ, В состав порта /7/ входит запоминающий регистр. Рассмотрим работу такой схемы в режиме прерывания для 64-клавишной клавиатуры. При отсутствии нажатых клавиш на входах порта 772 присутствует потенциал логической 1, на шине прерывания—0, на всех выходах регистра порта П1 — 0. При нажатии любой клавиши на шине прерывания появится потенциал логической 1.
Схема подпрограммы обслуживания прерывания показана на рис. 4.3. Для защиты от дребезга вводится программный блок временной задержки TIME. Затем в порт П1 последовательно записываются комбинации 11111110, 11111101,..., 01111111 и для каждой комбинации считывается код порта П2. Если в одном из разрядов этого кода содержится 0, то коды портов П1, П2 запоминаются и процесс ввода-вывода завершается. Далее производится декодирование по таблице ТАВ. Выходные байтовые коды этой таблицы записываются в указанной последовательности в программу-драйвер клавиатуры. Адрес первого байта таблицы заносится в адресный счетчик программы, содержимое которого модифицируется для каждой повой комбинации кодов П1 н П2. По модифици-
рованному адресу из таблицы считывается выходной код. Метод отличается тем дополнительным преимуществом^ что позволяет иметь несколько таблиц выходных кодов: для разных режимов работы.
Перед разрешением нового прерывания имеется про-
Рис. 4.2. Структурная схема клавиатуры:а—С аппаратным формированием кода; б - с программным формированием КодаРис. 4.2. Структурная схема клавиатуры:а—С аппаратным формированием кода; б - с программным формированием КодаП1П1ВН01ПKBHn2Qs°ВН01ПKBHn2Qs°
Рис. 4.2. Структурная схема клавиатуры:
а—С аппаратным формированием кода; б - с программным формированием Кода
Рис. 4.2. Структурная схема клавиатуры:
а—С аппаратным формированием кода; б - с программным формированием Кода
П1
П1
ВН01ПKBHn2Qs°
ВН01ПKBHn2Qs°
8*8*
8*
8*
1IS
граммный модуль, который с помощью аналогичного опроса фиксирует отпускание клавиши и вводит задержку на время дребезга при отпускании. Затем порт П1 приводится в исходное состояние (все 0) и разрешается прерывание.
Аналогичная описанной система из пересекающихся :шин применена в накладной сенсорной клавиатуре, в которой изображение клавиши формируется также микро- процессором программным способом на экране ЭЛТ [41J.
黎нс. 4,3. Схема подпрограммы формирования кода клавиатуры
•116
Формирование изображения клавиш программным Способом на экране ЭЛТ значительно повышает гибкость использования клавиатуры. Такие «программируемые» клавиши (softkeys) позволяют при небольшом объеме клавиатуры обеспечить наглядность и удобство управления со стороны оператора во многих режимах. Более простой конструктивный вариант «программируемых» клавиш состоит в размещении их по краю ЭЛТ. Сами клавиши не имеют обозначений, но против каждой клавиши на ЭЛТ генерируется ее изображение с программируемым обозначением. Такой вариант применен, в частности, фирмой Hewlett Packard в анализаторе параметров полупроводниковых приборов 4145А [131] и в ряде других приборов.
「 Еще один тип клавиатуры с использованием микропроцессора основан на электронно-оптическом принципе [49]. В нем используются датчики инфракрасного излучения, светодиоды и механические клавиши без электрического контакта. При нажатии клавиши перекры- ■ еается сигнал, воспринимаемый датчиком от светодиода, что фиксируется микропроцессором. Оптимальное размещение датчиков и светодиодов позволяет использовать на три клавиши два светодиода м два датчика. Светодиоды включаются по одному; при этом уменьшается потребляемая энергия и упрощается конструкция, так как отпадает необходимость в светонепроницаемых перегородках. Фирма Optical Technigues International (США) выпускает клавиатуры такого типа с использованием однокристальной микроЭВМ Intel 8048. Отмечается высокая надежность клавиатуры — долговечность клавиши составляет 100 млн. циклов.
В настоящее время для связи с клавиатурой и инди- катерами все шире применяются однокристальные программируемые контроллерные устройства, например Х580ВВ79.
Печать, Большая часть современных печатающих устройств посимвольной печати рассчитана на прием от управляющего блока стандартного кода символа и выполняет печать одиночного символа автономно. Интерфейс с Микропроцессорной системой осуществляется при этом через порт вывода и шину прерывания. Если работа ведется по прерыванию (что выгоднее, чем программный от” счет паузы), то по окончании печати каждого символа печатающее устройство выставляет маскированное пре- рнванне, которое воспринимается микропроцессором, если есть текст, подлежащий печати.
В простейших печатающих устройствах со входом еепосредственно на электромагниты интерфейс включаем
117
дешифраторы кода и усилители. Микропроцессор при этом выполняет функции перекодирования, отсчета времени печати и паузы и дополнительных операций (возврат каретки, перевод строки и пр.). Введение в состав интерфейса одновибраторов для отсчета временной задержки позволяет минимизировать время обслуживания печати микропроцессором (другой вариант ——использование для отсчета задержек таймера).
Звуковая сигнализация. Форм-ирование звука в микропроцессорной системе возможно либо чисто программным способом, когда микропроцессор формирует на шине сигнализации меандр заданной частоты и длительности, либо аппаратно, когда такой же сигнал формирует таймер, программируемый микропроцессором. Элементарно программируется исполнение такими способами музыкальных мелодий (в первом случае одноголосной, во втором ——с числом голосов, определяемым числом каналов таймера). Эти методы могут использоваться для сообщений удаленному оператору или при информационной перегрузке — большом числе обслуживаемых им приборов.
Звуковое кодирование цифр производится обычно звуковыми импульсами, отдельные цифры разделяются более долгими паузами. Такой способ кодирования применен, например, в [16], где микропроцессор МС6800 выводит на звуковую сигнализацию показания часов. Цифры часов и минут кодируются разной высотой звука, что улучшает воспринимаемость информации.
Более совершенный вариант звуковой сигнализации —— использование синтезаторов речи. В [14] описано применение микропроцессора МС6800 с интерфейсным адаптером МС6820 для построения схемы измерения напряжения с речевым выходом. Структурная схема устройства показана на рис. 4.4. Аналого-цифровое преобразование
Рис. 4.4. Структурная схема измерителя напряжения с речевым выходом
118
«роизводится с помощью ЦАП и компаратора программным способом. Программа формирует также коды управления модулем синтеза речи; вся программа измерения и синтеза речи состоит из 66 команд ассемблера.
Прочие медленные устройства. Управление дискретными медленными устройствами типа перфоратора или переключающих клапанов в исполнительных механизмах измерительных приборов производится через стандартные порты вывода. Во избежание высокого уровня электромагнитных помех часто применяются при этом оптоэлектронные развязки. Микропроцессор среднего быстродействия может быть применен для управления шаговым двигателем, только программными методами; схема и программа для микропроцессора Intel 8080 описаны в [91].
Связь микропроцессорной системы с графопостроителем осуществляется путем включения после портов вывода ци- .фро-аналоговых преобразователей; выбор частоты обращения микропроцессора к этим портам определяется динамическими свойствами графопостроителя. В простых измерн- Тельных системах с невысокими требованиями к скорости регистрации графопосцроитель часто выполняет одновременно с выводом графического изображения функции сим- ..вольного 1принтера. В этом случае программа-драйвер графопостроителя включает в себя программный генератор Символов.
ИНТЕРФЕЙС К ЭЛЕКТРОННО-ЛУЧЕВОЙ ТРУБКЕ
Наибольшие возможности управления прибором оператор получает в интерактивном режиме, рассмотренном в § 2.5. Анализ символьных сообщений системы, графической, ■полутоновой и цветовой информации требует включения в систем}т устройств для представления всех этих видов информации в больших объемах и с большой скоростью пере- ^ылки (более 10 кбайт/с). Наиболее широко используются устройства представления информации на экране электронно-лучевой трубки (ЭЛТ), основанные на растровом Принципе. Их можно классифицировать по трем уровням аспользуемого сигнала:
видеомониторы — устройства, преобразующие аналоговый сигнал в изображение (аналогичную задачу выполняют бытовые телевизоры);
пассивные дисплеи — устройства, преобразующие цифровой код в изображение;
активные, или универсальные, дисплеи — по сравнению
119
с пассивными дисплеями они обладают дополнительными; возможностями обработки информации: ручным вводом, редактированием, маркированием и гтр.
Пассивные и активные дисплеи можно дополнительно классифицировать по числу этапов обработки цифровой информации. Код, подаваемый на вход дисплея, может непосредственно соответствовать, изображению в определенной точке или элементарной площадке экрана (одноэтапное преобразование); общение с дисплеем может происходить на специальном входном языке, операторами которого кодируются элементы исходного файла: свойства данных (точки, векторы, цепочки векторов, строки текста, фигуры и пр.), операции преобразования данных (сдвиг, масштабирование, стирание и пр.) и т. д. Затем исходный файл программным или аппаратным способом перекодируется в файл регенерации, в котором есть однозначное соответствие между кодом и элементом изображения. В последнем случае- в состав дисплея должны входить процессорные устройства формирования изображения, которые, как правило, строятся на быстродействующих элементах (например, на модульных процессорах серин 589). Дисплеи такого типа обычно предназначаются для использования в автоматизированных системах проектирования АСПРТ 注 также в АСУ, АСУП и АСУ ТП.
Применение универсальных дисплеев для организации интерактивного режима в измерительных приборах не всегда целесообразно. Обладая большими возможностями по редактированию символьной и графической инфсфмапии, универсальные дисплеи вместе с тем плохо приспособлены, для обработки графической и полутоновой информации в режиме реального времени, избыточны для использования в измерительных приборах, дороги.
Значительно экономичнее организация специализированного интерфейса микроп|роцессорной системы к ЭЛТ (точ- нее, к видеомонитору) с учетом потребности конкретного прибора. В этом параграфе рассмотрим ряд интерфейсов к ЭЛТ, основанных на растровом принципе формирования кадра и запоминания файла регенерации в виде оЗУ (ВЗУ).
Для вывода символьной информации наиболее экономичным является интерфейс знакоместного типа. В нем одной ячейке памяти ВЗУ соответствует одно знакоместо —— элемент изображения, занимаемый одним символом. На рис. 4.5 приведена структурная схема интерфейса для вывода символьной информации в формате 32义64 знакоместа (с вертикальным расположением телевизионных строк), Используется растр 256 телевизионных строк по 512 эле- 120
Тнс. 4.5. Структурная схема интерфейса символьного дисплея
ментов (точек) в строке. Каждое знакоместо 'представляет ^обой матрицу 8X8 точек, в которой символ занимает 5义7 /Точек. Код символов ——7-битовый, используются младшие :7 бит кода КОИ-8. В состав 'Интерфейса входят генератор
частоты 12 МГц ГВЧ и синхронизатор Синх, вырабатываго- 匚而нй строчные и кадровые импульсы частотой 15,625 кГц н 一 SO Гц соответственно телевизионному стандарту. Испо.чь- ь %уя эти сигналы, генератор адресов ГА формирует адреса
Для последовательного обращения ко всем ячейкам сим- ;Вольного ВЗУ. Считанные из ВЗУ данные поступают на знакогенератор 3HF, в котором формируется видеосигнал Для изображения соответствующих символов. Знакогенера- top строится на основе постоянного запоминающего устройства, в котором записаны коды построчной развертки сим- 、加』ов КОИ-8, При обращении микропроцессора к ВЗУ 'Открываются буферы связи ВЗУ с шинами микропроцессор- ,Мой системы и закрываются буферы связи ВЗУ с генератором адресов. Если обращение микропроцессора к ВЗУ разрешено в произвольное время, то это приводит к помехам На экране; если время обращения ограничить неактивной Частью телевизионной строки (гашение), то изображение .Судет устойчивым даже цри обновлении информации.
… Описываемый интерфейс дает возможность программно редактировать тексты, вести их обработку с помощью мар- 更ра. В качестве кода маркера в ПЗУ знакогенератора за- ЯИсывается один из неиспользуемых в КОИ-8 кодов (для ”121
этого ПЗУ должно быть программируемым) или для этой нели резервируется оди1Н из символов КОИ-8 (например, *). Поскольку из 8 бит, хранящихся в ячейке стандартного 63У, для кодирования символа КОИ-8 используется 7 бит, неиспользуемый старший бит можно применить для модификации текста, например 0 — для негативного изображения (белое на черном), 1——для позитивного изображения (черное на белом). Для этого в схему интерфейса включается инвертор Инв, сигнал через который проходит при 、1в старшем разряде ячейки ВЗУ,
Сигнал изображения символов с выхода ЗНГ поступает на формирователь телевизионного сигнала ФТС, где смешивается с импульсами строчного и кадрового гашения, образуя полный телевизионный сигнал, который и поступает на вход видеомонитора или бытового телевизора. Если ЭЛТ встраивается в конструкцию измерительного прибора, то сигнал изображения символов через видеоусилитель поступает -на управляющий электрод ЭЛТ, а строчные и кадровые импульсы используются для синхронизации генераторов строчной и кадровой частот, формирующих растр. Таким образом, в этом случае кроме ЭЛТ в прибор встраиваются три аналоговых функциональных узла ——видеоусилитель, генераторы строчной и кадровой частот.
Программное обеспечение символьного интерфейса к ЭЛТ состоит из программы-драйвера, которая выводит текст от микропроцессора в ВЗУ и одновременно редактирует его, исключая переносы слов со строки на строку. Слова, не помещающиеся в конец текущей строки вывода, переносятся целиком в следующую -строку, а текущая строка до конца заполняется пробелами. При завершении очередной строки вывода программа продвигает весь текст на экране на одну строку вверх; самая верхняя строка при этом теряется, а освободившаяся нижняя строка заполняется пробелами и очередной символ выводится в первую позицию этой строки. Такое редактирование не связано с выводом текста как некоторого количества символов, большего единицы,——редактирование производится при выводе каждого очередного символа.
При входе в программу-драйвер выводимый на экран символ находится в одном из регистров процессора. Производится загрузка регистров процессора из зарезервированных ячеек — счетчиков, в которых сохраняются адрес текущей позиции вывода в строке, а так-* же адрес позиции последнего выведенного в текущую строку пробела. Далее следует цепь проверок вида символа, подлежащего выводу*
Если выводимый символ ——возврат каретки, то программа просто продвигает текст на одну строку вверх и очищает пробелами нижнюю строку. Если символ отличен от возврата каретки, то производится предварительный анализ текущей позиции печати и затем принимаете兄 решение о необходимости редактирования. Если в редактировании нет необходимости, т. е. текущая строка вывода еще не закончена, то символ выводится в очередную позицию, адрес текущей -строки инкрементируется и па этом работа программы заканчивается.
Если редактирование необходимо, т. е. текущая строка целиком заполнена, то программа проверяет, не является лн символ, подлежащий -выводу, пробелом. Если это так, то пробел не выводится, весь текст продвигаете兄 на одну строку вверх, нкясн兄я строка заполняется про белами. Если подлежащий выводу символ не является пробелом, то программа продвигает весь текст на одну строку вверх и затем переносит на освободившуюся нижнюю строку часть текста предыдущей строки от последнего пробела до конца строки. Осталь- ha兄 часть нижней строки заполняете兄 пробелами, и текущая позиция вывода устанавливается сразу вслед за перенесенным текстом. Часть ' второй снизу строки, информация с которой была перенесена в нижнюю строку, также очищается пробелами. Если при редактировании оказывается, что в текущей строке вывода нет ни одного пробела, то никакая информация с нее на новую строку вывода не переносится. Программа-драйвер символьного интерфейса к ЭЛТ написана на ассемблере К580, объектный модуль занимает около 200 байт.
Вывод графической информации возможен с несколь- ‘ жими вариантами файла регенерации. Наиболее универсальным является интерфейс с так называемым битовым полем, когда каждой элементарной точке изображения соответствует бит в ВЗУ. Структурная схема такого ин・ :терфейса подобна схеме на рис. 4.5, но без знакогенератора (считанные из ВЗУ коды, развернутые в битовую последовательность, непосредственно образуют видеосигнал для представления графической информации). Для этакого интерфейса необходим большой объем ВЗУ: при растре 256X256 точек 8 Кбайт. Ограничением пи применению данного интерфейса являются трудности вывода графической информации в реальном времени, например одновременного наблюдения за несколькими процессами во времени, так как для этого нужно обновлять большой объем информации в каждом кадре, что недостижимо без Дополнительных аппаратных средств.
Меньший объем ВЗУ требуется в интерфейсе зпако- KMecTHOFO типа (иногда называемом квазиграфическим). Чтобы вывести при этом на экран произвольную графическую информацию, в знакогенераторе ЗИГ (см. рис. 4.5) 123
вместо постоянной применяется оперативная память, программно доступная микропроцессору, в которую для каж* дого знакоместа можно записать индивидуальный нестан' дартный код построчной развертки. Для знакоместа 8X8 точек этот код занимает 8 байт; следовательно, при выводе графической информации интерфейс знакоместного типа даст экономию в емкости памяти по сравнению с ин、 терфейсом с битовым полем лишь в том случае, когда- число знакомест, содержащих графическую информацию, меньше 750 (при общем числе знакомест 2048). При атом возникают дополнительные трудности программирования из-за перекодирования исходной графической информации в коды знакомест. Как и в предыдущем случае, имеются ограничения по выводу информации в реальном времени.
При наблюдении на экране ЭЛТ процессов, протекающих во времени, и других однозначных функций можно применить интерфейс со значительно меньшим объемом ВЗУ, в котором ордината каждой точки графика кодируется в одной ячейке ВЗУ. В структурной схеме, пока~ занной на рис. 4.6, на экран ЭЛТ можно выводить от одного до четырех независимых однозначных графиков. Используется растр 256X256, совместимый с растром описанного выше символьного интерфейса. Абсциссе точки графика соответствует номер строки растра и соответственно номер ячейки ВЗУ; ордината каждой точки определяется числом, записанным в соответствующей ячейке ВЗУ. Таким образом, для вывода четырех графиков достаточно ВЗУ объемом 1 Кбайт.
Интерфейс позволяет изображать графики точками или вертикальными отрезками, соединяющими соседние точки и представляющими собой приращения ординат от точки к точке (подобный принцип рассмотрен в [62]). Возможен также режим гистограмм — изображение отрезков вертикальных линий, соединяющих все точки графика с фиксированным горизонтальным уровнем. Управление режимом представления производится программно через специальный порт управления дисплеем.
Интерфейс позволяет также выводить на экран горизонтальные линии — по две на каждый график; положение этих линий определяется программно через специаль* ный порт. Возможно также простое получение до 256 вертикальных линий ——они формируются вместо точек четвертого графика, имеющих максимальную ординату.
В схеме интерфейса используются узлы ГВЧ и Синх, аналоги1!* ные тем, которые были рассмотрены в схеме символьного интерфейса.
Генератор адресов ГА формирует адреса для последовательного обращения к 256 ячейкам ВЗУ для каждого графика. ВидеоЗУ опраши^
ЦПЦПШины микропроцессорной системы (МПС)
ЦП
ЦП
ЗапретЗапретА СИНХА СИНХГАГАSв3yи -ннпЕхииннSв3yи -ннпЕхииннБуферыБуферыМПСМПСПу芟Пу芟ииВидеомонитор>Видеомонитор>СчЗСчЗПП削Ё削ЁСУСУ
Запрет
Запрет
А СИНХ
А СИНХ
ГА
ГА
Sв3yи -ннпЕхиинн
Sв3yи -ннпЕхиинн
Буферы
Буферы
МПС
МПС
Пу芟
Пу芟
и
и
Видеомонитор
>
Видеомонитор
>
СчЗ
СчЗ
П
П
削Ё
削Ё
СУ
СУ
Строки Кадры
Рис. 4.6. Структурная схема интерфейса графического дисплея
#ается в начале каждой телевизионной строки (в интервалах гаше- Нн兄).При этом происходит последовательное обращение к одной ячейке в каждой из четырех областей памяти, отведенных для хранения? графиков. Адреса обращения к ВЗУ формируются в генераторе адресов на счетчике строк, начальное состо兄нне которого задается ко- дом, поступающим из порта начального адреса графиков ПНАГ. С выхода счетчика адрес через буфер поступает на внутреннюю шину адресов ВЗУ. С помощью порта начального адреса графиков, изменяя- его код во время кадрового импульса, можно организовать программ- Вое движение графиков.
- При выводе графиков в течение одной телевизионной строки формируется по одной точке каждого графика; 4 байта данных из ВЗУ,. Несущих информацию об ординатах, поступают на буфер данных ш, с выхода которого подаются на четыре одинаковые схемы, формирования графического видеосигнала ФГВ. Схема состоит из1 '^-разрядного счетчика Сч1 и такого же дополнительносго счетчика Сч2.
Fa宓т данных (текущая ордината) записывается в счетчик Сч1 в начале строки, а в ее активной части на него подается 256 импульсов частоты 6 МГц. Счетчик считает в режиме обратного счета. Когда ■содержимое счетчика становится равным нулю, на его выходе появляется импульс, соответствующий изображению точки графика. В дополнительный счетчик Сч2 записывается байт с параллельного выхода счетчика Сч1 до записи туда очередного байта данных из В ЗУ. Таким образом, дополнительный счетчик формирует сигнал изображения предыдущей точки графика. Схема управления СУ формирует все необходимые сигналы для управления счетчиками Сч! и Сч2 н выходного 4)ормнровател兄 Ф. Импульсы с ФГВ поступают на формн、 рователь телевизионного сигнала ФТС. В режиме точек используются импульсы счетчика Сч1、в режиме отрезков в формирователе Ф образуются импульсы, соединяющие импульсы основного н дополни* тельного счетчиков. В режиме гистограмм в Сч2 записывается только 1 байт в начале кадра, определяющий нижнюю границу гистограмм мм. При этом выходной сигнал счетчика определяет изображение горизонтальной линии, котора兄 может использоваться отдельно как до< полнительная горизонтальная линия.
Порт управленн兄 ПУ хранит управляющий байт, определяющий режим работы графического интерфейса. Через этот порт также происходит запись кодов в два одинаковых счетчика СчЗ в начале каждого кадра. Эти счетчики работают аналогично счетчикам Сч1 и Сч2 и формируют изображения двух горизонтальных линий. Связь ВЗУ с шинами микропроцессорной системы аналогична описанной ранее для символьного интерфейса. На тех же схемных принципах может быть основан формат кадра 512 строк по восемь разрядов в стр оке.
Программа-драйвер графического интерфейса DRGRD обеспечивает управление движением графиков на экране ЭЛТ, управление метками в виде вертикальных линий, а также вызов нужных программ обработки графической информации. Управление осуществляется с универсальной клавиатуры системы; объем драйвера ——около 1 Кбайт.
Для вывода на экран полутоновой или цветовой информации применяется интерфейс, основанный на принципе взаимного соответствия кода ячейки ВЗУ и фиксированного элемента изображения. При синтезе 256X256 элементов изображения и 16 градациях яркости (для чернобелого изображения) необходим объем ВЗУ в 64 К полубайтовых слов, т. е. 32 Кбайт. Структурная схема интерфейса приведена на рис. 4.7. Сигналы от синхронизатора Синх поступают на генератор адресов ГА, который формирует адреса для последовательного обращения ко всем ■ячейкам ВЗУ. Данные от ВЗУ поступают на быстродейст- 126
вующий 4-разрядный ЦАП, который и формирует видеосигнал. Для получения цветовой картины вместо ЦАП используется дешифратор цветового кода на 16 цветов^ имеющий три выхода для управления основными цветами.
Так как три описанных интерфейса совместимы по растру, они могут быть объединены в универсальный интерфейс с общим ГВЧ и сипхронизато-
Рнс. 4.7. Структурная схема интерфейса полутонового и цветового- дисплеев
ром Синх; режим работы такого интерфейса будет определяться программно, с помощью слова управления, вводимого через специальный порт. Возможны режим раздельного вывода символьной, графической и полутоновой информации и режимы их частичного или полного совмещения.
Имеется тенденция к унификации интерфейсных схем управления электронно-лучевой трубкой и созданию одно кристальных программируемых схем интерфейса. К таким Схемам относится, например, программируемый контролер ЭЛТ К580ВТ75, в котором имеется два буферных ЗУ строки: один буфер загружается от микропроцессора или 市3 внешней памяти, другой выбирается для формирования
изображения. Пользователь может программно задавать число знаков и сигналы синхронизации, т. е. программировать формат изображения.
Аналогичные контроллеры выпускаются для генерации графического изображения [23].
ИНТЕРФЕЙС К КАССЕТНОМУ МА「НИТО9ОНУ
Для архивации файлов данных, хранения эталонных ^файлов, массивов нормативно-справочной информации, программ пользователя и пр. в большинстве измерительных приборов удобно применять в качестве внешней памяти цифровой кассетный магнитофон, который обеспечивает передачу со скоростью 10 Кбод; информационный объем на одной стороне кассеты 340 Кбайт. Формирование записи и обработка при чтении невозможны на такой -скорости, если их осуществлять чисто программными методами процессором серии К580, поэтому для этих целей был разработан [57] специализированный аппаратный интерфейс, структурная схема которого показана на рис. 4.8. Интерфейс содержит буферы сопряжения с шиной микропроцессорной системы БА, БД, БУ, последовательный приемопередатчик данных У САПП, параллельные порты 'передачи сигналов управления и состояний на магнитофон ПУ, "С, синхронизатор Синх, модулятор МОД, демоду- .лятор ДМ, схему формирования межфайловых промежутков М水①,схему формирования сигналов управления (от пульта ручного управления) и запросов прерывания.
Запись сигнала в описываемом интерфейсе формирует :ся согласно требованиям стандарта ISO/TC97/CS11/35, -который определяет кодирование сигнала по фазе. Метод ^кодирования иллюстрируется временной диаграммой (рис. 4.9), из которой видно, что потенциал логической 1 кодируется положительным фронтом на кривой магнитного потока, совпадающим по направлению с фронтом тактовой последовательности; потенциал логического 0 — -отрицательным фронтом на кривой магнитного потока. Для модуляции выходного сигнала УСАПП по этому методу сигнал (d) УСАПП (рис. 4.9,6) стробируется сдвинутыми по фазе на 180° сигналами тактовой частоты 10 кГц (&, с). Полученные таким образом сигналы е, f «суммируются по mod 2 (исключающее ИЛИ)—сигнал g, а затем стробируются удвоенной тактовой частотой. Pg .зультат совпадения ——сигнал k ——подается на выходной ■триггер в счетном режиме. С триггера закодированная ин- &28
формация — сигнал m一подается на вход записи магнитофона.
При чтении с магнитофона информация (рис. 4.9,8) передается на приемник УСАПП (вход RXD) через де
-Ё<0^53-Ё<0^53TxDTxDАО...АО...RxDRxDDO・・.DO・・.I/OWI/OWСинхСинхЗапросы прерываниятЗапросы прерываниятМЖФМЖФРис. 7.8. Структурная схема интерфейса цифрового кассетного магнитофонаРис. 7.8. Структурная схема интерфейса цифрового кассетного магнитофонаБА ■БА ■МОДМОДФормирователь запросовФормирователь запросовIQ1sQl<gOHqoQoaaoduodxg «яяэIQ1sQl<gOHqoQoaaoduodxg «яяэI/ORI/ORБДБДПУПУдмдмRESETRESETПСПСПультручногоуправленияПультручногоуправленияОРОДОЛ^КЯ dOLM①нноуОРОДОЛ^КЯ dOLM①нноу
-Ё<0^53
-Ё<0^53
TxD
TxD
АО...
АО...
RxD
RxD
DO・・.
DO・・.
I/OW
I/OW
Синх
Синх
Запросы прерываният
Запросы прерываният
МЖФ
МЖФ
Рис. 7.8. Структурная схема интерфейса цифрового кассетного магнитофона
Рис. 7.8. Структурная схема интерфейса цифрового кассетного магнитофона
БА ■
БА ■
МОД
МОД
Формирователь запросов
Формирователь запросов
IQ1sQl<gOHqoQoaaoduodxg «яяэ
IQ1sQl<gOHqoQoaaoduodxg «яяэ
I/OR
I/OR
БД
БД
ПУ
ПУ
дм
дм
RESET
RESET
ПС
ПС
Пультручногоуправления
Пультручногоуправления
ОРОДОЛ^КЯ dOLM①нноу
ОРОДОЛ^КЯ dOLM①нноу
Модулятор. Сигнал проходит через каскады выделения |фронтов и срезов символов Ь, с. Во избежание ошибки в Приеме символа вследствие неравномерности скорости дви-
源ення ленты и ряда ^Мческими свойствами ^твами кассет, сигнал Дающими возможный /а сигнала на 土25% Э-319源ення ленты и ряда ^Мческими свойствами ^твами кассет, сигнал Дающими возможный /а сигнала на 土25% Э-319других причин, связанных с дина- магнитофона и механическими свой- стробируется импульсами, перекры- диапазон временного сдвига фрон- (е). Стробирующий импульс одно-
源ення ленты и ряда ^Мческими свойствами ^твами кассет, сигнал Дающими возможный /а сигнала на 土25% Э-319
源ення ленты и ряда ^Мческими свойствами ^твами кассет, сигнал Дающими возможный /а сигнала на 土25% Э-319
Информациям1「
Изменения магнитног потока
Оценкасовпаденияфазпри чтенииОценкасовпаденияфазпри чтениипри записи Тактовая последова-С С П 口 П Г~1 口 口 一 口 口 f" тельность
Оценкасовпаденияфазпри чтении
Оценкасовпаденияфазпри чтении
1 I F I L а)
а _п_гт_п_гт_п_п_п_п_ги~1_г
ь Л―П_—П 口 fl П 口 И ГТ п 口
e J 口 口 口 口 口 口 口 口 n
d I III T~
e ]III~I г
g1_П_1I_l1_ГП_П_Г1_
k口 ЦНП (IHfinn П П П
m f D ~+ 不 ~I+,
б)
a ―_IL_nП_ги~L b П П ППП П__ c nПППn__n__n_
e п_п_п_гьп_п_п_п_п f nn__n__n П
Рис. 4.9. Временные диаграммы интерфейса цифрового кассетного магнитофона:
а — принцип записи; б — модулятор; s — демодулятор
временно является сигналом снятия модуляции, так как он формируется таким образом, чтобы изменение фазы сигнала внутри символа не фиксировалось в выходном триггере. В результате совпадения сигналов (仇 е) или (с, е) получаем сигналы логического 0 или логической 1 (力 ^), * которые используются для управления /?5-тригге- ром. С выхода триггера сигнал подается на вход приемника УСАПП RX。(初
Для синхронной работы всего устройства необходим ряд дополнительных сигналов, описывающих частотные и временные характеристики информационного сигнала. Одним из таких сигналов является 《межфайл》,характеризующий длительность передачи массива данных и интервал между последовательно передаваемыми файлами. Так как в технических данных магнитофона ограничивается минимальная длительность 《межфайла》——53 мс (17,8 мм ленты) f а в режиме поиска лента проскакивает максимально на 100 мм после фиксации начала или конца сигнала, то время начала 《межфайла》после завершения информации выбирается меньше минимальной длительности ——6 мс, а длина его — 300 мс для удобства работы в режимах считывания и поиска.
По мере поступления информационных сигналов из демодулятора схема формирует и фиксирует потенциал логической 1, а по истечении 6 мс после среза последнего символа устанавливается в состояние логического 0, который поступает на схему параллельного интерфейса (порт Л С) и дает запрос на прерывание в процессор. Кроме 《межфайла》портом ПС аналогичным образом обслуживаются и другие управляющие сигналы: готовность магнитофона, сигналы с пульта ручного управления и т. д. Порт ПУ параллельного интерфейса целиком используется для формирования управляющих сигналов магнитофона и задает режим его работы.
Управление приемопередатчиком и параллельным интерфейсом производится программой-драйвером цифрового магнитофона. Исходной информацией для программы при записи являются имя, под которым файл информации должен быть записан на магнитную ленту, и адреса, указывающие на расположение файла в ОЗУ системы. В процессе записи программа формирует необходимый формат данных, запускает моторы магнитофона и приемопередатчик схемы сопряжения. При считывании файла с Магнитной ленты в ОЗУ системы программа также автоматически управляет двигателями и приемником схемы # 131
сопряжения. Исходной информацией при чтении является имя файла, по которому осуществляются его автоматический поиск на ленте и чтение.
Рассмотрим коротко принятую в описанном интерфейсе структуру записи файлов данных на ленту (рис. 4.10).
Длина Начальный запада адрес записиДлина Начальный запада адрес записиДо 16 Контрольная информацион- сумма нык байтов6)
Длина Начальный запада адрес записи
Длина Начальный запада адрес записи
/Еайт сннхроннзаиШ!
Запись ЗаписьКонцевая
12запись
>^__хЧ<онтрольнаяО О О О О
Имя файла сумма именив)
В КОИ-8
Рис. 4.10. Структуры записи файла на магнитной ленте:Рис. 4.10. Структуры записи файла на магнитной ленте:д — структура байта; б — структура блока; 5 — структура файла; г — структура синхронизаторад — структура байта; б — структура блока; 5 — структура файла; г — структура синхронизатора
Рис. 4.10. Структуры записи файла на магнитной ленте:
Рис. 4.10. Структуры записи файла на магнитной ленте:
д — структура байта; б — структура блока; 5 — структура файла; г — структура синхронизатора
д — структура байта; б — структура блока; 5 — структура файла; г — структура синхронизатора
Она включает в себя следующие компоненты: структуру бита, структуру байта, структуру блоков информационных данных и структуру файла. Структура бита полностью определяется методом модуляции и формируется в модуляторе. Структура байта формируется в БИС приемопередатчика н определяется запрограммированным режимом работы этой БИС. В описываемом интерфейсе использо-
ван режим, формирующий структуру байта согласно диаграмме на рис. 4.10,п. Каждый байт информации преобразуется в последовательность из 11 бит, причем первый, стартовый бит ■— нулевой, затем следует 8 информационных бит, бит четности и столовый бит единичного уровня. Структура блока информационных данных (одной записи) определяется программой-драйвером; она принята в полном соответствии с шестнадцатеричным стандартным перфоленточным форматом фирмы Intel (рис. 4.10,6), который состоит из байта двоеточия в коде КОИ-8, а затем в шестнадцатеричном упакованном формате — байтов длины записи, начального адреса записи, разделительного нуля, информации и контрольной суммы. Информация, размещенная до контрольной суммы, может содержать до 16 байт. Избыточность формата записи при этом равна 27%.
「 Структура файла, генерируемая программой-драйвером, показана на рис. 4.10,仇 При отсутствии информации на ленте записывается единичный уровень. Первым байтом файла является байт синхронизации, затем следуют 6 байт имени файла, из которых 5 байт ——имя в коде КОИ-8, шестой байт■— контрольная сумма имени. Далее следует информационная запись — блок данных, описан- 77рых выше. Число блоков не ограничивается. В конце •файла записывается блок признака конца файла, пред- 'ставляющий собой пять нулевых байтов. Структура байта синхронизации показана на рис. 4.10,乙 Файлы данных разделяются межфайловым промежутком, длительность ■ которого, как было описано выше, выбрана больше длины ^енты, проходящей за время торможения в режиме поиска файла.
二 Выбранная структура записи обеспечивает высокую достоверность информации и удобства каталогизации и порска файлов при сравнительно простой аппаратной и программной реализации интерфейса.
: Цифровые магнитофоны с высокой скоростью записи, считывания и поиска, с автоматическим управлением в некоторых случаях являются избыточными -по скорости передачи информации и возможностям поиска. В простых системах архивации более экономично применение более Дешевых устройств внешней памяти с ручным включением режимов записи, считывания и перемотки.
; Запись с тем же методом кодирования и с той же плотностью, что и для цифрового магнитофона, можно осуще- хтвить на бытовом кассетном магнитофоне. Скорость пе-
редачи информации при этом меньше в 6,7 раза и равна i,5 Кбод. На такой скорости возможны программное формирование сигнала записи и программная обработка сигнала считывания без аппаратных средств, кроме однобитового порта ввода-вывода. Программа-драйвер бытового магнитофона выполняет функции модулятора-демодулятора и УСАПП в схеме на рис. 4.8. Передача каждого полубита информации (в соответствии с кодированием по методу NRZI) происходит по сигналу от задающего таймера, что позволяет весьма точно соблюсти временные соотношения в вырабатываемом информационном сигнале. От момента получения прерывания до выдачи сигнала в порт всегда выполняется одно и то же число машинных циклов, поэтому на нестабильность информационного сигнала во времени влияют лишь нестабильность синхросигнала и положение во времени запроса прерывания относительно начала машинной команды, которая выполняется в момент поступления запросов.
Формат данных стандартный, шестнадцатеричный. Весь передаваемый файл состоит из байта-синхронизатора (55Н), имени файла (5 байт), защищенного контроль、 ной суммой (1 байт), и следующих друг за другом записей. Формат записи описан в предыдущем параграфе. Каждый байт передается в асинхронном формате: начинается с ну、 левого стартового бита и заканчивается битом дополнения до четности и единичным стоповым битом. Подпрограмма записи на бытовой магнитофон представляет собой независимую процедуру, которая в общем случае может быть использована для передачи информации по двухпроводной линии. Для запуска программы должен быть запущен таймер; регистры HL процессора должны быть загружены адресом начала специального управляющего блока, после чего производится вызов программы командой CALL. При записи на бытовой магнитофон для получения стандартной плотности записи 32 бит/мм сигнал таймера должен иметь период 328 мкс при длительности отрицательного импульса не более 10 мкс. Структура управляющего блока показана на рис. 4.11. ,
Блок управления содержит всю информацию, необходимую для формирования и выдачи на магнитофон записываемого файла. В нем содержатся имя, под которым файл должен быть записан на ленту, и пары адресов, указывающие расположение файла в ОЗУ системы. Если пара адресов не является последней, то за ней следует байт продолжения. Если пара адресов последняя, то за 134
ней следует байт окончания и программа записи HMWRT, передав информацию, находящуюся внутри этих адресов, заканчивает работу. Программа HMWRT состоит из трех процедур. Первая процедура выполняет служебную функцию и предназначена для формирования управляющего блока при работе с пульта. Эта процедура запрашивает
СимволокончанияСимволокончания■11I1Имя файла (5 байт)Адрес 1-1Адрес 2-1■Адрес 1-2Адрес 2-2 -11■Адрес 1-( п -1)Адрес 2・(п-1)iАдрес 1-пАдрес2— п■11I1Имя файла (5 байт)Адрес 1-1Адрес 2-1■Адрес 1-2Адрес 2-2 -11■Адрес 1-( п -1)Адрес 2・(п-1)iАдрес 1-пАдрес2— пБаётьх 12345Баётьх 12345Символы продолженияСимволы продолженияПары адресовПары адресов
Символокончания
Символокончания
■11I1
Имя файла (5 байт)
Адрес 1-1
Адрес 2-1
■
Адрес 1-2
Адрес 2-2 -
1
1
■
Адрес 1-( п -1)
Адрес 2・(п-1)
i
Адрес 1-п
Адрес
2— п
■11I1
Имя файла (5 байт)
Адрес 1-1
Адрес 2-1
■
Адрес 1-2
Адрес 2-2 -
1
1
■
Адрес 1-( п -1)
Адрес 2・(п-1)
i
Адрес 1-п
Адрес
2— п
Баётьх 12345
Баётьх 12345
Символы продолжения
Символы продолжения
Пары адресов
Пары адресов
^^ис. 4.11. Структура блока управления записью
--имя файла, пары адресов, а после окончания ввода пере- ■ Дает управление процедуре записи. Вторая процедура осу- :'ществляет передачу файла с именем и синхронизатором в шестнадцатеричном формате. Схема этой процедуры показана на рис. 4.12. Процедура передает файл побайтно и может быть использована для передачи информации в па' раллельном коде. Для последовательной побитной передачи каждого байта программа HMWRT обращается к процедуре XBYTE. Последняя добавляет к байту бит четности, Стартстоповое обрамление и передает полученные 11 бит 芻о полубитам в соответствии с протоколом кодирования NRZI. Схема процедуры XBYTE представлена на рис. 4.13. Следует отметить, что количество битов в передаваемом :процедурой XBYTE символе не обязательно должно рав- Пяться 8 (т. е. символ не обязательно должен быть байтом). Разрядность символа устанавливается при трансля-
ции процедуры при помощи псевдокоманды EQU и влияет на инициализацию счетчика байтов.
Подпрограмма чтения информации с бытового магнитофона HMRD полностью совместима с подпрограммой
Рис. 4.12, Схема процедуры побайтной передачи файла
записи HMWRT в отношении формата файла, записи, байта, системы кодирования и скорости работы. Подпрограмма HMRD состоит из трех процедур, одна из которых принимает отдельный бит, вторая—байт, а третья принимает записи, расшифровывает их шестнадцатеричный формат и размещает информацию в ОЗУ системы. Схемы этих трех процедур показаны соответственно на рис. 4.14—4.16.
В начале работы подпрограмма HMRD должна правильно определить положение фронтов сигнала, разделяющих соседние бнты информации, не перепутав эти фронты с фронтами, присутствующими внутри битов. Эта задача решается с помощью байта-синхронизатора» 136
^c. 4.13. Схема процедуры передачи байта
равного 55Н=01010101В. Вместе со стартстоповым обрамлением и битом дополнения до четности, а также с учетом того, что первым после стартового бита передается младший разряд, синхронизатор имеет ВИД 01010101001В. При кодировании NRZI в случае чередования 0 и 1 фронты внутри битов будут отсутствовать. •
))В начала программы организован цикл поиска синхрометки. При этом вся принимаемая с ленты информация проходит сквозь 6-раз- рядную маску, поразрядно вдвигаясь в нее справа. Шесть разрядов
)
)
Начало
{Пропустить интерв^£,р@р吧W。,75 口лнтельност^ pagpjaRg
Циклический поиск фронта
ОтрицательныйОтрицательныйположительньсй или отрицаположительньсй или отрицательный :тельный :Принятый фронт,Принятый фронт,П оложйтельныйП оложйтельныйЗагрузить ваккумулятор ОЗагрузить ваккумулятор ОЗагрузить- ваккумулятор 1Загрузить- ваккумулятор 1
Отрицательный
Отрицательный
положительньсй или отрица
положительньсй или отрица
тельный :
тельный :
Принятый фронт,
Принятый фронт,
П оложйтельный
П оложйтельный
Загрузить ваккумулятор О
Загрузить ваккумулятор О
Загрузить- ваккумулятор 1
Загрузить- ваккумулятор 1
Рис. 4.14, Схема процедуры приема битаРис. 4.14, Схема процедуры приема бита
Рис. 4.14, Схема процедуры приема бита
Рис. 4.14, Схема процедуры приема бита
Возврат с принятым битомв аккумуляторе
маски совпадают с шестью последними разрядами синхробайта, включая бнт четности и столовый бит. Все 11 разрядов синхрометки не учитываются, поскольку два-три начальных разряда теряются из- за емкостей, включенных в тракт сигнала бытового магнитофона.
В дальнейшем, войдя в режим синхронизации, программа поддерживает его автоматически. Это делается в процедуре TMBIT следующим образом. Обнаружив фронт между разрядами, процедур® TMBIT передает принятый разряд процедуре TMBYT, а затем, m считав время, равное 0,75 длительности разряда, циклически отыскивает очередной фронт. При таком режиме каждый очередной фр。” синхронизирует работу процедуры TMBIT. Кроме того, между пеРе дачей отдельных байтов в асинхронном режиме происходит никличе- ский поиск переднего фронта стартового бита, что позволяет не 蹤 кушать синхронность при колебаниях длины стоповой посылки.
Значения длины слова, дополнения до четности или нечетности, фазы сигнала устанавливаются во время трансляции программы. Для обращения к подпрограмме HMRD достаточно вызвать ее командой CALL без каких-либо предварительных установок. Объем программы- драйвера чтения и записи для бытового кассетного магнитофона — около 1 Кбайт.
(На*л01)
Г Инициализировать счетчики
Т
рнс 4.15* Схема процедуры приема байта
Очевидно, при невысоких требованиях и скорости обмена с внешней памятью использование бытового кассетного Магнитофона в измерительных приборах экономичнее, так 夺ак стоимость хранения дополнительного программного ^-Обеспечения значительно ниже стоимости специализированного аппаратного интерфейса, а бытовой магнитофон
139
Начало
Выдать сообщение о нормальном окончании
Рис. 4.16. Схема процедуры приема файла
дешевле цифрового. Однако следует учесть, что рядовой бытовой кассетный магнитофон не может выполнять контроль качества записи одновременно с записью, автомати- чесг<ий поиск файла при перемотке. Применение избыточных форматов записи, например формата Intel, позволяет тем не менее достигнуть высокой степени надежности при пользовании бытовым магнитофоном, однако при этом необходимо предусмотреть контрольное чтение всех записи-
Данные
Рис. 4.17. Структурная схема контроллера накопителей на гибких магнитных дисках
ваемых файлов в виде отдельной процедуры, следующей за каждой записью файла.
Так как без существенных переделок бытового магнитофона затруднителен автоматический поиск файла при перемотке, стандартным режимом работы являются автоматическая запись одиночных файлов и ручной поиск или установка начала файла оператором по механическому счетчику. Сейчас выпускаются бытовые магнитофоны и с автоматическим поиском: так, в кассетном магнитофоне N2554 NV Philips Gloeilampenfabrieker 8-разрядный микропроцессор Mostek 3870 генерирует или читает при перемотке маркер перед каждым сегментом записи. Как отмечается в [22], примененный программно-кодовый метод поиска точнее и надежнее механических систем поиска по счетчику и по числу пауз (последний также широко применяется в современной бытовой звукозаписывающей аппаратуре).
ИНТЕРФЕЙСЫ К НАКОПИТЕЛЯМ НА ГИБКИХ МАГНИТНЫХ
ДИСКАХ И НА МАГНИТНОЙ ЛЕНТЕ С ПАРАЛЛЕЛЬНОЙ ЗАПИСЬЮ
В больших информационно-измерительных комплексах объем программного обеспечения требует применения накопителей с быстрым доступом — на гибких магнитных
дисках (НГМД). Интерфейсы для нил, как правило, выполняются на основе специализированных контроллеров на жесткой логике или высокопроизводительных секционных процессоров. В функции контроллера НГМД входят поиск дорожки, сектора, знака в записи, проверка четности. На рис. 4.17 показана структурная схема контроллера фирмы NEC, который управляет четырьмя накопителями на гибких магнитных дисках. При большом объеме внешней памяти, прямо адресуемой микропроцессорами третьего поколения, управление внешней памятью обычно реализует ряд дополнительных функций: автоматическое распределение памяти между процессами (в многозадачном режиме), осуществление виртуальной памяти, дополнительный контроль с использованием помехозащищенных кодов и пр. При этом контроллер усложняется до уровня мнкро- ЭВМ. Так, в системе Z8000 с непосредственной адресацией до 48 Мбайт [95] схема контроллера включает в себя два ЗУ с произвольной выборкой для хранения карт сегментов памяти и карт процессов.
В ряде применений, например в системах автоматизации научного эксперимента, необходимо накопление больших массивов данных при высокой скорости пересылки информации. Однако высокая скорость доступа при этом не обязательна. В этих случаях целесообразно применение накопителей на магнитной ленте с параллельной записью.
Микропроцессорный контроллер для управления обменов измерительной информации
В отраслевой лаборатории МИНХ и ГП им. Губкина разработан контроллер, позволяющий осуществлять обмен информацией между общей шиной микроЭВМ «Электроника 60» и 9-дорожечными магнитными регистраторами типов РУЦ-2, ЕС-5017, ЕС-5003. Плотность записи в регистраторе РУЦ-2 может быть выбрана равной 32 или 64 имп/мм. При скорости движения магнитной ленты 2 м/с обмен данными может осуществляться с быстродействием 64 илн 128 кбайт/с; при использовании накопителя на магнитной ленте (НМЛ) ЕС-5003 быстродействие составляет 10 кбайт/с. Специализированный накопитель РУЦ-2 используется для записи больших массивов данных——сейсмограмм. Сейсмограмма разбита на блоки, разделенные меткой (ТМ). В этом случае запись или чтение блока не останавливает движения ленты, и для останова введена специальная команда.
Контроллер выполняет следующие операции: 1) запись данных с вычислением поперечной и продольной четностей с одновременным считыванием записанных данных и их контролем по поперечной четности; 2) считывание данных с осуществлением тех же видов контроля; 3) запись метки файла ТМ; 4) шаг на блок вперед и назад; 5) перемотка ленты и ее останов.
Высокое быстродействие при обмене информацией потребовало использования быстродействующих ММП. Таковыми являются микропроцессорные наборы серий К589 и К1804. Достоинство двухразрядного ЦПЭ К589ИК02 — раздельные шины адреса и данных — не может быть использовано в контроллере из-за совмещения адресных шин и шин данных в интерфейсе «Электроника 60》,а недостатки ——многоэтапный характер выполнения таких простых команд, как пересылки, отсутствие ряда операций, например вычитания — приводят к неоправданному увеличению объема микропрограмм и снижению быстродействия. Центральный процессорный элемент типа К1804ВС1 является 4-разрядной секцией, в которой можно за один такт выполнять операции над содержимым любых двух источников, в том числе регистров сверхоперативного ЗУ (СОЗУ), и записывать результат в один из них или выдавать на выходную шину данных. Число типов операций одинаково в обеих секциях, но возможность параллельной обработки позволяет значительно сократить длину микропрограммы и повысить производительность устройства. Кроме того, узлы микропрограммного управления (УМУ) серии 1804 (1804ВУ1, 1804ВУ2) имеют также преимущества перед аналогичными узлами серии 589 (К589ИК01). Действительно, емкость адресуемой памяти последней микросхемы равна 512 словам и ее увеличение невозможно без дополнительных аппаратных средств. Условные переходы возможны лишь в определенных столбцах памяти, что в свою очередь ограничивает полное использование даже этого объема памяти. Узлы микропрограммного управления серии 1804 допускают неограниченное наращивание адресуемой памяти. Одна схема позволяет адресоваться к 16 ячейкам памяти, две ——к 256, три ——к 4096 и т. д. В самом УМУ предусмотрен стек, что позволяет легко организовывать циклы и обращение к подпрограммам. Поэтому контроллер выполнен авторами на схемах 1804 и 155 серий.
Структурная схема контроллера представлена на рис 4.18. Микропроцессор ЦПЭ содержит четыре секции 1804ВС1, так как общая 143
шина «Электроника 60» содержит 16 разрядов. Его выходы и входы подключены к внутренней двунаправленной 16-разрядиой шине данных. Ее связь с общей шиной осуществляется через шинные формирователи ШФ, управляемые соответствующими разрядами микрокоманды. Согласование работы контроллера и микроЭВМ осуществляет узел интерфейса УИ. В его состав входит селектор адреса, регистр адреса и дешифратор адреса. При обращений к контроллеру селектор вырабатывает признак обращения, который вместе с адресом вызы-
Общая шина микроЭВМ
12 Жп12 Жп1616
12 Жп
12 Жп
16
16
Ряс, 4.18. Структурная схема контроллера обмена информацией с магнитным регистратором
ваемого регистра загружается в регистр адреса. По этому сигналу УМУ осуществляет переход па подпрограммы чтения или записи выбранного регистра. Отметим, что регистры СОЗУ схем ЦПЭ используются микроЭВМ в качестве регистра команд контроллера (адрес 172422), расширителя счетчика байтов (172336), регистра текущего адреса памяти (172526), регистра состояния накопителя и контроллера (172420). Регистры предназначены для управления процессом обмена информацией в режиме прямого доступа к памяти.
Узел микропрограммного управления состоит из двух микросхем 1804ВУ2, схемы управления следующим адресом 1804ВУЗ и 16-вхо- дового мультиплексора управления переходом. Узел адресует микропрограммное ПЗУ, выполненное на 12 микросхемах типа К556РТ4. Длина слова микрокоманды составляет 48 разрядов; оио разбито на восемь полей После выборки команда помещается в конвейерный регистр ^Pг.
Накопитель на магнитной ленте НМЛ связан с внутренней двунаправленной шиной контроллера при помощи регистра команд нако 144
■цителя РКН、регистра состояния накопителя РСН и шинных формирователей для управления направлением движения информации. Значение разрядов РСН непосредственно используется при формировании слова состояния накопителя и контроллера.
Синхронизация работы контроллера осуществляется синхрогенератором, тактовая частота которого равна 4 МГц.
При записи информации в НМЛ предварительно за- "гружаюгся начальные данные в управляющие регистры (регистр состояния, регистр текущего адреса памяти, счетчик байтов). После приема сигнала《Пуск》и появления 1 в нулевом разряде регистра команды, контроллер включает прямое движение ленты, отсчитывает программно обеспеченную стартстоповую задержку и получает в режиме прямого доступа к памяти ЭВМ первый байт данных. В ЦПЭ подсчитывается циклическая сумма, бит по- перечного паритета формируется аппаратно. Затем байт аересылается для записи в НМЛ. При этом содержимое счетчика байтов уменьшается на 1, а регистр текущего Адреса увеличивается на 1 и подается запрос на запись Следующего байта. Запись производится до обнуления Летчика байтов, после чего записываются результаты Продольного и циклического контроля. Затем программно формируется межблочный промежуток, при зтом НМЛ ^ходится в режиме стирания. При выполнении команды йписи контроллер следит за поперечным паритетом считываемой с ленты информации и фиксирует ошибки в ре- Естре состояния.
При считывании инофрмации из НМЛ первоначально щлполняются такие же операции, как и при записи. После окончания стартстоповой задержки контроллер переходит в режим ожидания байта из НМЛ. После приема байта контроллер осуществляет продольный, поперечный »-.циклический контроль, а затем пересылает байт по адресу, указанному в регистре текущего адреса памяти также в режиме ПДП. Снова производится декрементирова- №е счетчика байтов и инкрементирование регистра теку- 岷го адреса. Затем цикл повторяется до обнуления счет- ?Шка байтов. После считывания всего массива данных. 4>оизводится проверка правильности считывания по дан- ВЫм продольного и циклического контроля.
[好[好Структура контроллера позволяет использовать его для( Йяполнення и других операций с данными, к которым он ймеет доступ.
[好
[好
4319
ИНТЕРФЕЙС К АНАЛОГО-ЦИФРОВОМУ ПРЕОБРАЗОВАТЕЛЮ
В § 1.5 был описан простой интерфейс к АЦП, построенному на основе ЦАП и компаратора. Процедура поразрядного уравновешивания выполняется в этом устройстве программными методами: процессор задает и модифицирует код ЦАП, опрашивая после каждого очередного шага выход компаратора. Быстродействие этого устройства определяется в основном длительностью прохождения программы (время формирования одного отсчета АЦП составляет 500 мкс, что соответствует максимальной частоте квантования 2 кГц).
В однокристальных АЦП типа К572ПВ1 и аналогичных ему процедура поразрядного уравновешивания выполняется аппаратными средствами, встроенными в интегральную микросхему АЦП; для обеспечения работы АЦП используются внешний тактовый сигнал, частота которого вдвое выше частоты формирования последовательных раз、 рядов кода, и сигнал запуска. Режим обмена процессора с однокристальным АЦП происходит так: АЦП запуска' ется от программируемого таймера и затем производится считывание выходных данных от АЦП процессором по сигналу прерывания, который формируется из сигнала го* товности отсчета АЦП.
Режим обмена определяет следующая программа на языке ассемблера К580 (предполагается, что режим таймера установлен ранее):
Длительность
коман дно гоцикла в тактах
10 ADCi: LXI Н, ADRO; Установка начального адреса массива данных
7
MVI В, VOL
;Установка счетчика массива (《256)
ADC2: EI
;Инициализация прерывания
HLT
;Останов, ожидание прерывания
MOV M, A
;Пересылка отсчета в память
INX H
;Инкрементация текущего адре
са массива
5
DCR В
;Декрементацня счетчика масси-
ва
10
JNZ ADC2
;Замыкание цикла
7
HLT
;Конец программы сбора
Ю IADC: IN ' port ADC ; Обслуживание прерывания, ввод отсчета от АЦП
10RET; Возврат в основную программу
Минимальная длительность считывания одного отсчета определяется длительностью обслуживания прерывания и длительностью цикла ADC2; с учетом времени реакции на прерывание в описанной программе она составляет 69 тактов, что при тактовой. частоте процессора 2 МГц соответствует 31 мкс; максимальная частота программного обмена при этом 32,2 кГц.
Если однокристальный АЦП используется для ввода информации по нескольким каналам — через мультиплексор, то к программе добавляются команды переключения кода мультиплексора. Если сбор данных от АЦП идет на ■частоте, значительно меньшей максимальной частоты программного обмена, то одновременно со сбором данных можно выполнять программу предварительной обработки, например масштабирование или калибровку. При этом после инициализации прерывания (см. предыдущую программу) следует вместо останова перейти в программу Яредварительной обработки, а после прерывания выйти из данной программы в подпрограмму обслуживания прерывания. Если цикл обработки полностью завершается веред вводом очередного отсчета и все результаты находятся в оперативной памяти, то все время, оставшееся от кввода, может быть использовано для обработки. Если об- работка продолжается в момент прерывания для очередного ввода, то необходимо сохранить значения регистров в стеке и восстановить их после конца ввода отсчета. Эти функции выполняет часть программы, приведенная ниже:
Длительность командного 一宴кла в тактах
11 11 и
11
10
IADC: PUSH Н PUSH D PUSH В PUSH PSW IN port ADC
;Обслуживание прерывания
;Сохранение регистров в стеке
;Ввод отсчета от АЦП
10
POP PSW
;Восстановление состояния ре-
гистров
10
POP в
10
POP D
10
POP H
4
EI
;Инициализация прерывания
10
JMP FONPR
;Выход в фоновую программу
Дополнительные операции
сохранения и восстановле-
Йия регистров занимают 84
такта, что соответствует
父 мкс.
Это больше времени
программного ввода; поэто-
Mv такой режим переключения программы обработки и программы ввода невыгоден по временным затратам.
“/но значительно повысить скорость программного обмена с АЦП в микропроцессорной системе на основе ,серин К580, применив ряд искусственных приемов. Вмес- т。стандартных команд ввода IN port можно применить •более быстрые команды считывания из памяти; адрес ДНП при зтом рассматривается как адрес япнки памяти («арТ1и)ованный» ввод). При этом часть адресного кода может использоваться для переключения мультиплексора, ■тогда нет необходимости в специальных комгндах для пе- пеключения мультиплексора. Занесение информации из процессора в память можно организовать с помощью указателя стека; запуск АЦП проводить не от/анмера, а непосредственно от процессора. Пример такой программы в ассемблере К580 приведен ниже.
Длительность
一 командногодикла в тактах
о оо оADC1: LXI H, ADADC; LXI SP, ADRM;ADC1: LXI H, ADADC; LXI SP, ADRM;55MVI B, VOL ADC2: MOV D MDCR ВMVI B, VOL ADC2: MOV D MDCR В4 4 4 44 4 4 4р р р рооооNNNNр р р рооооNNNNУстановка адреса АЦПУстановка в указателе стека максимального адреса данных Установка счетчика массива (W256)Ввод отсчета от АЦП, запуск АЦПДекрементация счетчика массиваВременная задержка для выравнивания цикловУстановка адреса АЦПУстановка в указателе стека максимального адреса данных Установка счетчика массива (W256)Ввод отсчета от АЦП, запуск АЦПДекрементация счетчика массиваВременная задержка для выравнивания циклов
о о
о о
ADC1: LXI H, ADADC; LXI SP, ADRM;
ADC1: LXI H, ADADC; LXI SP, ADRM;
5
5
MVI B, VOL ADC2: MOV D M
DCR В
MVI B, VOL ADC2: MOV D M
DCR В
4 4 4 4
4 4 4 4
р р р рооооNNNN
р р р рооооNNNN
Установка адреса АЦП
Установка в указателе стека максимального адреса данных Установка счетчика массива (W256)
Ввод отсчета от АЦП, запуск АЦП
Декрементация счетчика массива
Временная задержка для выравнивания циклов
Установка адреса АЦП
Установка в указателе стека максимального адреса данных Установка счетчика массива (W256)
Ввод отсчета от АЦП, запуск АЦП
Декрементация счетчика массива
Временная задержка для выравнивания циклов
MOV Е, М ; Ввод отсчета от АЦП, запуск 'АЦП
PUSH D : Пересылка в стековую память jNz ADC2; Замыкание цикла
цикле ADC2 принимаютсяцикле ADC2 принимаютсяН[ 7: Конец программы сбора
цикле ADC2 принимаются
цикле ADC2 принимаются
В этойВ этойпрограмме в одном _
В этой
В этой
:из АЦП и пересылаются в память два отсчета. Заполнение памяти данных идет с максимального адреса массива данных в сторону уменьшения адреса. Запуск АЦП производится сразу после считывания очередного отсчета (например, срезом импульса считывания). Для выравнивания времени периодов считывания в программу введены четыре команды NOP (нет операции); при этом период считывания от АЦП равен 28 тактам, что соответствует 14 мкс* Частота программного ввода при этом равна
71,4 кГц, т. е. более чем в 2 раза выше, чем в стандартном режиме обмена по прерыванию.
В приведенных выше программах ввода данных с АЦП не учитывалась длительность формирования отсчета АЦП с момента запуска; эта длительность должна быть не больше длительности программного цикла, т. е. от 14 до 31 мкс для рассмотренных программ. При более медленных АЦП основным ограничением скорости шрограммного обмена является время формирования отсчета АЦП.
В ряде систем требуется выполнить ввод данных от АЦП со скоростью большей, чем допускает программный обмен. Так, в вычислительной системе для обработки сигналов гамма-камеры производится анализ амплитуды импульсов с выходов гамма-камеры с максимальной частотой до 300 кГц, с одновременной визуализацией области памяти, в которой происходит накопление импульсов, п одновременной процессорной обработкой накапливаемой информации. Структурная схема узла АЦП, выполняющего эти функции, представлена на рис. 4.19,а. В нее входят два однокристальных быстродействующих АЦП, работающих по принципу непосредственного сравнения, например 1107ПА1 [1]—ОАЦП1, ОАЦП2, буферы входных сигналов 5/, Б2, формирователь импульсов запуска ФИЗП, формирователь импульсов записи и считывания ФИЗС, схема инкрементации ИНК, коммутатор адресов видеозапоминающего устройства КОМ, схема задания режима работы СЗР и адресный селектор АС. Узел АЦП связан со сдвоенным видеозапоминающим устройством ВЗУ1, ВЗУ2, с интерфейсом полутонового дисплея и с системной микропроцессорной шиной.
Работа устройства синхронизируется тактовыми сигналами микропроцессора 01, 02. Временная диаграмма работы устройства показана на рис. 4.19,6. На входы устройства подаются импульсы X, У, Z с гамма-камеры. Амплитуды имшульсов X, У определяют координаты ячейки памяти, содержимое которой должно быть увеличено на 1 ; импульс Z используется для запуска АЦП. Последовательность операций при запуске схемы от импульса Z следующая: коммутатор адресов КОМ закрывает канал связи матричного дисплея с ВЗУ, буфер связи АЦП с ВЗУ коммутируется па считывание информации в схему инкрементации, причем адрес считываемой ячейки формируется из отсчетов ОАЦП1, ОАЦП2. После считывания в схеме инкрементации ИНК к считанному коду прибавляется 1; затем буфер связи АЦП с ВЗУ коммутируется на запись.
Б1Б1ОАЦП1ОАЦП1OUW с-аэкрнп ①HQMOOUW с-аэкрнп ①HQMOВЗУ1ВЗУ2ВЗУ1ВЗУ2Рис. 4.19. Структурная схема (а) и временная диаграмма (6) узла АЦП для гамма-камерыРис. 4.19. Структурная схема (а) и временная диаграмма (6) узла АЦП для гамма-камеры
Б1
Б1
ОАЦП1
ОАЦП1
OUW с-аэкрнп ①HQMO
OUW с-аэкрнп ①HQMO
ВЗУ1
ВЗУ2
ВЗУ1
ВЗУ2
Рис. 4.19. Структурная схема (а) и временная диаграмма (6) узла АЦП для гамма-камеры
Рис. 4.19. Структурная схема (а) и временная диаграмма (6) узла АЦП для гамма-камеры
Интерфейс " полутонового 口区сплел
Весь цикл занимает 1,5 мкс При отсутствии импульсов с гамма-камеры ВЗУ подключено к интерфейсу полутонового дисплея; его содержимое может просматриваться на экране ЭЛТ и анализироваться оператором.
Наличие сдвоенного ВЗУ позволяет работать в режиме «пинг-понг»; таким способом можно осуществить режим обработки, близкий к режиму реального времени.
ИНТЕРФЕЙС К ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНОЙ СИСТЕМЕ
Построение межприборного интерфейса в информационно-измерительной системе производится на основе унифицированных решений по числу и функциональному назначению шин системы, функциям приборов, входящих в систему, и типу сигналов обмена. Комплекс этих унифицированных решений описывается стандартами на интерфейсы информационно-измерительных систем. Наиболее распространенными стандартами в настоящее время являются стандарты КАМАК и МЭК. В этом параграфе рассмотрены некоторые особенности организации интерфейса измерительных приборов со встроенными микропроцессорами в рамках этих стандартов.
Стандарт КАМАК применяется прежде всего для разветвленных систем сбора информации с большим числом первичных преобразователей; первоначально он был разработан для использования в ядерно-физических экспериментах. В стандарте КАМАК унифицируется конструкция: вся система строится из каркасов (крейтов), устанавливающихся в стойки; в каждом крейте размещаются 25 установочных мест (станций) для вставных модулей, один из модулей ——контроллер крейта. Все размеры крейтов и вставных модулей унифицированы. Магистраль крейта состоит из 81 сквозных шин, проходящих через все модули, и двух индивидуальных шин связи каждого управляемого модуля с контроллером крейта. Внутрикрейтные связи образуют горизонтальный интерфейс системы КАМАК (Оа- taway). Крейты связываются между собой и с центральной ЭВМ верхнего уровня. Межкрейтные связи проходят через контроллеры крейтов и строятся по принципам ветви (в каждую ветвь может входить до семи крейтов с дополнительным контроллером ветви) или замкнутого кольца. Эти связи образуют вертикальный интерфейс системы КАМАК (Branch highway). Упрощенная структура системы КАМАК с двумя ветвями показана на рис. 4.20.
反标病£'
*-
.Контроллер крейта
т、
1
:JN Адреса модулей
п
а
т QHKnQW
т w©ow
те由 艮口 OW
у
me qgAHQW」-
二 R А Су^адрес (4- шины)
:2D F Код операции (5 шин)
т S 丄 Строб 1
—S2 Стрсб 2、
:R W Запись (24 шины)
R R Чтение (24 шины)
;>L Запрос на обслуживание
*
В Занятость
Q Ответ
X Готовность
Z Запуск
• С Сброс
I Запрет
Контроллер крейта
(1|дштт етт) иях'ф坦 山口Bd&gLBJV
ЦентральнаяЭВМ
Системный контроллер ветви
контроллер ветви 2
Рис. 4.20, Структура системы в стандарте КАМАК 152
Как видно из этого краткого описания, структура КА- МАК является пирамидальной и включает в себя от двух до четырех уровней: верхний уровень ——ЭВМ, второй —— контроллеры ветвей, третий ——контроллеры крейтов, четвертый——управляемые модули; однокрейтные системы — двухуровневые. Основной принцип, заложенный в системе КАМАК,——принцип использования центральной ЭВМ; направление потоков команд и информации жестко задано.
Основной недостаток такой структуры — большая аппаратурная избыточность и наличие сложной системной части практически в каждом модуле, что значительно увеличивает стоимость интерфейса и всей системы в целом. Кроме того, невозможен внутрикрейтный обмен информацией помимо контроллера, что делает неудобным построение в рамках крейта систем с несколькими управляющими блоками. Это не исключает применения в модулях КАМАК микропроцессорных устройств. Интерфейс при этом получается достаточно простым: например, две 24-бнтовые информационные шииы обеспечивают прямую стыковку с 16-битовой адресной магистралью микропроцессора К580 и стыковку через буферы с двунаправленной 8-6нто- вой магистралью данных; для обмена достаточен небольшой объем аппаратного обеспечения — около двух-трех портов ввода-вывода. Следовательно, микропроцессорные устройства могут получить широкое распространение в КАМАК как в качестве управляемых модулей, осуществляющих сложные алгоритмы обработки информации, так н в качестве контроллеров крейтов и контроллеров ветвей.
' Однако конструктивные и энергетические ограничения стандарта .КАМАК делают невозможным построение в рамках этого стандарта широкой гаммы серийных измерительных приборов различного на- •■ значения. Аппаратуру в стандарте КАМАК целесообразно применять с первую очередь при создании систем сбора и обработки информации высокой сложности с участием центральной ЭВМ. В ближайшем будущем ожидается вытеснение стандарта КАМАК более производительными стандартными интерфейсами второго поколения, предназначенными специально для программно-модульных многопроцессор ннх систем [120]. В интерфейсах второго поколения стандартизуются 'кроме конструкции и электрических сигналов логические протоколы связи модулей и элементы программного обеспечения: адреса и назначение управляющих регистров в блоках, тестовые программы, подпрограммы для выполнения основных операций на магистрали и пр. Эти интерфейсы обеспечивают повышенное быстродействие, возможность работы как с быстрыми, так и с медленнымми устройствами, ■Параллельную работу многопроцессорных систем, гибкие методы адресации.
Так, например、 в стандарте E3S при сохранении конструктивных Принципов КАМАК (внутрикрейтные и межкрейтные связи) допу-
скается наличие в крейте до 20 узлов следующих типов: ведущий узел, ведомый узел, узел связи, узел-арбитр. Внутрикрейтная магистраль может быть занята любым ведущим узлом с разрешения арбитра. Межкрейтная магистраль доступна по приоритету по схеме «дейзи-цеиочки», через узел связи (аналогично описанию для шины Multibus в § 1.5). Длительность рабочего цикла в стандарте E3S составляет 0,5 мкс, что совместимо с тактовой частотой микропроцессора К580ИК80.
В быстродействующей системе FASTBU'S, которая строится на основе ЭСЛ-схем (тактовая частота системы 10 МГц), структурной единицей является магистраль связи 《сегмент», к которой присоединяются ведущие и ведомые узлы; «сегменты» соединяются между собой узлами связи в произвольную конфигурацию.
Таким образом, в дальнейшем, по-видимому, построение микропроцессорных информационно-измерительных систем высокой сложности, основанных на конструкциях типа крейтов, будет происходить на основе интерфейсов второго шоколения, аналогичных стандарту E3S для систем среднего быстродействия или FASTBUS — для систем высокого быстродействия.
Что касается объединения в информационно-измерительную систему серийных измерительных микропроцессорных приборов с индивидуальной конструкцией, очевидно, в ближайшем будущем в качестве основного интерфейсного стандарта сохранится приборный интерфейс МЭК (аналоги этого интерфейса известны также под названиями стандартный интерфейс НР-1В и стандартный интерфейс IEEE-488; в СССР ГОСТ 26.003-80).
В стандарте МЭК нет конструктивных ограничений, кроме вида используемого разъема и максимальной длины соединительных проводов (до 20 м); каждый прибор может быть использован как автономный. Унифицируются число и функции магистральных шин и временные характеристики сигналов. Магистраль содержит 16 шин} из них: восемь информационных шин для передачи данных, адресов и команд (DI01 — DI08);
три шины согласования приема-передачи (DAV — выдача данных на шину, NRFD — не готов к приему, NDAC — нет приема данных);
пять шин управления (IFC — сброс, ATN — внимание, REF — разрешить дистанционное управление, SRQ — запрос обслуживания, EOI — конец передачи).
В стандарте унифицированы 47 кодов сообщений. Допускается подключение к магистрали до 15 приборов 154
I (включая и ЭВМ). Передача информации происходит асинхронно побайтно с максимальной скоростью до 1 Мбайт/с.
Набор интерфейсных функций прибора в стандарте МЭК определяется видом активности прибора в магистрали. Различают три основных вида активности: прибор — источник, который генерирует измерительную информа- цию; прибор ——приемник, который воспринимает измерительную информацию для обработки; прибор ——контроллер, который управляет работой интерфейса. Один и тот же прибор может обладать несколькими видами активности; каждому виду активности соответствует своя комбинация интерфейсных функций; каждая интерфейсная функция выполняется своим интерфейсным функциональным блоком. Такой подход значительно упрощает разработку -^интерфейса для конкретного прибора.
Всего в стандарте МЭК унифицировано 10 интерфейсных функций:
согласование передачи данных (SH), необходимое для любого передатчика. Обеспечивает побайтную асинхронную передачу по шинам DIG1——DI08, вырабатывает сигнал по линии DAV и воспринимает :сигналы по линиям NRFD, NDAC;
согласование приема данных (АН), необходимое для любого приемника. Обеспечивает побайтный асинхронный прием по шинам DI01―DI08, воспринимает сигнал по линии DAV и вырабатывает сиг- -налы по линиям NRFD, iNDAC;
передача данных (Т), необходимая для любого передатчика. ;,К этой функции относится и передача информации о состоянии прибора. В состав интерфейса входят регистр временного хранения ин- формации, магистральные коммутируемые буферы, дешифраторы ад- ' реса и конманд, поступающих на данный прибор. Интерфейс управляет-
-ся от устройства, осуществляющего функцию SH. При многобайтной передаче интерфейс вырабатывает сигнал «последний байт» по ли- :.нии EOI;
прием данных (L), необходимый для любого приемника. В со- .став интерфейса входят регистр временного хранения информации, коммутируемые буферы этого регистра с внутренней схемой прибора, дешифраторы команд и адреса, поступающих на данный прибор. Ин- :терфейс управляется от устройства, осуществляющего функцию АН;
запрос на обслуживание (SR)—сообщение контроллеру о не- ' обходимости обслуживания данного прибора. Затем последует опрос со стороны контроллера для выявления прибора, пославшего запрос; при этом прибор должен выставить сигнал на шине DI07. Таким образом, в функции интерфейса входит выработка сигнала на шине SRQ И ответного сигнала при опросе на линии DI07;
параллельный опрос (РР)——ответный сигнал контроллеру на запрос о состоянии группы приборов (до восьми). Интерфейс должен при этом воспринять сигналы по линиям ATX и EOI и сформировать ответный сигнал на одной из линий DI; за каждым прибором из группы закреплена индивидуальная линия;
очистка прибора (DC)——сброс прибора в начальное состояние; сигнал проходит по линии IFC;
запуск прибора (DT);
переключение управления с местного (с панели прибора) на дистанционное (от магистрали МЭК) и обратно (RL). Функции 5——9 относятся как к источникам, так н к приемникам;
управление интерфейсом (С)—схема осуществляет выработку адресов, команд, сигналов управления, прием и интерпретацию сообщений с магистрали. Контроллер формирует до 31 адреса источников и до 31 адреса приемников. Одному физическому прибору могут соответствовать несколько адресов, что дает возможность обращаться к отдельным частям прибора. Все источники имеют индивидуальные адреса, но несколько приемников могут иметь один адрес.
Из приведенного перечня интерфейсных функции еле* дует, что микропроцессор среднего быстродействия типа К580ИК80 может обеспечить обмен с магистралью с помощью двух программируемых портов параллельного ввода-вывода, например с помощью специализированного параллельного интерфейса К580ИК55 с магистральными буферами. Центр тяжести разработки интерфейса при этом переносится на программное обеспечение. Программа-драйвер интерфейса должна выполнить протокол связи для заданного вида обмена информацией; при этом следует учесть, что при чисто программной реализации интерфейса скорость передачи информации будет далека от максимальной (1 Мбайт/с). Действительно, передача 1 байта с процедурой согласования потребует выполнения 1передатчи- ком и 'приемником последовательности операций, показанной на рис. 4.21. В программе для К580ИК80 эта последовательность займет около 100 мкс; соответственно скорость передачи информации при этом снизится до 10 кбаит/с. Но 匕 это значение относится только к наиболее простому случаю заранее заданного жесткого формата сообщения. Между тем в развитой информационно-измерительной системе приборный интерфейс должен обладать определенным уровнем «интеллекта» и понимать сообщения в гибком формате — с произвольным числом байтов в блоке, с различными функциональными значениями байтов внутри блока.
Передатчик Начало 屮 一一.
Приемник
Начало
Уст. DAV=1
Да
Нет
Послать данные
NRFD=1
NDAC=1
Ошибка
,Конец )
ycT,NRFD =丄
〔Уст. NRFD=O NDAC=O
Готов
принять
данные
Да
NRFD=1
Да
N F1FD = 1 I при готовности всех приемников^
"-<Cdav = o?
^
Да
Прием данных
принимать 」
-NDAC=O
Нет^^^
пока все
Уст. DAV=O
Уст. NRFD=O
Да
приемники не прггмут
Данные можно Г"
Уст. NDAC-1
Уст. DAV=1
G Конец ・)
Да
L на линии Нет
Есть еще
данные
Рис. 4.21. Схема процедуры согласования приема передачи
1 Данных нет
Да
Yct.NDAC = O
办 Нет
DAV=1 ?
В связи с этим следует заметить, что стандарт МЭК ие определяет языка передачи сообщений через шииу и форматов данных имеется лишь рекомендация о применении набора символов ASCII. В процессе развития аналогичного стандарта IEEE-488 появляется ряд рекомендаций по унификации форматов данных, запросов контроллера, значений отдельных битов в байте состояния и пр. [42]. Унификация гибких форматов производится с помощью синтаксических диаграмм. Например, в стандарте фирмы Tektronix [25] передача чисел унифицируется с помощью трех форматов: RX1 — формат целого числа; NR2 — формат вещественного числа; NR3 — формат вещественного числа с показателем степени.
Формат целого числа изображается синтаксической диаграммой на рис. 4.22,а, которая показывает, что целое число может начинаться любым числом пробелов, за которыми следует либо плюс, либо минус, либо не следует никакого знака, после чего следует любое число цифр. Диаграммы могут объединяться, как показано на иис. 4.22,6——г для форматов «Число», «Заголовок» (для идентификации смысла передаваемого числа), «Число с заголовком». В [42] приводятся рекомендации по формату полей данных и записей. Поле данных определяется как последовательность заголовка, числа и разделителя; группы измерений разделяются символами CR (возврат каретки), LF (перевод строки) или NL (новая строка).
Таким образом, язык синтаксических диаграмм позволяет описать сложные форматы сообщений. От синтаксических диаграмм достаточно просто перейти к схемам программ обработки форматов. Однако очевидно, что с повышением сложности формата синтаксический анализ сообщений программными методами будет значительно замедлять передачу информации по магистрали.
Поэтому отдельные элементы протокола связи может оказаться выгодным выполнять аппаратными методами для повышения быстродействия. В [106] описана простая схема для аппаратного разделения данных и адресов, передаваемых по шине IEEE-488 (аналог шины МЭК) • Передача при этом идет в шестнадцатеричном формате; разряды DI01 ——DI04 используются для передачи информационных шестнадцатеричных символов; разряды DI05 — DI08 используются для интерпретации этой информации как данных или адресов.
Более универсальным решением является применение специализированных контроллеров шины, которые строятся на основе высокопроизводительных микропроцессоров третьего поколения. Например, контроллер Fluke 1720 на основе 16-разрядного микропроцессора TMS 9981, управляющий двумя шинами IEEE-488, описан в [41]. При ис- 158
159
мн фирмами. Имеется тенденция к выполнению этих интерфейсов в виде специализированных БИС, как, например, HEF4738 фирмы Philips [80].
Интерфейс к шине IEEE-488, выполненный в виде набора специализированных БИС фирмы Intel, имеет структуру, показанную на рис. 4.23. Он состоит из БИС приемо-
Шина микропроцессорной системы
Интерфейсные функции SH,AH,TE,LE,SR, RL,PP,DC,DTИнтерфейсные функции SH,AH,TE,LE,SR, RL,PP,DC,DTunR d ① шюагноуunR d ① шюагноугг8 регист- 8 регистров записи ров чтения8 регист- 8 регистров записи ров чтенияВнутренняя шилаВнутренняя шила8291Приеме- передатчик8291Приеме- передатчик82918291ДекодерсообщенийДекодерсообщений① £ннви① £ннви88寸1笛w出I W^MKa d① imodiHoy 767888寸1笛w出I W^MKa d① imodiHoy 7678
Интерфейсные функции SH,AH,TE,LE,SR, RL,PP,DC,DT
Интерфейсные функции SH,AH,TE,LE,SR, RL,PP,DC,DT
unR d ① шюагноу
unR d ① шюагноу
г
г
8 регист- 8 регистров записи ров чтения
8 регист- 8 регистров записи ров чтения
Внутренняя шила
Внутренняя шила
8291
Приеме- передатчик
8291
Приеме- передатчик
8291
8291
Декодерсообщений
Декодерсообщений
① £ннви
① £ннви
88寸1笛w出I W^MKa d① imodiHoy 7678
88寸1笛w出I W^MKa d① imodiHoy 7678
Трансиверы 8293
⑪
Шина IEEE—488
Рис. 4.23. Структурная схема интерфейса к шине IEEE-488
передатчика 8291, БИС контроллера шины IEEE-488 8292 и двунаправленных буферов — трансиверов 8293. При необходимости прямого доступа к памяти в этот набор может включаться контроллер прямого доступа 8257.
Внутренняя структура БИС приемопередатчика включает в себя восемь однобайтовых регистров чтения, восемь однобайтовых регистров записи, декодер сообщений и узел выполнения интерфейсных функций. БИС выполняет все стандартные функции, кроме контроллерных. Обмен 160
с процессором (или с памятью при прямом доступе) осу- ществляетог через один регистр чтения и одни регпетн записи. Остальные регистры служат для определения inna прерывания, маскирования прерывания, типа адрссашш и др. При получении сигнала прерьтва^кх от 8291 микропроцессор считывает состояния регистров чтения, определяющих тип прерывания, и переходит на одну из подпрограмм обслуживан[1Я прерывания. Любой тни прерывания может быть маскирован процессором.
Применение специализированных БИС описанного типа позволяет существенно разгрузить процессор от выполнения стандартных интерфейсных функций.
ГЛАВА ПЯТАЯ
ОПИСАНИЕ РАЗРАБОТОК ИЗМЕРИТЕЛЬНЫХ ПРИБОРОВ С МИКРОПРОЦЕССОРАМИ
ПРИМЕНЕНИЕ МИКРОПРОЦЕССОРОВ В ПРИБОРАХ
扌 ДЛЯ ИЗМЕРЕНИЯ ЭЛЕКТРИЧЕСКИХ И НЕЭЛЕКТРИЧЕСКИХ
* ВЕЛИЧИН
一 Микропроцессорная техника применяется в измеритель- ~ных приборах для измерения электрических и неэлектрических величин как с целью расширения функций приборов, и придания им новых свойств, превращения и\ в системные 4 комплексы, так и с целью улучшения характеристик отдель- Лных узлов и прибора в целом.
В области измерений электрических величии мннропро 不рессорная техника нашла достаточно широкое применение J обоих указанных направлениях.
Первое направленна проиллюстрировано па рнс. 5.1.
' Схема на рис. 5.1 вклю叮2「т е себя Л!ппь часть типов приборов и решаемы:: задич, тяк как номенклатура приборов н наборы решаемых зада^ все время расширяются. Более 'Подробные данные, об алгоритмах решаемых задач будут .приведены ниже при рассмотрении отдельных типов приборов.
* По второму направлепшо тек方〈е происходит значительное развгутие, которое подвергается определенным флуктуациям.
Некоторые элементы с применением микропронессоро^ '■6 дальнейшем вытесняются специализированными мнкро- •схемамн. Наиболее широко второе направление представлено аналого-цифровыми преобразователями (АЦП).
1-319161
Микропроцессорные приборы выпускаются для измерения напряжений постоянного и переменного токов, эффективных значений напряжений, сопротивлений, комплексных величин и др. Помимо этих приборов микропроцессорная техника широко используется в цифровых осциллографах,
Рис. 5.1. Задачи, решаемые в приборах со встроенными микропроцессорами для измерения электрических величин
в регистраторах переходных процессов, служащих для преобразования в цифровую форму и хранения в буферной памяти измеряемых величин, в измерительных устройствах, служащих для диагностики аппаратуры.
В области измерений неэлектрических величин применение микропроцессорной техники проиллюстрировано на рис. 52
Перечень решаемых задач в значительной степени аналогичен перечню, приведенному на рис. 5.1. Основное отличие заключается в наличии задач управления электромеханическими элементами—-клапанами, двигателями, заслонками
;й Нр., а также в ряде случаев —в более сложных алгоритмах обработки информации.
В частности, при применении микропроцессоров в хроматографах, в корреляционных расходомерах решаемые задачи требуют достаточно сложных вычислений.
1,2;4,81,2;4,8ААВычисления по формуламВычисления по формуламУправление электромеханическими элементамиУправление электромеханическими элементамиХроматографыХроматографыИзмерителиплотности
1,2;4,8
1,2;4,8
А
А
Вычисления по формулам
Вычисления по формулам
Управление электромеханическими элементами
Управление электромеханическими элементами
Хроматографы
Хроматографы
ИзмерителиИзмерителиСтатистическаяобработка данных
Измерители
Измерители
Диагностика
Связь с системой
Рис. 5.2. Задачи, решаемые в приборах со встроеными микропроцессорами для измерения неэлектрических величин
Для иллюстрации функций, выполняемых микропроцессорами в приборах для измерения неэлектрических величин, рассмотрим их применение в хроматографах.
Структурная схема такого прибора приведена на рис, 5.3 [52, 137].
Прибор имеет два микропроцессора. Микропроцессор / управляет всем процессом измерения, в том числе 11* 163
электромеханическими элементами и нагревателями. Мик- ропроцессор 2 служит для обработки данлых измерений.
Алгоритмы обработки данных включают в себя: опреде^ ление начала и конца пика сигнала; определение площадей пиков; учет дрейфа и флуктуации нулевой линии; умно
(Управление 丨 jJнагрева- j jIтелямиI [(Управление 丨 jJнагрева- j jIтелямиI [Управление
(Управление 丨 j
Jнагрева- j j
IтелямиI [
(Управление 丨 j
Jнагрева- j j
IтелямиI [
эпектро^ехаии 气 к :公孑 ми
Детектор1Детектор1тель J ] Iтель J ] IН ЦАП(НН ЦАП(НМикро- пгюцессор 1.Микро- пгюцессор 1.Регистр ратор IРегистр ратор IДетек^-ор 1 I Усим-2П_теп玄Детек^-ор 1 I Усим-2П_теп玄НАЦПННАЦПНРегиейраторРегиейраторэлементами (вентилями)
Детектор1
Детектор1
тель J ] I
тель J ] I
Н ЦАП(Н
Н ЦАП(Н
Микро- пгюцессор 1.
Микро- пгюцессор 1.
Регистр ратор I
Регистр ратор I
Детек^-ор 1 I Усим-
2П_теп玄
Детек^-ор 1 I Усим-
2П_теп玄
НАЦПН
НАЦПН
Региейратор
Региейратор
Рис. 5.3. Структурная схема хроматографа со встроенными микропроцессорами
жение площадей пиков на коэффициенты чувствительно' сти каждого компонента; расчет концентрации компонентов.
Приведенное разделение функций не является обязательным. В ряде приборов применяется один микропроцессор с большими возможностями.
ЦИФРОВЫЕ ВОЛЬТМЕТРЫ И МУЛЬТИМЕТРЫ
Цифровые вольгметры и м\7льтпметры представляют собой Hanooviee развитую ветвь приборов со встроенными микропроцессорами. Такие приборы выплескаются различных классов точности н пределов измерения, имеют различные функции.
Принципы построения цифровых вольтметров и мультиметров иллюстрируются структурной схемой, ириведснмой на рмс. 5,4. Как видно из схемы, прибор построен на принципе магистральной связи между отдельными функциональными узлами. В зависимости от назначения прибора могут значительно изменяться набор входных преобразователей в узле / и набор эле?лентоз вычислительных и управ- 164
ляющих устройств в узле 3. Аналого-цифровое преобразование (узел 2) может выполняться без помощи микропроцессорного устройства пли с использованием микропроцессора. Приборы с микропроцессорами могут производить ка- либовку измерительного тракта по внутренней образцовой мере [33] и соответствующую коррекцию результата измерения. Алгоритмы калибровки и коррекции могут быть различными, но всегда включают в себя операции измерения при закороченном входе и на образцовой мере. Некоторые алгоритмы коррекции рассмотрены в § 1.5. В зависимости от схемы и пределов измерения могут изменяться состав и количество образцовых источников ЭДС и резисторов.
Ниже в качестве примеров будут рассмотрены некоторые типы приборов различного назначения, выпускаемых и готовящихся к выпуску отечественными предприятиями и зарубежными фирмами.
Для измерения напряжений предназначен, в частности, отечественный серийный микропроцессорный интегрирующий вольтметр Щ1518 класса 0,01/0,005, в котором попользуется микропроцессор К580. В дальнейшем намечен выпуск микропроцессорных приборов средней и высшей точностей [36].
Для измерения напряжений переменного тока в XI пяти- ,летке будут созданы микропроцессорные цифровые вольт- 'метры на термочувствительных кварцевых резонаторах, .а также приборы для измерения среднего квадратического значения напряжения переменного тока класса 0,05 и 'вольтметры с самокалибровкой,
“ Комбинированные приборы (мультиметры) для измсре- .ния значения напряжения и силы тока (на постоянном и переменном токе), сопротивлений и емкостей будут выпускаться в достаточно широком ассортименте. В частности, готовится к выпуску прибор 43306.
Все перечисленные микропроцессорные приборы входят 一 в АСЭТ третьей очереди. Совместимость этих приборов в рамках ИВК или ИИС обеспечивается применением интерфейса для программируемых измерительных приборов.
Такой интерфейс по стандарту МЭК 625」 введен для АСЭТ по ОСТ 25857-79 и ГОСТ 26003-80.
За последние годы микропроцессорные приборы получили значительное развитие в зарубежной практике.
Рассмотрим характеристики и особенности структуры .некоторых из выпускаемых приборов.
Одним из первых измерителей-авометров с использованием мик
ропроцессоров был 5,5-разрядный мультиметр 7115 фирмы Systron Donner (США) с микропроцессором Intel 4004 [99]. В нем за счет автоматической самокалибровки, статистического усреднения показаний и линеаризации измеряемой величины были достигнуты относительная погрешность 0,002% и приведенная погрешность 0,001%:
В последующих моделях мультиметров использовались микропроцессоры второго и третьего поколений.
Так, в мультиметрах 8520А, 8860А фирмы Fluke (США) используются два встроенных микропроцессора, благодаря чему эти приборы обладают широкими возможностями программирования измерений, расширения числа каналов, создания разветвленных измерительных систем. Мультиметр 8520A имеет следующие характеристики; погрешность измерения — до 0,005%, быстродействие ——500 измерений в секунду. Обработка данных ведется по 14 возможным программам. Перечень решаемых задач соответствует перечню, приведенному на рис. 5.1. Прибор имеет встроенную память, позволяющую запоминать данные 50 измерений, а в модификациях ——до 400 показаний. В комплекте с коммутатором 2204А прибор становится многоканальным и может быть применен для контроля процессов по 100—1000 каналам (в различных модификациях).
Структура мультиметра Fluke 8860А показана на 一 рис. 1.13. В его состав входят однокристальная микро- -ЭВМ. Mostek 3870, управляющая измерительной схемой и аналого-цифровым преобразователем, и Intel 8039, осущест- вляющая связь с клавиатурой пользователя, индикаторами и внешним интерфейсом. Между этими двумя частями схемы имеется оптическая развязка; измерительная часть -экранирована; достигается относительная погрешность 0,01 % и чувствительность 1 мкВ для переменного напряжения при входном сопротивлении 10 МОм. Измерительная схема позволяет работать с автоматическим переключением диапазонов, с частотой выборок 2,5 или 12,5 1/с. МикроЭВМ. Mustek 3870 задает при этом параметры делителя на- пряжения и буферного усилителя, управляет синхронизацией и работой АЦП. Основные возможности прибора реа- ■ лизуютск в его вычислительной части микроЭВМ Intel 8039. Возможны отображение результатов с масштабированием по формуле у=а工пересчет в децибелы, линеаризация отсчетов термокар, контроль заданных пределов измеряемых величин, вычисление средних и средних квадратичес- ких отклонений. Пользователь по желанию может вводить произвольные функции, например отсчет для оптических датчиков в люменах, определение процента пульсаций ис-
точника питания, вычисление мощности по формуле P=U2/R, измерение емкости при питании от внешнего генератора. Для выполнения большого числа функций обычно используется панель с большим числом кнопок; микропроцессорная система позволяет избавиться от этого: 44 сочетания функций, диапазона, режима задаются 17 кнопками. Две кнопки служат для переключения функции остальных. Для создания индивидуальных программ пользователя служит дополнительная клавиатура с заданием тригонометрических, логарифмических, арифметических и чисто программных операторов. Создаваемые программы пользователя можно записать в съемный блок ППЗУ, вывод результатов можно вести через специальный порт на внешний принтер. Наличие интерфейса для подключения мультиметра к шине IEEE-488 дает возможность управлять им и программировать все его функции от контроллера шины.
Следует отметить, что ряд фирм (Siemens и др.) комплектуют свои приборы узлами интерфейса только по специальному заказу, однако место для узла интерфейса всегда предусматривается, что позволяет при необходт^ мости доукомплектовать прибор.
Высокие метрологические характеристики достигаются благодаря применению микропроцессора МС6808 в 6,6-разрядном мультиметре 192 фирмы Keithley Instr. Inc. (США) [97]. Мультиметр выпускается в двух модификациях: автономного и системного назначения. Частота выборок — соответственно 8 и 35 1/с, относительная погрешность 0,005%, входное сопротивление 1 ГОм В мультиметре применен однотактовый АЦП с балансировкой зарядов, ош-тсанный в § 15 На лицевой панели восемь кнопок управления, задающие следующие возможные режимы работы: 5,5- или 6,5-разрядиый отсчет, дополнительную цифровую фильтрацию, масштабирование, расчет процентного отклонения, определение максимального и минимального значений, режим сравнения с заданными верхним и нижним пределами, режим регистратора данных (при этом в буфере сохраняется до 100 отсчетов). Мультиметр можно использовать в качестве устройства отбраковки, для чего на задней панели имеются релейные выходы для сортировочного автомата. Аналоговая часть прибора управляется жесткой логикой п оптически развязана с остальной схемой. В приборе применена техника цифровой фильтрации, позволяющая значительно повысить быстродействие по сравнению с аналоговой фильтрацией: при резких изменениях выходного сигнала (более чем на шесть единиц) фильтр отключается и выводится очередной отсчет; после установления нового значения входного сигнала фильтр включается- [68
Таблица 5.1. Программы вычислений микропроцессорных вольтметров
Про грамма
Подпрограмма
Вычисление
Время эычис - ления, мс
Умножение
R=cX (с — постоянная)
6
Процентная по-
R = 100(X—/г)//г
7,5
грешность
(几一номинальное значение)
Отклонение
—
R = X—A (A — отклонение)
0,5
Отношение
R = X"
6
R=20 log]Q(X〃)
8,5
R=X2〃
11
Максимум —
R = X
мннимум
/? = максимальное значение X
1
/?— минимальное значение X
R= (максимальное значение X)—
—(минимальное значение X)
Граничные значе-
—
Х>верхней границы
3,5
ния
Х<нижпей границы
3,5
Статистика
0
R = X
一
1
R=一£广=无
3,2
2
r=4~£(/-豆
38
3
90
4
/ tS^
ь100
Термоэлементы
0
K = a+bXp +吗十 dX^
38
1
Xp^Xi+a^+^A+^A2 (Л—окру-
38
жающая температура, константы
а,久 а‘,方',с' хранятся в памяти)
Время
0
Синхронизация с сетью, шаги кван-
тования во времени, интервалы
измерений
Вычисление по-
—
R=q 十 бХ+зХ'+сзХз
20
ливомов
Имеется интерфейс к шине IEEE-488, с которой можно задавать все операции и режимы.
Калибровка при каждом измерении применена в измерителе уровня высокочастотных сигналов 9303 фирмы Raca! Dana Instr (Великобритания) [100]. В нем имеется ряд уровней калибровки: I) в начале каждого цикла измеряются внутренние шумы системы и затем вычитаются из отсчета; 2) для учета дрейфа параметров измерительной цепи периодически проводится внутренняя автоматическая калибровка прямоугольным напряжением качающейся частоты 50—1000 кГц—при включении, затем через каждые 2,4 мии и через каждые 8 мин; 3) для учета дрейфа параметров измерительной головки проводится калибровка от внешнего образцового источника 500 кГц. В энергонезависимой памяти хранится до 10 установок органов управления. Прибор выполняет автоматический выбор диапазона, усреднение сигнала за 1 с, вычисляет отношение мощностей, усиление, затухание, процентное отклонение
Микропроцессорный вольтметр типа 7065 и вольтметр с памятью типа 7066 выпускаются фирмой Siemens [137]. Вольтметры 7065 и 7066 являются прецизионными приборами для лабораторных и системных исследований. Приборы позволяют также проводить измерение сопротивлений на основе четырехпроводных подсоединений. Сочетание приборов с переключателем измерительных цепей типа 《М3 nata 7010》с учетом вычислительных возможностей микропроцессора, установленного в вольтметре, позволяет создать информационно-измерительную систему. Прибор снабжен девятью вычислительными программами, которые содержат набор подпрограмм. Приборы по желанию пользователя могут быть снабжены интерфейсом МЭК 625 (25-контактный разъем) или IEEE-488 (24-контактный разъем). Автоматический переключатель 《Minata 7010》 имеет 16 входов. Программы вычислений даны в табл. 5.1.
ОСЦИЛЛОГРАФЫ, РЕГИСТРАТОРЬ( ПЕРЕХОДНЫХ
ПРОЦЕССОВ, АНАЛИЗАТОРЫ СПЕКТРА, ЧАСТОТОМЕРЫ
В осциллографах, как и в цифровых измерительных приборах, микропроцессоры используются в двух основных областях: управления режимами работы осциллографа и вычисления характеристик исследуемого сигнала.
В первом случае осциллограф работает по традиционной схеме без дискретизации и запоминания входного сигнала. Примером такого прибора является осциллограф модели 1980А фирмы Hewlett Packard (США) [40], в котором применен 8-разрядный микропроцессор Intel 8085. 170
Лицевая панель: ручка управления, клавиши, светодиодный индикатор, сигнальные лампы с усилительными ИС, "опознание" зонда
Микропроцессор-ная система:генераторсимволов,программное ЗУ
Канал 1
1 Канал 2
Вертикальныйаттенюатор
Вертикальный 》предусилитель
•> и
схемы
управления
HP■工 в
Модульг-расширитель
тельное
КМОП ОЗУ:калибровочныекоэффициенты,регистр храненияи выбора,состояниелицевой панели,последовательныйинтерфейсфиксаторов,контроллер ЦАП,параллельныйинтерфейс
Внешняя модуля-
Внешняя книгу,пяция по Y
A
Вертикаль-ныйвыходнойусилитель
,i
16**канальныйЦАП
ция по Z >
Усилитель
J
Атте-нюаторзапуска
+ запускающего
импульса
->
Схемазапуска
Схемаразверт-ки
Горизонтальный выходной усилитель
'Линия обратной связи
Внешний запуск
Внешняя моду-ляция по X
£ Рис. 55 Структурная схема осциллографа с микропроцессорным управлением без дискретизации входного сигнала
С помощью МП достигнуто существенное упрощение схемы управления осциллографом--все функции регулирования усиления, скорости развертки и прочие осуществляются одним поворотным переключателем, переход с одной функции на другую—кнопками с подсветом и звуковым сигналом. Структурная схема осциллографа показана на рис. 5.5. Управление аналоговыми средствами измерения и отображения производится через 14-разрвдный 16-канальный ЦАП или с помощью цифровых регистров-фиксаторов. В приборе используется диалоговый режим: указания оператору выводятся на экран, по линии обратной связи центральный процессор получает признак обнаружения входного сигнала. В энергонезависимом ЗУПВ хранятся калибровочные коэффициенты. Благодаря применению микропроцессора калибровка упрощается во много раз и проводить ее можно во всем диапазоне изменения параметра, а не только для отдельных точек. В режиме AS (autoscope) автоматически устанавливается диапазон измерения. Интерфейс к шине HP-IB позволяет управлять осциллографом с системного контроллера; протокол связи с шиной хранится в специальном сменном ПЗУ командных последовательностей.
Прибор с дискретизацией и запоминанием входного сигнала—цифровой осциллограф—обеспечивает качественный скачок в осциллометрии.
Принцип цифровой осциллометрии заключается в предварительном преобразовании аналоговых сигналов в цифровые, запоминании данных в узле памяти и затем использовании цифровых значений либо для непосредственного отображения контролируемого процесса, либо для предварительной обработки этих данных и отображения на эк])а- не результатов обработки сигналов.
Основной недостаток цифрового осциллографирова- ния——ограниченная полоса пропускания, так как требуется время на аналого-цифровое преобразование, запоминание и вывод данных. Чтобы в одном приборе сочетать цифровой запоминающий осциллограф и широкополосный ана.чо- говый осциллограф, применяют двухканальные структуры. Операции преобразования, запоминания информации и управления всем процессом измерения осуществляются при помощи микропроцессоров. Структурная схема цифрового осциллографа приведена на рис. 5.6.
Аналоговые сигналы по входам X и У поступают на входное устройство (ВУ), а затем в АЦП. Цифровые данные поступают в запоминающее устройство (ЗУ), из ко- 172
торого направляются в арифметичсско-логическос устройство (АЛУ) процессора (П) и в блок знакографической индикации устройства отображения (ОУ).
Для повышения быстродействия АЦП выполняются 6, 7- разрядными по одноступенчатой параллельной схеме. При необходимости более высокой точности применяются двухступенчатые структуры [8].
Рис. 56 Структурная схема цифрового осциллографа
Запоминающее устройство включает в себя быстродействующую оперативную память для запоминание цифровых -значений сигналов, результатов их обработки и различных ■; масштабных и корректирующих коэффициентов, постоянное :запоминающее устройство для хранения еыводимон на ,индикацию число-буквенной информации, рспрограмми- :руемое запоминающее устройство для запоминания про- 一 грамм логической и математической обработки данных. 、 Микропроцессор осуществляет управление работой 6』о- .ков, задание режимов измерения, математическую обработку сигналов, связь прибора с внешними устройствами. Объем задач, выполняемых микропроцессором, может изменяться в зависимости от в^зможпостей микропроцессора ■ и от назначения системы ц^ ровен осциллометрии. В наиболее совершенных системах цифровой осциллометрии t микропроцессор обеспечивает подключение малой и микро
ЭВМ и соответствующих периферийных устройств, что со- ,здает возмо/кыость применения достаточно сложных мето-дов обработки информации.
入 Запоминающие цифровые осциллографы обычно предоставляют пользователю болыипе тзозможности по введению индивидуальных заданий обработки сигнала. Hanpdep, в цифровом осциллографе на 400 МГц модели 7854 фирмы Tektronix (США) можно автоматизи- 莓173
ровать длинные серии вычислений с помощью индивидуального программирования пользователем. В осциллографе предусмотрены следующие стандартные функции: измерение фронтов с помощью меток, измерение среднего квадратического значения сигнала, энергии им- :упьса, запоминание 16 (с наращиванием до 40) осциллограмм. В осциллографе применен 16-разрядпый мпкрпроцессор TMS 9900 «о связано с разрядностью ЛЦП 10 бит. Микропроцессор управляет АЦП, дисплеем, клавиатурой и интерфейсом к шине IEEE-488.
Рис. 57 Структурная схема регистратора переходных процессов
Регистраторы переходных процессов (transient-recorder)——новый быстро развивающийся тип регистрирующей измерительной аппаратуры. Измеряемые величины преобразуются в цифровую форму и регистрируются в узле памяти на статических элементах. Емкость памяти составляет от нескольких тысяч до нескольких десятков тысяч байт. Микропроцессор, установленный в прибор, осуществляет управление схемой, а также производит необходимые операции по обработке данных: вычитание, изменение масштаба времени при считывании и др.
Цифро-аналоговый преобразователь на выходе позволяет повторить в аналоговом виде входной сигнал, но уже в другом масштабе времени. Такая олерацяя необходима, в частности, при регистрации при использовании самопишущих приборов или магнитоэлектрических осциллографов с частотной характеристикой, не соответствующей частотной характеристике контролируемого сигнала. Изменением масштаба времени можно в этом случае значительно уменьшить динамические погрешности.
На рпс. 5.7 приведена структурная схема такого прибора.
В табл. 5.2 приведены данные ряда регистраторов переходных процессов, выпускаемых различными фирмами [137, 139].
Таблица 5.2. Характеристики регистраторов переходные процессов и цифровых осциллографов с микропроцессорами
Тип прибора
Диапазон входных сигналов
Емкость памяти, байт
Частота кваито- вання
Wandel - Goiterman TR-940
Siemens D-l 102
Siemens D-l 101
VUKO
VKS 22-16
Регистраторы n£
SO мВ—80 В
100 мВ—100 В 10 мВ—50 В
Цифровые
5 мВ—300 В
реход
2
2
2
осци^
2
ных г
8
8
8
глогра
8
роцессов
2X2048
2X2-48
2X8192
фы
2X8192
4 гЦ—2 МГц
До 2 МГц До 2 МГц
10 Гц—2 МГц (для цифровой части), 0—20 МГц
(для осциллоскопа)
В анализаторах спектра микропроцессор обычно управляет внешними устройствами и диалогом с оператором; основные вычисления производятся аппаратными средствами для сохранения быстродействия. Так, в анализаторе SE2450 фирмы SELabs (EMI) (Великобритания) [102] для этих целей используется микропроцессор Intel 8080. В измерительную схему входят широкодиапазонный генератор стандартных сигналов (синусоидальных, треугольных и прямоугольных) и два независимых цифровых коррелятора. Измерения проводятся с автоматическим сканированием по частоте с точечной или логарифмической шкалой частот. Результаты исследования частотной характеристики представляются в виде графиков на ЭЛТ в декартовых, полярных или логарифмических полярных координатах. Запоминается до 120 результатов измерений. Для уменьшения влияния помех вводится режим интегрирования нескольких циклов измерений (до 9999), Настройка прибора проводится в диалоговом режиме по инструкциям на экране ЭЛТ и сообщениям об ошибках. Прибор снабжен интерфейсом к шине 1ЕЕЕ-488.
В анализаторе спектра СВЧ-диапазона НР8566А [125] для сигналов частотой до 22 ГГц микропроцессор управляет связью передней панели со схемой управления, проводит вычисление спектра, учитывает поправки на погрешность измерительной схемы, проводит автоматический поиск максимума, автоматическое отслеживание сиг-
нала и отображение на экране ЭЛТ всех необходимых данных ни режимам работы прибора.
13 анализаторе 492 ^ирмн 1 ektruriix (США) [4J на экран 3」口 выводится частотная характерпешка; микропроцессор выполняет 屮)uhiUin управления, интерфейса внешней шины, самоконтроля, аыи- ма1 imecixoi и pci'yjHiyUBaiiux разрешиюще!! cuocooiiuci н.
В частотомерах применение микропроцессоров позволяет псйи^ьзивать меюд расчета низких частот через измерение периода и последующее вычисление обратной величины. Благодаря атому сохраняется высокая разрешающая способность по частоте ирн сохранении быстродействия. Например, в частотомерах РМ6667, РМ6668 фирмы Philips [2b] микропроцессор используется для автоматического выиора поддиапазона, управления индикацией (установка занятой, вывод единицы измерения) и вычисления частоты по несколькнм значениям периода. При этом частота сети измеряется с точностью до 7 знаков за 1 с,
КОЛ^БИНИРОВАННЫЕ И ВИРТУАЛЬНЫЕ ПРИБОРЫ
Заниминалие массива дискретизированных данных да- ет потенциальную возможность создания приборов, выполняющих 且юиыи функции анализа и обработки сигналов. Применение мнкрипронессора в таких приборах повышает гибкость оорабо1ки и ааег дополнительные возможности оператору. …
Например, в приборе SC61 фирмы Sensore (США) [39] двухлучевой осциллограф функционально объединен с цифровым вольтметром и счетным частотомером. Имеется автоматический выиир четырех поддиапазонов по напря- жению и шести по частоте. Измеряется отношение сигналов по иьум каналам; с помощью маркеров из?у1еряются интервалы времени или разности сигналов.
В наиоолее совершенных комбинированных системах с запоминанием дискретизированного сигнала применяются микропроцессоры третьего поколения, 、обеспечивающее большие вычислительные возможности. Система анализа сигналов Data 6000 фирмы Data Precision [38, 98] использует 16-разрядный микропроцессор /HC680U0 и выполняет функции цифрового осци;1;юграфа, спектрального анализа- тира, регистратора данных и ряда других измерительных приборов. Для адаптации к характеристикам входных сиг- налов система снабжается сменными входными модулями- адаптерами: разрядность АЦП 14, бит, частота выборки— д0 100 кГц или сиответсизенно 7 бит, 100 МГц. В приборе 176
^.имеется своя операционная система—генератор функций, ' который дает пользователю возможность формировать цепочку выбранных функций обработки сигналов, масштабировать результаты каждой операции для представления с .максимальной разрешающей способностью. Структурная схема системы показана на рис. 5.8. В модулях-адаптерах имеется собственное ПЗУ, определяющее протокол связи модуля с системой, его функциональные возможности и ха- 'рактеристики конфигурации. В модуле 100 МГц имеется дополнительное буферное ОЗУ.
; При работе с системой оператор с помощью клавиатуры проводит фиксацию входных сигналов и их обработку. ^Процедуры фиксации включают в себя выбор входного :канала, конфигурации входа (однопроводный или дифференциальный), режима (по постоянному току, переменному ‘току или калибровке), значения полной шкалы (от 500 мВ :до 500 В), коэффициента усиления для компенсации влия- .ния измерительного зонда, включение или выключение ■-фильтра, управление запуском. Имеются режимы усреднения кадров, можно задавать параметры запоминаемого
1 массива (момент начала запоминания, период квантования, ^объем массива, полную шкалу ЛЦП) и параметры изображения на ЭЛТ (масштаб, смеи^ение по осям времени и амплитуды и пр.).
Обработка накопленных массивов делится на пять основных «классов:
вычисление скалярных функций: определение глобальных и локальных экстремумов по амплитуде и времени; определение моментов ^пересечения пулевой линии;
" анализ интервалов: расчет среднего периода, средней частоты и длительности полуцикла;
анализ импульсов: расчет длительности фронтов на уровне 10— ◎0%| (при этом интервал 0——100% задается оператором с помощью Курсора), длительности импульса на уровне 50%, определение параметров выбросов, задержки и времени установления;
- статистический анализ: расчет среднего и среднего квадратического значений, площади под кривой, энергии импульса;
выполнение векторных функций: арифметические операции с автоматическим масштабированием, быстрое преобразование Фурье, определение фазового спектра, корреляционных и взаимных корреляционных функций, дифференцирование, интегрирование, расчет скользя- Мего среднего по пяти и девяти точкам.
Из перечисленных функций обработки можно создавать 'Цепочки послс^о'птсльпо вычисляемых функций. Система
17717712—319
177
177
Oo
2…4 —канала —
Формирование входныхсигналов; схемы связи,масштабированияи фильтрации
Внешнийзапуск
1
Т Выбор сигнала запуска
Клавиш'Iмодуля
синхросигнала
Управляющая логика
Клавиши математических операций
Входной моодль
АЦП
ЕЗУ
Блок временной развертки
Адреса, данные, управление
СистемноеПЗУ
ЦП МП68ОООи контроллерпрямого доступа
СистемноеОЗУ32-128К
/<—
ПЗУ и канал ввода-вывода RS-232C
ПЗУ и канал ввода - вывода IEEE-488
ПЗУ и канал вьода-вывода для НГМД
Процессор дисплея и клавиатуры
Клавиши и кнопкицеттральной части
Центральная часть
Рис. 5.8. Структурная схема системы анализа сигналов
снабжена интерфейсами IEEE-488, RS-232C и каналом связи для накопителей на гибких магнитных дисках.
Близкий к описанному набор функций выполняется ком- 'бинированным прибором Smartscope фирмы Т. G Branden Corp. [75]: вычисление и отображение сигналов свертки, - вычисление локальных экстремумов, площади, ограниченной кривой и двумя курсорами, амплитуды и времени по 一 курсору, полного размаха сигнала, эффективного и среднего значений сигнала, крутизны и длительности фронтов. Имеются двух- и четырехкапальный варианты прибора. Выборка производится с максимальной частотой 500 кГц, на каждом канале запоминаются 1000 10-битовых отсчетов. Запомненные массивы можно интегрировать, дифференцировать, сглаживать, сдвигать; есть операторы тригонометрические, логарифмические, экспоненциальные и квадратного корня. На экран можно вывести идентификаторы осей координат, дату, название и время записи данных. Можно сдвигать импульс запуска, наблюдая информацию как ,после, так и до запуска. В приборе применен микропро- .цессор TMS 9900, имеются интерфейсы к шинам IEEE-488, RS-232, гибким дискам и графопостроителю.
Как видно из приведенных примеров, развитие диалоговых средств задания режима дает возможность пользова- ■ телю создавать структуру измерительного прибора и алго- :ритма его работы с помощью программных средств при унифицированном техническом и системно-программном обеспечении. Логическое завершение это направление на- 二 ходит в. концепции «виртуального» прибора, т. е. прибора, 二 все функции которого, включая и функции управляющих -органов, определяются пользователем программным способом.
Пример такого прибора—программируемый контроллер :1720 шнны IEEE-488 фирмы Fluke (США) с 16-разрядным микропроцессором TMS 9981 [31]. В нем имеется две кла- :виатуры: основная с набором функций, задаваемых программно пользователем, и съемная для программирования системы. Программирование производится па языке БЕИ- л СМК, программные модули записываются на гибкие диски. W Основная клавиатура конструктивно состоит из ЭЛТ с на- -ложенпон на экран прозрачной сенсорной матрицей из 60 клавиш. Накладная матрица состоит из двух прозрач- 、ных майларовых листов, на одном пз которых нанесены печатным способом шесть гориз(Я1тальных золотых проводни- :ков, на другом—десять вертикальных. Функции каждой 「клавиши и ее обозначение формируются программно с по-
12*12*179
12*
12*
мощью средств графического вывода на ЭЛТ. Обратная связь с оператором осуществляется через мигание клави。 ши и звуковой сигнал. Структура системы показана на рис. 5.9. Описанный контроллер управляет -хвумя шинами IEEE-488. '
Рис. 5.9, Структурная схема микропроцессорного контроллера шпнн
Аналогичный прием использован в универсальном тестере для плат и систем Graduate фирмы Marconi (США) [17]. На ЭЛТ с помощью программ пользователя и средств графического вывода изображается передняя панель любого прибора, клавиатурой можно задавать необходимые виды измерений и тестовых сигналов. В системе используется 24-разрядный секционный процессор с адресацией 1 Мело- во. Система предназначена для контроля печатных плат, электронной аппаратуры ракет, цифровых автоматических электронных коммутаторов и других сложных устройств. На входы исследуемого устройства подаются цифровые и аналоговые тестовые сигналы и исследуются реакции. ЭВМ сама сообщает пользователю по условиям испытаний, какие потребуются тестовые сменные модули и куда их установить.
Виртуальные приборы дают следующие преимущества: исключаются избыточные передние панели, регулировочные ручки н индикаторы; с помощью сменных типовых модулей можно сформировать систему, перекрывающую весь спектр частот и амплитуд исследуемых сигналов, сохракян при этом простоту и наглядность общения с системой.
ПРИБОРЫ ДЛЯ ИЗМЕРЕНИЯ КОМПЛЕКСНЫХ ВЕЛИЧИН
Применение микропроцессорноГ! техники особенно эффективно в приборах для измерения комплексных величин.
180
: Одной из причин, затруднявших широкое применение приборов для измерения комплексных величин, являлась сравнительно большая сложность электронных устройств, обеспечивающих процесс сходимости, выбор диапазона и др. '
二 Алгоритмы управления процессом уравновешивания приведены в работах акад. АН УССР Ф. Б. Гриневича, д-ра техн, наук, проф. В, Ю. Кнеллера применительно к мостовым схемам переменного тока и чл.-кор. АН Азерб. ССР Т. М. Алиева, канд. техн, наук И. Л. Шайна и авторов на- -стоягцей книги применительно к задачам компенсационных измерений на переменном токе [2, 24, 46]. Эти алгоритмы позволяют создать эффективные приборы для изме- "рения комплексных величин на переменном токе с управле- 」1нем процессом уравновешивания при помощи микропроцессоров.
Вопросы использования микропроцессорной техники при решении задач мостовых измерений изложены в [47, 77].
> Имеются и другие пути построения устройств с микропроцессорами для измерения комплексных величин. В -большинстве случаев задача измерения сводится к последовательному измерению падений напряжений на измсряе- ■мом сопротивлении Z, образцовом сопротивлении R, измерению синфазной и квадратурной составляющих и определению отношений измеренных величин при помощи цифровых или аналоговых микросхем.
Микропроцессор выполняет все операции управления и (в зависимости от назначения прибора) вычисления.
В приборах фирмы Hewlett Packard (США) 4274А, 4275А и фирмы Wayne Kerr (Великобритания) В605, В905 применена схема, изображенная на рис. 5.10 [47].
Схема представляет собой автокомпенсационную цепь на основе операционного усилителя
Схема включает в себя измеряемое сопротивление Z^, образцовое &, генератор Г (создает сдвинутые по фазе на 90° напряжения е】и е?), фильтр Ф, с выхода которого синусоидальное напряжение е。 подается в измерительную ■ схему, фазочувствительный выпрямитель ФВ, аналого-цифровой преобразователь АЦП, микропроцессор МП.
Для рассматриваемой схемы
Zx=RgU JU RQ. (5.1)
Для определения ZA производится измерение напряжений Ux и URo относительно напряжений еь ег.
Процесс измерения состоит из пяти операций:
измерение составляющей Ux, синфазной с е,Результат измерения в виде цифры N{ запоминается в памяти микропроцессора МП;
измерение составляющей 〃*, квадратурной по отношению к а. Результат N? заносится в МП;
измерение составляющей Ur* синфазной с 白. Результат № заносится в МП;
измерение составляющей Ur°, квадратурной по отношению к 白* Результат М заносится в МП;
входы заземляются и измеряется дрейф нуля. Результат 后5 заносится в МП.
Вычисление параметров комплексного сопротивления на основе последовательной или параллельной схемы замещения производится в микропроцессоре по формулам, приведенным в табл. 5.3.
Функциональная схема прибора для измерения комплексных сопротивлений фирмы Hewlett Packard дана на рис. 5.11.
Как видно из рис. 5.11, микропроцессор управляет выбором диапазонов измерений, измерителем отношений, аналого-цифровым преобразователем и интерфейсами, осуществляет сравнение измеренных. значений с заданными.
Программа работы прибора [47] приведена на рис. 5.12. из которого видна последовательность операций: самопроверка, сброс показаний па пуль, выбор диапазона, вывод данных в требуемом коде и др.
Таблица 5.3. Расчетные зависимости, исйользуеМые йрй измерении комплексных величин прибором с МП
замещения Измеряемый параметр
Расчетная формула
• Пос ледова-Активное сопро
тельнаятивление
(% — А%) (А% — М) +
°—储)2 +
l+(必一久 )(熊一储) + (熊一А%)?
Реактивное сопротивление
f
(小一两户+
f T"1 —」%)(熊一熊)
+ (%一%产
Емкость
G =——
Индуктивность
L§ = x$/s
Модульком
плексного сопротивления г
Фазовый угол комплексного сопротивления
乞=\^ X^ +гJ
%= arctg(尤 s%)
Параллель-Активная провалводимость
[(N] — NJ (% —熊)+
Ro(*一^5)^ +
, + (%2 - 25)("一 A%) 十(22 --练产
Реактивная проводимость
1 (М — №)(Мз — №) + .
On
"R。(%一*)2 +
f + (M 一明)(储一 n5)
+ (М — М)2
Емкость
Индуктивность
Ср= bp2
£"= 一 L'(叫)
Модуль комплексной проводимости
Фазовый угол комплексной проводимости
J = l/6J+gJ
9 = arlg(%/gp)
183
Рис. 5.11. Структурная схема LCR-измерителя фирмы Hewlett Packard
Включение
Самопроверка
сброс Б нуль
Да
Установка фазы
Усилитель
насышен?
Нет
Заряд интегратора
разряд интегратора
Снет тактовых имщ-пьсов
Щет
Сигналсхемы сравненияравен О?д8 一
Измеренное значение в даапазоне?-
Управлениевыбором диапазона
Нет
Да
Выбор информациина индикацию
тич еский выбор диапазона?
^^^Требуетс51 вывода V^H&_工ЕЕЕ интерфейс?'
Нет
Да
^^-Требуется сравнение^Д^номиналом?-—
^^^-Выход в пвоично^^":
<^цеснтиином коде?-^^ П
Управлениеинтерфейсом
Управлениекомпаратором
Вывод информации в двоичнодесятичном коде?
5.12. Программа работы прибора при изменении параметров ком- ;ногО сопротивления
Таблица 5.4. Данные приборов с МП для измерения комплексных
Тип прибора, фирма
Час тота
(Измеряемый параметр
Диапазон измерения
1658, Gen. Radio (США)
100 Гц
1 кГц
С г А tg 6
Q
Ю~10—105 мкФ 10~3—108 Ом 10-7—103 гн 10-4—109 10—3 — 103
4274А, Hewlett Packard (США)
100 Гц
100 кГц
С 厶 z, rs, xs У, gp, bp
10-11—2-Ю6 мкФ 10-6-2.103「h 10-3—2-107 Ом
2-102 См
В605, Wayne Кегг (Великобритания)
100 Гц
1 кГц
10 кГц
с A г
IL—1朋 мкФ 10-9—104 Гн 10-4—109 Ом
В настоящее время выпускается ряд измерителей параметров комплексных величин на основе микропроцессорной техники.
В СССР разработан прибор для измерения комплексных сопротивлений в широком диапазоне частот [47]. Каталожные данные приборов ряда зарубежных фирм приведены в табл. 5.4.
При построении приборов с микропроцессорами для измерения комплексных величин важной задачей является распределение функций между аппаратной и программной частями. в [77] показано, что в силу особенностей преобразования комплексных величин программная реализация управления аналого-цифровым преобразованием, управления интерфейсом и коррекции погрешностей может быть обеспечена достаточно простой микропроцессорной системой (в частности, могут быть применены микропроцессоры К580ИК80).
МНОГОПАРАМЕТРИЧЕСКИЕ АНАЛИЗАТОРЫ
БИОПОТЕНЦИАЛОВ
Приборы для исследования биопотенциалов занимают важное место в диагностических и лечебных процедурах в здравоохранении, спорте, профессиональном тестировании и научном эксперименте. Наиболее распространены приборы для исследования электрокардиограмм (ЭКГ), электроэнцефалограмм (ЭЭГ), электромиограмм—биопотенциалов мышц (ЭМГ), а также биопотенциалов другого происхож- 18()
величин
Основная погрешность, %
Быстродействие, с
Тип МП
Выполняемые функции
0,1
0,14
Intel 4040
Управление процессом
0」
0,14
Motorola М6800
измерения; расчеты
Управление прибором;
0,1
0,65
Intel 8085
расчеты, коррекция погрешностей
То же
дения, например потенциалов желудочно-кишечного трак- :та и др. Наряду со специализированными приборами для исследования одного вида биопотенциалов появляются автоматизированные приборы и системы для исследования любых биопотенциалов. Часто такие системы предназнача' ,ются для совместной работы с первичными измерительпы- -ми приборами — электрокардиографами, электроэнцефало- Sграфами, электромиографами; при этом первичный прибор ^выполняет сбор информации, икогда ее предварительную обработку (например, фильтрацию), а система обработки .биопотенциалов осуществляет накопление и архивацию дан-ных, основную обработку информации, индикацию и регистрацию результатов.'
В принципе такие функции, мог бы выполнять универсальный программируемый анализатор сигналов, например Data 6000, рассмотренный в § 5.4. Однако специфика обработки биомедицинской информации делает более выгодным использование специализированных многопараметрических анализаторов биопотенциалов.
В классических методах синдромальной диагностики используются результаты контурного анализа биопотенциалов ——амплитудные и временные параметры характерных точек на графиках биопотенциалов. 'К таким точкам относятся локальные экстремумы, точки перегиба, точки пересечения нулевой линии или заданного порога и пр. Me- :тоды контурного анализа и синдромальной диагностики основаны, как правило, па врачебных оценках и относительно субъективны. В автоматизированной обработке биопотенциалов имеегея стремление к более полному использованию информации, содержащейся в сигнале,
И к формированию дополнительных объективных оценок. Вероятно, этим можно объяснить все более широкое применение в сппдро. м а ль ной диагностике статистических методов анализа биопотенциалов. В качестве примеров можно привести использование среднего н среднего квадратического значений /?/?-интервала ЭКГ и выборочного коэффициента корреляции при анализе сердечного ритма, использование корреляционной функции и спектра ЭЭГ в диагностике психических заболеваний, использование корреляционной функции и статистического усреднения ЭМГ в диагностике заболеваний опорпо-дви- гагельного аппарата [34].
Рассмотрим некоторые примеры специализированных анализаторов. Приборы для обработки медицинских данных фирмы Nihon Kohden (Япония) АТАС-501, АТАС-350, АТАС-450 ориентированы в основном на применение с многоканальными измерителями биопотенциалов той же фирмы, Совершенствование этих моделей шло в направлении увеличения числа одновременно анализируемых процессов (от одного до четырех), расширения возможностей программирования пользователем (от фиксированных программ до встроенного БЕЙСИК), увеличения возможностей по выбору числа элементов анализируемого массива, числа определяемых параметров и пр. Технические характеристики современных анализаторов АТАС следующие:
аналого-цифровое преобразование с разрядностью 10 бит за время 10 мкс;
полупроводниковая память 64 КХ16;
4-канальный входной усилитель (расширяемый до J6 каналов) с пятью пределами усиления на каждом канале (от 0,1 до 2 В), частотным диапазоном 0—50 кГц и встроенными фильтрами низких частот;
триггерный вход с квантованием на два уровня;
символьно-графический дисплей с разрешением 1024X1024 и двумя курсорами (вертикальные или горизонтальные по выбору пользователя);
образцовый синусоидальный генератор;
выходы на кассетный магнитофон и X—Y-регистратор;
выходные каналы: шесть импульсных, четыре потенциальных, четыре задержки.
Используются следующие стандартные режимы: аналого-цифровое преобразование с записью на кас- сету;
усреднение для выявления полезного сигнала;
12 вариантов гистограмм: интервалов, времени ожидания импульса после стимуляции, задержки, числа импульсов, амплитуд импульсов, мгновенного значения сигнала; 188
I быстрое преобразование Фурье;
:корреляция для двух каналов;
" определение максимального значения, которое превышает верхний заданны!'! уровень, и минимального значения меньше нижнего заданного уровня;
корреляционный момент и линейная регрессия для двух числовых групп;
тесты независимости и стационарности для двух им- 1 п)7льсных каналов.
“ К этим стандартным программам в некоторых приборах 「АТАС добавляется расчет определенных интегралов по гистограммам. Пользователь имеет возможность формиро- ■ вать свои программы на языке БЕЙСИК.
' Мощные вычислительные возможности имеет также серия анализаторов PlurimatS фирмы Intertechnique (Франция), которые ориентированы па обработку сигналов в ре-
'альном времени. Б них используется микроЭВМ. MuIti20 二(30 8-битовых регистров, операции с плавающей запятой с форматом 32 бит, 64 Келов, время доступа 1 мкс). Имеется шесть конфигураций PlurimatS一一от PS100 до PS600. Основные технические характеристики серии PlurimatS:
аналого-цифровое преобразование с разрядностью 12 бит за 5 мкс;
8-канальнып входной усилитель (расширяемый до 64 ка- 一 налов);
магнитный диск 2X5 Мбайт, дисплей, X—У-регртстра-
тор, принтер;
Три варианта ввода данных; программируемый вводана- .логовых данных с максимальной частотой 20 кГц, быстрый ВВОд аналоговых данных с частотой до 200 кГц, ввод импульсов с час готом до 5 MI ц.
В перечень стандартных функций PlurimatS входят прямое и обратное быстрое преобразование Фурье, спектр мощности, цифровая фильтрация, корреляционные функции. Создание программ пользователя ведется на 。丄- нбм из следующих языков: па языке PlurimatS с использованием спецпа,л;Я1О11 клавиатуры, па которой набирается последовательность вынол 11яемых блоков программы и в завершение нажимается клавиша ЕХЕС (выполнение); на язике БЕЙСИК, па компиляторе ФОРТРАН IV.
Необходимость и большом быстродействии при обрабо!^ ке биопотенциалов возникает в основном при использовании результатов обработки для управления исполпительны- ми органами и при высоких требованиях к скорости формирования управляющего воздействия. Для проведения диаг- '189
УсилителиУсилители1упьтиппексор1упьтиппексорОЗУ48 КбайтОЗУ48 КбайтПЗУ8 КбайтПЗУ8 КбайтВЗУ4 КбайтВЗУ4 Кбайт
Усилители
Усилители
1упьтиппексор
1упьтиппексор
ОЗУ48 Кбайт
ОЗУ48 Кбайт
ПЗУ8 Кбайт
ПЗУ8 Кбайт
ВЗУ4 Кбайт
ВЗУ4 Кбайт
йостй^еских процедур приемлемо быстродействие системы, определяемое скоростью диалога оператора с системой. Для таких целей допустимо применение микропроцессора среднею быстродействия, выполняющего обработку предварительно накопленного массива вне реального времени. Во ВНИИ медицинского приборостроения разработан мпо гопараметрический анализатор биопотенциалов, основанный на этих принципах.
Входные рТ1очать~~| 而亍?сигналы .
Ф о рми ровательвидеосигнала
ТаймерТаймерПрерываниеПрерываниеЦАП 匕 ГрафопостроительЦАП 匕 Графопостроитель
Таймер
Таймер
Прерывание
Прерывание
ЦАП 匕 Графопостроитель
ЦАП 匕 Графопостроитель
Магистраль микропроцессорной. системы
Магнитофон
Рис. 5.13. Структурная схема статистического анализатора биопотенциалов
Анализатор может обрабатывать аналоговые сигналы с размахом ±1 и 土2 В и цифровые данные, считываемые с кассетного магнитофона. Структурная схема анализатора показана на рис. 5.13. Аналоговые сигналы подключаются к 16-канальному мультиплексору, управляемому центральным процессором К580ИК80 через порт. Узел аналого- цифрового преобразователя построен на основе однокристального АЦП К572ПВ1, используются 8 бит выходного кода, время преобразования 80 мкс/отсчет.
Типовые значения частот квантования для биопотенциалов: для ЭКГ — до 500 отсчет/с, для ЭЭГ — до 200 отсчет/с, для ЭЭГ — до 10 000 отсчет/с. Как было показано в гл. 4, при такнх частотах запись кодов АЦП в память данных может выполняться
программным способом, без прямого доступа. Емкость памяти данных анализатора 48 Кбайт, что соответствует записи данных ЭКГ с 12 каналов при частоте квантования 500 отсчет/с в течение 8 с. Данные могут записываться на кассетный магнитофон. При использовании бытового магнитофона управление им производится вручную, поэтому трудно осуществить синхронизацию между потоками выходных данных АЦП и входных данных магнитофона (при стандартной плотности записи). Поэтому запись на магнитофон производится с использованием памяти данных в качестве буфера. Емкость кассеты 200 Кбайт.
В состав программного обеспечения анализатора входят следующие программы (рис. 5.14):
определение статистических характеристик случайного процесса STATP;
построение гистограммы амплитуды GIASAM;
построение гистограммы интервалов GISIN;
спектральный анализ SPECT;
корреляционный анализ CORR;
полуавтоматический амплитудно-временной анализ MARK.
Перечисленные программы находятся на втором уровне структурной схемы, доступ к ним возможен через программы первого уровня: блок инициализации INIT и блок выбора задания PAGEL Блоку INIT передается управление в самом начале работы, а также после выполнения любого задания.
Третий уровень структурной схемы составляют подпрограммы, определяющие параметры случайного процесса, а также подпрограммы, выполняющие вывод информации, в частности графиков па дисплей;
MMDIA ■—подпрограмма вычисления минимального и макснмапь。 ного значений, а также диапазона значений случайного процесса;
MX ——подпрограмма вычисления математического ожидания случайного процесса;
GSTAM——подпрограмма формирования гистограммы амплитуд случайного процесса в фиксированных адресах;
ASQ ——подпрограмма вычисления среднего квадратического отклонения, дисперсии, а также третьей и четвертой степеней среднего квадратического отклонения;
VAR, ASIM, EKSC——подпрограммы определения коэ(|)фициентов вариации, асимметрии и эксцесса;
- GSTIN ——подпрограмма формирования гистограммы интервалов случайного процесса в фиксированных адресах;
CONVG ——подпрограмма преобразования значений статистических
параметров и вывода их на дисплей;
192
CHOIS — подпрограмма установки < условий преобразования гистограммы в зависимости от числа выборок;
GCONV ——подпрограмма преобразования сформированных гистограмм в зависимости от условия, полученного в подпрограмме CHOIS;
GL' — подпрограмма записи преобразованных гистограмм в графическую память дисплея;
AXEXY — подпрограмма формирования осей координат в символьной памяти дисплея.
На четвертом уровне структурной схемы находятся различные вспомогательные программы:
MNX — подпрограмма вычисления моментов второго, третьего и четвертого порядков в зависимости от значения байта условия;
SUM ——подпрограмма вычисления выражения (а—b 十 с), где а, В, с ——числа в формате с плавающей запятой; эта подпрограмма предназначена для обеспечения вычисления центральных моментов третьего и четвертого порядков;
FIXP2 ——подпрограмма вычитания константы из одиобайтового целого числа с фиксированной запятой и преобразования его в двухбайтовое число с фиксированной запятой;
CMPR — подпрограмма анализа порядка числа в формате с плавающей запятой и умножения этого числа на соответствующий весовой коэффициент для преобразования его в целое двухбайтовое число;
SDIGT——подпрограмма преобразования числа в формате с фиксированной запятой со знаком в двончпо-десятичную форму;
DIDB ——подпрограмма перезаписи информации, полученной в подпрограмме в массив для вывода на дисплей.
Для программ SPECT и CORR на третьем уровне находятся подпрограммы модификации рассчитываемых или выводимых на дисплей функций:
SPMOD ——подпрограмма, определяющая один из трех возможных режимов вывода спектральной функции и объем массива в частотной области;
CRMOD ——подпрограмма, определяющая одну из четырех возможных для расчета корреляционных функций, объем массива во временной области, параметры задержки.
На четвертом уровне для этих программ находятся подпрограммы, обеспечивающие расчет, преобразование и вывод на дисплей заданных функций:
FFT ——подпрограмма быстрого преобразования Фурье;
SPRE — подпрограмма преобразования и вывода на дисплей действительной части спектра;
SPIM „ подпрограмма преобразования и вывода на дисплей мнимой части спектра;
SPAMP ——подпрограмма расчета, преобразования и вывода на дисплей амплитудного спектра;
ACORR ——подпрограмма расчета и вывода корреляционной функции;
CRSCR ——подпрограмма расчета и вывода взаимной корреляцион-* пой функции;
Рис. 5.15. Статистический анализатор биопотенциалов (внешний вид)
APOL——подпрограмма расчета и вывода полярной функции;
CRPOL — подпрограмма расчета и вывода взаимной полярной функции.
Перечисленные подпрограммы подробно описаны в § 3.3.
Внешний вид статистического анализатора (без первичных измерительных приборов и усилительной части) показан на рис. 5.15.
КОРРЕЛЯЦИОННЫЕ ПРИБОРЫ ДЛЯ ИЗМЕРЕНИЯ 「ЕОМЕТРкЯЕСККХ ПАРАМЕТРОВ
Системы измерения геометрических параметров: расстояния, направления, скорости, расхода и пр., основанные на корреляционном принципе, получили широкое распространение в промышленных, транспортных и научно-исследовательских областях применения. Популярности этих систем способствовали высокая 'помехоустойчивость корреляционного принципа и возможность применения первичных преобразователей, работающих без непосредственного 194
контакта с исследуемым объектом: оптических, ультразвуковых, электромагнитных, акустических, радиолокационных и пр.
При существенно разном подходе к проектированию измерительных схем для различных первичных преобразователей и измеряемых параметров общая функциональная схема корреляционного измерителя геометрических параметров в большинстве случаев одна и та же (рис. 5.16).
Рис. 5.16. Функциональная схема корреляционного измерителя геометрических параметров
:В нее входит группа первичных измерительных преобразо- ]вателей ИПХу ИП{^ …,ИП?, формирующих сигналы ~ x(t), у(力,…,z(f), которые зависят от взаимодействия ,объекта со средой—их взаимной скорости, координат. В систему активного типа входит формирователь исходного сигнала — при этом первичные преобразователи воспринимают отраженный сигнал или сигнал, прошедший через поглощающую, среду. В системе пассивного типа источник сигнала находится в самой среде и не входит в измерительную систему. Сигналы x(f), y(i),…,z(/) подаются в систему обработки в режиме измерения в реальном време- * ни или могут запоминаться в запоминающем устройстве ЗУ с дальнейшей обработкой вне реального времени. В корреляционных измерителях сигналы x(f), y(t), z(f) по форме аналогичны друг другу, но обладают временны- :ми запаздываниями т%Уз гх2з относительно друг друга— «транспортными» запаздываниями. Искомые величины —— 13*195
скорость, направление, координаты——являются детерминированными функциями от транспортных запаздываний, а сами транспортные запаздывания могут быть определены путем поиска максимума взаимной корреляционной функции пар входных сигналов. Эта процедура выполняется блоком корреляционного измерителя транспортного запаздывания КИТЗ, в состав которого входят коррелометр и экстремальный регулятор.
Коррелометр вычисляет взаимные корреляционные функции пар ВХОДНЫХ сигналов Rxngy) , ..., Rxz(Xxz) или модификации этих функций——релейные или полярные функции, функции Стилтьеса и пр. Модификации взаимной кор~ реляционной функции используются с целью уменьшить объем вычислений и их разрядность; обязательным условием ори этом является несмещенность максимума корреляционной функции на оси времени.
Формулы для расчета взаимной корреляционной функции и. ее модификаций приведены в § 3.3; коррелометр оценивает значения этих функций с методической погрешностью, которая зависит в основном от времени выборки TV
Значения взаимных корреляционных функций поступают в экстремальный регулятор, управляющий по цепи обратной связи значениями временных сдвигов в коррелометре тху, ..., Txz. В результате экстремального поиска определяются максимальные значения RxynV . .RxZin. При ^ху(*^ху) = RxnRxz(txz) — Rxzт временные сдвиги Тху,…,Тх2 соответственно равны тра1нспортным запаздываниям тхуз, ..Тхг3. При идеальном совпадении по форме сигналов % (/), у (0 максимум взаимной корреляционной функции равен дисперсии сигнала Dx.
Искомые геометрические параметры вычисляются как детерминированные функции от транспортных запаздываний вычислительным устройством ВУ. Результаты выводятся на цифровой индикатор ЦИ, регистратор или используются для управления объектом.
Рассмотрим кратко модификации схемы корреляционного измерителя, применяемые для измерения различных параметров.
В системах измерения скорости обычно используется вариант основной схемы, показанный на рис. 5.17,。. По этой схеме построены измерители скорости проката, пластмассовой и бумажной ленты, средств рельсового и безрельсового транспорта. На поверхность, движущуюся относительно измерителя (например, поверхность прокатываемого металла), проецируются две узкие световые полосы, 196
отражение которых воспринимается фотоэлементами ФЗ* и ФЭУ. Выходные сигналы фотоэлементов изменяются в соответствии с яркостью отраженного луча; эти изменения связаны с оптической неоднородностью поверхность. Сдвиг между световыми штрихами равен базе корреляционного измерителя /. При отсутствии шумов сигнал “(/) повторяет сигнал х(Е) с транспортным запаздыванием. тя, обратно пропорциональным скорости V поверхности относительно измерителя:
о = 〃тз・ (5.2)
Рис. 5.17. Корреляционные методы измерения геометрических параметров:а — скорости проката; б — скорости летательного аппарата; 8 — угла сноса летательного аппарата; е ——расхода; d — расстояния и направленияРис. 5.17. Корреляционные методы измерения геометрических параметров:а — скорости проката; б — скорости летательного аппарата; 8 — угла сноса летательного аппарата; е ——расхода; d — расстояния и направления
Рис. 5.17. Корреляционные методы измерения геометрических параметров:
а — скорости проката; б — скорости летательного аппарата; 8 — угла сноса летательного аппарата; е ——расхода; d — расстояния и направления
Рис. 5.17. Корреляционные методы измерения геометрических параметров:
а — скорости проката; б — скорости летательного аппарата; 8 — угла сноса летательного аппарата; е ——расхода; d — расстояния и направления
В таких системах применяется также когерентное освещение поверхности лучом лазера, что позволяет вести измерения при малой степени оптической неоднородности. Погрешность измерения скорости этим методом составляет 0,1—0,3%.
Аналогичный прием используется при измерениях скоростей летательных аппаратов. Вместо светового сигнала здесь используется радиолокационный СВЧ-сигнал, излучаемый передающей антенной и принимаемый системой приемных антенн Л/—АЗ (рис. 5.17,6), причем все антенны находятся на летательном аппарате. Отражение происходит от протяженного участка земной поверхности, но суммар-
ные сигналы, принимаемые антеннами, как и в предыдущем случае, близки по форме и обладают транспортными запаздываниями. Вектор скорости измеряется в виде горизонтальной составляющей, соосной оси летательного аппарата, и углов сноса и тангажа (углы между проекциями вектора скорости на горизонтальную и вертикальную плоскости и главной осью летательного аппарата). Система из трех антенн, показанная на рис. 5.17,8, обеспечивает измерение горизонтальной составляющей скорости и и угла сноса а по формулам
a=arcfg &“/%%); v=lv cos а/(2тг), (5.3)
где 工《, tn ——соответственно транспортные запаздывания сигналов антенн АЗ, А2 относительно сигнала антенны Л/.
Схема, аналогичная схеме на рис. 5.17,а, используется также в системах без опорного источника света; его роль могут выполнять солнце, звезды и пр. На этом основаны измерения скорости ветра (по оптическим неоднородностям атмосферы), облаков и пр.
В некоторых системах измеряется не скорость перемещения материального тела относительно измерителя, а скорость распространения процесса: сейсмической волны (в геофизических измерениях), нервного возбуждения (в биологии и медицине) и пр. Схема измерителя при этом не изменяется.
При измерении расхода жидкостей, газов, сыпучих тел и многокомпонентных смесей используются описанные выше методы измерения скорости. Возможны два основных взрнанта. Если естественные неоднородности потока слишком малы, в схему вместо первого измерительного преобразователя вводится генератор меток 「М, создающий искусственные неоднородности (рис. 5.17,а). При нзмеренш〕 расхода воды метками могут служить порции солевого раствора, впрыскиваемые в поток и воспринимаемые датчиками электропроводности, оптические метки, создаваемые с помощью красителей или пузырьков воздуха и воспринимаемые фотодатчиками. При измерении расхода дымовых газов в поток горячих газов впрыскивается охлаждающая вода, которая испаряется и создает области с пониженной температурой ——температурные метки.
Увеличение скорости потока при постоянной частоте меток приводит к уменьшению плотности меток и снижению точности измерения; во избежание этого вводится самонастройка формирователя меток от скорости. Так как различные части потока движутся с разной скоростью, происходит «размыв» метки, что при достаточно большой базе Z может привести к потере корреляции. Неравномерность потока по сечению учитывается -при вычислении расхода
Q = <2hS〃T3, (5.4)
где s ——площадь сечения потока; 〃н ——коэффициент, учитывающий неравномерность, в общем случае он зависит от скорости, а также от
ряда других, неконтролируемых факторов — вязкости жидкости, состояния внутренней поверхности трубопровода и пр.
Вместо учета коэффициента ан можно более точно определить расход интегрированием скорости по сечению.
Если естественные неоднородности потока достаточны для надежной работы корреляционного измерителя, то применяется схема с двумя измерительными преобразователями, аналогичная схеме па рис. 5」,。, Так, в системе для измерения расхода охлаждающей воды в ядерном реакторе используются естественные температурные флуктуации, всегда имеющиеся в турбулентном потоке. Наиболее перспективен этот принцип для измерения скорости многофазных смесей: газожидкостных, эмульсионных, суспензионных, порошковых и пр. Такие измерители могут применяться в нефтяной прсмышленности (для измерения расхода смесей нефтепродуктов, бурового раствора и пр.), при измерении расхода твердых веществ (муки, зерна, шерсти и пр.), транспортируемых в воздухопроводах.、
Измерение расстояния проводится одним из двух основных методов:
интегрированием скорости, если измерительное устройство непосредственно проходит измеряемое расстояние, как, например, автономные приборы, перемещающиеся в буровых скважинах или внутри трубопроводов;
определением временной задержки между сигналом, отраженным от исследуемого объекта» и зондирующим сигналом, как, например, в радиолокационных системах обнаружения подвижной цели.
При этом расстояние определяется как
Р = стз/2,(5.5)
где с — скорость распространения зондирующего сигнала (в радиолокации—скорость света); т3 — транспортное запаздывание отраженного сигнала относительно зондирующего.
Применение здесь корреляционных методов с использованием псевдослучайного бинарного сигнала в качестве зондирующего по условиям помехоустойчивости и требуемой импульсной мощности предпочтительнее прямого измерения задержки с использованием импульсного сигнала.
Если в радиолокационной системе использовать две приемные антенны (42, АЗ) (рнс. 5.17,d), то можно одновременно определить расстояние по формуле (5.5) и направление по формуле
a^arccos (стз2〃)(5.6)
при пренебрежимо малом угле р.
Здесь т32 — транспортное запаздывание между сигналами, принимаемыми антеннами А2, АЗ.
Рис. 5.18. Структурная схема корреляционного измерителя координат
Аналогичные методы измерения расстояния и направления применяются в ультразвуковых системах интроскопии и гидроакустических системах.
Задача измерения координат в некотором поле параметров решается в системах: для океанской навигации, наведения управляемых снарядов, судовождения вблизи берегов, космических системах астроориентации, автоматической настройки радиоаппаратуры и пр. Полями параметров в перечисленных системах являются соответственно поле глубин океана, поле рельефа местности, поле береговой линии, карта звездного неба, тестовые таблицы радиоаппаратуры и пр. Измерение координат проводится по структурной схеме, показанной на рис. 5.18.
Текущая информация о реальном поле воспринимается первичными измерительными преобразователями ИП, и формируется оценочная функция координат f(x, у, ..., г). Априорная информация о поле хранится в запоминающем устройстве карты поля ЗУ КП. Экстремальный регулятор задает в ЗУД77 адреса, по которым формируется эталонная функция координат ф(х, у, …,z). Функции / н <р поступают в корреляционный компенсатор пространственного сдвига КК〃С, который состоит из коррелометра и экстремального регулятора. Таким образом, в этой системе компенсируется не временной, а пространственный сдвиг между сигналами, в остальном структурная схема аналогична схеме на рис. 5.16. По достижении максимума подобия между / и ф на выходе экстремального регулятора имеются искомые координаты
В системах измерения координат, как правило, используются дополнительные подсистемы《грубого》поиска (СГП), которые вводят систему в окрестность экстремума, а затем включаются узлы системы, выполняющие точный поиск. Подсистемы 《грубого》 поиска обычно
основываются на методах, отличных от корреляционных, — гироскопических, интегрирующих и др.
Методы определения корреляционной и полярной функций в микропроцессорных системах описаны в § 3.3. Кроме метода прямого вычисления корреляционной функции по (3.14) имеется ряд методов, уменьшающих объем вычислений. Наибольший выигрыш по скорости дает метод двукратного БПФ (быстрого преобразования Фурье), в котором используются соотношения между взаимной корреляционной функцией и взаимным спектром (теорема Винера—Хинчина). В этом методе сначала по сигналам х«), y(t) определяется их взаимный спектр Sxy(со) (прямое БПФ)( затем производится переход от S%u((o) к 衣尤卄⑴ (обратное БПФ). Выигрыш в быстродействии по сравнению с прямым методом определения взаимной корреляционной функции тем больше, чем больше массив значений корреляционной функции, которые должны быть определены; так, для 1024 значений выигрыш в быстродействии получается примерно в 12 раз.
Наибольшее распространение в существующих системах получили различные модификации метода с квантованием входных сигналов на два уровня (с вычислением полярной функции).
Экстремальный регулятор в корреляционных измерителях работает по одному из известных методов детерминированного или недетерминированного поиска экстремума [67]. Для ввода системы в окрестность экстремума взаимной корреляционной функции применяются методы недетерминированного поиска, например сканирование. В конце сканирования должно быть зафиксировано значение корреляционной функции, превышающее уровень помех и ложных экстремумов; тогда можно переходить к точному поиску, который выполняется детерминированными методами (по Гауссу—Зайделю, по градиенту и пр.) или путем сканирования с меньшими ступенями квантования по времени.
Корреляционные измерители транспортного запаздывания могут работать в одном из двух основных режимов: в реальном времени или с накоплением и последующей обработкой.
В первом режиме вычисление всех значений корреляционной функции, участвующих на данном этапе поиска экстремума, производится одновременно и накоплением массивов отсчетов входных сигналов. При этом между двумя последовательными операциями квантования входных сигналов производится расчет £к приращений взаимных 201
корреляционных или полярных функций. К концу накопления отсчетов уже подсчитаны Лк значений накопленных сумм, для которых можно произвести поиск экстремума. Так как время поиска пренебрежимо мало по сравнению с временем расчета взаимной корреляционной функции, можно считать, что значение искомого параметра получается сразу по окончании накопления, т. е. в реальном времени.
Схема программы для расчета транспортного запаздывания в реальном времени представлена на рис. 5.19,а. При пуске система ,вхо- дит в режим грубого поиска, через один цикл она входит в режим точного поиска, который при малых изменениях транспортного запаздывания является установившимся. При больших изменениях транспортного запаздывания и потере корреляции система снова переходит в режим грубого поиска и через один цикл возвращается в режим точного поиска. Алгоритм эффективен, если в двух последовательных циклах значение транспортного запаздывания изменяется не более чем на один шаг грубого поиска.
При пуске выполняется модуль начальной загрузки LOAD, в котором загружаются параметры грубого и точного поиска (которые можно модифицировать), программируется таймер, запрещается прерывание, определяется стек и пр. Затем включается модуль определения шага поиска STDEF и в системе устанавливаются параметры грубого поиска. Потом разрешается прерывание и система начинает реагировать на сигналы таймера. В подпрограмме обслуживания прерывания INPXY производятся ввод с каналов х, у п расчет заданного при грубом поиске числа приращений взаимной корреляционной или полярной функций. По окончании ввода заданного числа значений система переходит из модуля INPXY в модуль определения максимума MXDEF, прерывание при этом запрещается. Максимум определяется методом сканирования всех накопленных значений взаимной корреляционной или полярной функции; максимальное значение функции и соответствующее значение транспортного запаздывания запоминаются. Если максимальное значение функции выше уровня помех б (ложных экстремумов), то система возвращается в модуль STDEF, где задаются параметры точного поиска, в противном случае программа продолжается на другом входе модуля STDEF, где задаются параметры грубого поиска. Таким образом, измерение происходит непрерывно, пока от оператора не поступит сигнал останова. Режим реального времени предпочтительнее при жестких требованиях к значению динамической погрешности системы, в частности при управлении объектом от искомого параметра. Подпрограмма расчета искомого параметра и вывода его на индикатор обычно занимает намного меньше времени, чем расчет корреляционной функции, и этим времеяем можно пренебречь. Очевидно, что режим реального времени можно использо- 202
2
8
Рис. 5.19. Схема программ корреляционного измерения транспортного а — в режиме реального времени; 6 — в режиме с накоплением и последующей
(JHlyCK :)
LOAD
Таймер
Расчет значенийк оррепяпионных функций
MXDEF
6)
Расчет искомогопараметраи вывод на индикадаю
запаздывания: обработкой
Магистраль микропроцессорной системы
Рис. 5.20. Структурная схема корреляционного измерителя транспортного запаздывания
вать только при низких частотах квантования, когда за один период квантования можно провести расчет ряда приращений корреляционной функции.
Для более высоких частот квантования возможен только режим с накоплением и последующей обработкой, последовательность выполнения программных модулей для этого режима показана иа рис. 5.19,6. Как и в предыдущем случае, после пуска выполняется модуль начальной загрузки LOAD с функциями, аналогичными описанным выше. После модуля LOAD прерывание разрешается и система переходит в модуль INPXY, в котором производится ввод заданного числа отсчетов в память. Затем включается модуль определения шага поиска STDEF, причем в первом цикле всегда выполняется «грубый» поиск на накопленном массиве отсчетов. Соответственно параметрам грубого поиска рассчитываются значения корреляционной функции, определяется максимальное из них в модуле MXDEF, и си- стема возвращается в модуль STDEF для установки параметров точного поиска. После второго цикла поиска транспортное запаздывание определено, и система переходит к расчету искомого параметра и выводу на индикацию. Затем цикл повторяется, начиная с модуля LOAD.
В [67] проанализированы динамические свойства описанных систем при реализации их на микропроцессоре К580ИК80 с программным выполнением всех вычислительных операций. Структурная схема измерителя транспортного запаздывания на основе этого типа микропроцессора показана на рис. 5.20. В нее входят узел центрального процессора 〃/7, оперативное запоминающее устройство ОЗУ, 204
постоянное запоминающее устройство ПЗУ, параллельный интерфейс для связи с индикаторами и оператором ПИ, программируемый таймер, два аналого-цифровых преобразователя входных сигналов (АЦПХу АЦПУ), цифровой индикатор и пульт оператора.
Если для определения транспортного запаздывания используется полярная функция, то узлы АЦПХ, АЦПУ заменяются знакоформирующими устройствами КУ%, К%, на выходах которых формируется последовательный двоичный код, который вводится в систему через последовательный интерфейс ПЛИ, преобразующий последовательный код группами по 8 бит в 1 байт для параллельного ввода в магистраль.
Для повышения возможностей микропроцессорных систем в корреляционных измерителях применяются следующие основные виды аппаратного расширения:
при высокой частоте квантования, когда программный ввод отсчетов невозможен, вводится контроллер прямого доступа в память (для этого случая на рис. 5.20 показаны прямые связи АЦПХ- АН% с узлом ОЗУ);
для ускорения операций умножения при расчетах корреляционной функции вводится аппаратный умножитель;
для ускорения расчетов полярной функции и ее модификаций вводится схема, выполняющая операцию свертки над последовательностями двоичных разрядов, аналогичная схеме, описанной в [121].
В качестве примера промышленного корреляционного измерителя рассмотрим прибор с микропроцессорным управлением «Micorvit ZA 170» [134], измеряющий скорость и расход жидкостей, твердых веществ, газов. Прибор может быть использован совместно с оптическими ультразвуковыми или емкостными первичными преобразователями. Для определения транспортного запаздывания рассчитывается взаимная полярная функция, измеряемый параметр выводится на цифровой индикатор.
Прибор допускает адаптацию к условиям измерения в широких пределах: можно изменять расстояние между первичными преобразователями и уровни входных сигналов. Диапазон рабочих частот прибора 1 Гц—15 кГц. В приборе используется микропроцессор Intel 8085.
ВЕСОИЗМЕРИТЕЛЬНЫЕ И ДОЗИРУЮЩИЕ ПРИБОРЫ
Микропроцессорный весовой дозатор
для нефтепродуктов
Повышение метрологических характеристик и универсальности весоизмерительных устройств в последнее десятилетие достигнуто за счет применения тензорезисторных 205
датчиков силы и встроенных микропроцессоров, проводящих управление процессом и обработку результатов [27]. Промышленные датчики силы с фольговыми тензорезисто- рами имеют линейные характеристики и малые дополнительные погрешности, соответствующие высоким категориям точности (0,05; 0,1; 0,15) [13, 127].
Алгоритм работы весовых устройств с такими тензоре- зисторными датчиками и измерительными преобразователями, имеющими линейную характеристику преобразования значений сопротивлений тензорезисторов датчика в параметр электрического сигнала, не требует сложных вычислительных операций, но желательными являются простота и низкая стоимость электронной аппаратуры. Применение микропроцессоров позволяет автоматизировать процесс измерения, ввести автоматическую установку нуля, учет тары, слежение за успокоением колебаний» усреднение результатов измерения, вычисление погрешностей, выдачу веса нетто и брутто, вычисление стоимости, учет количества отпущенного продукта, суммирование стоимостей отпущенных товаров и др.
В системах автоматического управления технологическими процессами микропроцессорные контроллеры осуществляют дозировку, управляют составлением смесей, осуществляют измерение расхода продуктов и его отпуск. При этом используются различные типы специализированных и универсальных микропроцессоров, причем из-за простоты алгоритмов работы систем взвешивания их возможности используются далеко не полностью.
Для отпуска нефтепродуктов в стандартную тару двух типоразмеров на кафедре электроники и измерительной техники МИНХ и ГП им. Губкина совместно с СКВ 《Транснефтеавтоматика》 разработан весовой дозатор на базе микропроцессора К580ИК80. Дозатор предназначен для отпуска продуктов различного типа, поэтому отпускаемые дозы могут задаваться с пульта управления с дискретностью в 1 кг в двух пределах 80—90 и 160—180 кг. Так же устанавливается количество отпускаемых доз (до 99).
Дозатор (рис. 5.21) состоит из резервуара 1, подвешенного на тензорезисторхном датчике силы 2, соединенном с импульсным измерительным преобразователем 3. Резервуар гибко соединен 心 системой трубопроводов, содержащих электромагнитные вентили слива 4 H 5 и налива 6 резервуара и электронасосные агрегаты 7 и 8 (наполнения и слива. Вентили имеют контактные датчики состояния. Уровень 206
продукта в резервуаре контролируется при помощи магнитоуправляемых контактов верхнего (/0), среднего (,/) и нижнего (72) уровней.
Для предотвращения перелива продукта через край резервуара или полного опустошения резервуара служат аварийные магнитоуправляемые контакты 9 и 13. Управление работой дозатора осуществляет контроллер 14, содержащий клавиатуру для ввода исходных данных и индикации.
Контроллер обеспечивает диалоговый способ выбора оператором алгоритма и режима работы. Для вывода запросов процессора используются все пять разрядов семисегментной индикации, а для вывода служебных сигналов и индикации состояния вентилей системы используются индикаторные светодиоды. Для ввода ответов и команд оператора, а также дозы и числа доз используются десятичная клавиатура и специальные кнопки управления. Предусмотрены следующие режимы работы: подготовка к работе, рабочий и служебные. Рабочий режим обеспечивает ввод дозы и числа доз, управление процессом налива и слива резервуара и измерения веса отпущенного продукта, счет числа отпущенных доз и запрещение отпуска после отпуска всех доз. В рабочем режиме на индикацию выводятся доза в килограммах (три разряда) и число оставшихся для отпуска доз (два разряда), К служебным относятся режимы: калибровки
алгоритма работы, проверки начального и текущего состояний системы и проверки выполнения команд управления работой системы.
На рис. 5.22 представлен график изменения веса Р резервуара в рабочем режиме, поясняющий алгоритм работы дозатора. При включении дозатора (момент £=0) резервуар не наполнен, контроллер проверяет состояние вентилей и осуществляет их закрытие, если они не закрыты. Затем контроллер выдает запрос 01 для оператора: нужна ли калибровка, и если не нужна, то какое значение коэффициента калибровки К использовать — стандартное или вводимое оператором (запросы 02 и 03). В зависимости от ответов оператора (да, нет или ввод К с клавиатуры) контроллер использует при определении веса в дальнейшем то или иное значение К. Затем контроллер выдает запрос 04 на ввод дозы и после ее набора на клавиатуре и ввода в ОЗУ выдает запрос 05 на ввод и пел а доз. После набора оператором числа доз контроллер выводит на индикацию дозу и полное число доз. Затем процессор в зависимости от дозы определяет, до какого уровня должно производиться наполнение резервуара, до датчика верхнего (/0) или среднего (//) уровня (см. рис. 5.21), включает насос наполнения 7 и открывает вентили наполнения 6 (момент а). Начинается быстрое наполнение резервуара. По достижении необходимого уровня по сигналу от датчика контроллер закрывает вентиль налива (момент Ь).
После времени т, достаточного для успокоения резервуара н жидкости, контроллер измеряет вес наполненного резервуара Рн, вычитает из него вес дозы Рд и запоминает разность как вес резервуара 尸с л, определяющий момент прекращения слива, так как Р*=Рн——РСл- Затем на индикацию выдается сигнал готовности к отпуску дозы. Отпуск дозы может начаться либо при нажатии клавиши 《Пуск》 оператором, либо при нажатии рычага пистолета отпуска на шланге потребителем. Контроллер открывает вентили быстрого 4 и медленного 5 слива и включает насос слива (момент с). Происходит быстрый отпуск основной части дозы, уровень продукта опускается до датчика нижнего уровня 12. По сигналу этого датчика закрывается вентиль быстрого слива 4 и скорость отпуска дозы уменьшается в несколько раз (момент d). Это способствует уменьшению динамической погрешности отпущенной дозы при неизменном времени измерения веса процессором и уменьшает погрешность, обусловленную конечным временем закрытия вентиля слива 5. Начиная с момента d контроллер переходит к непрерывному измерению текущего веса 厶 резервуара и сравнению Рт и РСл- При достижении их равенства контроллер закрывает и вентиль медленного слива 5, и насос слива 8. Одна доза отпущена, поэтому на индикации число оставшихся для отпуска доз уменьшается на единицу, контроллер снова открывает кран налива 5 и цикл повторяется до отпуска полного числа доз.
Схема контроллера построена на микропроцессорной системе, аналогичной системе на рис. 1.1.
Отметим ряд особенностей в работе и программе кок- тролллера.
Контроллер непосредственно принимает сигналы импульсного измерительного преобразователя без дополнительных схем. Период импульсов преобразователя Т прямо пропорционален текущему значению веса резервуара Рт: Т〜Рт. Измерение длительности периода, т. е. превращение его в число N^T, организовано программным путем. Для уменьшения роли шумов и вибраций длительность периода определяется с усреднением по 400 Т. Длительность А/ цикла программы измерения периода равна 15,5 мкс. При Т около 1 мс погрешность дискретности преобразования TfN оказывается 4.10~5, а случайная погрешность не превышает 3-10~4.
Предусмотренная служебная программа позволяет производить калибровку дозатора при помощи эталонных гирь в 100 кг. Вычисляется коэффициент пропорциональности К числа ^ и веса Р с точностью до 10Т При этом программа вычисления К оперирует трехбайтовыми двоичными числами.
Найденное при калибровке значение ^ заносится в ОЗУ и выводится на индикацию для его записи оператором на специальной табличке пульта управления. Это позволяет сохранять результаты калибровки при случайном отключении напряжения сети или при выключении дозатора, так как предусмотрен режим ввода К с клавиатуры. Номинальное значение К хранится всегда в ПЗУ.
Для организации диалога с оператором семисегментные индикаторы используются также для вывода буквенной информации, т. е. сокращенных слов «Запрос», 《Авария》. Поэтому для преобразования двоично-десятичного кода цифр используется матрица преобразования, занесенная в ПЗУ. При этом младшим полубайтом адреса служит код цифры, что убыстряет преобразование. Код букв в семисегментном коде задается непосредственно в программе.
209209Аварийная ситуация может проявиться разными способами: при переполнении резервуара (по сигналу верхнего аварийного датчика), при утечке нефтепродукта (по сигналу нижнего аварийного датчика), при отсутствии подтверждающих сигналов от датчиков вентилей о выполнении управляющей команды и при одновременном открытии вентилей налива и слива (от служебной программы проверки состояния и выполнения команды). Во всех случаях сигналы поступают на предпоследний по уровню приоритета вход устройства приоритетных прерываний. Центральный процессор переходит к выполнению программы «Авария». Выдаются сигналы на закрытие всех вентилей и выключение насосов, во внешнее устройство выдается сигнал аварии (звонок), на индикацию выводится мигающий сигнал 《АВАР»,
209
209
14—319
Рис. 5.23. Схема алгоритма работы дозатора 210
Рис. 5.23 (продолжение)
14*211
Рис. 23 (окончание)
Центральный процессор переходит в состояние остаПОйа (HALT). В этом состоянии ЦП будет находиться до устранения причины аварии, сохраняя в стеке все необходимые данные для продолжения работы. Переход к работе осуществляется клавишей «Выход из аварии», сигнал которой поступает на последний, высший по уровню приоритета вход устройства приоритетных прерываний. Центральный процессор переходит к продолжению работы.
Полный алгоритм работы дозатора приведен па рис. 5.23, а~ в.
Промышленные весы со струнными датчиками
Фирма Wirth Gallo (Швейцария) разработала универсальные промышленные весы с микропроцессором на основе струнных датчиков силы [126]. Как известно, струнные датчики силы обладают нелинейной зависимостью частоты f колебаний струны от приложенной силы:
=(5*7)
Рис. 5.24. Конструкция двухструнного датчикаРис. 5.24. Конструкция двухструнного датчикаПри этом при высокой кратковременной стабильности частоты /о оказывается существенным ее температурный уход, обусловленный изменением параметров струны от температуры. Фирма предложила для весов конструкцию двухструнного датчика, свободную от отмеченных недостатков (рис. 5.24). Датчик
Рис. 5.24. Конструкция двухструнного датчика
Рис. 5.24. Конструкция двухструнного датчика
лмеет четыре нагружаемые
струны, из которых две (Ci и С2) используются для получения измеряемых частот /\ и /2. Помимо измеряемого веса Рх на датчик постоянно действует эталонный вес Рэ. В качестве выходной величины датчика используется отношение частот fi/fz* Это позволяет исключить влияние температуры на выходной сигнал, так как струны & и С2 имеют идентичные характеристики. Кроме того, при опре
деленных геометрических соотношениях между углами нерабочих и рабочих струн отношение частот меняется при изменении измеряемого веса почти линейно. Другими сло-
вами, в выражении
Р]卜 kRRР]卜 kRR(5.8)(5.8)
Р]卜 kRR
Р]卜 kRR
(5.8)
(5.8)
квадратичный член мал, 。2^0; в этом случае при изменении Рх/Рэ^^Д отклонение от линейности не превышает 0,02%. Расширение предела измеряемого веса при постоянных конструкции датчика и значении Рз достигается приложением силы Рх через рычаг с необходимым соотно* шением плеч. Весь диапазон измерений разбит на 3000 участков с изменением частоты, не превышающим 10 %. Универсальный механизм весов позволяет делать на его основе как железнодорожные и автомобильные весы, так и весы для отпуска и фа-совки медикаментов.
Отмечается еще одна особенность такой системы взвешивания: определение веса происходит путем сравнения егр с эталонным. Следовательно, фактически происходит определение массы продукта MXi а не его веса. Весы не требуют тарировки при работе в различных местах.
Электронная схема весов выполнена на основе микропроцессора F8 фирмы Fairchild, двух устройств приоритетного прерывания и около 150 логических ТТЛ-схем. Деление частот осуществляется микропроцессором при помощи стандартной процедуры счета числа импульсов А, частоты fi за период частоты 関
" =九色=九72. (5.9)
Частота струнных датчиков без нагрузки равна примерно 15 кГц. Поэтому для уменьшения погрешности дискретности деления нрн малом времени измерения (около 1 мс) частота 八 увеличена в 160 раз, а частота 丘 уменьшена в 160 раз.
Микропроцессорный массовый расходомер
Существующие способы учета массы нефтепродуктов при операциях их приема и отпуска основаны, как правило, на косвенных измерениях. Это не позволяет повысить точность измерения. Применяемые способы непосредственного измерения массы не технологичны, так как требуют введения специальных дополнительных операций, занимающих иногда время, соизмеримое с временем отпуска продукта.
С большой производительностью работает система точного весового учета расхода жидких нефтепродуктов, производимого непосредственно во время технологических процессов слива или налива. Система основана па 'применении тензометрических методов измерения и микропроцессорной техники для обработки результатов и управления процессом. Принцип работы системы весового измерения расхода состоит в последовательном взвешивании отдельных порций потока нефтепродуктов. Для обеспечения (непрерывного потока на выходе устройства при отпуске (сливе) продукта или на входе устройства при приеме (наливе) продукта поток разделяется на две линии. Когда ,по одной из линий течет продукт на выход устройства, в другой линии производится измерение. Поэтому система .может быть использована для измерения 'произвольного .;количества текущего 'продукта непосредственно в техноло- 扌 гических операциях без затраты дополнительного времени.
; Система (рис. 5.25) состоит из двух резервуаров 1а и ;/6, подвешенных на силоизмерительных тензорезисторных ;датчиках 2* Датчики соединены с измерительными преоб- J разователями 3, период выходного сигнала которых линей- ;но зави-сит от веса резервуара 5 с нефтепродуктами [30].
Рнс, 5.25, Система весового учета расхода жидких нефтепродуктов
.215
Резервуары при помощи гибких сильфонов соединены с системой технологических трубопроводов 4, по> которыдг нефтепродукт поочередно поступает в резервуары и поочередно сливается из них. Управление этим процессом осуществляет по команде оператора микроконтроллер 5 при помощи электроуправляемых вентилей налива 4 и слива В. Расход продукта на входе и выходе системы регулируется
Рис. 5.26. Временное диаграммы работы системы весового учета
дросселями Д. Вентили С дублируют вентнлн Л и В при аварийном останове процесса. Предусмотрена возможность пуска и останова процесса при операциях слива непосредственно с крана отпуска Е Контроль за уровнем продукта в резервуарах осуществляется при помощи магнитоунрав- ляемых датчиков нижнего НУ и верхнего ВУ уровней, а также датчиков переполнения ПП. Сигналы от преобразователей, датчиков уровня и квитирующие сипналы состояния вентилей поступают в микроконтроллер и используются для управления системой, контроля ее состояния и вычисления веса отпущенного или принятого продукта.
Рассмотрим работу системы йри отпуске иефтейроДук^ой (рис. 5.26). Предположим, например, что в начальный момент резервуар 1а был слит, а резервуар Jb наполнен. После команды 《Пуск» в этом случае будут произведены определение веса 尸нв наполненного резервуара н его запоминание, а затем выдача команды на открытие вентиля В этого резервуара. Из резервуара 1Ь начнется с〃нв продукта. После этого будет даиа команда на открытие вентиля наполнения Л резервуара 1а и начнется его наполнение. При этом скорость налива превышает скорость слива резервуаров. Поэтому уровень продукта в резервуаре 1а достигнет датчика ЗУ в процессе слива другого резервуара. По сигналу от этого датчика закрывается вентиль Л резервуара 1а, и через время т, необходимое для успокоения жидко
сти и резервуара, контроллер производит определение и запоминание веса 尸на наполненного резервуара 1а. Отметим, что определение веса производится при закрытых вентилях Л и В, т. е. в статическом режиме. Это исключает динамические составляющие погрешности. После этого измерения в момент снижения уровня продукта в резервуаре /6 до положения датчика НУ и срабатывания этого датчика микроконтроллер прекращает слив продукта из резервуара 1Ь и одновременно начинает слив из резервуара 1а. По его командам закрывается вентиль В одного резервуара и открываете;! вентиль В другого. Через время успокоения т производится определение веса Рсв слитого резервуара lb и вычисление веса порции ;1родукта р = =Рнв—Рсв, отпущенного в одном цикле. Это значение веса в килограммах выводится на индикацию. Затем открывается вентиль Л для наполнения слитого резервуара 1Ь. По епгпалу датчика ВУ его наполнение прекращается, через время т производится определение и запоминание нового значения РНв веса наполненного резервуара. Теперь после снижения уровня продукта в резервуаре 1а до положения датчика "У микроконтроллер выдает команды па одновременное прекращение слива из резервуара /а и начало слива из резервуара /瓦 Через время т производится определение веса РСа слитого резервуара /а, вычисление веса порции продукта Р2=Рна—Рса, отпущенного
во втором цикле, и вычисление суммарного веса отпущенного продукта Р1 + Р2. Это значение выводится на индикацию. Затем начинается
цикл повторяется. Значениецикл повторяется. Значениеповторное наполнение резервуара /а и
цикл повторяется. Значение
цикл повторяется. Значение
веса продукта, отпущенного в каждом последующем цикле, суммируется с весом продукта, отпущенного ранее, и индицируется. Отпуск продукта прекращается по сигналу 《Стоп》с пульта управления. Максимальное количество отпущенного продукта определяется факти
чески емкостью индикации. В системе оно выбрано равным 100 т, поэтому на индикацию выводится шесть десятичных знаков (вес в килограммах). Полный вес отпущенного продукта, кроме индикации, выводится в двоично-десятичном коде (шесть разрядов) на специальный
буферный регистр для дальнейшего кспользования в системе расчета с потребителями.
В рассмотренном режиме работы системы обеспечивается непрс» рывный отпуск продукта с постоянной производительностью QEblx (см. рис. 5.26). Это достигается, если время / налива продукта меньше времени Т его слива, т. е. при выполнении условия
/+2т<Л т. е. P/Qbx十2t<8/Qhhx. (5.10)
Регулировка производительностей Qss и Qbux производится дросселями Д. Степень неравенства определяет допустимые значения отклонения производительностей от номинальных при изменении условий. При нарушении неравенства система выдает на выходе пульсирующий, прерывистый поток, что не всегда желательно. Микроконтроллер в этом случае включит сигнал на пульте управления ^Прерывистый поток».
Описанный алгоритм работы позволяет исключить влияние аддитивных составляющих систематических погрешностей системы, так как вес каждой порции продукта определяется разностью двух измерений. В системе предусмотрена также цифровая периодическая коррекция и мультипликативных составляющих погрешности. Коррекция значения крутизны преобразования производится при нагружении резервуаров соответствующими гирями и измерении их веса при помощи системы. Новое необходимое значение двух последних знаков крутизны устанавливается при помощи дисковых переключателей, расположенных на пульте управления. Это значение крутизны и используется микроконтроллером при последующих вычислениях веса нефтепродукта.
Контроллер проводит и самоконтроль состояния системы по сиг* налам от датчиков уровня, сигналам состояния вентилей, по времен* ной последовательности открытия вентилей В и закрытия вентилей 4 различных резервуаров. При ненормальном состоянии вентилей или срабатынанип датчиков переполнения ПП контроллер останавливает процесс, закрывает вентили Д, В, С, включает индикацию сигналов «Авария» или «Переполнение», производит вычисление весов последней порции п полного отпущенного продукта и выводит на индикацию вес отпущенного продукта. При окончании слива одного из резервуаров раньше наполнения и взвешивания другого включается сигнал индикации «Прерывистый режим》. Контроль за работой системы может проводить оператор, так как иа панель управления выведена сигнализация от квитирующих сигналов клапанов обоих резервуаров (《На- лив», «Слив», «Измерение») н от сигналов датчиков уровня обоих резервуаров («Слит», «Наполнен»). Кроме того, во избежание переполнения емкости потребителя из-за ошибки оператора введена клавиатура для установки максимальной дозы отпуска. Код максимальной дозы при начале отпуска продукта считывается процессором, а после окончания вычисления веса отпущенного продукта каждый раз
Рис. 5.27. Схема алгоритма работы контроллера
производится сравнение этих величин. Процесс останавливается, если вес продукта превышает дозу.
Схема алгоритма работы контроллера представлена на рис 5.27.
Контроллер выполнен на основе микропроцессорных наборов серий 580 и 589 и интегральных микросхем серии 155 (рис. 5.28). Использован центральный процессор ЦП (К580ИК80), имеющий 8-разрядную двунаправленную шину данных IIIД и 16-разрядную шину адреса ША. После буферных усилителей эти шины становятся общими шинами контроллера. Шина управления /〃У контроллера имеет 54 разряда, что позволяет выделить цля управления блоками и приема и выдачи отдельных групп сигналов независимые разряды, т. е. обойтись без дополнительной дешифровки. Управляющие сигналы шины формируются системным контроллером СК (К580ВК28) и декодирующим устройством адреса (〃/). Декодер двухступенчатый и выполнен на четырех микросхемах 155ИДЗ. На его вход поступают сигналы MR, MW и разряды адреса Ло——Л3, Аю—Ли. Для упрощения процесса управления переходами к подпрограммам измерения веса и сравнения с максимальной дозой использован блок приоритетного прерывания БПП, выполненный на микросхемах К589ИК14 и К589ИР12. Применение схемы таймера позволило освободить процессор от операции программного измерения длительности периодов Тха и ТХб частотных измерительных преобразователей. Таймеры используются также для коррекции крутизны преобразователей и для создания больших временных задержек т (примерно 3 с) на время успокоения продукта. Поэтому в контроллере использованы три микросхемы КР580ВИ53.
В качестве основного ПЗУ программы использованы четыре схемы программируемого ЗУ типа К573РФ1, так как объем программы превышает 3 К. Объем оперативной памяти ОЗУ равен 256 байт, использованы две микросхемы типа Р2101А. Процессор принимает сигналы управления, измерительные сигналы датчиков уровня и квитирующие сигналы состояния клапанов по 46 линиям. Входной порт на 48 бит организован простейшим способом из шести групп 8-разрядных схем 2И — НЕ с открытыми коллекторами (2ХК155ЛА8), соединенными с одинаковыми разрядами ШД. Управление открытием схем группы осуществляют разряды ШУ. Выходные сигналы и данные процессора могут поступать в 64 различные линии. Большинство из этих сигналов должны сохраниться длительное время (сигналы 220
介32 介24介8
Рис. 5.28. Структурная схема микроконтроллера
включения клапанов, сигналы отпущенного веса и др.). Поэтому в выходных портах применены универсальные буферные регистры К589ИР12 как элементы буферной памяти для внешних устройств (восемь микросхем). На рис. 5.28 видно, что обращение ко всем внешним устройствам через порты ввода-вывода производится как к памяти. Такой способ организации интерфейса увеличивает быстродействие системы и уменьшает объем программы. Он позволяет использовать для работы с внешними устройствами все команды ЦП, предназначенные для работы с памятью. Поскольку в контроллере объем адресуемой памяти равен 4 К, а ЦП позволяет адресоваться к объему 64 К, возможна адресация еще к 16 устройствам.
В контроллере о0щее число адресуемых устройств (превышает 16, поэтому устройства разбиты на группы, внутри которых для адресации используются младшие разряды ША. Наибольший объем адресов в группе не превышает 1 К (кристаллы ПЗУ), поэтому для адресации к группам использованы разряды
Специфическим элементом контроллера, предназЕ1ачсиным для обработки частотных сигналов преобразователей, являются таймеры. Они выполняют ряд операций при вычислении веса продукта. Алгоритм определения дозы продукта прост благодаря линейной связи периода Г* преобразователя с весом Рх резервуара с продуктом:
Tx=T0^SPXt(5.11)
где То — начальное значение периода, Го^1 мс; S — крутизна преобразования.
По сигналам датчиков уровня измеряются с задержкой иа успокоение период Гн наполненного и период Тс слитого резервуаров с весами Рп и Рс соответственно. Вес отпущенной дозы продукта =Рн——Рс связан с этими значениями периода также линейно:
&—Tc=S(3—Pc)=SP(5.12)
Для измерения длительности периода применен стандартный метод счета числа импульсов 八仆 генератора опорной частоты 几口 за время Тх ("工二/^口丁謂).Для уменьшения влияния погрешности дискретности и случайных изменений величины Г- связаппых с тумамн схемы сравнения преобразователя и шгешпими помехамгг, проггзволится усреднение результатов измерения по л периодам (打、400). В этом случае относительное средиеквадратпчсское значение погрешеюсти определения периода Гх не превышает 0,02%. При этом полученное число импульсов N уменьшается, а разность двух измерений AN может
Рис. 5.29, Схема таймеров контроллера:
DOI, D02, D03, 004 — разряды слова унравлсння таймером; &, У?2 — запросы подпрограммы проверки Дозы; &з, У?4 — запросы Подпрограммы измерения веса
быть сделана численно равной весу Р при соответствующем выборе величин /он и п:
叫оп(Тн—ТJ =喰戸Р; Д^=P при nfouS— 1. (5.13)
В описанном алгоритме операция определенм兄 длительности п периодов (/"!) выполняется одним из счетчиков таймера, в который предварительно вписывается число 几(счетчики 0 и 1 на рис. 5.29). Операция счета числа импульсов опорной частоты в течение этого времени выполняется другим счетчиком (счетчики 4 и 5). Опорная частота получается делением частоты /0 сипхрогенератора ЦП также при помощи счетчика таймера (счетчик 8), в который вводится коэффициент деления К. Временная задержка т создается для каждого канала при помощи двух последовательных счетчиков частоты ;с, (счетчики 2, 3 口 6, 7).
Разработанная система весового учета текущего жидкого продукта изготовляется фирмой AM MMG. Технические характеристики системы позволяют использовать ее для измерений порций продукта от 300 до 9999,9 кг при объемном расходе до 60 м3/ч. Суммарная погрешность измерения веса меньше 0,5 %. Погрешность обработки сигналов датчиков веса не превышает 0,05 %.
ПРИБОРЫ ДЛЯ ГЕОФИЗИЧЕСКИХ ИССЛЕДОВАНИЙ
Геофизические измерительные приборы имеют широкое применение при полевых и промысловых исследованиях различных полезных ископаемых. Принципы измерения, на которых базируются геофизические приборы, используют электрические, магнитные, радиоактивные, тепловые, акустические и другие свойства пород.
Применение микропроцессорной техники в геофизическом приборостроении позволяет решать одну из важнейших задач — обработку геофизических данных непосредственно на месте их получения.
Существующая практика 'Предусматривает в основном получение измерительной информации в полевых и промысловых условиях, а ее обработку — в стационарных геофизических лабораториях.
В этом случае сильно осложняются задачи внесения корректив в программы исследований; при неблагоприятных результатах, полученных при обработке информации, задерживается время выдачи рекомендаций по дальнейшему ходу технологического процесса на объекте исследований, ухудшается оперативность решения вопросов дальнейших геофизических исследований, увеличиваются штаты обслуживающего персонала.
I Применение микропроцессорной техники и микроЭВМ Позволяет значительную часть задач решать непосредственно на объекте в месте получения измерительной информации.
Не рассматривая всего комплекса геофизических задач, остановимся на некоторых типовых примерах применения микропроцессорной техники.
При сейсмических исследованиях возникает задача предварительной обработки информации то принципам быстрого преобразования Фурье.
Для этой цели используется прибор типа «Вектор», разработанный в МИНХ и ГП им. Губкина.
При геохимических исследованиях скважин в процессе бурения с целью обнаружения нефтяных и газовых пластов непосредственно в момент вскрытия пласта буровой ; скважиной применяется комплекс геофизических приборов, ? оценивающих свойства бурового раствора, выносящего на I поверхность ингредиенты вскрытого пласта.
* Применение микропроцессорной техники позволяет в : этом случае производить:
; автоматическое хроматографирование газа в потоке;
автоматический анализ содержания нефти ма принципе ИК-излучения;
g автоматическое определение глубины забоя и пр.
I В большинстве видов геофизических исследований ? имеется необходимость в дисплее, позволяющем выводить : на экран комплекс контролируемых геофизических кри! вых, перемещаемых по экрану в функции глубин. Управле- ; ние работой такого дисплея осуществляется с помощью ;микропроцессора.
; При геофизических исследованиях наклонно направленных скважин возникают задачи определения траекторий скважин по данным измерений в отдельных точках, определения опасного сближения стволов и др.
Этот комплекс задач также решается при помощи измерительных приборов со встроенными микропроцессорами.
СРЕДСТВА ОТЛАДКИ ИЗМЕРИТЕЛЬНЫХ ПРИБОРОВ С МИКРОПРОЦЕССОРАМИ
Методы тестового контроля микропроцессорных блоков и систем были рассмотрены в § 2.4 и 3.4; методы программной отладки в § 3.5. Здесь рассмотрим более подробно методу и средства аппаратной отладки.
15—319 225
Специфические отличия микропроцессорной техники от схемотехники на жесткой логике вызывают значительное усложнение процеосов аппаратной отладки микропроиес- сорных узлов и систем. Эта проблема является ключевой при разработке и промышленном выпуске приборов со встроенными микропроцессорами; эта же проблема во многом определяет живучесть и ремонтопригодность этих приборов.
Не случайно одновременно с началом внедрения микро* процессоров в 1976—1980 гг. ведущие фирмы начали производить большую номенклатуру специализированных отладочных средств в помощь разработчику, производственнику, эксплуатационнику. Без средств автоматизации процесса отладки широкое использование микропроцессорных средств было бы невозможно. При этом, как правило, выпускаемые средства разработки и отладки по сложности намного превосходят микрспроцоссорные узлы, отлаживаемые с их помощью.
Применение модульного принципа проектирования унифицированных микропроцеессорных узлов позволяет унифицировать технологические средства отладки и минимизировать их номенклатуру. В число средств автоматизированной отладки входят устройства, перечисленные ниже-
Система проектирования ——единый аппаратно-программный комплекс, включающий в себя микропроцессорную систему с максимально адресуемой памятью, достаточно полным набором периферийных устройств, резидентным системным и прикладным программным обеспечением. Комплекс предназначается как для аппаратной отладки, так и для автоматизации программирования; в последнем случае система проектирования является резидентным средством программирования (см. § 3.5).
Прототи п пая систем а—набор микропроцессорных узлов, макетирующих микроЭВМ прибора, с добавлением средств связи с оператором и дополнительных узлов, облегчающих контроль и отладку. Этот набор узлов в своей аппаратной части практически повторяет узлы, встраиваемые в прибор; он основан на том же типе процессора. Дополнительные узлы вводятся для хранения тестовых программ и диагностики ошибок. Если структурная схема прибора основана на использовании унифицированных микропроцессорных узлов, то прототипная система является основным средством отладки.
Внитрисхемный эмулятор — совокупность аппаратно-программных средств, имитирующих работу цен- 226
v трального процессора, ОЗУ, портов ввода-вывода. Внутрн- схемные эмуляторы встраиваются в систему проектирования и позволяют использовать ее ресурсы как принадлежащие отлаживаемой системе. В отличие от прототипной системы внутрисхемный эмулятор, как правило, основан на более мощном процессоре, чем процессор разрабатываемой или отлаживаемой системы, В [72] описана методика использования внутрисхемного эмулятора в качестве отладочного средства, заключающаяся в последовательном замещении всех узлов микропроцессорной системы проектирования соответствующими узлами отлаживаемой системы,
Микромашинный тренажер —1 одно-двухплат- .ная микроЭВМ минимальной конфигурации: ОЗУ 1 Кбайт, ; ПЗУ 1——4 Кбайт, шестнадцатеричная клавиатура и инди- < кация. Обычно используется для обучения основам микро- j процессорной техники, но может использоваться и в ка- ;честве отладочного средства (позволяет задавать корот- I кие тестовые последовательности для отладки отдельных ! узлов).
j Тестер микропроцессорных узлов и с и - ! систем——устройство с тестовым ПЗУ, клавиатурой и :индикацией, подключаемое к портам ввода-вывода испы- j туемой микропроцессорной системы. На испытуемой системе выполняются тестовые программы из ПЗУ и контролируются ее выходные состояния.
Системный анализатор — аппарат!ный узел, содержащий логику и буферную (трассировочную) память; обеспечивает запоминание и выдачу на индикацию состояний системной шины за ряд машинных циклов (64— 512) от задаваемой оператором точки программы в различных режимах.
Аппаратный пу льт ― устройство, подключаемое к системной шине и выполняющее запись в память кодов данных, чтение из памяти, индикацию состояния шин данных и адресов, индикацию состояния процессора. Аппаратный пульт позволяет выполнять программу в автоматическом п пошаговом режимах. Основное назначение аппаратного пульта — отладка ядра микропроцессорной системы, включающего в себя центральный процессор, ПЗУ и ОЗУ. Примерный ход отладки микропроцессорной системы с помо1Ц1>ю аппаратного пульта следующий: проверяется работа ПЗУ и правильность записанной в нем информации, затем к ПЗУ присоединяется центральный процессор и проверяется его работа по выполнению тестовых про- 15*227
грамм ПЗУ; после этого присоединяется ОЗУ, в которое можно заносить произвольные короткие программы. Для отладки процессора достаточно одного ОЗУ (без ПЗУ).
Во ВНИИ медицинского приборостроения было разработано несколько модификаций аппаратного пульта для отладки узлов и систем на основе микропроцессора К580ИК80. Структурная схема одного из вариантов пульта показана на рис. 5.30. Пульт состоит из шестнадцате-
Системная шина
5
Рис. 5.30. Структурная схема аппаратурного пульта
ричной клавиатуры 1 со схемой формирования адреса и регистром данных, схемы индикации шин данных и адресов 2 на семисегментных светодиодных индикаторах. Состояния шин отображаются шестнадцатеричными числами отдельно для адресов и данных. Отдельными светодиодами контролируется состояние линий «Подтверждение захвата》,«Ожидание» и «Обращение к памяти» (как при записи, так и при чтении). В состав пульта введена схема пошагового режима выполнения команд 3. В этом режиме микропроцессор переходит в состояние «Ожидание» в начале каждого машинного цикла. После нажатия кнопки 《Шаг» процессор переходит в следующий цикл и останавливается в нем.
Пульт может дополнительно снабжаться цифровым дисплеем 4, который позволяет отображать на экране содержимое 256(16X16) ячеек памяти в виде двузначных шестнадцатеричных чисел. Начальный адрес отображаемого участка памяти определяется двумя старшими разрядами адреса, находящегося в регистре адреса клавиа- 228
туры. В качестве дисплея может применяться любой телевизор с видеовходом или стандартное ВКУ [5].
Пульт подключается к микропроцессорной системе через стандартный разъем системной шины и не требует никаких переделок в системе. Для работы с памятью пульт включается кнопкой 《Вкл》.В выключенном состоянии пульт не влияет на состояние системы. Для ввода адреса или данных используется одна переключаемая шестнадцатеричная клавиатура. Индикация набираемых на клавиатуре кодов 'Происходит на индикаторах состояния шин, которые работают по импульсам «Чтение памяти» и «Запись в память» с запоминанием. При необходимости индикаторы можно переключить в режим непрерывного контроля состояния шин. Пошаговый режим включается отдельной кнопкой.
Описанный пульт имеет сравнительно простую схему, малое потребление мощности и обеспечивает достаточные возможности для отладки микропроцессорных систем. Конструктивно он состоит из двух печатных плат размером 250X170 мм.
ЗАКЛЮЧЕНИЕ
ПЕРСПЕКТИВЫ РАЗВИТИЯ ИЗМЕРИТЕЛЬНЫХ
ПРИБОРОВ С МИКРОПРОЦЕССОРАМИ
Освоение и широкое использование измерительных приборов со встроенными микропроцессорами требуют комплексного решения ряда технических и организационных проблем — разработки, производства и развития схемного обеспечения, программного обеспечения, внедрения систем проектирования и развития, организации всеобъемлющей системы контроля и сервиса.
Наиболее традиционный аспект разработки и производства приборов — построение системы технического (аппаратного) обеспечения. По сравнению с предыдущим поколением измерительных приборов на жесткой логике техническое обеспечение приборов со встроенными микропроцессорами обладает более высокой степенью унификации. При узловой унификации повышаются число возможных вариантов схемы и соответственно возможности адаптации схемной структуры к функциям прибора. Вместе с тем унифицированный комплекс аппаратного обеспечения
должен быть «открытым» для развития. Обновление номенклатуры БИС микропроцессоров, памяти и специализированных интерфейсов идет быстрыми темпами (полное обновление 1 раз в 3——4 года), и темпы развития схемной структуры прибора должны быть соответствующими.
Наиболее перспективными направлениями развития и расширения схемной структуры являются переход к однокристальным микроЭВМ, специализированным процессорам и интерфейсам, организация измерительных систем с децентрализацией обработки информации. Важным направлением является также интегрирование в одном кристалле БИС процессора, .аналого-цифрового преобразователя и чувствительного элемента (так называемая сенсорная техника). Развитие и широкое применение сенсорной техники позволят значительно повысить надежность и чувствительность средств получения и обработки информации, приблизить устройства обработки информации к первым ступеням ее получения.
В области программного обеспечения наиболее важным направлением является расширение возможностей пользователя измерительного прибора по формированию своих программ. Максимально освобождая пользователя от выполнения стандартных процедур измерения, программное обеспечение дает пользователю возможность формулировки новых задач и нетрадиционного использования измерительного прибора. Все шире внедряются в измерительную технику диалоговые методы измерения и обработки, языки общения, близкие к естественным, программные средства самотестирования. Производство стандартных программных модулей в виде БИС с записью программ (кремниевое программное обеспечение) позволяет значительно ускорить и удешевить разработку программного обеспечения.
Системы проектирования и развития составляют важную часть технологического комплекса производства и эксплуатации приборов со встроенными микропроцессорами. Технология их разработки требует комплексной автоматизации этапов программирования проектирования печатных плат, отладки модулей и систем, моделирования объекта исследования. Для этой цели создаются разветвленные системы разработки с использованием универсальных вычислительных машин, разнообразных периферийных устройств и нескольких уровней языков разработки: уровня микропрограммирования, ассемблера реального времени и макроассемблера, языков высокого уровня 230
(ПАСКАЛЬ, ФОРТРАН, ПЛМ и др.). Важным элементом систем разработки являются эмуляторы для имитации любого узла разрабатываемого прибора и контроллеры стандартной шины. С помощью этих устройств возможно проводить комплексную отладку прибора в измерительной системе до ьявершения его разработки.
Наконец, необходимой частью микропроцессорной технологии является система контроля и сервиса, в которую входят производственный пооперационный контроль качества, отладка модулей и приборов в сборе, эксплуатационный контроль приборов и их ремонт. Помимо создания компактных и гибких тестирующих систем это связано с организацией соответствующих служб контроля, отладки и ремонта.
Очевидно, что внедрение микропроцессорной технологии в измерительную технику ——проблема комплексная, которая должна решаться большими коллективами с широким использованием кооперации и обмена опытом. Из изложенного выше можно также сделать вывод, что разработка и производство отдельных типов приборов со встроенными микропроессорами нерентабельны из-за больших затрат на подготовку и организацию производства и сервиса. Эти затраты могут быть оправданы лишь при производстве комплекса измерительных приборов и систем, основанных на общей технологии разработки, про* изводства и сервиса на всех уровнях. Это не исключает малой серийности отдельных типов приборов, наоборот, микропроцессорная модульная технология дает возможность выпускать большое число типов приборов малыми сериями, максимально удовлетворяя потребности пользователя. '
Перечисленные перспективные проблемы рассмотрены в настоящей книге ие полностью.
Успехи, достигнутые в отечественном приборостроении, серийный выпуск ряда приборов для измерения электрических и неэлектрических величин со встроенными ми* кропроцессорами в XI пятилетке позволяют сделать вывод, что это важное направление развития отечественного приборостроения получит более широкое развитие.
В связи с появлением новых типов микропроцессоров и расширением их применения в измерительных приборах авторы считают целесообразным привести дополнительный список литературы, которая, к сожалению, не могла быть ими учтена, так как появилась после завершения работы над рукописью.
СПИСОК ЛИТЕРАТУРЫ
. I. Быстродействующий аналого-цифровой преобразователь/ Д. И. Абрамович,久.И. Антоневич, В. В. Буцкий и др. — Приборы и техника эксперимента, 1982, № 5, с. 81.
Алиев Т. М., Мелик-Шахназаров А. М., Шайн И. Л. Автоком- пенсационные измерительные устройства переменного тока. — А(: Энергия, 1977. 360 с.
Аллен Р. Новые области применения кремниевых полупроводниковых датчиков.——Электроника США, 1980, № 24, с. 28.
Анализатор с рабочим диапазоном частот более 21 ГГц.——Электроника США, 1979, № 24, с. 94.
Анализатор спектра сигналов СВЧ диапазона.—Электроника США, 1979, № 7, с. 96.
Бедрековский М. А., Кручинин Н. С., Подолян В. А. Микропроцессоры. —М.: Радио и связь, 1981. 70 с.
Полупроводниковые интегральные схемы 155ИПЗ,155ИП4/
А. И. Белоус, В. П. Болдырев, Г, М. Марченко и др.——Электронная промышленность, 1975, вып. 10, с. 60,
Беркутов А. М. Цифровая осциллография,——Измерения, контроль, автоматизация, 1981, Л« 3.
Бернсфорд Р. Перспективы применения «разумных» запоминаю' щих устройств в многочисленных малых машинах.— Электроника США, 1982, № 15, с. 23.
Бистон Дж., Скотт М. Диагностика ЗУПВ без разрушения информации. — Электроника США, 1979, № 24, с. 75.
Система блоков программирования пост。兄ннмх программируе* мых запоминающих устройств К556РТ4 и К556РТ5/ С. Г. Бобков, Ю. В. Ермолин, В. А. Канцеров, В. Б. Стригин. — Приборы и техника эксперимента, 1983, № 2, с. 49.
Бринтон Дж. Компьютер в измерительном приборе. — Электроника США, 1981, № 18, с. 92.
Буканов Е. Г., Лайзнер Б. Р., Лнфанов И. М. Датчики сило измерительные тензорезисторныс категории точности 0,1. Одесса, 1981. Тезисы докладов всесоюзного науч.-техн. совещания 《Автоматизация процессов взвешивания н дозирования».——М, 1981.
Вагиер У. Вольтметр с речевым выходом.——Электроника США, 1979, № 26, с. 65.
Вагнер У. Цифровой вольтметр со звуковой индикацией.— Электроника США, 1979, № 7, с. 62.
Вагнер У. Часы со звуковой сигнализацией. — Электроника США, 1979, № 17, с. 74.
Виртуальный измерительный прибор фирмы Marconi.Злект, роника США, 1979, № 26, с. ПО.
Гамаюн В. П. Принципы построения устройств спектрального анализа па микропроцессорах. — Управляющие системы и машины, 1982, № 3, с. 45.
20. Голубев В. С., Сакс Е. К. Аппаратный пульт для отладки мик20. Голубев В. С., Сакс Е. К. Аппаратный пульт для отладки микГлухимчик М. И. Улучшение метрологических характеристик измерительных устройств на базе встроенных микропроцессорных систем.—Механизация и автоматизация управления, 1981, № 3, с. 52.
20. Голубев В. С., Сакс Е. К. Аппаратный пульт для отладки мик
20. Голубев В. С., Сакс Е. К. Аппаратный пульт для отладки мик
ропроцессорных систем в медицинских приборах. — Новости медицинской техники, 1983, № 2, с. 52.
Гоулд Б., Рабииер Л. Теория и применение цифровой обработки сигналов. — М.: Мир, 1978.
Гош Дж. Кассетный магнитофон с автоматическим поиском нужного участка записи. — Электроника США, 1979, № 17, с. 17.
Графические схемные платы, легко включаемые в микросистему.—Электроника США, 1982, № 19, с. НО.
Гриневич Ф. Б. Автоматические мосты переменного тока.—Новосибирск: Наука, 1964.
Гроб М. Внутрифирменные стандарты, облегчающие сопряжение КИП — компьютер. — Электроника США, 1981, № 6, с. 47.
Дал У., Дейкстра Э., Хоор К. Структурное программирование. — М.: Мир, 1975. 247 с.
Дашевский Л. Т., Красин И. Ю. Алгоритмы повышения точно
сти измерения для микропроцессорных систем весов. Одесса, 1981. Тезисы докладов Всесоюзного науч.-техн, совещания «Автоматизация процессов взвешивания и дозирования». — М.( 1981.
Дешевые счетчики на базе микропроцессоров. —Электроника США, 1979, № 9, с. 103.
Джонсон Р. Операционные системы с полным набором средств для работы с 16-разрядными микропроцессорами. — Электроника США, 1982, № 6, с. 34.
Дмитриев В. А., Лапин В. К. Прецизионный преобразователь для тензодатчиков. — Приборы и системы управления, 1981, № I, с. 23.
Дрей X. Контроллер, облегчающий разработку собственного аппаратно-программного обеспечения на приборах с шиной IEEE-488.— Электроника США, 1980, № 14, с. 56.
Дрейфак К. Быстродействующие анализаторы сигналов с аналоговыми запоминающими устройствами.——Электроника США, 1979, № 24, с. 20.
Евланов Ю. Н・,Серов Н. А. Цифровые вольтметры с микропроцессорным управлением.—Измерения, контроль, автоматизация, 1980, № 3, 4.
Жуковский В. Д. Автоматизированная обработка данных клинических функциональных исследований.——М.: Медицина, 1981. 352 с.
Микропроцессорный комплект БИС сепии К580/ В. Ф. Зуба- шич, А. В. Кобылинский, В. А. Темченко, Н. Г. Сабадаш. — Электронная промышленность, 1979, № 11, с. 19.
Иванов В. Н.( Певзнер Г. С., Цветков Э. И. Развитие системных средств электроизмерительной техники в XI пятилетке. Измерения, контроль, автоматизация, 1982, № 2. с. 3.
Камерфорд Р. Настольный тестер с гибкой программой работы. -Электроника США, 1980, № 4, с. 9.
Камерфорд Р. Наступление эры измерительных компьютеров.— Электроника США, 1981, № 18, с. 87.
Камерфорд Р. Осциллограф с быстрым отсчетом напряжения и времени. — Электроника США, 1981, № 26, с. 70.
Камерфорд Р. Применение микропроцессоров в осциллографах. —Элсктропикл США, 1980, № 21, с. 6.
Камерфорд Р. Программируемый контроллер шипы IEEE-4只8.—— Электроника США, 1979, № 26,「. 6.
Камерфорд Р., Маршалл М. Унификация кодов для межприборного интерфейса. — Электроника США, 1980, № I, с. 102.
Кей С., Марпл С. Современные методы спектрального анализа.—ТИИЭР, 1981, т. 69, № 11, с. 5.
Кириаиаки Н. В., Березюк Б. М. Частотно-временные измерительные устройства и системы со встроенными микропроцессорами.—— Приборы и системы управления, 1980, № 7, с. 19.
Клингмаи Э. Проектирование микропроцессорных систем.— М.: Мир, 1980. 575 с.
Кнеллер В. Ю. Автоматическое измерение составляющих комплексных сопротивлений.—М.: Энергия, 1967. 367 с.
Кнеллер В. Ю., Павлов А. М. Автоматические измерители и преобразователи параметров комплексных сопротивлений с микропроцессорами. ■—Измерения, контроль, автоматизация, 1980, № 11, 12.
Коннорс С. Развязка потенциалов в системах сбора данных — Электроника США, 1980, № 10, с. 50.
Костлоу Т. Хорошие перспективы для сбыта оптических клавиатур.―Электропика США, 1982( № 6, с. 4.
Лапии В. К., Дмитриев В. А. Микропрограммный контроллер для весоизмерительных систем. Тезисы докладок ЙКАПП-82, Барнаул, 1982. ”
Лебосс Б. Использование микропроцессора в запоминающем осциллографе для облегчения проведения испытаний.——Электроника США, 1980, № 5, с. 3.
Линавский В. H.f Березкин В. Т. Автоматические газовые потоковые хроматографы. — М.: Химия, 1982.
Лискин В. А., Попенко Н. В., Ситников Л. С. Контроллер интерфейса МЭК па базе микро-ЭВМ «Электроника 60》.一Приборы и техника эксперимента, 1983, № 2, с. 72.
Макарычев С. В., Савостьянова Н. И, Программатор ППЗУ для встраиваемых в медицинские приборы микропроцессорных контроллеров.——Новости медицинской техники, 1983, № 2, с. 54.
Малиновский Б. Н., Слободянюк А. И., Погорелый С. Д. Система математического обеспечения микро-ЭБМ и отладочной системы на базе микропроцессора К580ИК80.——Управляющие системы и машины, 1982, № 3, с. 30.
Мамджян Г. Г. Технологические средства отладки микропроцессорных систем. — Новости медицинской техники, 1983, № 2, с. 47.
Мамджян Г, Г., Гросс Е. В., Макарычев С. В. Интерфейс к цифровому кассетному магнитофону в микропроцессорных системах медицинского назначения. — Новости мсдиципской техники, 1983, № 2, с. 31.
Мануэль Т. Новая архитектура, позволяющая уменьшить избыточность оборудования отказоустойчивой системы.——Электроника США, 1983, № 17, с. 3.
Маркатун М. Г. Системы анализа биопотенциалов на основе микропроцессоров среднего быстродействия.——Новости медицинской техники, 1983, № 2, с. 11.
Маркатун М. Г., Гросс Е. В. Диалоговые процедура в микропроцессорных системах обработки медицинской информации. — Новости медгщинскои техники, 1983, № 2, с. 36.
Маркатун М. Г. Проблемное программирование медицгшеких систем со встроенными микропроцессорами.—Тезисы докладов Всесоюзной конф. сПримепсппе математических методов обработки мели- ко-биологических данных и ЭВМ в медицинской технике», -- М.: ВНИИМП, 1984, ч. 1, с. 7.
Маркатун М. Г., Сакс Е. К. Совместимые дисплеи для обработки медико-биологической информации па основе микропроцессора.— Медицинская техника, 1983, № 1, с. 31.
Устройство сбора данных анамнеза с иснол!>зовап[{ем me;卩о процессоров/ М. Г. Маркатун, В. С. Широков, В. С. Воронов, Е. В. Гросс. — Медицинская техника, 1981, № 6, с. 32.
Маршалл М. 16-битовый д-канальпып МОП-умножитель с 109-наносекундным быстродействием, конкурирующий с биполярными приборами. — Электроника США, 1981, № 14, с. 3.
Мейер Л・ Программируемый мультиметр. - Электроника США, 1980, № 8, с. 26.
Высокоточная система измерения веса/ /V. М. Мелик-Шахназа- ров, В. А. Дмитриев, С. В. Вахляев, Д. А. Барба1нев. — И ME КО, Industrial Weighing, Preprints, 1977.
Мелик-Шахназаров А. М., Маркатун М. Г. Цифровые измерительные системы корреляционного типа.——М.: Энергия, 1985.
Мид Км Левицки Дж. Кремниевые компиляторы и кремниевые мастерские в эру СБЙС) проектируемых потребителем. — Электроника США, 1983, № 16, с. 25.'
Микрокомпьютерные медицинские системы: Пер. с апгл.——М.: Мнр, 1983, 542 с.
Микропроцессор в измерительном комплексе аэродинамической трубы.—Электроника США, 1978, № 4, с. 16.
Немейкшис А. М. Вычислительный комплекс СМ 1600. — Приборы и системы управления, 1982, № 12, с. 19.
Нестеренко С. А. Методы внутрисхемной эмуляции при отладке микропроцессорных систем. Обзоры по электронной технике. Сер. 3, Микроэлектроника, вып. 6.——М.: ЦНИИ электроники.
Никитюк Н. М. Микропроцессоры и микро-ЭВМ. Применение в приборостроении и научных исследованиях. — М.: Энергоиздат, 1981.
Остген П., Уотри У., Карин М. Осциллограф с программным управлением. — Электроника США, 1981, № 5, с. 55.
Осциллограф с обработкой информации входных сигна.чов.—— Электроника США, 1980, № 8, с. 98.
Отсука У. Разумный алфавитно-цифровой индикатор на базе микропроцессора.——Электроника США, 1978, № 25, с. 56.
Павлов А. М. Исследование вопросов применения микропрО' цессоров при построении аналого-цифровых преобразователей параметров комплексных величии. Автореф. дис. канд. техн. наук. — М.: И ПУ, 1982, 19 с.
Павлов А. М. О построении автоматических измерителей параметров комплексных величин со встроенным микропроцессором. — Приборы и системы управления, 1979, № 12, с. 11.
Павлов А. М., Файигольд Р. Г. Автоматическая калибровка в измерителях параметров комплексных величин со встроенным микропроцессором.—Приборы и системы управления, 1980, № 12, с. 18.
Пайпер Дж. БИС для сопряжения приборов со стандартным интерфейсом IEEE-488.—Электроника США, 1979, № 9, с. 63.“
Парсин М. Введение средств сбора данных в одноплатный компьютер. — Электроника США, 1980, № 14, с. 65.
Переносный испытательный прибор, указыва!ощий оператору порядок измерений. — Электроника США, 1978, № 4, с. 3.
Периферийные микрокомпьютерные приборы фирмы Intel.—— Электроника США, 1978, № 4, с. 95.
Поса Дж. Микрокомпьютерный диалоговый пакет программных средств языка высокого уровня. — Электроника США, 1980, № 2,с. 4.
ttoca Дж. Повышение быстродействия микропроцессорный систем при помощи периферийных приборов.——Электроника США, 1979, № 17, с. 25.
Поса Дж. Цифровые процессы аналоговых сигналов — новое направление интегральной техники. — Электроника США, 1980, № 4, с. 93.
Лразак Пч Мрозовски А. Цифровая коррекция погрешностей в системах сбора данных. — Электроника США, 1979, № 24, с. 47.
Прангишвили И. В. АУикропроцессоры и микро-ЭВМ. — М_: Энергия, 1979. 231 с.
Прангишвили И. В., Стемюра Г. Г. Микропроцессорные системы.—М.: Наука, 1980, 238 с.
Пролейко В. М. Микропроцессорная техника — основа технического прогресса 80-х гг. — Радиотехника, 1983, № 1, с. 3.
Пэтил В. Интерфейс позволяет микропроцессору управлять шаговым двигателем. — Электроника США, 1982, № 15, с. 64.
Раллапалли К., Крегер Дж. Вспомогательные процессоры для быстрого выполнения арифметических операций в микропроцессорных системах. — Электроника США, 1980, № 10, с. 43.
Розенберг В. С. Диалоговая процедура измерений при наличии ограничений.——Измерительная техника, 1983, № 2, с. 10.
Роландер Т. Микрокомпьютерные программные средства для локальных сетей. — Электроника США, 1982, № 2, с. 30.
Ролофф Дж. Управление памятью, обеспечивающее полное использование возможностей микропроцессоров.——Электроника США, 1980, № 8, с. 53.
Игумнов В. Н., Савостьянова Н. И. Библиотека системных программ для решения задач обработки медико-биологической инфо]у мации. — Новости медицинской техники, 1983, № 2, с. 39.
Сантис Т. Цифровой мультиметр автономного и системного назначения. —Электроника США, 1980, № 24, с. 41.“
Инструментальный компьютер, упрощающий анализ аналоги- вых сигналов/ В. Саианкевич, Е. Стеббинс, Дж. Леви, А. КрукЭлектроника США, 1981, № 19, с. 27.
Саркисова А. Г., Соснина Н. С. Цифровые приборы с мнкрь процессорами за рубежом. — Приборы и системы управления, 1982, № 6, с. 14.
Сизмур М., Бруэртон Д. Измеритель уровня высокочастотных сигналов с компенсацией собственных шумов. — Электроника США, 1981, № 23, с. 56.
Смит К. Кольцо микропроцессоров в центральном обрабатывающем устройстве. — Электроника США, 1981, № 17, с. 18.
Смит К. Микропроцессорный 10 МГц анализатор спектра с разрешающей способностью 0,1 МГц. ~ Электроника США, 1980, № 2, с. 21.
ЮЗ. Смит К. Универсальный функциональный тестер для плат п систем, обеспечивающий имитацию любого прибора.——Электроника США, 1980, № 1, с. 14.
Соучек Б. Микропроцессоры и микро-ЭВМ: Пер. с англ.- М., Советское радио, 1979. 520 с.
Стерн Д. Повышение надежности микросистемы путем розер- вировання микропроцессора. — Электроника США, 1982. № 23, с. 70.
Траиг Нгуен. Разделение данных и адресов, передаваемых ио стандартной шине 488. — Электроника США, 1979, № 16, с. 70.
Турбер К-, Фримэн X. Много изготовителей — много локальных сетей. — Электроника США, 1982, № 2, с. 21.
В 108. Уильямс Дне. Линейный 20-разрядный Интегрирующий АИД— I Электроника США, 1980, № 24, с. 55.
Г 109, Уолл Э. Использование контроля по коду Хэмминга в микро- I процессорных системах.——Электроника США, 1979, N田 24, с. 27.
- НО. Филдс С. Устройство программирования ППЗУ, изменяющее алгоритмы па месте эксплуатации. — Электроника США, 1982, № 19, с. 3.
Фредериксен Т. Аналого-цифровой КА&ОП ■ преобразователь для работы с микропроцессорами.—Электроника США, 1981, № 6, с. 67.
Фредериксен Т., Сесил Дж. ЦАПы, сопрягающиеся с микропроцессорами.—Электроника США, 1980, № 14, с. 50.
Фус Р. Микропроцессоры в действии; минимизация времени восстановления систем управления технологическими процессами.— Электроника США, 1978, № 5, с. 48.
Хазанов Б. И. Интерфейсы измерительных систем.— М.: Энергия, 1979. 119 с.
Харр Т., Филипс Р. Обработка прерываний в системе, использующей два микропроцессора.——Электроника США, 1980, № 4, с. 72. “ 116. Хеймлих А., Корелиц Дж. Память с обнаружением и исправлением ошибок для повышения надежности микрокомпьютера.——Электроника США, 1980, № 1, с 79.
Ху Джч Стивенсон Д., Цай Дж. Расширение ресурсов микросистем с помощью ИС управления виртуальной памятью.——Электроника США, 1982, № 19, с. 63.
Хьюи, Ричартс. Сопряжение цифрового вольтметра, имеющего автоматическое переключение диапазонов, с микропроцессором,— Электроника США, 1978, № 5, с. 57.
Чернов В. Г. Принципы организации устройств аналогового ввода для микропроцессорных систем сбора и обработки данных.— Приборы и системы управления, 1980, № 12, с. 9.
Черных Е. В. Стандартные интерфейсы для программно-модульных многопроцессорных систем. — Приборы н техника эксперимента, 1982, № 4, с. 5.
Элдон Дж. 64-разрядный коррелятор ——шаг вперед в области цифровой обработки сигналов. — Электроника, США, 1981, № 14, с. 41.
Язык программирования для пользователей с низкой квалификацией.—Электроника США, 1979, № 17, с. 4.
D'Angelo Р, Structured analysis simplifies modern software design.—Electronic Des., 1981, vol. 29, № 18, p. 159.
Eaton J., Davidson A., Frollk W. Extended memory and modularity are added to the series 80 Computer Family. — Hewlett Packard Journal, 1982, vol. 33, № 12, p. 3.
Hewlett Packard. Electronic instruments and systems, 1983.
Hofer R. Mikroprozessor steuert Industriewaagen. — Elektro- nik, 1977, H. 12, S. 44.
IBM. Каталог электроизмерительных приборов, 1981.
Kobylinski R. A., Stlgall P. D., Ziemer R. E. A microcomputerbased data acquisition system with hardware capabilities to calculate a Fast Fourier Transform. — IEEE Trans, on acoustics, speech and signal ;processing, 1979, vol. ASSP-227, № 2, p. 202.
Loccoll M. P.,Sanderson A. C. Rapid bus microprocessor system.—Computer Des., 1981, vol. 20, p. 189.
Lowe L., Woodrofe B, Control and display system for a baseband analyzer. —- Hewlett Packard Journal, 1982, vol. 33, № 4.
i§i. Inteiiigent instrument streamlines de semiconductor parameter measurenients/ K. Maeda, J. Ikemoto, F. Tsuruda, T. Takeda. — Hewlett Packard Journal, 1982, vol- 33, № 10, p. 3.
Massen R. Beriihrungslose Geschwindigkeitsmessung durch Kor- relation. — Messtcchnik, 1981, Bd. 34, № 5, S. 300.
Mesch H., Daucher H. Geschwindigkeitsmessung mit Korrela- tionsverfahren. — Messtechnik, 1971, № 7, S. 152.
Micorvit 170. «Endress-J-Hauser» Korrliereiides Geschwindigkelt- messgerat. Endress-Hauser Vertriebs-Programm, 1981.
Ogdin C. Microcomputer bus standarlization makes (dollars and) sense. — EDN, 1978, vol. 23, № 7, p. 77.
Schulze M. Moglichkeiten zur funktionellen Erweiterung von Messgeraten unter Einbeziehung von Mikroprozessoren. — Messen, Sleu- ern, Regeln, 1976, Bd. 19, № 11, S. 390.
Siemens. Каталог электронных приборов, 1982.
Stockton J. F. Mainframe memories for microcomputers. — Computer Des., 1982, vol. 21, № 1, p. 139.
VUKO. Каталог электронных приборов, 1982.
Дополнительная литература
Алексеенко А. Г., Галиции А. А., Иванников А. Д. Проектирование радиоэлектронной аппаратуры на микропроцессорах. — М.: Радио и связь, 1984.
Коффрои Дж. Технические средства микропроцессорных систем. —М.: Мир, 1983.
Проектирование цифровых систем на комплектах мнкронрз- граммируемых БИС/ Под ред. В. Г. Колесникова. — М.: Радио и связь, 1984.
Аналоговые и цифровые интегральные микросхемы/ Под ред. С. В. Якубовского. — М.: Радио и связь, 1984.
Мирский Г. Я. Микропроцессоры в измерительных приборах. М.: Радио и связь, 1984,
Цифровая осциллография/ А. М. Беркутов, И. П. Гиривенко, Е. М. Прошин, В. И. Рязапов. — М.: Энергоатомиздат, 1983.
Малиновский В. Н., Лупачев А. А., Прокопышин В. П. Применение микропроцессоров в быстродействующих самопишущих приборах.—В кн.: Применение микропроцессоров для управления и измерения. Межвузовский сборник. — М.: МЭИ, 1983, вьш. 11, с. 55—61.
Прангишвили И. В. Микропроцессоры и локальные сети микро-ЭВМ в распределенных системах управления. — М.: Эпергоатомиз- дат, 1985.
ОГЛАВЛЕНИЕ
Предисловие
Введение
Глава первая. Структуры измерительных приборов с микропроцессорами 1.1. Общие понятия
Системы с микропроцессором с фиксированной структурой
Микропроцессорные системы с секционной структурой
Применение специализированпых процессоров и расширителей
Мультимикропроцессорные системы
Особенности измерительных схем
Глава вторая. Функции микропроцессоров в измерительных приборах
Функциональная схема измерительного прибора и структура программного обеспечения
Контроллерные функции
Вычислительные функции
Тестовые функции
Сервисные функции
Глава третья. Программно-алгоритмическое обеспечение
Операционные системы
Арифметические программы
, Исследование статистических характеристик и спектра
Тестовое программное обеспечение
Методы и средства разработки программного обеспечения
Глава четвертая. Интерфейсы микропроцессорных систем
Интерфейс к медленным устройствам
Интерфейс к электронно-лучевой трубке
Интерфейс к кассетному магнитофону
Интерфейсы к накопителям на гибких магнитных дисках и на магнитной ленте с параллельной записью ...
Интерфейс к аналого-цифровому преобразователю . .
Интерфейс к ииформациопно-измерительной системе ..
Глава пятая. Описание разработок измерительных приборов с микропроцессорами
5.1. Применение микропроцессоров в приборах для измерения электрических и пеэлект[)ических величия ...
52 Цифровые вольтметры и мультиметры
3 5
8 8
о 8 6 5 2 о
11 2 3 4 5
04693 1 1643 7 1
5555 6 7 7789 9 1
1 9 00
п 1 2
141465
61
Осциллографы, регистраторы переходных процессов, анализаторы спектра, частотомеры170
Комбинированные и виртуальные приборы .176
Приборы для измерения комплексных величин ...180
Многопараметрическиеанализаторы биопотенциалов186
Корреляционные приборы для измерения геометрических параметров194
Весоизмерительные идозирующие приборы.205
Приборы для геофизических исследований....224
Средства отладки измерительных приборов с микропроцессорами 225
Заключение. Перспективы развития измерительных приборов с микропроцессорами 229
Список литературы 232
2—319
В мостовой схеме и эта погрешность может быть устранена. На рис. 1.18 показано включение описанного выше АЦП для измерении разбаланса моста; при этом калибровочный делитель, с которого снимается напряжение Um, питается от того же источника, что и исследуемая мостовая схема. Соответственно погрешность всей схема зависит в основном от погрешности калибровочного делителя^
M. МЕЛИК-ШАХНАЗАРОВ
М. Г, МАРКАТУН
А. ДМИТРИЕВ
ИЗМЕРИТЕЛЬНЫЕ ПРИБОРЫ со встроенными микропроцессорами
Scan Pirat
2003 г.
図図ABC
図
図
ББК 31.221
М 47
УДК 681.2 : 681.3—181.48
Рецензент А. М. Павлов
Мелик-Шахназаров А. М. и др.
М 47 Измерительные приборы со встроенными микропроцессорами/ А. М, Мелик-Шахназаров, М. Г. Маркатун, В. А. Дмитриев. — М.: Энерго- атомиздат, 1985. — 240 с., ил.
75 к. 25000 экз.
Рассмотрены одно- и многопроцессорные типовые структуры измерительных приборов. Проведен анализ функций микропроцессоров (ЛШ) в приборах, выделен набор обобщенных функций и дано его программное обеспечение. Описан виутриприборный и межприборный интерфейс. Приведены конкретные разработки отечественных и зарубежных измерительных приборов с МП.
Для инженерно-технических работников в области измерительной и вычислительной техники.
2302010000-457ББК 31.221
М 051(01)-8556-856П2.1.081
АЛЕКСАНДР МИХАЙЛОВИЧ МЕЛИК-ШАХНАЗАРОВ
МИХАИЛ ГЕННАДЬЕВИЧ МАРКАТУН
ВЛАДИМИР АЛЕКСЕЕВИЧ ДМИТРИЕВ
Измерительные приборы со встроенными микропроцессорами
Редактор Ю. Н. Евланов
Редактор издательства А. Н. Гусяцкая
Художественный редактор Т. А. Дворецкова
Технический редактор В. В. Хапаева
Корректор Н. А. Смирнова
ИБ № 141
Сдано в набор 22 05.85 Подписано в печать 04. 07. 85Т-15903
Формат 84 X 103>/за Бумага кн.-журн. имп. Гарнитура литературная Печать вьтсокая Уел. печ. л. 12,60 Усл. кр.-отт. 12.81 Уч.-изд. л. 14.3U Тираж 25 000 экз.Заказ 319Цена 75 к.
Энергоатомиздат, 113114, Москва, М-114, Шлюзовая наб.» 10
Ордена Октябрьской Революции и ордена Трудового Красного Знамени МПО «Первая Образцовая типография имени А. А. Жданова» Союзполиграфпролга при Государственном комитете СССР по делам издательств, полиграфии и книжной торговли. 11311』,Москва, Валовая, 28