Использование IBM-совместимых компьютеров в научных исследованиях

УДК 378.164/169

ИСПОЛЬЗОВАНИЕ IBM-СОВМЕСТИМЫХ КОМПЬЮТЕРОВ В НАУЧНЫХ ИССЛЕДОВАНИЯХ

© 2008 Раджабалиев Г.П. Дагестанский государственный педагогический университет

В работе рассмотрен вопрос использования IBM-совместимых компьютеров для автоматизации научных исследований в вузах. Рассмотрен вариант устройства сопряжения (на отечественных микросхемах серии 155) компьютера с экспериментальной установкой и его программного обеспечения, составленного в среде LabVIEW.

The article deals with the problem of the use of IBM-compatible computers for automation of the scientific studies at the high school. The assembling variant (with Russian chips of 155 series) of the computer with experimental installation and its software, made in LabVIEW environment has been considered.

Ключевые слова: автоматизация научных исследований, устройство сопряжения, LabVIEW, аналого-цифровые преобразователи, интерфейс Centronics

Keywords: automatization of scientific research, intercoupler, LabVIEW, analog-to-digital

converters, Centronics interface

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

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

На нашем рынке появились готовые изделия зарубежных фирм стоимостью от нескольких десятков до нескольких тысяч долларов, в зависимости от возможностей спроса. Компания National Instruments занимает лидирующие позиции в этой области рынка. Аппаратнопрограммный комплекс Lab VIEW компании National Instruments как средство прикладного программирования по своей логической структуре близок к конструкции языков Си или Бейсик [3]. Он не требует написания текстов программ, а использует язык графического программирования для создания программ в виде блоков-схем, т.е. похож на объектно-ориентирован-ные языки программирования, привычные для широкого круга пользователей. В таких пакетах виртуальное экспериментирование проводится на базе функциональных элементов. Эти элементы позволяют организовать процесс аналогового ввода-вывода с реальным внеш-

ним объектом, являющимся аппаратной частью комплекса. Пакет Lab VIEW имеет встроенные функции доступа к физическим адресам ввода-вывода магистрали ISA компьютера, что делает его незаменимым инструментом при разработке устройств сопряжения [6].

На российском рынке компьютерных технологий представлен не менее интересный продукт - MatLAB 5.2 SIMU-LINK, позволяющий осуществлять исследование (имитационное моделирование) поведения динамических нелинейных систем [4]. Ввод характеристик исследуемых систем производится в диалоговом режиме, путем графической сборки схемы соединений элементарных стандартных звеньев. Библиотека блоков представляет собой набор визуальных объектов, при помощи которых можно, соединяя модули линиями функциональной связи, создать блок-схему любого устройства. Мастерская Реального Времени SIMULINK (Real-Time Workshop-RTW) имеет также средства разработки программного обеспечения для самого широкого класса аппаратных средств, работающих в реальном масштабе времени: датчиков, контроллеров, систем автоматического управления и регулирования и т. д. Основными функциональными возможностями RTW являются: 1) генерация программного кода из любой блок-диаграммы SIMULINK с фиксированным шагом изменения модельного времени (Fixed-step); 2) использование расширяемой библиотеки драйверов устройств; 3) объединение компонентов, работающих под управлением различных операционных систем; 4) генерация программного кода практически для любого компилятора языка Си, в том числе Microsoft Visual C/C++, Watcom C/C++ и UNIX-версий [4]. Пакет STR, входящий также в систему MatLAB, включает более 130 функций, решающих задачи, традиционно относящихся к обработке цифрового аналога сигналов [8]. При его включении в конфигурацию MATLAB становится доступным соответствующий набор блоков, которые могут быть включены в диаграммы SIMULINK.

В состав другого пакета MathCAD 7.0 PRO включено новое средство - Math-Connex для выполнения функции системного интегратора [2]. Благодаря нему возможно простое и наглядное установление сложных взаимосвязей между различными приложениями: MathCAD,

MATLAB, Axum, Excel. Мощь такой объединенной системы возрастает многократно, позволяет использовать для решения задач пользователя целый арсенал различных программных систем, включая встроенные в них специфические и подчас уникальные функции.

Программы: Electronics Workbench (EWB) фирмы Interactive Image Technologies (www.interactiv.com), MicroCap V фирмы Spectrum Software (www. spectrumsoft.com), Design Lab 8.0 корпорации MicroSim (www.orcad.com), ACCEL EDA - предназначены для схемотехнического моделирования аналоговых и цифровых радиоэлектронных устройств различного назначения, для разработки любого радиоэлектронного устройства, печатных плат и управляющих программ для сверлильных станков и вывода данных на графопостроитель [5, 9]. Возможности вышеперечисленных программ далеко выходят за рамки объема настоящей статьи.

Можно также рекомендовать и недорогие изделия, предлагаемые в виде внешних интерфейсов, миниатюрные аналогоцифровые преобразователи ADC10 и ADC12 компании PICO Technology. Они позволяют добавить несколько аналоговых входов к любому ПК. Такое оборудование при наличии соответствующих датчиков отлично подходит для измерения и регистрации самых различных физических параметров.

При определенных навыках простые устройства сопряжения можно собрать и самостоятельно, например, руководствуясь схемами и рекомендациями, находящимися на сервере www.dmk.ru. Эти и другие устройства могут найти широкое применение во многих научных и учебных заведениях при проведении лабораторных, научных работ по физике, электронике, вычислительной технике и автоматике, где сейчас остро ощущается нехватка в

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

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

Исходя из вышеизложенного, рассмотрим вопрос возможности автоматизации научного эксперимента в наших вузовских условиях [7]. Основной парк измерительных приборов лабораторий вузов составляют приборы отечественного производства. Их параметры вполне удовлетворяют экспериментаторов, хотя сбор информации с таких приборов осуществляется вручную. Для автоматизации процесса сбора и обработки данных необходимо разработать, во-первых, устройство сопряжения (УС) с цифровыми приборами и, во-вторых, соответствующую программу первоначальной обработки данных.

УС должно подключаться к персональному компьютеру через параллельный порт Centronics. Основным назначением интерфейса Centronics является подключение к компьютеру принтеров различных типов. Поэтому контакты разъема, назначение сигналов и про-

граммное управление интерфейсом ориентированы на принтеры. Назначение контактов разъемов Centronics приведено в табл. 1.

В то же время с помощью данного интерфейса можно подключать к компьютеру и другие внешние устройства, имеющие разъем Centronics, а также специально разработанные УС. Параллельный порт имеет три адреса в пространстве устройств ввода-вывода компьютера: BASE - регистр данных, BASE+1 - регистр состояния, BASE+2 - регистр управления. Здесь «BASE» - первый адрес порта. Таблица базовых адресов портов находится в области данных BIOS. Обычно на всех компьютерах установлен порт LPT1 с базовым адресом 378 - регистр данных, 379 - регистр состояния, 37А - регистр управления (все коды шестнадцатеричные). Программирование подключенной к параллельному порту аппаратуры заключается в установке определенных битов в регистрах данных и управлении, и чтении определенных битов из регистра состояния. При этом если с регистром данных проблем не возникает, то два других регистра имеют некоторые особенности. Во-первых, некоторые биты являются инверсными. При записи в регистр управления нуля в этих битах устанавливаются единицы, а если на входах регистра состояния установлены нули, то из этих битов считываются единицы. Во-вторых, если четыре бита регистра управления расположены в младших битах байта (биты 0-3), то пять битов регистра состояния - в старших (биты 3-7). Полная информация об отображении сигналов шин управления и состояния интерфейса Centronics на регистры параллельного порта компьютера приведена в табл. 2 [6].

Таблица 1

Назначение контактов разъемов Centronics

I/O

1 -STROBE O 1

2 DO O 2

3 D1 O 3

4 D2 O 4

5 D3 O 5

G D4 O G

l D5 O l

8 DG O 8

9 Dl O 9

10 -ACK I 1O

11 BUSY I 11

12 RE I 12

13 SLCT I 13

14 -AUTO FD O 14

15 -ERROR I 32

1G -INIT O 31

1l -SLCT IN O 3G

5 2 8 GND - 1G,1l,19...3O,33

Таблица 2

Отображение сигналов шин управления и состояния интерфейса Centronics

-STROBE O

-AUTO FD 1

-INIT 2

-SLCT IN 3

-ERROR 3

SLCT 4

RE 5

-ACK G

BUSY l

На рис. 1 показан простейший вариант такого УС. Для сопряжения вольтметра с интерфейсом Centronics компьютера недостаточна разрядность шин состояния, поэтому для поочередного считывания каждой тетрады (1-2-4-S) с вольтметра необходимы четыре мультиплексора. Четыре микросхемы К155КП1 (16-входов ые цифровые мультиплексоры) позволяют подключить к УС до шестнадцати разря-дов(1-2-4-8) внешних цифровых устройств (вольтметр, частотомер и т.д.). В нашем случае к устройству подключено только четыре разряда вольтметра (P 1:1-P4:1).

Для переключения мультиплексоров используем сигналы DO-D3 шины данных Centronics. Элементы микросхемы 155ЛП4 играют роль буферов между сигналами DO-D3 шины данных Centronics и УС. При наличии на шине данных DO-D3 комбинации из логических нулей (OOOO) микросхемы переключаются на считывание показаний первого разряда вольтметра. Комбинация (OOO1) переключает мультиплексоры на считывание уже значения со второго разряда и т.д. На выходе мультиплексоров DO-D3 информация появляется в инверсном виде. Для того чтобы при программировании каждый раз не задумываться об особенностях того или

иного бита состояния, схема дополнена инверторами на микросхеме 155ЛН1, кроме сигнала BUSY. Согласно табл. 2 при чтении состояния порта с адреса 379 интересующая информация содержится в 4, 5, 6, 7 битах, т.е. в старших битах. Для получения десятичного значения с этих битов необходимо осуществить сдвиг на четыре разряда влево и преобразовать

полученное шестнадцатеричное число в десятеричное. На рис. 2. такое преобразование выполнено средствами ЬаЪУГБШ. Так как 4, 5, 6 - прямые, а на выходе мультиплексоров инверсные сигналы, то необходимы дополнительные инверторы (7-й бит инверсный). Для питания УС используется внешний источник напряжением +5В.

Пуск

Рис. 1. Устройство сопряжения

Рис. 2. Программное обеспечение устройства сопряжения

Программное обеспечение данного УС, в упрошенном виде составленное под LabVIEW, показано на рис. 2. Как видно из рисунка, в состав инструментов LabVIEW входят элементы: петля “по заданию” Out Port, In Port, таймер, индикатор Arrey и построитель массива. Петля по заданию работает аналогично оператору цикла с заданным числом шагов (итераций) N, записанному в виде: for I=0 to N-1 do ... . Для организации итерационного процесса в разрабатываемом блоке-схеме предварительно создают поле структуры необходимого размера, а затем помещают внутрь нее объекты функциональной блок-схемы. Объекты Out Port и In Port предоставляют возможность обращаться непосредственно к адресам порта Centronics компьютера. Для объекта Out Port задан адрес 378 (запись в регистр данных порта 378), а значение, записываемое по данному адресу, задается значением итерации I и счетчиком количества итерации N. Таким образом, на шине данных D0-D3 появятся комбинации из логических нулей (0000) при I=0 (0001), при I=1 (0010) и т.д. Для чтения выходной информации с УС в компьютер в состав блок-схемы включен объект In Port, настроенный для

чтения состояния порта (чтение с регистра состояния 379) при заданном значении итерации I. При I=N процесс операции в петле останавливается. Линия соединения In Port и индикатора имеет разную толщину: внутри петли она тонкая, а за пределами - утолщенная. В соответствии с принятыми обозначениями это значит, что от In Port до туннеля (место пересечения соединения с рамкой петли) передаются числа. Петля преобразует числа в массив, и от туннеля к индикатору Arrey передается этот массив чисел. На функциональной панели также расположены и другие элементы с соответствующими между собой связями. Для понимания структуры данной программы необходимы некоторые начальные знания по программированию, а также небольшой практический опыт работы в среде LabVIEW [3].

Примечания

1. Гулыпяев А.К. MATLAB 5.2. Имитационное моделирование в среде Windows. - СПб.: КОРОНА принт, 1999.

2. Дьяконов В.П. Справочник по MathCAD PLUS 7.0 PRO. - М.: СК Пресс, 1998. 3. Жариков Ф.П., Каратаев

В.В., Никифоров В.Ф., Панов B.C. Использование виртуальных инструментов Lab VIEW. M.: Радио и связь, 1999. 4. Лазарев Ю.Ф. MatLAB 5.x. - Киев: Ирина, BHV, 2000. 5. Карлащук В.И. Электронная лаборатория на IBM PC. - М.: «Солон-Р», 2000. 6. Новиков Ю.В., Калашников О.А., Гуляев С.Э. Разработка устройств

сопряжения. - М.: ЭКОМ, 1997. 7. Раджабалиев Г.П., Магомедов Ш.А. Информационные технологии в

физическом эксперименте // Вуз и школа: пути и средства взаимодействия / Под ред. М.Х. Хайбулаева. -Махачкала: ДГПУ, 2005. 8. Рудаков П.И., Сафонов В.И. Обработка сигналов и изображений MATLAB 5х. -

М.: ДИАЛОГ-МИФИ, 2000. 9. Стешенко В.Б. ACCEL EDA технология проектирования печатных плат. - М.:

Нолидж, 2000.