АЦП - Акон

advertisement
===========================================================================
ТЕХНИЧЕСКОЕ ОПИСАНИЕ МОДУЛЯ WAD-ADC16-32H(WAD-ADC14-32H)
( МНОГОФУНКЦИОНАЛЬНОГО МНОГОКАНАЛЬНОГО МНОГОПРЕДЕЛЬНОГО БЫСТРОДЕЙСТВУЮЩЕГО
16-РАЗРЯДНОГО АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ С ГАЛЬВАНИЧЕСКОЙ ИЗОЛЯЦИЕЙ
КАНАЛА ИЗМЕРЕНИЯ ОТ ШИНЫ ПИТАНИЯ КОМПЬЮТЕРА, ПРЕДНАЗНАЧЕНОГО ДЛЯ РАБОТЫ В
ПЭВМ ТИПА IBM PC/AT на шине ISA, либо как выносная конфигурация с
интерфейсом USB, либо RS-232, либо RS-485, либо LAN 10Мб).
===========================================================================
В этом документе содержится описание аппаратной части, и
программирования аналого- цифрового преобразователя (в дальнейшем
АЦП). А также, приводится документ по использованию выносной
модификации модуля
--------------------------------------------------------------------------!!!!!!!!!ВНИМАНИЕ!!! ПРОЧТИТЕ ОБЯЗАТЕЛЬНО!!!!!!!!!!!!
Данный файл документации и комплект демонстрационного
программного обеспечения поставляются в
ПОЛНОМ
объеме
НЕЗАВИСИМО от заказанной конфигурации платы. Конкретная конфигурация по прайсу зависит от букв, стоящих после полного названия
модуля (см. перечисление функций конкретной конфигурации в прайс
-листе). В случае обнаружения на приобретенном модуле нехватки
какой-либо нужной Вам функции, упоминание о которой есть в этом
документе и демо-программах (а при заказе Вы остановились на конфигурации, не поддерживающую эту функцию), обращайтесь к нам за
доработкой.
Модуль поддерживает работу ТОЛЬКО С ОДНИМ выбранным при заказе
видом интерфейса, и если не оговаривается иное, то по умолчанию это
шина ISA (встраиваемая в компьютер плата). Перед покупкой не выносной
версии устройства - убедитесь, что в Вашем компьютере есть ISA-слот.
Демо-программы, поставляемые бесплатно в комплекте служат для
ДЕМОнстрации работоспособности модуля и демонстрации порядка
программирования. Они НЕ предназначены для решения конкретной задачи заказчика.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Внимание ! В случае заказа 14 - ти разрядного модуля АЦП плата !!
!! комплектуется 14-ти разрядным чипом аналого-цифрового преобразователя !!
!! и соответствующими этой точности элементами. Непосредственно модуль !!
!! и его программирование остаются в том же виде, что и для 16-ти !!
!! разрядного исполнения.
!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
--------------------------------------------------------------------------СОДЕРЖАНИЕ.
1. Назначение, возможности и область примения модуля.
1.1. Технические характеристики модуля.
1.2. Комплект поставки.
2. Конструктивные характеристики модуля.
2.1. Расположение разьемов и переключателей,
установленных на плате.
2.2. Тип и назначение контактов разъемов.
2.3. Изменение базового диапазона АЦП и назначение
подстроечных элементов на плате.
3. Функциональная схема АЦП
4. Описание работы с модулем.
4.1. Общие сведения.
4.2. Аппаратные прерывания, формируемые платой АЦП.
4.3. Таблица соответствия адресов, используемых при
обращении к плате и функций, выполняемых устройством.
4.4. Включение аналогового питания.
4.5. Программирование таймера модуля.
4.6. Программирование АЦП модуля.
4.7. Программирование ЦАП модуля.
4.8. Программирование ЦВВ модуля.
5. Вычисление результата измерения.
6. Примеры программирования АЦП.
ПРИЛОЖЕНИЕ: РАСПРЕДЕЛЁННАЯ ШИНА ISA. Концепция построения и руководство по
программированию
========================================================================
1. Назначение, возможности и область применения модуля.
=======================================================================
АЦП предназначен для работы в автоматизированных системах
измерения, контроля и научных исследований на базе ПК типа IBM
PC/AT на шине ISA, либо как выносная конфигурация с интерфейсом
USB, либо RS-232, либо RS-485, либо LAN10Mb.
Модуль АЦП позволяет:
1) Измерять значения напряжения (или тока) по 32 каналам с общим
"земляным" проводом в произвольном порядке c переключением
коэффициента усиления при помощи джамперов и с гальванической
развязкой от электрических цепей компьютера.
2) Формировать аналоговые напряжения по двум независимым каналам
с гальванической развязкой. "Земля"- общая с аналоговыми
входами.
3) Выводить слово данных (16 разрядов) в схему гальванически
развязанного вывода, "земля" - общая с аналоговой. Каждый цикл
вывода генерирует строб для синхронизации приема внешним
устройством.
4) Вводить слово данных с гальванической развязкой ("земля" общая с аналоговой). Ввод можно осуществлять как программным
способом в произвольные моменты времени, так и по сигналам
внешнего устройства с интервалом, не меньшим времени измерения
АЦП.
5) Делать запуск АЦП по сигналам установленного на плате таймера
по заранее запрограммированному номеру канала.
6) Выводить данные на ЦАП (или на цифровой вывод) и принимать результат измерения за один цикл записи-чтения, что позволяет
реализовать быстродействие модуля на компьютерах с низким быстродействием, или загруженных другой задачей.
7) Работать с компьютерами, в которых нет ISA-шины (выносная
конфигурация “BOX”).
----------------------------------------------------------------------1.1 Технические характеристики модуля.
----------------------------------------------------------------------Ниже приведены технические характеристики всех заложенных в
устройство функций. Конкретная конфигурация по требованию заказчика
может содержать ТРЕБУЕМЫЙ набор перечисленных
возможностей
и
технических характеристик.
ПАРАМЕТРЫ АЦП (16-ти разрядного)
Число входных каналов ......................
......................
Число разрядов выходного кода ..............
Формат выходного кода ......................
Время преобразования ......................
Диапазоны входного напряжения:
базовый однополярный.......................
32 недифференциальных (*)
16 дифференциальных (*)
16 двоичных разрядов
обычный двоичный код
12 мкс
от
0 В
до
+5(+10) В
двуполярный........................ от -5(-10)В до +5(+10) В
( см. П.2.3. для изменения базового диапазона с 5 В на 10 В)
с усилением: (если базовый диапазон 10В, нижеприведенные
пределы повышаются вдвое)
10
однополярный .............. от 0 мВ до +500 мВ
двуполярный ............... от -500 мВ до +500 мВ
100 однополярный .............. от 0
мВ до +50 мВ
двуполярный ............... от -50 мВ до +50 мВ
1000 однополярный .............. от 0
мВ до +5
мВ
двуполярный ............... от -5
мВ до +5
мВ
Величина единицы младшего разряда при работе
в диапазонах от 0В до+5В и от-2,5В до+2,5В . 78 мкВ
Интегральная нелинейность в базовых
диапазонах, не более ....................... 0.003%
Погрешность (1) смещения нуля при работе без
дополнительного усиления (режимы +/-5В;0-5В) 0.007%
Приведенное (2) ко входу напряжение смещения,
не более ................................... 70 мкВ(типовое значение<30)
Погрешность (3) коэффициента преобразования
на постоянном токе:
без усиления, не более ..................... 0.005%
при усилении:
10 ,не более ...................... 0.8 %
100 ,не более ...................... 1.5 %
1000,не более ...................... 3
%
(погрешности 1-3 случайные СИСТЕМАТИЧЕСКИЕ, т.е.
устраняются при необходимости программной коррекцией)
Полоса пропускания дополнительных
усилителей, не менее ....................... 0-50 кГц
Неравномерность АЧХ на границе полосы
пропускания:
в базовом диапазоне, не более .............. 0.2%
при усилении:
10 ,не более ...................... 1.5%
100 ,не более ...................... 10%
1000,не более ...................... 35%
Дополнительная температурная погрешность:
в базовых диапазонах, не более ........... 0.0001% на градус
с дополнительным усилением, не более ..... 0.0005% на градус
Коэффициент ослабления синфазных сигналов
на частотах:
от 0 до 1 кГц,не менее .................... 80 дБ
до 30 кГц,не менее .................... 50 дБ
на частотах от 0 до 1кГц при усилении:
10 , не менее ..................... 100 дБ
100 , не менее ..................... 120 дБ
1000, не менее ..................... 140 дБ
Входное сопротивление ...................... 1
МОм (по требованию)
Входная емкость,не более ................... 15 пФ
Выходные гальванически развязанные
напряжения питания модуля .................. +/-12В,+5В 120мА (max)
Предельно допустимое входное напряжение .... +/-13 В
Допустимый входной ток при превышении
входного напряжения свыше +/-13В (номинал
защитного резистора 100 Ом), не менее ...... 10 мА
Пробивное напряжение изоляции, не менее .... 4 кВ
Дискретность перестройки интервала запуска
от встроенного таймера ..................... 1,665 мкс
(*)- данные справедливы для конфигурации 32 входных
канала; в случае 16-ти
канальной конфигурации
модуля
возможно использование 16-ти
недифференциальных входов и 8 дифференциальных.
Программирование
и
эксплуатация
модуля
осуществляются путем использования первых
каналов измерения.
16-ти
ПАРАМЕТРЫ АЦП (14-ти разрядного)
Приведены только те характеристики, которые отличаются
от 16-ти разрядного варианта исполнения модуля.
Интегральная нелинейность в базовых
диапазонах, не более .......................
Погрешность смещения нуля при работе без
дополнительного усиления (режимы +/-5В;
+/-10В;0-5В;0-10В) .........................
Приведенное ко входу напряжение смещения,
не более ...................................
Погрешность коэффициента преобразования
на постоянном токе:
без усиления, не более .....................
0.006%
0.02%
80 мкВ(типовое значение<40)
0.02%
ПАРАМЕТРЫ КАНАЛОВ ЦАП
Число каналов ..............................
Число разрядов входного кода ...............
Формат входного кода .......................
Минимальный интервал преобразования .......
Время установления выходного напряжения ....
Диапазон выходных напряжений ...............
Интегральная нелинейность, не более ........
Максимальная величина смещения, не более ...
Погрешность коэффициента преобразования
постоянного напряжения, не более ...........
Температурный дрейф выходного напряжения,
не более ..................................
Максимальный ток нагрузки .................
Максимальная емкость нагрузки .............
2
16
дополняющий двоичный код
12 мкс
1,5 мкс
от -10 В до + 10 В
0.006%
0.02%
0.05%
0,001% /градус
10 мА
500 пФ
ГАЛЬВАНИЧЕСКИ РАЗВЯЗАННЫЕ ЛИНИИ ДИСКРЕТНОГО
ВВОДА-ВЫВОДА И СИНХРОНИЗАЦИИ (TTL-уровень)
Пробивное напряжение изоляции ............. 4 кВ
Организация: ............................... 16 бит на вывод + линия
синхронизации и выход
окончания преобразования;
16 бит на ввод + линия
строба для ввода
данных ( вход внешнего
запуска);
Требования к сигналу внешнего запуска
(запуска передачи данных): ................ лог. '0' длительностью
от 100 нс до 10 мкс
Формат сигнала синхронизации цифрового
вывода .................................... лог '0' c момента запуска
передачи данных
на время 10,7 мкс, прием
данных внешним устройством
возможен по положительному
фронту этого сигнала;
Формат сигнала окончания преобразования .... лог '1' c момента запуска АЦП
на время 10,7 мкс
Нагрузочный ток логических выходов:
лог."0" ................................... 12 мА
лог."1" ................................... 3 мА
Время передачи и (или) приема 16 разрядов
данных ......................................12 мкс
ОБЩИЕ ХАРАКТЕРИСТИКИ МОДУЛЯ
Ток,потребляемый от источника +5В ..........
Ток,потребляемый от источника +12В .........
Возможные базовые адреса ...................
Линии прерывания ...........................
Режим работы модуля ........................
Габариты модуля ............................
Используемая шина ………………………………………………………………..
Используемый интерфейс
в выносной конфигурации “BOX”…………………………..
370 мА
350 мА
3x0, где x - 0...f
IRQ: 5,10,11,12,15
непрерывный
180x105x15 мм
ISA
USB, либо RS-232,
либо RS-485,LAN10Mb
Габариты выносной модификации “BOX” …………………. 220x220x60 мм
Питание выносной модификации “BOX” ……………………. +5В, +12В (от компьютера)
========================================================================
1.2. Комплект поставки.
=======================================================================
В базовый (по умолчанию) комплект поставки входит:
1) Модуль WAD-ADC16-32H (WAD-ADC14-32H) ................. 1 шт.
2) Ответная часть разьема 37-pin ........................ 1 шт.
3) Дискета с техническим описанием и ПО ................. 1 шт.
========================================================================
2. Конструктивные характеристики модуля.
========================================================================
-----------------------------------------------------------------------2.1. Расположение разьемов и переключателей, установленных на плате.
---------------------------------------------------------------------------------------------------------------------¬
¦
Х2 ------------¬------------¬Х3
¦
¦
1------------1-----------¦
¦
¦
¦
J22 --+-¬
¦
JP3
J21 ¦ ¦ ¦
¦
J23-25
¦ ¦ ¦X1
¦
JP2 JP1
J20 ¦ ¦ ¦
¦
---1-1
L-+-1
L----------¬
L--+---¬
--L------------L-------------------ЗАМЫКАТЕЛИ JP1,JP2.
Джамперы предназначены для установки базового адреса устройства
и номера линии прерывания.
JP2
JP1
1 2 3 4 5
4 3 2 1
--T-T-T-T-¬ --T-T-T-¬------------------------------T------------------¬
¦0¦0¦0¦0¦0¦ ¦0¦0¦0¦0¦¦
¦Положение джампера¦
¦0¦0¦0¦0¦0¦ ¦0¦0¦0¦0¦¦
Наименование ключей
+--------T---------+
LT+T+T+T+T- LT+T+T+T-¦
¦Замкнут ¦ Разомкн.¦
¦ ¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ +-----------------------------+--------+---------+
¦ ¦ ¦ ¦ ¦
¦ ¦ ¦ +-+Сравнение с линией адреса A07¦ лог.1 ¦ лог.0 ¦
¦ ¦ ¦ ¦ ¦
¦ ¦ +-+-+Сравнение с линией адреса A06¦ лог.1 ¦ лог.0 ¦
¦ ¦ ¦ ¦ ¦
¦ +-+-+-+Сравнение с линией адреса A05¦ лог.1 ¦ лог.0 ¦
¦ ¦ ¦ ¦ ¦
+-+-+-+-+Сравнение с линией адреса A04¦ лог.1 ¦ лог.0 ¦
¦ ¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ L-----------------------------+--------+---------¦ ¦ ¦ ¦ ¦ -+-+-+-+-T-------------------¬
¦ ¦ ¦ ¦ ¦ ¦Р Р Р Р ¦ включен адрес 300 ¦
¦ ¦ ¦ ¦ ¦ ¦З Р Р Р ¦ включен адрес 310 ¦
¦ ¦ ¦ ¦ ¦ ¦Р З З Р ¦ включен адрес 360 ¦
¦ ¦ ¦ ¦ ¦ ¦З З З Р ¦ включен адрес 370 ¦
¦ ¦ ¦ ¦ ¦ ¦Р Р З З ¦ включен адрес 3c0 ¦
¦ ¦ ¦ ¦ ¦ L--------+-------------------¦ ¦ ¦ ¦ ¦---------------------------T------------------¬
¦ ¦ ¦ ¦ ¦¦
¦Положение джампера¦
¦ ¦ ¦ ¦ ¦¦
Наименование ключей +--------T---------+
¦ ¦ ¦ ¦ ¦¦
¦Замкнут ¦ Разомкн.¦
¦ ¦ ¦ ¦ ¦+--------------------------+--------+---------+
¦ ¦ ¦ ¦ ++Включение прерывания IRQ05¦ вкл
¦ выкл
¦
¦ ¦ ¦ +-++Включение прерывания IRQ10¦ вкл
¦ выкл
¦
¦ ¦ +-+-++Включение прерывания IRQ11¦ вкл
¦ выкл
¦
¦ +-+-+-++Включение прерывания IRQ12¦ вкл
¦ выкл
¦
+-+-+-+-++Включение прерывания IRQ15¦ вкл
¦ выкл
¦
¦ ¦ ¦ ¦ ¦L--------------------------+--------+----------+-+-+-+-+T---------------------------¬
¦Р Р Р Р Р¦ прерывние не используется ¦
¦Р Р Р Р З¦ включено прерывание IRQ05 ¦
¦Р Р Р З Р¦ включено прерывание IRQ10 ¦
¦Р Р З Р Р¦ включено прерывание IRQ11 ¦
¦Р З Р Р Р¦ включено прерывание IRQ12 ¦
¦З Р Р Р Р¦ включено прерывание IRQ15 ¦
L---------+---------------------------ЗАМЫКАТЕЛЬ JP3
Джампер предназначен для обьединения
гальванически
развязанного общего провода ( аналоговой земли ) с общим проводом
компьютера. Устранение гальванической развязки в
некоторых
системах позволяет уменьшить уровень шумов и помех в канале
измерения, хотя и лишает тех преимуществ,
которые
дает
гальваническая развязка, в т.ч. защита компьютера и другого оборудования в аварийных ситуациях.
ЗАМЫКАТЕЛИ J4-J19 на плате отсутствуют
ЗАМЫКАТЕЛИ J20,J21,J22
Предназначены для установки режима работы аналоговых
входов: дифференциальные или одиночные. В платах 8 -ти канальных,
где возможен только недифференциальный режим работы, вместо
джамперов запаяны перемычки. Для конфигурации 16 и 32 входных канала режим работы устанавливается согласно приведенной ниже таблице.
------------------------------T----------------------------¬
¦
джампер, замыкатель
¦
режим работы
¦
+---------T---------T---------+----------------------------+
¦
J20
¦
J21
¦
J22
¦
¦
+---------+---------+---------+----------------------------+
¦есть(нет)¦
нет
¦
есть ¦32(16,8)одиночных канала(ов)¦
+---------+---------+---------+----------------------------+
¦
нет
¦
есть ¦
нет
¦16(8)дифф. каналов
¦
L---------+---------+---------+----------------------------ЗАМЫКАТЕЛИ J23,J24,J25
Изменяют коэффициент передачи измерительного усилителя.
При отсутствии замыкателей коэффициент передачи равен 1, при замыкании:
J23 - усиление в 10 раз;
J24 - усиление в 100 раз;
J25 - усиление в 1000 раз.
------------------------------------------------------------------------
2.2. Тип и назначение контактов разъемов.
-----------------------------------------------------------------------Разьем Х1.
-------------Тип разъема на плате - DRB-37F/MA ("мама"/"папа").
Ответка на кабель - DB-37F/M ("мама"/"папа").
Корпус для ответки разъема - DP-37C
На разьем выведены: входы аналого-цифрового пробразователя;
общий провод ( аналоговая "земля" ); выходы цифро-аналогового
преобразователя.
Вид на соединитель (снаружи), установленный на
плате. Если на плате установлен
разъем
'папа',
номера
контактов
из
левой
колонки таблицы
соответствуют указанному функциональному назначению,
если на плате 'мама' - используется правая колонка.
'Папа' на плате:
-------------------- . . . --------------------------\
1о
о
о
о
. . . о
о
о
о
о
о19 /
\ 20о
о
о
о . . .
о
о
о
о
о37 /
==============================================================
'Мама' на плате:
-------------------- . . . --------------------------\ 19о
о
о
о
. . . о
о
о
о
о
о1 /
\ 37о
о
о
о . . .
о
о
о
о
о20 /
==============================================================
Таблица соответствия номеров контактов разьема X1
их функциональному назначению.
----------T-------------T---------T--------------¬
¦
N:
¦ Назначение ¦
N:
¦ Назначение
¦
¦на плате:¦
¦на плате:¦
¦
¦папа¦мама¦
¦папа¦мама¦
¦
+----+----+-------------+----+----+--------------+
¦ 21 ¦ 36 ¦Канал 0
¦ 29 ¦ 28 ¦Канал 16,0 (-)¦
¦ 1 ¦ 19 ¦Канал 1
¦ 9 ¦ 11 ¦Канал 17,1 (-)¦
¦ 20 ¦ 37 ¦Канал 2
¦ 28 ¦ 29 ¦Канал 18,2 (-)¦
¦ 2 ¦ 18 ¦Канал 3
¦ 10 ¦ 10 ¦Канал 19,3 (-)¦
¦ 23 ¦ 34 ¦Канал 4
¦ 31 ¦ 26 ¦Канал 20,4 (-)¦
¦ 3 ¦ 17 ¦Канал 5
¦ 11 ¦ 9 ¦Канал 21,5 (-)¦
¦ 22 ¦ 35 ¦Канал 6
¦ 30 ¦ 27 ¦Канал 22,6 (-)¦
¦ 4 ¦ 16 ¦Канал 7
¦ 12 ¦ 8 ¦Канал 23,7 (-)¦
¦ 25 ¦ 32 ¦Канал 8
¦ 33 ¦ 24 ¦Канал 24,8 (-)¦
¦ 5 ¦ 15 ¦Канал 9
¦ 13 ¦ 7 ¦Канал 25,9 (-)¦
¦ 24 ¦ 33 ¦Канал 10
¦ 32 ¦ 25 ¦Канал 26,10(-)¦
¦ 6 ¦ 14 ¦Канал 11
¦ 14 ¦ 6 ¦Канал 27,11(-)¦
¦ 27 ¦ 30 ¦Канал 12
¦ 35 ¦ 22 ¦Канал 28,12(-)¦
¦ 7 ¦ 13 ¦Канал 13
¦ 15 ¦ 5 ¦Канал 29,13(-)¦
¦ 26 ¦ 31 ¦Канал 14
¦ 34 ¦ 23 ¦Канал 30,14(-)¦
¦ 8 ¦ 12 ¦Канал 15
¦ 16 ¦ 4 ¦Канал 31,15(-)¦
¦ 17 ¦ 3 ¦общий
¦ 36 ¦ 21 ¦общий
¦
¦ 18 ¦ 2 ¦ЦАП,Канал 0 ¦ 37 ¦ 20 ¦общий
¦
¦ 19 ¦ 1 ¦ЦАП,Канал 1 ¦
¦
¦
¦
L----+----+-------------+----+----+--------------Разьем Х2.
-------------Тип разъема на плате - ВН-34 ("папа").
Ответка на кабель - IDC-34 ("мама") (в
не входит).
базовый
комплект
На разьем выведены
разряды
D0-D15
схемы
гальванически развязанного цифрового ввода, гальванически развязанные напряжения питания, сигнал внешнего
запуска АЦП (запуск передачи данных) и сигнал окончания преобразования. Конструктивное расположение и назначение контактов:
2 4 6 8
. . . .
30 34
--T-T-T-T---T-T-T-T-¬
¦0¦0¦0¦0¦
. . . .
¦0¦0¦0¦0¦
¦0¦0¦0¦0¦
¦0¦0¦0¦0¦
L-+-+-+-+-- . . . . --+-+-+-+-1 3 5 7
29 33
-----T------------T----T-------------¬
¦ N| ¦ Назначение ¦ N| ¦ Назначение ¦
+----+------------+----+-------------+
¦ 01 ¦ разряд D0 ¦ 02 ¦
общий
¦
¦ 03 ¦ разряд D1 ¦ 04 ¦
общий
¦
¦ 05 ¦ разряд D2 ¦ 06 ¦
общий
¦
¦ 07 ¦ разряд D3 ¦ 08 ¦
общий
¦
¦ 09 ¦ разряд D4 ¦ 10 ¦
общий
¦
¦ 11 ¦ разряд D5 ¦ 12 ¦
общий
¦
¦ 13 ¦ разряд D6 ¦ 14 ¦
общий
¦
¦ 15 ¦ разряд D7 ¦ 16 ¦
общий
¦
¦ 17 ¦ разряд D8 ¦ 18 ¦
общий
¦
¦ 19 ¦ разряд D9 ¦ 20 ¦
общий
¦
¦ 21 ¦ разряд D10 ¦ 22 ¦
общий
¦
¦ 23 ¦ разряд D11 ¦ 24 ¦
общий
¦
¦ 25 ¦ разряд D12 ¦ 26 ¦
общий
¦
¦ 27 ¦ разряд D13 ¦ 28 ¦
-12В
¦
¦ 29 ¦ разряд D14 ¦ 30 ¦
+12В
¦
¦ 31 ¦ разряд D15 ¦ 32 ¦
+5В
¦
¦ 33 ¦ запуск
¦ 34 ¦ конец пр-я ¦
L----+------------+----+-------------Разьем Х3.
-------------Тип разъема на плате - ВН-34 ("папа").
Ответка на кабель - IDC-34 ("мама") (в базовый комплект
не входит).
На разьем выведены разряды D0-D15 схемы гальванически развязанного цифрового вывода, гальванически развязанные напряжения питания, сигнал синхронизации и
сигнал окончания преобразования. Конструктивное расположение и назначение контактов:
2 4 6 8
. . . .
30 34
--T-T-T-T---T-T-T-T-¬
¦0¦0¦0¦0¦
. . . .
¦0¦0¦0¦0¦
¦0¦0¦0¦0¦
¦0¦0¦0¦0¦
L-+-+-+-+-- . . . . --+-+-+-+-1 3 5 7
29 33
-----T------------T----T------------¬
¦ N| ¦ Назначение ¦ N| ¦ Назначение ¦
+----+------------+----+------------+
¦ 01 ¦ разряд D0 ¦ 02 ¦
общий
¦
¦ 03 ¦ разряд D1 ¦ 04 ¦
общий
¦
¦ 05 ¦ разряд D2 ¦ 06 ¦
общий
¦
¦ 07 ¦ разряд D3 ¦ 08 ¦
общий
¦
¦ 09 ¦ разряд D4 ¦ 10 ¦
общий
¦
¦ 11 ¦ разряд D5 ¦ 12 ¦
общий
¦
¦ 13 ¦ разряд D6 ¦ 14 ¦
общий
¦
¦ 15 ¦ разряд D7 ¦ 16 ¦
общий
¦
¦ 17 ¦ разряд D8 ¦ 18 ¦
общий
¦
¦ 19 ¦ разряд D9 ¦ 20 ¦
общий
¦
¦ 21 ¦ разряд D10 ¦ 22 ¦
общий
¦
¦ 23 ¦ разряд D11 ¦ 24 ¦
общий
¦
¦ 25 ¦ разряд D12 ¦ 26 ¦
общий
¦
¦ 27 ¦ разряд D13 ¦ 28 ¦
-12В
¦
¦ 29 ¦ разряд D14 ¦ 30 ¦
+12В
¦
¦ 31 ¦ разряд D15 ¦ 32 ¦
+5В
¦
¦ 33 ¦ синхр.
¦ 34 ¦ конец пр-я¦
L----+------------+----+---------------------------------------------------------------------------------------2.3. Изменение базового диапазона АЦП и назначение подстроечных
элементов на плате.
---------------------------------------------------------------------------Внимание! Базовый диапазон устанавливается изготовителем. В
случае необходимости его можно изменить, если на момент заказа
модуля не был точно известен (или был не оговорен) необходимый
предел измерения. Монтаж должен осуществляться профессиональным
монтажником. При выполнении этих требований вмешательство заказчика в эту часть модуля не будет отменять гарантийных обязательств изготовителя. При наличии в результате перепаек механических повреждений печатных проводников, металлизаций и переходных отверстий, а также возникшие по причине вмешательства неисправности модуля ликвидируют гарантийные обязательства изготовителя.
Для изменения базового диапазона измерения АЦП необходимо
изменить номиналы резисторов дифференциального усилителя на плате. Этот усилитель собран по классической схеме дифференциального усилителя. Два входных резистора (R4,R3 - см. рис. внизу) для
диапазона 5В равны по номиналу другим двум резисторам (резистору,
идущему на землю (R2) и резистору в обратной связи (R1)). Для
диапазона 10В входные резисторы должны быть (оба) в два раза
больше. Проще всего это достигается установкой вместо каждого из
входных резисторов цепей, состоящих из двух резисторов последовательно. Основное требование к этим резисторам - прецизионность и
термостабильность. Номиналы этих резисторов могут находится в
диапазоне 2-10кОм. Сам номинал значения не имеет, важным является только соотношение номиналов входных резисторов к двум другим
(попарно - R3/R1=R4/R2= 0,5(для 10В) или = 1 (для 5В) ). Для
коэффициента подавления синфазных составляющих сигнала порядка
70дБ допуск резисторов должен быть не хуже 0,25%.
Места установки резисторов на плате:
---------------------------------------------------------------¬
----------¬---¬---¬ ¦
¦AD766JN ¦¦R7¦¦R8¦ ¦
1----------L---L--- ¦
----------¬ -¬ -¬ ¦
¦AD766JN ¦ L- L- ¦
1---------- R9--R10-+----¬
R1 R3 R5 ------¬
----------¬
¦
¦
¦
---¬ УД25 ---¬
-¬ -¬ -¬ ¦УД2..¦ J22¦КР590КН6 ¦
¦
¦
¦
¦R6¦ (УД26)¦ ¦
¦¦ ¦¦ ¦¦ 1-----1---------¦
¦
¦
L--L--1
L- L- L- -¬ -¬ -¬
----------¬
¦
¦
¦
УД25 ---¬ УД25 ---¬
¦¦ ¦¦ ¦¦J21¦КР590КН6 ¦
¦
¦
¦
(УД26)¦ ¦(УД26)¦ ¦
L- L- L1---------¦
¦
¦
L--1
L--1 J23 J24 J25 ----------¬
¦
¦
¦
1--¬
-¬ -¬ -¬
¦КР590КН6 ¦
¦
¦Х1 ¦
AD680JN ¦ ¦
¦¦ ¦¦ ¦¦ ------¬
1---------¦
¦
¦
L--L- L- L- ¦УД2..¦ J20----------¬
¦
¦
¦
R2 R4 R5 1-----¦КР590КН6 ¦
¦
¦
¦
1---------¦
¦
¦
¦
¦
¦
¦
¦
¦
L-----+----1
---¬
¦
¦ ¦
¦
---------------------------------------------------
L----------
Подстроечный резистор R6 служит для подстройки значения
опорного напряжения АЦП (влияет на коэффициент преобразования АЦП,
эквивалентно усилению, регулировка в пределах нескольких процентов). R7 - регулировка смещения нуля в ЦАП1, R8 - смещение нуля в
ЦАП0. R9- коэффициент передачи ЦАП1, R10-коэффициент передачи
ЦАП0.
Еще раз напоминаем, что неквалифицированное вмешательство
коммуникации модуля снимает гарантию, но не мешает обратиться
изготовителю за помощью.
в
к
=============================================================================
3. Функциональная схема АЦП.
=============================================================================
канал 0 -канал 1 -:
канал 32--
------¬ ------------¬ ------------¬ -------¬
¦
¦ ¦
ДУ x1
¦ ¦
¦ ¦ ЦАП0 +- ЦАП,Канал А
¦
+- ¦вх+
x10 +- ¦IN
¦ ¦
¦
¦ ВМ +- ¦вхx100 ¦ ¦
АЦП
¦ ¦ ЦАП1 +- ЦАП,Канал В
¦
¦ ¦
x1000¦ ¦
¦ ¦
¦
L-T-T-- L----T-T----- L--T-T-T-T--- L-T-T--- Дискретный
¦ ¦
¦ ¦
¦ ¦ ¦ ¦
¦ ¦
ввод-вывод
--+-+---------+-+----------+-+-+-+-------+-+--¬ . ... .
¦
схема управления
+-+-------L------------------T-T-T-T-T-T-T-T------------+/-12,+5В
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
-+-+-+¬
-+-+-+-+-+-+-+-+¬
¦ ИПН ¦
¦
БГР
¦
L-T-T-LT-T-T-T-T-T-T-T¦ ¦
--+-+--------------+-+-+-+-+-+-+-+-----------¬
¦
и н т е р ф е й с
¦
L--------------T---------------T-------------¦ ............. ¦
IBM PC/AT
ИПН
БГР
ВМ
ДУ
АЦП
-
импульсный преобразователь напряжения;
блоки гальванических развязок;
входной мультиплексор;
блок дифференциального усилителя;
аналого-цифровой преобразователь со встроенным
устройством выборки-хранения;
ЦАП0,ЦАП1 - два канала цифро-аналогового преобразователя.
===========================================================================
4. Описание работы с модулем.
===========================================================================
--------------------------------------------------------------------------4.1. Общие сведения.
--------------------------------------------------------------------------При обращении к плате АЦП происходит дешифрация адреса.
Для адресации модуля используются десять младших разрядов
шины адреса компьютера. Для работы АЦП необходимо адресное
пространство ввода/вывода размером в 16 адресов. АЦП может
работать со следующими диапазонами адресов:
300h...30fh
310h...31fh
360h...36fh
370h...37fh
3c0h...3cfh
Это можно обозначить как 3x0...3xf, где x=0,1,6,7,c.
Начальный адрес каждого поддиапазона
называется
базовым адресом. Выбор поддиапазона осуществляется с
помощью джамперов JP1 , которыми
устанавливаются
разряды А4...А7 адресов, используемых при обращении к
данному модулю. Так, для установки базового адреса
300h, необходимо установить все джамперы в разомкнутое
состояние. Выбор функции АЦП, выполняемой при данном
обращении к плате, осуществляется путем дешифрации
младших разрядов адреса A0...A3.
Адресное пространство модуля делится на порты команд и порт данных, порт регистра режима и слова состояния, порт таймера ВИ54. Порт команд предназначен для
записи и передачи команды в аналоговую часть.
Для получения информации о данном канале важно установленное предварительно значение номера канала, режима и усиления. При обращении к плате (запуске АЦП)
происходит прием и передача новых данных в аналоговую
часть схемы, при следующем запуске ( т.к. с момента начала передачи новых данных происходит "защелкивание"
устройства выборки-хранения) происходит исполнение переданных данных (например,переключение канала), а при
третьем запуске АЦП передает в интерфейс результат измерения по интересующему номеру канала и с усилением,
переданными при первом запуске АЦП. При заметном числе
измерений 2 первых 'лишних' запуска не отражаются на
общем быстродействии, а при обработке данных необходимо учитывать сдвиг результатов измерений относительно
запусков АЦП. Такой алгоритм позволяет не отводить дополнительного времени на переключение каналов и установление усилителей на новое значение напряжения, т.к.
для этого у схемы есть время, равное интервалу запуска.
Порт данных предназначен для чтения результата
преобразования АЦП. Чтение результата осуществляется
через 11 мкс после запуска преобразования. В случае обращения к порту данных до момента конца преобразования
модуль задерживает цикл чтения до готовности данных.
Таким образом можно организовать три метода чтения результатов АЦП: метод опроса готовности, непосредственное чтение и опрос по прерыванию.
Цифроаналоговые преобразователи получают информацию, если в передаваемых в измерительную часть схемы
разрядах регистра режима указана соответствующая адресация. Вывод слова цифровых данных пользователю осуществляется через этот-же канал по другому адресу. В случае цифрового ввода изменение состояния соответствующего разряда регистра режима приводит к переключению потока данных с АЦП на канал схемы цифрового ввода.
--------------------------------------------------------------------------4.2. Аппаратные прерывания, формируемые платой АЦП.
--------------------------------------------------------------------------АЦП может генерировать запросы на прерывание по
линиям: IRQ5;IRQ10;IRQ11;IRQ12;IRQ15.
Номер линий
устанавливается
ключами
1,2,3,4,5
переключателя JP2. Только один ключ должен быть замкнут.
Событие, вызывающие запрос на прерывание:
произошел
запуск
измерения
(запуск
происходит в случае внешнего запуска, запуска
от таймера или в случае инициирования передачи
внешним устройством для схемы цифрового ввода).
---------------------------------------------------------------------------4.3. Таблица соответствия адресов, используемых при обращении к плате,
и функций, выполняемых устройством.
-----------------------------------------------------------------------------------T--------------------------------------------------------------¬
¦Адрес(h)¦
Функции устройства
¦
+--------+--------------------------------------------------------------+
¦ 3х0
¦ Канал 0 таймера - интервал запуска АЦП;
¦
¦ 3х1
¦ Канал 1 таймера - интервал запуска АЦП (каскадирован с
¦
¦
¦ каналом 0)
¦
¦ 3х3
¦ Управляющее слово таймера:
¦
¦
¦
Канал 0 таймера - 34(h);
¦
¦
¦
Канал 1 таймера - 74(h);
¦
+--------+--------------------------------------------------------------+
¦ 3х8
¦ ЗАПИСЬ - Регистр режима. Назначение разрядов следующее:
¦
¦
¦
¦
¦
¦ D7 D6 D5 D4 D3 D2 D1 D0
¦
¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦-разряды адреса:
¦
¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ 0 0-запись слова в регистры АЦП;
¦
¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ 0 1-запись слова дискретного вывода;
¦
¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ 1 0-запись значения в ЦАП0;
¦
¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ 1 1-запись значения в ЦАП1;
¦
¦
¦ ¦ ¦ ¦ ¦ ¦ L 0- принимается слово из АЦП;
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
1- принимается слово из схемы цифрового
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
ввода;
¦
¦
¦ ¦ ¦ ¦ ¦ L х-зарезервирован;
¦
¦
¦ ¦ ¦ ¦ L 1/0-аналоговое питание включить/выключить;
¦
¦
¦ ¦ ¦ L х-зарезервирован;
¦
¦
¦ ¦ L 1/0-разрешить/запретить прерывание по сигналу
¦
¦
¦ ¦
начала каждого измерения;
¦
¦
¦ L х-зарезервирован.
¦
¦
¦
¦
¦
¦ ЧТЕНИЕ - Регистр слова состояния. Назначение разрядов:
¦
¦
¦
¦
¦
¦ D15 D14 D13 D12 D11 D10 D9 D8
¦
¦
¦ ¦
¦
¦
¦
¦
¦
¦ L -зарезервирован;
¦
¦
¦ ¦
¦
¦
¦
¦
¦
L -зарезервирован;
¦
¦
¦ ¦
¦
¦
¦
¦
L -зарезервирован;
¦
¦
¦ ¦
¦
¦
¦
L -зарезервирован;
¦
¦
¦ ¦
¦
¦
L -зарезервирован;
¦
¦
¦ ¦
¦
L -зарезервирован;
¦
¦
¦ ¦
L - зарезервирован;
¦
¦
¦ L 1 - происходит измерение.
¦
+--------+--------------------------------------------------------------+
¦ 3хс
¦ Запись-чтение слова из (в) измерительной части модуля.
¦
¦
¦ В зависимости от того, какие значения установлены заранее ¦
¦
¦ в
разрядах D2, D1, D0 регистра режима передаваемые и ¦
¦
¦ принимаемые данные будут задействовать одну из функций ¦
¦
¦ модуля. После начала передачи данных в измерительную часть ¦
¦
¦ схемы
независимо
от
адресации
происходит
запуск ¦
¦
¦ преобразования АЦП. Это позволяет, например, формировать ¦
¦
¦ ЦАПом заданные значения напряжений для воздействия на ¦
¦
¦ исследуемый обьект и получать информацию о его реакции.
¦
¦
¦ Режим записи:
¦
¦
¦ Назначения разрядов передаваемого слова:
¦
¦
¦
¦
¦
¦ D0--- номер включаемого канала -----¬
¦
¦
¦ D1 ... (0...7 + номер мультиплексора, ¦
¦
¦
¦ D2--MUX0-MUX3)
¦
¦
¦
¦ D3--- MUX0- "1"-каналы 0-7
¦
¦
¦
¦ D4--- MUX1- "1"-каналы 8-15
¦
¦
¦
¦ D5--- MUX2- "1"-каналы 16-24
¦
¦
¦
¦ D6--- MUX3- "1"-каналы 24-31
¦
¦
¦
¦
для недифференциального включения ¦
¦
¦
¦
активизировать можно только
¦
¦
¦
¦
один мультиплексор, для диффререн- ¦
¦
¦
¦
циального-два, причем для первых
¦
¦
¦
¦
8-ми каналов активизируются MUX0
¦
¦
¦
¦
и MUX2, для каналов 8-15 ¦
¦
¦
¦
MUX1 и MUX3
L
D0-D15- слово
¦
¦
¦ D7--- режим:
0- двуполярный;
..
гальванически
¦
¦
¦
1- однополярный;
..
развязанных
¦
¦
¦ D8--- незадействован;
данных, данные
¦
¦
¦ D9--- незадействован;
¦
для ЦАП0,ЦАП1
¦
¦
¦ D10-- незадействован;
¦
¦
¦
¦ D11-- незадействован;
¦
¦
¦
¦ D12-- незадействован;
¦
¦
¦
¦ D13-- незадействован;
¦
¦
¦
¦ D14-- незадействован;
¦
¦
¦
¦ D15-- незадействован; --------------¦
¦
¦
¦
¦
¦ Через 10 мкс. результат измерения передан в интерфейсную ¦
¦
¦ часть схемы для чтения. В случае обращения к плате через ¦
¦
¦ меньший интервал времени сигнал
обращения
компьютера ¦
¦
¦ задерживается модулем до момента окончания преобразования ¦
¦
¦ АЦП. Назначение разрядов принимаемого слова (результата ¦
¦
¦ измерения):
¦
¦
¦ Режим чтения:
¦
¦
¦ D0-D15-- результат преобразования,
либо
данные
схемы ¦
¦
¦
цифрового ввода.
¦
L--------+------------------------------------------------------------------------------------------------------------------------------------------4.4. Включение аналогового питания модуля.
----------------------------------------------------------------------------Для обеспечения гальванически
изолированным
питанием
аналоговой части платы на плате АЦП установлен
преобразователь
наряжения. По сути, это импульсный блок питания. Для целей экономии
электроэнергии и повышения ресурса
платы,
включение-выключение
преобразователя осуществляется программно. Использовать выключение
преобразователя рекомендуется, если плата АЦП используется менее 50%
общего времени работы компьютера.
Не включив аналоговое питание, работа АЦП будет невозможна. Более
того, при попытке запуска - чтения АЦП в момент чтения произойдет
зависание компьютера, поскольку с выключенным питанием плата выдать
результат измерения не может.
Включая питание (по порту $3х8), нужно учитывать одну тонкость,
заключающуюся в свойствах микросхемы АЦП:
скорость нарастания выходного напряжения блока питания, запитывающего
микросхему АЦП, нужно обеспечить достаточно
высокую. Иначе
калибровочные процессы, происходящие в микросхеме АЦП, запускающиеся в
момент появления на ее выводах питающих напряжений, не
смогут
нормально завершиться. Т.е. с момента появления питания его величина
должна быть практически сразу близкой к номинальному значению.
Однако импульсный преобразователь, начиная работать, должен, кроме
питания своей нагрузки, зарядить конденсаторы фильтра выпрямителя, и
на это расходуется определенное время (сотни миллисекунд). Выполнить
это требование - обеспечить высокую скорость нарастания, можно, если
применить специальный алгоритм включения, заключающийся в том, что
питание включаем, ждем когда конденсаторы зарядятся (при
этом
калибровка АЦП
выполняется
не
всегда
удачно),
выключаем
преобразователь на малое время и включаем снова. Это похоже на
тренировку электролитов, заряд-разряд-заряд, но на самом деле наша
задача в том, чтобы вновь запустить калибровку АЦП, но в лучших
условиях. Временны'е характеристики
задержек
после
включения,
выключения и снова включения могут быть взяты рекомендуемые, но не
исключен вариант подбора этих времянок пользователем.
Требования к программе в этом случае - чтобы примененные методы
формирования задержек были такими, чтобы реально формируемое время
мало зависело от быстродействия компьютера.
Критерий верно выбранных задержек - отсутствие зависания АЦП после
его включения при попытке первого же чтения, следующей за запуском
АЦП.
Нужно отметить, что разброс величин этих "верных"
задержек
довольно велик, в том плане что один и тот же модуль, и любой другой
будут работать нормально при изменении этих времен в несколько раз.
Т.е. проблема не настолько острая и не нужно опасаться, что однажды
выбранные времянки перестанут работать скажем, через несколько лет.
Просто это требование платы, которое нужно выполнить, но не ее
недостаток.
Можно определить крайние величины, и выбрать значение
где-то
посередине, желательно учитывая экспоненциальность процессов заряда и
разряда.
Главный параметр, влияющий на надежность - это задержка после
_выключения_ питания, перед включением. Т.е. нужно выбрать момент
включения, на участке разряда. Другие задержки, после включений должны быть просто минимальными, но достаточными, т.е. могут быть и
очень большими. Для отладки рекомендуется после включений ставить
заведомо большие времена, визуально заметные, а исследовать и менять
время выключения между ними. Потом можно уменьшать задержки после
включения.
Рекомендуемый порядок и времянки:
Включение.
Задержка 400мс.
Выключение.
Задержка 400мс.
Включение.
Задержка 500мс.
Эту процедуру достаточно выполнить один раз в начале работы с платой,
например в заголовке программы.
----------------------------------------------------------------------------4.5. Программирование таймера модуля.
----------------------------------------------------------------------------Таймер, находящийся на плате АЦП, служит для программирования интервала запуска (каналы таймера 0 и 1).
Для случая одиночных запусков от компьютера или запусков от внешнего устройства необходимо сделать предустановку таймера, записав в него управляющие слова обоих
каналов.
Каналы 0,1 (адрес 3х0,3х1)
---------------------------В АЦП используется режим работы счетчиков таймера
N:2, в котором входной опорный временной интервал (166
нс) умножается в N(0)*N(1) раз, где: N(0)-число, занесенное в счетчик 0 таймера; N(1)-число, занесенное в
счетчик 1 таймера; Заносимое число в счетчик канала 0
должно находится в диапазоне 16-70, в канал 1 - в диапазоне от 2 до 65536. Исходя из минимального времени
преобразования АЦП, равного 12 мкс, заносимое в счетчики таймера произведение не должно быть меньше 80 (например, в канал 0 заносим 16, а в канал 1 заносим 5).
Т.к. 0-й счетчик таймера соединен каскадно с первым, то
для осуществления минимального шага изменения периода
запуска (2,65 мкс) рекомендуется в 0-й канал заносить
минимальное число (16). Управляющие слова : счетчик 0 34; счетчик 1 - 74.
Последовательность программирования таймера следующая:
вначале записывается управляющее слово любого канала, а
затем записывается содержимое счетчика этого канала. Запись
в счетчик делается побайтно, вначале младший байт, затем
старший, независимо от того равен последний нулю или нет.
Пример программирования таймера:
Интервал запуска 21 мкс.
( TurboPascal, базовый адес 300 )
port[$303]:=$34;
{управляющее слово канала 0}
port[$300]:=$10;
port[$300]:=$0;
port[$303]:=$74;
{управляющее слово канала 1}
port[$301]:=$08;
port[$301]:=$0;
------------------------------------------------------------------------4.6. Программирование АЦП модуля.
---------------------------------------------------------------------Модуль ADC16-16 позволяет реализовать следующие основные режимы
работы аналого-цифрового преобразователя:
1) Запуск преобразования от компьютера с считыванием результата
сразу после запуска. Необходимая задержка, равная времени преобразования модуля формируется автоматически (выставляется сигнал
chanel_redy на шину ISA).
2) Запуск преобразования происходит по сигналам встроенного таймера, рекомендуемый способ чтения - по прерыванию (в случае
больших интервалов запуска), по обнаружению '1' в разряде 'происходит измерение' (в случае частых запусков (12-100 мкс)).
3) Запуск происходит по сигналам внешнего запуска. Результаты
считываются по обнаружению '1' в разряде 'происходит измерение'
регистра слова состояния, либо путем задействования прерывания.
ВАЖНО !!!!
Ознакомьтесь с разделом 4.1(Общие сведения), абзац 4, относительно того, как получить информацию о нужном канале. Если оцифровка ведется по одному каналу, нужно только два холостых запуска в начале работы.
Для реализации первого режима работы (запуск от компьютера с
последующим считыванием результата) необходимо:
1) Запрограммировать управляющие слова таймера - сделать его предустановку;
2) Запрограммировать регистр режима;
3) Сформировать запуск преобразования записью номера канала, усиления и режима;
4) Принять слово данных из АЦП (учитывая ПП 4.1.).
Для реализации второго режима работы (запуск от таймера) необходимо:
1) Запрограммировать управляющие слова таймера;
2) Запрограммировать регистр режима;
3) Запрограммировать данные в счетчики таймера (последним должен
программироваться канал 0) - интервал запуска.
4) Отработать сигнал 'происходит измерение' - по обнаружению
лог. '1' считать результат, либо обработать сигнал прерывания
- аналогично (учитывая ПП 4.1.).
Для реализации третьего режима работы (внешний запуск ) необходимо:
1) Запрограммировать управляющие слова таймера (предустановка);
2) Запрограммировать регистр режима;
3) Сделать запуск измерения по интересующему каналу, считать результат, повторить 2 раза, а затем в регистре режима указать любой незадействованный адрес для пересылаемых в гальванически развязанныю часть данных (один из каналов ЦАПа или цифровой вывод ).
4) Результаты считываются по обнаружению '1' в разряде "происхо-
дит измерение" регистра слова состояния, либо путем
ния прерывания.
задействова-
В том случае, если быстродействия компьютера не хватает (в
случае загрузки другой задачей) для надежной фиксации сигнала
"происходит измерение" (сигнал становится активным на время измерения - 10,6 мкс) необходимо использовать прерывание. Это может
потребоваться в случае использования внешнего запуска или в случае запусков от таймера с необходимостью чтения результатов "на
лету".
ОБЩИЕ РЕКОМЕНДАЦИИ:
При переключении с канала на канал необходимо учитывать, что в
этот момент формируется помеха тому каналу, на который происходит
переключение. Если источник сигнала является со стороны выхода
быстродействующим усилителем и/или обладает низким
выходным
сопротивлением, в этом случае переключение с
максимальной
скоростью не приведет к нежелательным последствиям. В противном
случае будет проявляться взаимовлияние
каналов
и
будут
проявляться дополнительные шумы в канале
измерения.
Для
устранения подобного эффекта самый простой и эффективный способ увеличить время, отводимое на один канал. Для высокоомных или
"медленных" источников сигнала это время
может
составить
единицы-десятки миллисекунд.
Другой способ заключается в
подсоединении
параллельно
источникам сигнала конденсаторов емкостью до единиц микрофарад.
При этом выход источника должен быть не активным, т.е это не
должен быть выход усилителя, иначе возникнет самовозбуждение
последнего. Для этих условий между
выходом
усилителя
и
конденсатором (точка подключения входа АЦП) необходимо включить
резистор номиналом 100-300 Ом. Полоса частот входного сигнала при
этом соответственно снижается. Частота среза (завал АЧХ на уровне
-30%) такого RC фильтра составляет Fср=1/(6,28*R*C).
------------------------------------------------------------------------4.7. Программирование ЦАП модуля.
---------------------------------------------------------------------Для осуществления записи в ЦАП_0 или ЦАП_1 данных необходимо
перепрограммировать регистр режима, указав адресацию данных соответствующую выбранному каналу ЦАПа. Для осуществления полного
цикла обмена данными после записи необходимо провести операцию
чтения. После этого можно изменить адресацию на другой канал ЦАП
и запрограммировать его, сделав после записи чтение. Для продолжения работы с АЦП (или с ЦВВ) необходимо снова перепрограммировать регистр режима.
Пример программирования ЦАП:
port[$308]:=$12;
portw[$30c]:=$7fff;
r:=portw[$30c];
port[$308]:=$13;
portw[$30c]:=$7fff;
r:=portw[$30c];
{адресация данных для ЦАП_0}
{данные для ЦАП_0}
{завершаем цикл обмена данными}
{адресация данных для ЦАП_1}
{данные для ЦАП_1}
{завершаем цикл обмена данными}
------------------------------------------------------------------------4.8. Программирование ЦВВ модуля.
---------------------------------------------------------------------Для осуществления записи-чтения данных ЦВВ необходимо перепрограммировать регистр режима, указав адресацию данных соответствующую ЦВВ. Для осуществления полного цикла обмена данными после записи необходимо провести операцию чтения. Для продолжения
работы с АЦП (или с ЦВВ) необходимо снова перепрограммировать регистр режима.
Пример программирования ЦВВ:
port[$308]:=$14;
{адресация данных для ЦВВ и }
{принимаем данные с ЦВВ
}
portw[$30c]:=$0000; {данные для цифрового вывода}
r:=portw[$30c];
{данные с цифрового ввода
}
==============================================================================
5. Вычисление результата измерения.
==============================================================================
При использовании АЦП и ЦАП на плате необходимо помнить,
что результат измерения выводится в обычном двоичном коде, а
формат данных для ЦАП - дополняющий двоичный код.
Дополняющий код:
7fff -+10.24B (+5.12В)
. . .
. . .
0000 - 0 B
ffff - -0.3125mB (-0.1562мВ)
. . .
. . .
8000 - -10.24B (-5.12В)
Для получения истинного значения результата измерения
данные, полученные из модуля, необходимо преобразовать.
Преобразование заключается в учете формата вывода результата
и режима работы платы. Формула, по которой вычисляется
результат для однополярного режима:
Результат базовый (однополярный)=(данные /65536)*5,12.
Для двуполярного режима:
Результат базовый (двуполярный)=(данные /65536)*10,24-5,12.
Для режима с усилением:
Результат (с усилением)=Результат базовый : 10
: 100
: 1000
==========================================================================
6. Примеры программирования АЦП.
==========================================================================
-------------------------------------------------------------------------6.1.Циклический запуск АЦП от компьютера по одному каналу.
-------------------------------------------------------------------------uses Crt;
var
r:integer;
v:real;
begin
port[$303]:=$34; {предустановка таймера}
port[$303]:=$74; {предустановка таймера}
port[$303]:=$b4; {предустановка таймера}
repeat
port[$308]:=$10;
{регистр режима}
portw[$30c]:=$0008; {0-й канал}
r:=portw[$30c];
v:=r/65536*10.24-5.12;
writeln (v:7:4);
until keypressed;
end.
==============================================================================
РАСПРЕДЕЛЁННАЯ
ШИНА ISA
Концепция построения и
руководство по
программированию
(API Isabox.dll)
2006
СОДЕРЖАНИЕ
ВВЕДЕНИЕ ................................................................... 20
1. КОНЦЕПЦИЯ ПОСТРОЕНИЯ ШИНЫ ............................................... 20
2. ФУНКЦИИ ISABOX.DLL ...................................................... 22
2.1. ФУНКЦИИ РЕГИСТРАЦИИ И СБОРКИ ............................................... 23
2.2. СЕРВИСНЫЕ ФУНКЦИИ ........................................................ 24
2.3. ФУНКЦИИ ДОСТУПА К ПОРТАМ ШИНЫ ISA ........................................... 25
3. ПРИМЕР СБОРКИ ШИНЫ И ДОСТУПА К ПОРТАМ ................................... 27
Введение
С развитием вычислительной техники и постоянного роста потребностей в высокоскоростных
устройствах производители персональных компьютеров отказываются от таких периферийных узлов
как шина ISA и последовательных портов RS-232, LPT. По этой причине приходится снимать с
производства проверенное временем не дорогое, но надежное оборудование, использующее эти
интерфейсы. Стоимость PCI –плат по сравнению с платами на ISA выше в несколько раз, но проблема
заключается ещё и в том, что не всегда нужна высокая производительность PCI –плат. Компания
«АКОН» предлагает альтернативный вариант шины ISA, построенной на контроллерах ISA-BOX. Это
внешняя распределенная шина, которая состоит из одного или нескольких контроллеров в зависимости
от задач, которые управляют подключенными к ним платами ISA. Программное обеспечение верхнего
уровня представляет набор внешних контроллеров как единое целое, т.е. как одну шину. Собранная
таким образом внешняя шина совместима с платами всех производителей. К особенностям такого
решения можно отнести отсутствие отработки прерываний и каналов прямого доступа к памяти. К
преимуществам то, что шина собрана на внешних модулях (при этом не нужно открывать корпус
компьютера) и то, что её можно собирать даже в том случае, если на компьютере есть слоты ISA, но в
недостаточном количестве.
1. Концепция построения шины
Узловые контроллеры ISA-BOX могут подключаться к таким интерфейсам как RS-232, RS-485,
USB, Ethernet (витая пара).
Рис.1 Пример построения распределенной шины
Управление контроллерами берет на себя библиотека Isabox.dll. Порядок
настройки шины заключается в том, что в библиотеке регистрируются интерфейсы, к
которым подключены контроллеры и сами контроллеры. Если контроллер подключен
к интерфейсу RS-232, RS-485 или USB, то его адреса лежат в диапазоне от 1 до 255.
Для контроллеров подключенных к LAN назначаются IP-адреса. Если адрес
контроллера не известен, то его можно узнать с помощью программы Isabox
Administrator, вызвав пункт меню «Поиск». (См. описание на программу IsaboxAdm).
При этом к указанному интерфейсу должен быть подключен ТОЛЬКО ОДИН
контроллер, потому что в этом режиме посылаются широковещательные запросы.
Для RS/USB это адрес 0x00, а для LAN 0xFFFFFFFF.
Из прикладной программы перед началом сборки шины нужно вызвать функции
ibcClearInterfaceList и ibcClearControllerList для очистки реестра интерфейсов и
контроллеров. Для регистрации интерфейсов вызываются функции ibcOpenInterface и
ibcOpenLanInterface. Первая функция вызывается при регистрации COM-порта. Контроллеры с
USB интерфейсом создают при подключении виртуальный СОМ-порт, поэтому эта функция
вызывается по тем же правилам. Вторая функция вызывается в том случае, если есть контролеры,
подключенные к LAN. Обе функции при успешном выполнении возвращают идентификатор
интерфейса. Этот идентификатор используется при регистрации контроллеров. Для регистрации
контроллеров вызывается функция ibcOpenController. При регистрации контроллера нужно
указать идентификатор интерфейса, к которому подключен контроллер, адрес контроллера и диапазон
адресов шины ISA, которые он будет обслуживать. При регистрации контроллеров адреса шины ISA
нужно распределять так чтобы они не перекрывались с адресами, зарегистрированными на других
контроллерах, и не выходили за диапазон 0х300..0x3FF. Если у контроллера LAN интерфейс, то в этом
случае запрещается использовать на нем диапазон адресов 0x380..0x39F, потому что в этом диапазоне
работает микросхема драйвера сети Rtl8019AS. Если есть контроллеры, подключенные к LAN, то
нужно вызвать функцию ibcSetLocalPort чтобы указать номер порта на компьютере. После этих
манипуляций вызывается функция ibcControl, которая производит подключение к COM-портам и
открывает UDP-сокет. Теперь шина ISA собрана и готова к использованию.
2. Функции Isabox.dll
Весь набор функций библиотеки Isabox.dll можно разделить на три группы:
№
Группы
1
2
3
Функции
функции регистрации и
сборки
ibcSetLocalPort
ibcGetLocalPort
ibcOpenInterface
ibcOpenLanInterface
ibcOpenController
ibcClearControllerList
ibcClearInterfaceList
ibcControl
Сервисные функции
ibcGetControllerProfile
ibcGetObjectList
ibcFirstObject
ibcNextObject
ibcEofObject
ibcGetOncObject
ibcSetRsCfg
ibcGetRsCfg
ibcSetLanCfg
ibcGetLanCfg
ibcSaveToFlash
ibcRestoreFromFlash
Функции доступа к портам
шины ISA
ibcReadPort
ibcWritePort
ibcReadPortW
ibcWritePortW
ibcExReadPort
ibcExWritePort
ibcExReadPortW
ibcExWritePortW
2.1. Функции регистрации и сборки
ibcClearInterfaceList
ibcClearControllerList
Очистка реестра интерфейсов и контроллеров
void ibcClearControllerList(void);
void ibcClearInterfaceList(void);
Параметры: отсутствуют;
ibcOpenInterface
Регистрация COM-порта
unsigned long ibcOpenInterface(unsigned char ComPort,
unsigned long Baudrate,
HANDLE OpenPortHandle);
Параметры:
1. ComPort – номер COM-порта; (0 - COM1, 1 - COM2 и т.д.);
2. Baudrate – скорость обмена; (1200 – 115200);
3. OpenPortHandle – если есть необходимость подключить к одному порту
различные устройства (на RS-485), то этот порт нужно открыть до его
регистрации в библиотеке и хендл открытого порта передать третьим
параметром. Если такой надобности нет, то прировнять его к NULL.
Возвращаемый
параметр:
идентификатор
регистрации контроллеров. (См. ниже)
ibcOpenLanInterface
интерфейса.
Используется
при
Используется
при
Регистрация LAN интерфейса
unsigned long ibcOpenLanInterface(void);
Параметры: отсутствуют
Возвращаемый
параметр:
идентификатор
регистрации контроллеров. (См. ниже)
интерфейса.
ibcOpenController
Регистрация контроллера
unsigned long ibcOpenController(unsigned
unsigned
unsigned
unsigned
long
long
short
short
InterfaceHandle,
Address,
StartAddress,
StopAddress);
Параметры:
1. InterfaceHandle – идентификатор интерфейса возвращаемый функциями
регистрации интерфейсов;
2. Address – адрес контроллера; ( 1 – 255 для RS, 0 – широковещательный)
пример для LAN = 0xC0A80102 = 192.168.1.2;
3. StartAddress, StopAddress – диапазон адресов шины ISA которые будет
обслуживать контроллер.
Возвращаемый параметр: идентификатор контроллера. Используется при вызове
сервисных функций для получения дополнительной информации о контроллере.
(См. ниже)
ibControl
Включение/выключение шины
bool ibcControl(bool status);
Параметры:
1. status – (true/false);
Возвращаемый параметр: в случае успешного подключения к зарегистрированным
COM-портам и создания сокетов функция возвращает true.
В противном случае – false.
2.2. Сервисные функции
Сервисные функции не нужны для использования в прикладной программе
для работы с шиной ISA. Если все же они требуются, то их детальное
описание предоставляется компанией «АКОН» в отдельном документе.
2.3. Функции доступа к портам шины ISA
При вызове функций доступа к портам шины ISA библиотека сама выбирает, какой контроллер
будет обрабатывать запрос. Это возможно благодаря тому что на этапе регистрации контроллеров были
указаны диапазоны адресов шины ISA для каждого узлового контроллера.
ibcReadPort
ibcWritePort
ibcReadPortW
ibcWritePortW
bool
bool
bool
bool
Побайтный и пословный доступ к одному порту
ibcReadPort(unsigned short address, unsigned char *value);
ibcWritePort(unsigned short address, unsigned char value);
ibcReadPortW(unsigned short address, unsigned short *value);
ibcWritePortW(unsigned short address, unsigned short value);
Параметры:
1. address – адрес порта шины ISA;
2. value
– значение, записываемое в порт или считываемое с порта.
Возвращаемый параметр: в случае успешного выполнения функция возвращает
true. В противном случае – false. Причиной не успешного вызова может
стать либо не правильно зарегистрированный интерфейс и/или контроллер
либо плохая линия связи с контроллером.
ibcExReadPort
ibcExWritePort
ibcExReadPortW
ibcExWritePortW
Побайтный и пословный доступ к одному порту в режиме
записи/чтения массива данных.
bool ibcExReadPort(unsigned short address,
unsigned char *data,
unsigned short size);
bool ibcExWritePort(unsigned short address,
unsigned char *data,
unsigned short size);
bool ibcExReadPortW(unsigned short address,
unsigned short *data,
unsigned short size);
bool ibcExWritePortW(unsigned short address,
unsigned short *data,
unsigned short size);
Параметры:
1. address – адрес порта шины ISA;
2. data
– указатель на массив, записываемых в порт или считываемых с
порта значений.
3. size – количество элементов массива
Возвращаемый параметр: в случае успешного выполнения функция возвращает
true. В противном случае – false. Причиной не успешного вызова может
стать либо не правильно зарегистрированный интерфейс и/или контроллер
либо плохая линия связи с контроллером.
3. Пример сборки шины и доступа к портам
В данном примере подключим два устройства: первое на COM2 и второе к LAN.
Скорость обмена по COM-порту 115200 кбит/с, адрес контроллера 0x05. IP контроллера подключенного
к LAN равен 192.168.1.6. Диапазон адресов ввода/вывода обслуживаемый первым контроллером равен:
0x300..0x309 включительно. Диапазон адресов ввода/вывода обслуживаемый вторым контроллером:
0x310..0x319 включительно. Номер порта для UDP-сокета назначим, к примеру, равным 5100. После
сборки шины произведем чтение с порта 0x300 и запись в порт 0x310.
#define COM2 1
#define LOCAL_PORT 5100
void main(void)
{
unsigned long ComInterface, ComController;
unsigned long LanInterface, LanController;
unsigned short PortValue;
// 1. Очистка реестров интерфейсов и контроллеров
ibcClearControllerList();
ibcClearInterfaceList();
// 2. Регистрация интерфейсов
ComInterface = ibcOpenInterface(COM2, 115200, NULL);
LanInterface = ibcOpenLanInterface();
// 3. Регистрация контроллеров
ComController = ibcOpenController(ComInterface,
0x05,
0x300,
0x309);
LanController = ibcOpenController(LanInterface,
0xC0A80106,
0x310,
0x319);
// 4. Номер UDP-порта
ibcSetLocalPort(LOCAL_PORT);
// 5. Сборка шины
ibcControl(true);
// 6. Доступ к портам
ibcReadPortW(0x300, &PortValue);
// Чтение с порта
ibcWritePortW(0x310, PortValue);
// Запись в порт
// 7. Демонтаж шины ISA
ibcControl(false);
}
Модуль разработан и изготовлен Компанией АКОН.
Предлагаем к поставке модули АЦП, модули ЦАП,
устройства ввода-вывода цифровой информации,
модули нормирующих преобразователей с гальванической развязкой, модули
для распределённых систем и другое оборудование.
================================================================================
Download