litceymos.ru 1



===========================================================================

ТЕХНИЧЕСКОЕ ОПИСАНИЕ МОДУЛЯ WAD-MIO64T32H

стандартные модификации: MIO64-32H, MIO48-16H, MIO16-8H, MIO16T8H

( ПЛАТА ГАЛЬВАНОРАЗВЯЗАННОГО ДИСКРЕТНОГО ВВОДА-ВЫВОДА С УМОЩНЕННЫМИ

ВЫХОДАМИ И ТАЙМЕРАМИ, ПРЕДНАЗНАЧЕНОГО ДЛЯ РАБОТЫ В ПЭВМ ТИПА IBM PC/AT на шине ISA, либо как выносная конфигурация с интерфейсом USB, либо RS-232, либо RS-485, либо LAN 10Мб ).

===========================================================================

Кодировка наименования платы:

WAD-MIO XYZ H

¦¦¦ +-- half (модуль половинной длинны)

¦¦+---- количество гальваноразвязанных выходов

¦+----- наличие таймеров на плате: Т - таймеры есть

¦ - - таймеров нет

+------ количество гальваноразвязанных входов


===========================================================================

В этом документе содержится описание аппаратной части и

программирования платы гальваноразвязанного ввода-вывода

(в дальнейшем плата (модуль) MIO64Т32Н). А также, приводится документ по использованию выносной модификации модуля.


!!!!!!!!!ВНИМАНИЕ!!! ПРОЧТИТЕ ОБЯЗАТЕЛЬНО!!!!!!!!!!!!

Данный файл документации и комплект демонстрационного

программного обеспечения поставляются в ПОЛНОМ объеме

НЕЗАВИСИМО от заказанной конфигурации платы. Конкретная конфигу-

рация по прайсу зависит от букв, стоящих после полного названия

модуля (см. перечисление функций конкретной конфигурации в прайс

-листе). В случае обнаружения на приобретенном модуле нехватки

какой-либо нужной Вам функции, упоминание о которой есть в этом

документе и демо-программах (а при заказе Вы остановились на кон-


фигурации, не поддерживающую эту функцию), обращайтесь к нам за

доработкой.

Модуль поддерживает работу ТОЛЬКО С ОДНИМ выбранным при заказе

видом интерфейса, и если не оговаривается иное, то по умолчанию это

шина ISA (встраиваемая в компьютер плата). Перед покупкой не выносной

версии устройства - убедитесь, что в Вашем компьютере есть ISA-слот.


Демо-программы, поставляемые бесплатно в комплекте служат для

ДЕМОнстрации работоспособности модуля и демонстрации порядка

программирования. Они НЕ предназначены для решения конкретной за-

дачи заказчика.


СОДЕРЖАНИЕ.


1. Назначение, возможности и область примения модуля.

1.1. Технические характеристики модуля.

1.2. Комплект поставки.

2. Конструктивные характеристики модуля.

2.1. Расположение разьемов и переключателей,

установленных на плате.

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

3. Функциональная схема платы MIO64Т32Н.

4. Описание работы с модулем.

4.1. Общие сведения.

4.2. Аппаратные прерывания, формируемые платой MIO64Т32Н.

4.3. Таблица соответствия адресов, используемых при

обращении к плате и функций, выполняемых устройством.

4.4. Порядок программирования модуля.

4.5. Программирование таймеров.

ПРИЛОЖЕНИЕ: РАСПРЕДЕЛЁННАЯ ШИНА ISA. Концепция построения и руководство по программированию


=======================================================================

1. Назначение, возможности и область примения модуля.

=======================================================================

Плата MIO64Т32Н предназначена для работы в

автоматизированных системах управления, контроля и научных

исследований на базе ПК типа IBM PC/AT на шине ISA, либо как выносная конфигурация с интерфейсом USB, либо RS-232, либо RS-485, либо LAN10Mb.


Модуль MIO64Т32Н позволяет:

1) Осуществлять функцию гальванически развязанного дискретного

ввода по 64-м линиям (возможно от 1-го до 64-х входов).

Гальваническая развязка независимая по каналам, что позволяет

обслуживать разнесенные и установленные на разных обьектах

датчики. Логические уровни оговариваются при заказе и могут

составлять от ТТЛ до 36 В. Стандартное (по умолчанию)

значение- 24В.

2) Осуществлять функцию гальванически развязанного умощненного

(до 1А и 200В) дискретного вывода по 32-м линиям (возможно от

1-й до 32-х линий). Гальваноразвязка сделана группами по 4

линии, т.е. питание и земля общая для 4 выходов. Для следующих

4-х выходов - свои земля и питание.

3) На плате установлено 2 микросхемы таймера типа i8254. Это

позволяет вести подсчет числа импульсов или осуществлять

деление входной тактовой частоты по 6-ти независимым 16-ти

разрядным каналам. Все сигналы каналов таймеров выведены

на разьем пользователю.

4) Работать с компьютерами, в которых нет ISA-шины (выносная

конфигурация “BOX”).


----------------------------------------------------------------------

1.1 Технические характеристики модуля.

-----------------------------------------------------------------------


Ниже приведены технические характеристики ВСЕХ заложенных в

устройство функций. Конкретная конфигурация по требованию заказчика

может содержать ТРЕБУЕМЫЙ набор перечисленных возможностей и

технических характеристик.


ПАРАМЕТРЫ МОДУЛЯ MIO64Т32Н


1)Гальванически развязанный дискретный ввод

Количество входов ........................... 64 независимо развязанных

Логические уровни ........................... "1"- 0-5В (оговаривается)


"0"- 2,7-36В(оговаривается)

Ввод данных ................................. программный

Пробивное напряжение изоляции .............. 5 кВ

Пробивное напряжение между

соседними входами .......................... 500 В

Максимальная частота изменения сигнала

на входах................................... 200кГц


2)Гальванически развязанный вывод

Количество выходов .......................... 32

Питание ..................................... внешнее,+5...+200В,2мА(max)

Коммутируемое напряжение .................... +5В...+200В

Максимальный постоянный ток ................. 1А

Максимальный импульсный ток (Ти<1мс) ...... 5А

Сопротивление открытых ключей, не более ..... 1 Ом

Защита (от превышения тока и величины

питающего напряжения) ....................... нет ("да"- под заказ)

Логика ...................................... инверсная, "0"- ключ закрыт,

"1"- ключ открыт


3)Каналы счетчиков-таймеров

Тип устройства .............................. 2 х i8254(аналог-ВИ54)

Разрядность счетчиков ....................... 16 бит

Общее количество входных счетных линий ...... 6

Входы сигналов разрешения счета (GATE) ...... 6 (0-запрет счета,

1-разрешение)

Маскимальная входная тактовая частота ....... 10 МГц

Логические уровни ........................... ТТЛ - "0"- 0..0,5В

"1"- 2,7..5В


ОБЩИЕ ХАРАКТЕРИСТИКИ МОДУЛЯ


Ток,потребляемый от источника +5В .......... 170 мА

Возможные базовые адреса ................... 2x0, где x - 0...f

3x0, где x - 0...f

Линии прерывания ........................... IRQ: 5,10,11,12,15

Источник прерывания ........................ выбирается аппаратно

выход одного из каналов


таймера

Габариты модуля ............................ 190x120x20 мм

Используемая шина ……………………………………………………………….. ISA

Используемый интерфейс

в выносной конфигурации “BOX”………………………….. USB, либо RS-232,

либо RS-485,LAN10Mb

Габариты выносной модификации “BOX” …………………. 220x220x60 мм

Питание выносной модификации “BOX” ……………………. +5В, +12В (от компьютера)


========================================================================

1.2. Комплект поставки.

=======================================================================

В базовый (по умолчанию) комплект поставки входит:


1) Модуль WAD-MIO64Т32H ................................. 1 шт.

2) Ответная часть разьема 60-pin на шлейф ............... 3 шт.(для

полной конфигурации)

3) Ответная часть разьема 14-pin на шлейф ............... 2 шт.(для

полной конфигурации)

4) Диск с техническим описанием и демо-программами ... 1 шт.


========================================================================

2. Конструктивные характеристики модуля.

========================================================================


------------------------------------------------------------------------

2.1. Расположение разьемов и переключателей, установленных на плате.

------------------------------------------------------------------------

+---------------------------------------------+

¦ 1+ 1+ 1+ ¦

¦ ¦¦ ¦¦ ¦¦ ¦

¦ ¦¦ ¦¦ ¦¦ ¦

¦ ¦¦ ¦¦ ¦¦ ¦

¦ ¦¦ ¦¦ ¦¦ ¦

¦ ++X6 ++X7 ++X5 ¦

¦ +------++------+ ¦

¦ +--+ +--+ 1------+1------+ ¦

+-------+1--+JP2 +1--+JP1 X9 X8 +--+

+------------++--------------------+

Х3,Х4 Х1,Х2



ЗАМЫКАТЕЛИ JP1,JP2.

Джамперы предназначены для установки базового адреса устройства

и номера линии прерывания.

JP2 JP1

1 2 3 4 5 1 2 3 4 5

+-+-+-+-+-+ +-+-+-+-+-++-----------------------------+------------------+

¦0¦0¦0¦0¦0¦ ¦0¦0¦0¦0¦0¦¦ ¦Положение джампера¦

¦0¦0¦0¦0¦0¦ ¦0¦0¦0¦0¦0¦¦ Наименование ключей +--------+---------+

+++++++++++ +++++++++++¦ ¦Замкнут ¦ Разомкн.¦

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +-----------------------------+--------+---------+

¦ ¦ ¦ ¦ ¦ +-+-+-+-+-+Сравнение с линией адреса A04¦ лог.1 ¦ лог.0 ¦

¦ ¦ ¦ ¦ ¦ ¦ +-+-+-+-+Сравнение с линией адреса A05¦ лог.1 ¦ лог.0 ¦

¦ ¦ ¦ ¦ ¦ ¦ ¦ +-+-+-+Сравнение с линией адреса A06¦ лог.1 ¦ лог.0 ¦

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +-+-+Сравнение с линией адреса A07¦ лог.1 ¦ лог.0 ¦

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +-+Сравнение с линией адреса A08¦ лог.1 ¦ лог.0 ¦

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +-----------------------------+--------+---------+

¦ ¦ ¦ ¦ ¦ ++-+-+-+-+-+-------------------+

¦ ¦ ¦ ¦ ¦ ¦Р Р Р Р Р ¦ включен адрес 200 ¦

¦ ¦ ¦ ¦ ¦ ¦З Р Р Р Р ¦ включен адрес 210 ¦

¦ ¦ ¦ ¦ ¦ ¦Р З Р Р Р ¦ включен адрес 220 ¦

¦ ¦ ¦ ¦ ¦ ¦P Р Р Р З ¦ включен адрес 300 ¦

¦ ¦ ¦ ¦ ¦ ¦Р З З Р З ¦ включен адрес 360 ¦

¦ ¦ ¦ ¦ ¦ +----------+-------------------+

¦ ¦ ¦ ¦ ¦+----------------------------+------------------+

¦ ¦ ¦ ¦ ¦¦ ¦Положение джампера¦

¦ ¦ ¦ ¦ ¦¦ Наименование ключей +--------+---------+

¦ ¦ ¦ ¦ ¦¦ ¦Замкнут ¦ Разомкн.¦

¦ ¦ ¦ ¦ ¦+----------------------------+--------+---------+

¦ ¦ ¦ ¦ ++Включение прерывания IRQ05¦ вкл ¦ выкл ¦

¦ ¦ ¦ +-++Включение прерывания IRQ10¦ вкл ¦ выкл ¦

¦ ¦ +-+-++Включение прерывания IRQ11¦ вкл ¦ выкл ¦

¦ +-+-+-++Включение прерывания IRQ12¦ вкл ¦ выкл ¦


+-+-+-+-++Включение прерывания IRQ15¦ вкл ¦ выкл ¦

¦ ¦ ¦ ¦ ¦+----------------------------+--------+---------+

++-+-+-+-++-----------------------------+

¦Р Р Р Р Р¦ прерывание не используется ¦

¦Р Р Р Р З¦ включено прерывание IRQ05 ¦

¦Р Р Р З Р¦ включено прерывание IRQ10 ¦

¦Р Р З Р Р¦ включено прерывание IRQ11 ¦

¦Р З Р Р Р¦ включено прерывание IRQ12 ¦

¦З Р Р Р Р¦ включено прерывание IRQ15 ¦

+---------+-----------------------------+


------------------------------------------------------------------------

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

------------------------------------------------------------------------

Разьемы Х1,Х2,Х3,Х4.

--------------------

Разьемы служат для подключению модуля к шине ISA

компьютера. Используется 8-ми разрядная шина данных.

Назначение контактов соответствует стандартной

спецификации шины ISA.


Разьем Х5.

--------------

К разьему подключены разряды GDО0-GDО31 схемы

гальванически развязанного цифрового вывода.

Конструктивное расположение и назначение контактов:


2 4 6 8 . . . . 58 60

+-+-+-+-+-- --+-+-+-+-+

¦0¦0¦0¦0¦ . . . . ¦0¦0¦0¦0¦

¦0¦0¦0¦0¦ ¦0¦0¦0¦0¦

+-+-+-+-+-- . . . . --+-+-+-+-+

1 3 5 7 57 59

+----+-------------+----+-------------+

¦ N| ¦ Назначение ¦ N| ¦ Назначение ¦

+----+-------------+----+-------------+

¦ 01 ¦ незадейств. ¦ 02 ¦ незадейств. ¦

¦ 03 ¦ незадейств. ¦ 04 ¦ незадейств. ¦

¦ 05 ¦ GDО0_1 ¦ 06 ¦ GDО0_5 ¦

¦ 07 ¦ GDО1_1 ¦ 08 ¦ GDО1_5 ¦

¦ 09 ¦ GDО2_1 ¦ 10 ¦ GDО2_5 ¦

¦ 11 ¦ GDО3_1 ¦ 12 ¦ GDО3_5 ¦

¦ 13 ¦ АGND_1 ¦ 14 ¦ АGND_5 ¦


¦ 15 ¦ АGND_1 ¦ 16 ¦ АGND_5 ¦

¦ 17 ¦ VCC _1 ¦ 18 ¦ VCC _5 ¦

¦ 19 ¦ GDО0_2 ¦ 20 ¦ GDО0_6 ¦

¦ 21 ¦ GDО1_2 ¦ 22 ¦ GDО1_6 ¦

¦ 23 ¦ GDО2_2 ¦ 24 ¦ GDО2_6 ¦

¦ 25 ¦ GDО3_2 ¦ 26 ¦ GDО3_6 ¦

¦ 27 ¦ АGND_2 ¦ 28 ¦ АGND_6 ¦

¦ 29 ¦ АGND_2 ¦ 30 ¦ АGND_6 ¦

¦ 31 ¦ VCC _2 ¦ 32 ¦ VCC _6 ¦

¦ 33 ¦ GDО0_3 ¦ 34 ¦ GDО0_7 ¦

¦ 35 ¦ GDО1_3 ¦ 36 ¦ GDО1_7 ¦

¦ 37 ¦ GDО2_3 ¦ 38 ¦ GDО2_7 ¦

¦ 39 ¦ GDО3_3 ¦ 40 ¦ GDО3_7 ¦

¦ 41 ¦ АGND_3 ¦ 42 ¦ АGND_7 ¦

¦ 43 ¦ АGND_3 ¦ 44 ¦ АGND_7 ¦

¦ 45 ¦ VCC _3 ¦ 46 ¦ VCC _7 ¦

¦ 47 ¦ GDО0_4 ¦ 48 ¦ GDО0_8 ¦

¦ 49 ¦ GDО1_4 ¦ 50 ¦ GDО1_8 ¦

¦ 51 ¦ GDО2_4 ¦ 52 ¦ GDО2_8 ¦

¦ 53 ¦ GDО3_4 ¦ 54 ¦ GDО3_8 ¦

¦ 55 ¦ АGND_4 ¦ 56 ¦ АGND_8 ¦

¦ 57 ¦ АGND_4 ¦ 58 ¦ АGND_8 ¦

¦ 59 ¦ VCC _4 ¦ 60 ¦ VCC _8 ¦

+----+-------------+----+-------------+


Разьем Х6.

--------------

К разьему подключены разряды GD0-GD31 схемы

гальванически развязанного цифрового ввода.

Конструктивное расположение и назначение контактов:


2 4 6 8 . . . . 58 60

+-+-+-+-+-- --+-+-+-+-+

¦0¦0¦0¦0¦ . . . . ¦0¦0¦0¦0¦

¦0¦0¦0¦0¦ ¦0¦0¦0¦0¦

+-+-+-+-+-- . . . . --+-+-+-+-+

1 3 5 7 57 59

+----+-------------+----+-------------+

¦ N| ¦ Назначение ¦ N| ¦ Назначение ¦

+----+-------------+----+-------------+

¦ 01 ¦ GD 0 + ¦ 02 ¦ GD 16+ ¦

¦ 03 ¦ GD 0 - ¦ 04 ¦ GD 16- ¦

¦ 05 ¦ GD 1 + ¦ 06 ¦ GD 17+ ¦

¦ 07 ¦ GD 1 - ¦ 08 ¦ GD 17- ¦

¦ 09 ¦ GD 2 + ¦ 10 ¦ GD 18+ ¦

¦ 11 ¦ GD 2 - ¦ 12 ¦ GD 18- ¦

¦ 13 ¦ GD 3 + ¦ 14 ¦ GD 19+ ¦

¦ 15 ¦ GD 3 - ¦ 16 ¦ GD 19- ¦

¦ 17 ¦ GD 4 + ¦ 18 ¦ GD 20+ ¦

¦ 19 ¦ GD 4 - ¦ 20 ¦ GD 20- ¦

¦ 21 ¦ GD 5 + ¦ 22 ¦ GD 21+ ¦

¦ 23 ¦ GD 5 - ¦ 24 ¦ GD 21- ¦

¦ 25 ¦ GD 6 + ¦ 26 ¦ GD 22+ ¦

¦ 27 ¦ GD 6 - ¦ 28 ¦ GD 22- ¦

¦ 29 ¦ GD 7 + ¦ 30 ¦ GD 23+ ¦

¦ 31 ¦ GD 7 - ¦ 32 ¦ GD 23- ¦

¦ 33 ¦ GD 8 + ¦ 34 ¦ GD 24+ ¦

¦ 35 ¦ GD 8 - ¦ 36 ¦ GD 24- ¦

¦ 37 ¦ GD 9 + ¦ 38 ¦ GD 25+ ¦

¦ 39 ¦ GD 9 - ¦ 40 ¦ GD 25- ¦

¦ 41 ¦ GD 10+ ¦ 42 ¦ GD 26+ ¦

¦ 43 ¦ GD 10- ¦ 44 ¦ GD 26- ¦

¦ 45 ¦ GD 11+ ¦ 46 ¦ GD 27+ ¦

¦ 47 ¦ GD 11- ¦ 48 ¦ GD 27- ¦

¦ 49 ¦ GD 12+ ¦ 50 ¦ GD 28+ ¦

¦ 51 ¦ GD 12- ¦ 52 ¦ GD 28- ¦

¦ 53 ¦ GD 13+ ¦ 54 ¦ GD 29+ ¦

¦ 55 ¦ GD 13,14,15-¦ 56 ¦ GD 29,30,31-¦

¦ 57 ¦ GD 14+ ¦ 58 ¦ GD 30+ ¦

¦ 59 ¦ GD 15+ ¦ 60 ¦ GD 31+ ¦

+----+-------------+----+-------------+


Разьем Х7.

--------------

К разьему подключены разряды GD32-GD63 схемы

гальванически развязанного цифрового ввода.

Конструктивное расположение и назначение контактов:


2 4 6 8 . . . . 58 60

+-+-+-+-+-- --+-+-+-+-+

¦0¦0¦0¦0¦ . . . . ¦0¦0¦0¦0¦

¦0¦0¦0¦0¦ ¦0¦0¦0¦0¦

+-+-+-+-+-- . . . . --+-+-+-+-+

1 3 5 7 57 59

+----+-------------+----+-------------+

¦ N| ¦ Назначение ¦ N| ¦ Назначение ¦

+----+-------------+----+-------------+

¦ 01 ¦ GD 32+ ¦ 02 ¦ GD 48+ ¦

¦ 03 ¦ GD 32- ¦ 04 ¦ GD 48- ¦

¦ 05 ¦ GD 33+ ¦ 06 ¦ GD 49+ ¦

¦ 07 ¦ GD 33- ¦ 08 ¦ GD 49- ¦

¦ 09 ¦ GD 34+ ¦ 10 ¦ GD 50+ ¦

¦ 11 ¦ GD 34- ¦ 12 ¦ GD 50- ¦

¦ 13 ¦ GD 35+ ¦ 14 ¦ GD 51+ ¦

¦ 15 ¦ GD 35- ¦ 16 ¦ GD 51- ¦

¦ 17 ¦ GD 36+ ¦ 18 ¦ GD 52+ ¦

¦ 19 ¦ GD 36- ¦ 20 ¦ GD 52- ¦

¦ 21 ¦ GD 37+ ¦ 22 ¦ GD 53+ ¦

¦ 23 ¦ GD 37- ¦ 24 ¦ GD 53- ¦

¦ 25 ¦ GD 38+ ¦ 26 ¦ GD 54+ ¦

¦ 27 ¦ GD 38- ¦ 28 ¦ GD 54- ¦

¦ 29 ¦ GD 39+ ¦ 30 ¦ GD 55+ ¦

¦ 31 ¦ GD 39- ¦ 32 ¦ GD 55- ¦

¦ 33 ¦ GD 40+ ¦ 34 ¦ GD 56+ ¦

¦ 35 ¦ GD 40- ¦ 36 ¦ GD 56- ¦

¦ 37 ¦ GD 41+ ¦ 38 ¦ GD 57+ ¦

¦ 39 ¦ GD 41- ¦ 40 ¦ GD 57- ¦

¦ 41 ¦ GD 42+ ¦ 42 ¦ GD 58+ ¦

¦ 43 ¦ GD 42- ¦ 44 ¦ GD 58- ¦

¦ 45 ¦ GD 43+ ¦ 46 ¦ GD 59+ ¦

¦ 47 ¦ GD 43- ¦ 48 ¦ GD 59- ¦

¦ 49 ¦ GD 44+ ¦ 50 ¦ GD 60+ ¦

¦ 51 ¦ GD 44- ¦ 52 ¦ GD 60- ¦

¦ 53 ¦ GD 45+ ¦ 54 ¦ GD 61+ ¦

¦ 55 ¦ GD 45,46,47-¦ 56 ¦ GD 61,62,63-¦

¦ 57 ¦ GD 46+ ¦ 58 ¦ GD 62+ ¦

¦ 59 ¦ GD 47+ ¦ 60 ¦ GD 63+ ¦

+----+-------------+----+-------------+


Разьем Х8.

--------------

К разьему подключены сигналы каналов таймера 0,

системная тактовая частота с разьема ISA и сигнал,

выходящий на прерывание. Назначение контактов:


2 4 6 8 10 12 14

+-+-+-+-+-+-+-+

¦0¦0¦0¦0¦0¦0¦0¦

¦0¦0¦0¦0¦0¦0¦0¦

+-+-+-+-+-+-+-+

1 3 5 7 9 11 13

+----+-------------+----+-------------+

¦ N| ¦ Назначение ¦ N| ¦ Назначение ¦

+----+-------------+----+-------------+

¦ 01 ¦ CLK0 ¦ 02 ¦ INT ¦

¦ 03 ¦ OUT0 ¦ 04 ¦ CLK_ISA ¦

¦ 05 ¦ GND ¦ 06 ¦ GATE0 ¦

¦ 07 ¦ GATE1 ¦ 08 ¦ OUT1 ¦

¦ 09 ¦ GATE2 ¦ 10 ¦ CLK1 ¦

¦ 11 ¦ CLK2 ¦ 12 ¦ OUT2 ¦

¦ 13 ¦ GND ¦ 14 ¦ VCC ¦

+----+-------------+----+-------------+


Разьем Х9.

--------------

К разьему подключены сигналы каналов таймера 1,

системная тактовая частота с разьема ISA и сигнал,


выходящий на прерывание. Назначение контактов:


2 4 6 8 10 12 14

+-+-+-+-+-+-+-+

¦0¦0¦0¦0¦0¦0¦0¦

¦0¦0¦0¦0¦0¦0¦0¦

+-+-+-+-+-+-+-+

1 3 5 7 9 11 13

+----+-------------+----+-------------+

¦ N| ¦ Назначение ¦ N| ¦ Назначение ¦

+----+-------------+----+-------------+

¦ 01 ¦ CLK0 ¦ 02 ¦ INT ¦

¦ 03 ¦ OUT0 ¦ 04 ¦ CLK_ISA ¦

¦ 05 ¦ GND ¦ 06 ¦ GATE0 ¦

¦ 07 ¦ GATE1 ¦ 08 ¦ OUT1 ¦

¦ 09 ¦ GATE2 ¦ 10 ¦ CLK1 ¦

¦ 11 ¦ CLK2 ¦ 12 ¦ OUT2 ¦

¦ 13 ¦ GND ¦ 14 ¦ VCC ¦

+----+-------------+----+-------------+


=============================================================================

3. Функциональная схема MIO64T32H.

=============================================================================


умощненные дискретные выходы

....

+-+------+-+

¦ БТК ¦

+-T------T-+

линии ....

цифрового +-+------+-+

CLKISA CLKISA ввода с ¦ БГР ¦

Таймер0 Таймер1 развязкой +-+------+-+

.. .. .... ....

¦+--------++-------+¦ +-+------+-+ +-+------+-+

¦¦ таймер0¦¦таймер1¦¦ ¦ БГР ¦ ¦ регистры ¦

¦+--------++-------+¦ +-+------+-+ +-T------T-+

¦ . . ¦ .... ....

++---+---+----+---+--+---+------+-----+------+-+

¦ и н т е р ф е й с ¦

+-----------------+--------------+-------------+

¦ ............ ¦

IBM PC/AT

БТК - блок танзисторных ключей;

БГР - блоки гальванических развязок;

CLKISA- тактовая частота с контакта N:20-В AT-шины компьютера.

===========================================================================

4. Описание работы с модулем.

===========================================================================

---------------------------------------------------------------------------

4.1. Общие сведения.

---------------------------------------------------------------------------

При обращении к плате MIO64Т32Н происходит

дешифрация адреса. Для адресации модуля используются

десять младших разрядов шины адреса компьютера. Для

работы устройства необходимо адресное пространство

ввода/вывода размером в 16 адресов. MIO64H может

работать со следующими диапазонами адресов:

200h...20fh

.. .. ..

.. .. ..

2f0h...2ffh

300h...30fh

.. .. ..

.. .. ..

3f0h...3ffh

Это можно обозначить как 2x0...3xf, где x=0,1,....f.


Начальный адрес каждого поддиапазона называется

базовым адресом. Выбор поддиапазона осуществляется с

помощью джамперов JP1, которыми устанавливаются разряды

А4...А8 адресов, используемых при обращении к данному

модулю. Выбор функции, выполняемой при данном обращении

к плате, осуществляется путем дешифрации младших

разрядов адреса A0...A3.

Функционально модуль состоит из трех (если не

считать общего интерфейса) независимых частей

принципиальной схемы: цмфровой ввод с гальваноразвязкой,

цифровой вывод с развязкой и микросхем таймеров типа

i8254.

Программирование цифровых линий особенностей не

имеет и производится чтением (записью) из порта (в

порт). Работа с микросхемами таймеров производится

согласно стандартной процедуре программирования таймера

типа i8254 (1810ВИ54) и состоит из программирования

управляющего байта канала и двух байт данных для этого


канала. Состояние счетчиков можно как записывать, так и

считывать. Подробнее программирование таймеров - см.

п.4.4.

---------------------------------------------------------------------------

4.2. Аппаратные прерывания, формируемые платой АЦП.

---------------------------------------------------------------------------


Модуль может генерировать запросы на прерывание

по линиям: IRQ5;IRQ10;IRQ11;IRQ12;IRQ15.

Номер линий устанавливается ключами 1,2,3,4,5

переключателя JP2. Только один ключ должен быть замкнут.


Событие, вызывающие запрос на прерывание:

устанавливается внешней коммутацией на разъемах Х8,Х9.

Только один выход можно подключить к входу линии

прерывания. Электрически (и физически) линии прерывания

компьютера заведены на джамперы JP2. После прохождения

через установленную перемычку выбранная линия

прерывания попадает на контакт N:2 разъемов Х8 и Х9.

Далее эту линию можно подключить, например к выходу

одного из каналов таймера. Но общее количество

подключений к прерыванию должно быть только одно.


---------------------------------------------------------------------------

4.3. Таблица соответствия адресов, используемых при обращении к плате,

и функций, выполняемых устройством.

---------------------------------------------------------------------------

+--------+--------------------------------------------------------------+

¦Адрес(h)¦ Функции устройства ¦

+--------+--------------------------------------------------------------+

¦ 3х0 ¦ Канал 0 таймера 0 ¦

¦ 3х1 ¦ Канал 1 таймера 0 ¦

¦ 3х2 ¦ Канал 2 таймера 0 ¦

¦ 3х3 ¦ Управляющее слово таймера 0: ¦

¦ ¦ Канал 0 таймера 0 - 34(h); ¦


¦ ¦ Канал 1 таймера 0 - 74(h); ¦

¦ ¦ Канал 2 таймера 0 - b4(h); ¦

+--------+--------------------------------------------------------------+

¦ 3х4 ¦ Канал 0 таймера 1 ¦

¦ 3х5 ¦ Канал 1 таймера 1 ¦

¦ 3х6 ¦ Канал 2 таймера 1 ¦

¦ 3х7 ¦ Управляющее слово таймера 1: ¦

¦ ¦ Канал 0 таймера 1 - 34(h); ¦

¦ ¦ Канал 1 таймера 1 - 74(h); ¦

¦ ¦ Канал 2 таймера 1 - b4(h); ¦

+--------+--------------------------------------------------------------+

¦ 3х8 ¦ ЗАПИСЬ - Слово 0 (разряды 0..15) дискретного вывода. ¦

¦ ¦ ЧТЕНИЕ - Слово 0 (разряды 0..15) дискретного ввода. ¦

¦ 3хa ¦ ЗАПИСЬ - Слово 1 (разряды 16.31) дискретного вывода. ¦

¦ ¦ ЧТЕНИЕ - Слово 1 (разряды 16.31) дискретного ввода. ¦

¦ 3хc ¦ ЧТЕНИЕ - Слово 2 (разряды 32.47) дискретного ввода. ¦

¦ 3хe ¦ ЧТЕНИЕ - Слово 3 (разряды 48.63) дискретного ввода. ¦

+--------+--------------------------------------------------------------+


-------------------------------------------------------------------------

4.4. Порядок программирования модуля.

----------------------------------------------------------------------

Модуль MIO64 позволяет реализовать следующие основные режимы

работы:


1) Гальванически развязанный цифровой ввод;

2) Гальванически развязанный цифровой вывод;

3) Работа с таймерами (см. п.4.5.).


Для осуществления гальванически развязанного цифрового ввода

необходимо:


1) Осуществить чтение слов из портов 3х8-3хе, либо

по одному из портов определенного слова или байта.


Для осуществления гальванически развязанного цифрового вывода

необходимо:


1) Осуществить запись слов в порты 3х8, 3ха, либо

по одному из портов определенного слова или байта.



-----------------------------------------------------------------------------

4.5. Программирование таймеров.

-----------------------------------------------------------------------------

На плате MIO64Т32Н установлено две микросхемы

программируемого интервального таймера типа 8254:

таймер 0 и таймер 1. Каждая микросхема содержит 3

канала 16-ти разрядных счетчиков. Каждый канал для

пользователя представлен 3 сигналами: CLK, GATE, OUT.

CLK - входной вывод для подачи импульсов.

GATE - вывод разрешения счета. Разрешение счета

соответствует лог. "1". Логическая единица на этих

выводах на плате сформирована по умолчанию резистором

1.3кОм.

OUT - выход канала.

Для 0-го счетчика сигналы называются:

CLK0, GATE0, OUT0.

Для 1-го счетчика сигналы называются:

CLK1, GATE1, OUT1.

Для 2-го счетчика сигналы называются:

CLK2, GATE2, OUT2.

Программирование каналов таймера заключается в

записи управляющего байта канала и занесении значения в

счетчик канала. Таймер 8254 поддерживает 6 режимов

работы. В качестве примера рассмотрим режим N:2-

формирование повторяющегося строба длительностью t с

интервалом t*n, где: t - входной временной

интервал (период повторения

входных импульсов;

n - число, занесенное в счетчик канала.

Для этого режима:

Управляющее слово канала 0 - $34;

Управляющее слово канала 1 - $74;

Управляющее слово канала 2 - $b4;


Таймер 0

Адреса программирования таймера 0:


Адрес управляющего слова - $3х3;

Управляющее слово канала 0 - $34;

Управляющее слово канала 1 - $74;

Управляющее слово канала 2 - $b4;


Адреса каналов 0,1,2 - $3х0,$3х1,$3х2 соответственно


Таймер 1

Адреса программирования таймера 1:


Адрес управляющего слова - $3х7;

Управляющее слово канала 0 - $34;

Управляющее слово канала 1 - $74;

Управляющее слово канала 2 - $b4;

Адреса каналов 0,1,2 - $3х4,$3х5,$3х6 соответственно


Диапазон возможных заносимых значений в счетчики

каналов таймеров составляет от 2 ($0002) до 65536

($ffff).


Последовательность программирования таймеров

следующая: вначале записывается управляющее слово

любого канала, а затем записывается содержимое счетчика

этого канала. Запись в счетчик делается или словом или

побайтно, вначале младший байт, затем старший,

независимо от того, равен последний нулю или нет.

Пример программирования таймера 0 на TurboPascal:


port[$303]:=$34; {управляющее слово канала 0}

port[$300]:=$ff;

port[$300]:=$02;

port[$303]:=$74; {управляющее слово канала 1}

port[$301]:=$6f;

port[$301]:=$04;

port[$303]:=$b4; {управляющее слово канала 2}

port[$302]:=$ff;

port[$302]:=$0f;


=============================================================================





РАСПРЕДЕЛЁННАЯ

ШИНА ISA



Концепция построения и руководство по программированию


(API Isabox.dll)


2006

СОДЕРЖАНИЕ


Введение


С развитием вычислительной техники и постоянного роста потребностей в высокоскоростных устройствах производители персональных компьютеров отказываются от таких периферийных узлов как шина 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

функции регистрации и сборки


ibcSetLocalPort

ibcGetLocalPort

ibcOpenInterface

ibcOpenLanInterface

ibcOpenController

ibcClearControllerList

ibcClearInterfaceList

ibcControl


2

Сервисные функции


ibcGetControllerProfile

ibcGetObjectList

ibcFirstObject

ibcNextObject

ibcEofObject

ibcGetOncObject

ibcSetRsCfg

ibcGetRsCfg

ibcSetLanCfg

ibcGetLanCfg

ibcSaveToFlash

ibcRestoreFromFlash


3

Функции доступа к портам шины 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 long InterfaceHandle,

unsigned long Address,

unsigned short StartAddress,

unsigned short 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 ibcReadPort(unsigned short address, unsigned char *value);

bool ibcWritePort(unsigned short address, unsigned char value);

bool ibcReadPortW(unsigned short address, unsigned short *value);

bool 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);

}




Модуль разработан и изготовлен Компанией АКОН.

Предлагаем к поставке модули АЦП, модули ЦАП,

устройства ввода-вывода цифровой информации,

модули нормирующих преобразователей с гальванической развязкой, модули

для распределённых систем и другое оборудование.

================================================================================