Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Пашенцев Измерителный комплекс на основе персоналного компютера и измерителных модулей. Лабораторная работа 2009

.pdf
Скачиваний:
35
Добавлен:
17.08.2013
Размер:
1.56 Mб
Скачать

Сглаженная линия” – точки выборок соединяются линией с использованием сплайн-интерполяции.

Меню “Панели”

Рис. 4.13. Меню “Панели”

Содержит список основных рабочих панелей (рис.4.13): главной, управления, измерений, цифровой фильтрации, настроек и самописца.

Запись данных в файл и обработка файлов внешними редакторами

Для записи файлов используется универсальный текстовый формат CSV (Comma Separated Values), который может быть в дальнейшем открыт как самой программой осциллографа, так и любым текстовым редактором или электронной таблицей (Excel). В начале файла построчно записываются комментарий пользователя и настройки осциллографа, занимающие 8 строк. Начиная с 9 строки записываются данные каналов А и В. Если используется вся память осциллографа, то таких строк будет около 131 тысячи, равное объему памяти. Записываемые данные имеют следующую структуру:

1–я строка: <пользовательский комментарий> 2–я строка: <код горизонтальной развертки>

3–я строка: <код входного диапазона канала A>,<коэффициент щупа канала A>

4–я строка: <код входного диапазона канала B>,<коэффициент щупа канала B>

5–я строка: <код грубого смещения канала A>,<код тонкого смещения канала A>

6–я строка: <код грубого смещения канала B>,<код тонкого смещения канала B>

7–я строка: <задержка запуска>,<положение запуска>

30

8–я строка: <длина послезаписи>

9–я строка: <код канала A>,<код канала B>

10–я строка: <код канала A>,<код канала B>

11–я строка: <код канала A>,<код канала B> и т.д.

Изображение сигналов на экране монитора можно сохранить в виде фотографии экрана осциллографа с помощью графических файлов в формате BMP (Windows bitmap) или в векторных форматах WMF или EMF (Windows metafile). Однако в этом случае не сохраняются настройки прибора. Другим методом является запоминание в буфере обмена изображения всего экрана монитора с помощью клавиш <Print Screen>.

Записанный файл можно программно обработать по определенному алгоритму. В начале специальная программа открывает файл с данными и построчно считывает данные из файла в массив, затем обрабатывает данные по заданному алгоритму и выводит результат на экран или сохраняет его в другом файле. Для обработки данных можно также использовать табличный редактор Excel, импортировав данные из файла на “Лист1”. Далее можно отобразить осциллограммы в виде графика или обработать данные с помощью программы VBA (Visual Basic for Application). На импорт данных в файл Excel накладывается ограничение на число вводимых строк, которое не должно превышать 64 Кбайт/лист.

Техника работы с осциллографом

1.Запустить программу АСК-3106. На экране появится главная панель программы.

2.Для того чтобы наблюдать сигналы, необходимо:

подключить осциллографические щупы к

тестируемому

устройству,

 

на главной панели нажать кнопку автонастройки на сигнал, либо на панели управления,

выбрать каналы для наблюдения сигнала, установив галочку в окне “Канал А” и/или “Канал В”,

выбрать вид связи с источником сигнала: “DC”, “AC” или “50 Ом” на панели управления,

установить желаемый источник запуска синхронизации в окне “Источник” на панели управления,

выбрать режим запуска “Авто” или “Ждущий” в окне “Режим” на панели управления,

31

установить нарастающий (+) для положительных импульсов или спадающий фронт (–) сигнала для импульсов отрицательной полярности на панели управления,

установить требуемые значения коэффициентов отклонения и развертки.

После этого на экране главной панели будут отображаться входные сигналы, а в окнах панели управления – основные настройки осциллографа: коэффициенты отклонения и развертки, вид синхронизации и др.

5. ПЛАТЫ ВВОДА/ВЫВОДА ДАННЫХ

Кроме измерительных систем, выполненных в модульном исполнении, используются также измерительные системы, созданные на основе плат ввода/вывода, устанавливаемых внутри компьютера. Плата ввода/вывода служит для ввода аналоговой и цифровой информации об объекте исследования в персональный компьютер и вывода из компьютера сигналов для управления различными объектами по заданной программе [5–7]. На аналоговый вход платы могут поступать электрические сигналы от датчиков температуры, давления, тока, магнитного поля, датчиков положения и другие для их преобразования в цифровой формат данных компьютера, запоминания и дальнейшей программной обработки. Прием информации от объекта, анализ ее с помощью программных средств, выработка решения и передача сигналов управления обратно к объекту позволяет управлять автоматизированными системами в режиме реального времени. Для присоединения плат ввода/вывода к персональному компьютеру применяются стандартные интерфейсы ISA (Industrial Standard Architecture) или PCI (Peripheral Component Interconnect).

Структурная схема платы ввода/вывода показана на рис.5.1. В ее состав входят следующие узлы: многоканальный коммутатор аналоговых сигналов, усилитель с программируемым коэффициентом усиления, таймер, АЦП, ЦАП, блок цифрового ввода, блок цифрового вывода и устройство сопряжения с компьютером. Управление всеми устройствами и передача данных осуществляется по внутренним шинам платы: шинам управления, адреса, данных. Устройство сопряжения служит для согласованного обмена данными между внутренней шиной платы и шиной PCI или ISA, расположенной на системной плате персонального компьютера.

32

Рис.5.1. Структурная схема платы сбора данных и управления внешними устройствами

Коммутатор имеет 4, 8, 16 входов, которые могут быть включены дифференциально. При дифференциальном включении число входов будет соответственно 2, 4, 8. Коммутатор служит для поочередного подключения входных сигналов к усилителю. Для того чтобы зафиксировать мгновенное значение напряжения одновременно по всем каналам, внутри коммутатора установлена схема выборки-хранения. Для этих целей обычно используются конденсаторы с малым током утечки. Коммутатор последовательно или выборочно опрашивает все каналы системы выборки-хранения, на которых зафиксированы напряжения в один и тот же момент времени. Ток разряда конденсаторов пренебрежимо мал, поэтому за время опроса всех каналов напряжение на конденсаторах остается неизменным.

Усилитель служит для приведения напряжения к рабочему диапазону АЦП. Он имеет программно устанавливаемые коэффициенты усиления, кратные значениям 2, 5, 10. Усилитель имеет большое входное сопротивление, чтобы оказывать минимальное влияние на измерительную цепь при подключении к ней аналоговых входов платы. На выходе усилителя может быть установлен фильтр, ограничивающий полосу пропускания ниже максимальной частоты дискретизации АЦП.

АЦП служит для преобразования мгновенных значений сигнала в цифровой код. Мгновенные значения сигнала считываются через одинаковый интервал времени – шаг дискретизации. Рабочий диапазон

33

АЦП обычно составляет ±1 В, ±2 В, ±5 В. Для приведения напряжения к этому уровню на входе АЦП устанавливают делитель или усилитель с программируемым коэффициентом усиления. Входной усилитель можно не использовать, если применять относительно многоразрядный АЦП (12–15 бит), имеющий небольшой шаг квантования при рабочем диапазоне в единицы вольт. Например, для АЦП 12 бит при рабочем диапазоне ±1 В шаг квантования будет составлять 2В/4096 = 0,5 мВ. Поэтому погрешность измерения напряжения в диапазоне 10 – 100 мВ будет составлять 0,5 – 5 %. С выхода АЦП цифровой код поступает в ОЗУ или сразу на шину данных платы. Запуск АЦП происходит программно путем обращения по адресу АЦП или по сигналам таймера.

Таймер – программируемый генератор тактовых импульсов, служащий для запуска АЦП и других устройств платы. Интервал времени между запусками АЦП (период импульсов таймера) должен быть больше времени преобразования АЦП. Таймер осуществляет аппаратный запуск АЦП вне зависимости от тактовых импульсов шины системной платы ПК. После каждого преобразования АЦП формируется импульс готовности, который может фиксироваться программой, работающей в режиме ожидания. Импульс готовности используется в качестве сигнала прерывания на системной плате ПК. При этом обеспечивается максимальное быстродействие платы, так как прием данных в ПК происходит во время, когда АЦП уже запущен на новый цикл преобразования.

Программный запуск осуществляется путем программирования таймера на формирование тактовых импульсов запуска. Частота таймера регулируется путем записи цифрового кода в регистр управления таймера. Таймер имеет три канала, два из которых управляют работой АЦП, а третий доступен аппаратно и программно. Его можно использовать для счета внешних импульсов, поступающих на вход таймера, измерения их частоты и генерирования прямоугольных импульсов с амплитудой ТТЛ уровня.

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

34

ЦАП преобразует цифровые коды, формируемые программой управления, в аналоговый непрерывный сигнал. Из-за того, что напряжение на выходе ЦАП в промежутке между выборками остается неизменным, кривая сигнала во времени представляет собой многоступенчатую функцию, повторяющую форму сигнала, заданного в аналитическом виде. Чем выше разрядность ЦАП, тем ближе приближение сигнала ступенчатой формы к относительно гладкой кривой. Уменьшение шага квантования (увеличение разрядности ЦАП) ниже уровня шумов и наводок не целесообразно.

ОЗУ служит для промежуточного накопления данных из АЦП, если требуется, чтобы частота дискретизации сигнала была выше тактовой частоты на системной плате ПК. Объем ОЗУ составляет 4–132 Кбайт. Так как для передачи одного байта требуется несколько тактов на системной шине ПК, то максимальная частота дискретизации платы в несколько раз меньше рабочей частоты системной платы. Предельная частота дискретизации платы составляет единицы мегагерц.

Интерфейсное устройство – согласующее устройство (устройство сопряжения) между внутренней шиной платы и системной магистралью ISA или PCI персонального компьютера. В его состав входят буферные цифровые регистры, дешифратор адреса и формирователь сигналов прерываний (IRQ) для прямого доступа к памяти (DMA). Буферные регистры предназначены для электрического согласования двух магистралей: электрической развязки и передачи сигналов в определенном направлении. Дешифратор адреса служит для распознавания платой адресов своих модулей среди множества адресов устройств системного блока компьютера.

Платы ввода-вывода используются для управления технологическими процессами и для измерений. По сравнению с внешними модулями они имеют ряд преимуществ: малые габаритные размеры, широкие функциональные возможности ввода/вывода аналоговых и цифровых сигналов, возможность программного управления платой, универсальность – быстрый переход на другую задачу управления или измерений путем изменения программного обеспечения. В табл.5.1 приведены метрологические характеристики плат ввода/вывода.

35

Таблица 5.1

 

 

НВЛ

PC–

Bordo–

ЛА–

ГСП–

 

 

03.1

1602

220

БПн2–

051

 

 

 

 

 

8PCI

 

1

Торговая марка

Сигнал

Сигнал

Bordo

Руднев-

Руднев–

 

 

 

 

 

Шиляев

Шиляев

2

Назначение

Управ-

Управ-

Осцил-

Осцил-

Генера-

 

 

ление,

ление,

лограф

лограф

тор

 

 

изме-

изме-

 

 

 

 

 

рения

рения

 

 

 

3

Аналоговые

+

+

+

+

 

входы

 

 

 

 

 

 

Количество

16

32

2

2

 

 

аналоговых

 

 

 

 

 

 

каналов

 

 

 

 

 

 

Максимальная

200

200

100 Ms/s

500 Ms/s

 

 

частота выборки

ks/s

ks/s

 

 

 

 

(дискретизации)

 

 

 

 

 

 

Полоса

30 кГц

30 кГц

20 МГц

100 МГц

 

 

пропускания

 

 

 

 

 

 

Разрядность АЦП

10 бит

16 бит

10 бит

8 бит

 

 

Диапазоны

5 В

35 В

4 В

5 В

 

 

напряжений АЦП

 

 

 

 

 

4

Объем памяти

1

64

128

256

 

ОЗУ на канал

 

Кбайт

Кбайт

Кбайт

Кбайт

5

Цифровой

+

+

 

ввод/вывод

 

 

 

 

 

 

Разрядность

8

16

 

 

 

 

цифрового ввода

 

 

 

 

 

 

Разрядность

8

16

 

 

 

 

цифрового

 

 

 

 

 

 

вывода

 

 

 

 

 

6

Аналоговые

+

+

 

выходы

 

 

 

 

 

 

Количество

 

2

 

 

1

 

аналоговых

 

 

 

 

 

 

каналов

 

 

 

 

 

 

Разрядность ЦАП

 

12 бит

 

 

14 бит

 

Диапазоны

 

10 В

 

 

10 В

 

напряжений ЦАП

 

 

 

 

 

7

Входное

 

10

1 МОм/

1 МОм/

50 Ом

 

сопротивление/

 

МОм/

30 пФ

17 пФ

 

 

входная емкость

 

6 пФ

 

 

 

8

Интерфейс связи

ISA

PCI

PCI

PCI

ISA

 

 

 

 

 

 

 

36

Для ввода данных в персональный компьютер можно использовать стандартные порты LPT, RS–232, USB, Ethernet [7], а также звуковую карту. Для ввода/вывода цифровых данных через LPT–порт достаточно установить на отдельной плате несколько буферных логических микросхем для защиты LPT–порта и написать программу для считывания и записи данных в порт принтера с базовым адресом Н378.

Для применения звуковой карты [8] в качестве измерительного прибора не требуется специальных внешних устройств. Звуковая карта вместе со специальным программным обеспечением может работать как двухканальный осциллограф (программы: “Digital Oscilloscope 3.0”, “Oscilloscope 2.51”, “Winscope”, “Spectra Plus”), генератор сигналов (“Sine Wave Generator 3.0”), частотомер (“Frequency Counter 1.01”) и анализатор спектра (“Oscilloscope 2.51”). Эти программы и многие другие можно найти в Интернете. Осциллограф, выполненный на основе звуковой карты, будет иметь следующие параметры: частота дискретизации 44,1 кГц, полоса пропускания 50 Гц – 20 кГц, разрядность АЦП 16 бит, входное напряжение на линейных входах 0,5 В, вход закрытый (на входе платы включен разделительный конденсатор для ее защиты от постоянного напряжения).

Программирование платы ввода/вывода

Плата занимает часть адресного пространства ввода/вывода ПК. В адресном пространстве персонального компьютера имеются стандартные свободные адреса ввода/вывода для подключения различных плат: H300, H220, H200, записанные в шестнадцатеричной системе кодирования. На плате установлены перемычки или микропереключатели, с помощью которых можно выбрать один из этих адресов. Этот адрес называется базовым. Каждый блок платы имеет свой адрес в диапазоне от H1 до H20, называемый смещением относительно базового адреса. Например, если адрес цифрового порта ввода равен H10 и на плате установлен базовый адрес H300, то в программе информация считывается из порта с адресом H310. Программирование платы состоит в записи и считывании данных через цифровые порты, а также управления запуском АЦП и ЦАП путем адресного обращения к этим модулям. Считывание кода из порта ввода данных осуществляется командой Visual Basic:

RES =Inp(H310).

В результате выполнения этой команды в переменную RES будет записано десятичное число от 0 до 255, соответствующее двоичному коду на восьми входных контактах разъема порта ввода. Если на двух младших битах будет напряжение логической единицы (+ 5 В), а на остальных

37

будет логический нуль (0,0,0,0,0,0,5,5 В), то в переменную RES будет записана цифра 3, соответствующая двоичному коду (00000011).

Для порта вывода с таким же адресом H310 (H300 + H10) команда вывода числового значения N в двоичном коде осуществляется командой

Out (H310, N).

В результате выполнения команды уже на других 8 контактах выходного разъема появится двоичный код числа N. Если подана команда Out (H310, 2), то второй бит восьмиразрядного кода будет равен 1 (00000010). Это означает, что на втором контакте разъема будет напряжение 5 В, а на остальных 0 В. Записанный в порт вывода код хранится до тех пор, пока в него не будет записано другое число. Поэтому для очистки порта перед выполнением программы используется команда

Out (H310, 0).

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

For i=1 To 300 Next i.

Для медленного обращения к плате через 1 с можно использовать запуск от таймера компьютера путем считывании текущего времени командой Timer. Кроме того, шаг дискретизации можно задавать, используя объект Timer и его свойства, например, при создании интерфейсной формы пользователя в среде Visual Basic [9,10].

Тестирование цифровой микросхемы с помощью платы ввода/вывода

Программирования платы ввода/вывода приведем на примере проверки работоспособности цифровой логической микросхемы. Для проверки таблицы истинности микросхемы 2И–НЕ используется программирование цифровых портов ввода и вывода. В табл.5.2 приведена таблица истинности микросхемы 2И–НЕ. Схема подключения микросхемы к плате ввода/вывода показана на рис.5.2.

38

Таблица 5.2

Байт

Входы

Выход

0

0

0

1

1

0

1

1

2

1

0

1

3

1

1

0

Рис.5.2. Схема соединения цифровых портов ввода и вывода с логическим элементом 2И–НЕ цифровой микросхемы

Пользовательский интерфейс управления программой и ее алгоритм работы показаны на рис.5.3 и рис.5.4 соответственно.

Рис.5.3. Пользовательский интерфейс управления программой тестирования микросхемы

Краткое описание алгоритма программы имеет следующий вид:

1.Загрузка в память таблицы истинности.

2.“Перебор” всех двоичных кодов на входе логической микросхемы от 00 до 11 через порт вывода.

3.Формирование задержки выполнения программы на время срабатывания микросхемы.

4.Считывание выходного кода микросхемы (0 или 1) через порт ввода.

39

Соседние файлы в предмете Интегрированные системы управления и проектирования