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

Виртуальные средства измерений. Акимов В.И

.pdf
Скачиваний:
15
Добавлен:
30.04.2022
Размер:
4.73 Mб
Скачать

Рис. 4.1. Протокол связи АЦП типа ТLС 549

Рис. 4.2 Протокол связи АЦП типа МАХ 1243

Рис. 4.3. Протокол связи АЦП МАХ 1241

Рис. 4.4. Микросхемы АЦП LTS CN8 и ADS 1286 PK

Рис. 4.5. Универсальная схема включения АЦП

Рис. 4.6. Протокол связи АЦП 1286

Рис. 4.7 Микросхема АЦП LTС 1292

Рис . 4.8. Протокол связи LTС 1292

Рис. 4.9. Пример работы программы PICOSCOPE в многоканальном режиме

Рис. 4.10. Принципиальная схема интерфейса для СОМ порта

Рис. 4.11. Упрощѐнная схема интерфейса для LPT порта на основе

АЦП типа ADC 10 и ADC 12

Рис. 4.12. Включение интегрирующего фильтра первого порядка на вход АЦП

Рис. 4.13. Печатная плата устройства «ввода – вывода» ВСИ

Рис. 4.14. Монтаж платы «ввода – вывода»

Рис. 4.15. Внешний вид платы «ввода – вывода» ВСИ

4.3. Учебный измерительный комплекс на основе РС

Рассматриваемый ВИК обеспечивает реальные измерительные операции с внешними устройствами с помощью LPT порта и последовательно – параллельного АЦП в звуковом диапазоне сигналов в режиме реального времени. Он позволяет проводить спектральный цифровой анализ на основе ДПФ в режиме СПЕКТРОАНАЛИЗАТОРА, отображать форму входного сигнала в режиме ОСЦИЛЛОГРАФА и измерять постоянное и переменное напряжения в режиме цифрового ВОЛЬТМЕТРА. При этом интерфейсы эмуляторов этих приборов максимально упрощены и основной упор сделан на реализацию режима обмена информацией между внешними средствами и ЭВМ.

Целью проделанной работы является создание приставки аналогоцифрового преобразователя к ЭВМ типа IBM PC. Данное устройство позволяет получать временные диаграммы аналоговых сигналов, действующих на входе приставки, на мониторе ЭВМ. Работа включает разработку аппаратной и программной частей данного устройства.

Существует множество импортных аналогов таких устройств, причѐм выполненных в интегральном исполнении, обладающих меньшими погрешностями преобразования, но, к сожалению, не всегда доступных. В то же время, если какое-либо устройство не вписывается в перечень стандартных периферийных устройств к ЭВМ то достать импортный аналог потребует значительных сил и средств.

Данная работа служит примером сопряжения ЭВМ с микросхемой АЦП посредством отечественной элементной базы. Результаты работы можно использовать как основу в проектировании других более сложных устройств.

Аппаратная часть приставки не предназначена для серьѐзных измерений, а содержит в себе тот минимум, который необходим для еѐ нормального функционирования. Подключение к ЭВМ осуществляется через принтерный порт, работающий в режиме Centronics. Основным недостатком данного режима является сравнительно низкая скорость обмена данными (30 КБайт/сек. при вводе в ЭВМ) однако, с учѐтом того, что применѐнный в устройстве АЦП имеет такую же скорость обработки данных, данное обстоятельство несущественно.

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

4.3.1. Описание аппаратной части

Протокол ввода данных в порт разработан с учѐтом особенностей стандартного протокола Centronics. Нужно отметить, что в настоящее время IBMсовместимые ЭВМ поддерживают несколько протоколов обмена через параллельный порт 21-23 , причѐм стандарт Centronics является самым ограниченным из них. Выбор в пользу данного протокола был сделан исходя из расчѐта подключения приставки не напрямую к параллельному порту на системной плате, а к порту мультикарты. Ввод данных в порт, как уже отмечалось выше, осуществляется в полубайтном режиме, что связано с особенностями интерфейса Centronics (имеется всего пять линий ввода в порт). Как видно из рис. 4.16, одна из линий задействована для синхронизации процесса ввода в порт.

Синхронизация

7,3 бит

6,2 бит

Старший

 

Младший

5,1 бит

полубайт

 

полубайт

4,0 бит

 

 

 

 

 

 

ACK#

10 конт., 6 бит

регистра состояния

_____

 

 

BUSY

11 конт., 7 бит

PE

12 конт., 5

бит

SELECT 13 конт.,

4 бит

ERROR 15 конт., 3 бит

Рис. 4.16. Протокол связи устройства ввода (записи в порт)

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

Схема электрическая принципиальная приставки приведена в приложении А. Приведѐм краткое пояснение назначения элементов схемы.

Входной усилитель собран на операционном усилителе DA1. Входное сопротивление устройства равно 100 кОм. Так как приставка не предназначалась для прецизионных измерений, погрешность номиналов резисторов в цепи обратной связи составляет 10 . Устройство выборки-хранения собрано на элементах DA2, DA3.1, C3. Микросхема DA3 сама по себе является устройством выборки-хранения, но как выяснилось электронный ключ DA3.2 обладает отвратительными параметрами. Поэтому он был заменѐн электронным ключом КР590КН4 (элемент DA2).

Устройство содержит собственный тактовый генератор, выполненный на элементах DD1.1 и DD1.2 так как стандарт Centronics не предусматривает подачу синхросигнала от ЭВМ через порт, а программно организованный такой синхросигнал будет обладать низкой стабильностью из-за прерываний с выс-

шим приоритетом. Регистр DD6 служит для запоминания результатов аналогоцифрового преобразования микросхемы DD5. Мультиплексор DD7 коммутирует младший и старший полубайты. Инверторы DD8.2-DD8.6 служат в качестве усилителей мощности.

Схема синхронизации выполнена на элементах DD2, DD4. На рис. 4.17 приведена временная диаграмма процесса синхронизации.

Тактовые импульсы с генератора

Вывод 5 DD4.2

Вывод 6 DD4.2

Сброс

Вывод 17 DD5 ―готовн. данных‖

Вывод 9 DD4.1

Вывод 10 DD8 ―синхронизация‖

Преобразование

Хранение

Выборка

Вывод стар-

 

Вывод

шего полу-

 

младшего

байта

 

полубайта

 

 

 

Рис. 4.17. Временная диаграмма процесса синхронизации в устройстве

Ввода

Фронтом тактового импульса запускается одновибратор, собранный на элементах DD4.2, DD2.1, DD2.4. Длительность импульса одновибратора подобрана таким образом, чтобы произвести сброс DD5. Одновременно по фронту тактового импульса производится запись в регистр DD6 предыдущего результата преобразования. Сигнал с одновибратора поступает на управляющий вход мультиплексора, который коммутирует на выход сначала старший полубайт, а затем по окончании импульса одновибратора младший полубайт. Нужно отметить, что информация поступает в порт в инверсном коде благодаря инверторам

DD8.2-DD8.6. Также нужно упомянуть о том, что прерывания от параллельного порта инициализируются высоким логическим уровнем, хотя в литературе торжествует обратное мнение.

По окончании действия импульса с одновибратора, устройство выборкихранения переключается в режим хранения. Обратно в режим выборки его переключает сигнал готовности данных (вывод 17 DD5) АЦП.

Данное устройство производит дискретизацию входного сигнала с максимальной для АЦП К1113ПВ1 частотой: примерно 27кГц. Вод данных в порт осуществляется с частотой в два раза выше, что обусловлено особенностями полубайтного режима.

4.3.2. Описание работы драйвера

Данная программа (приложение В) обрабатывает прерывания, приходящие от устройства, подключенного к параллельному порту LPT2 (прерывание

IRQ5).

Программа считывает данные из порта, работающего в полубайтном режиме, так как стандартный интерфейс Centronics содержит всего пять линий ввода информации. Одна из этих линий (ACK#: 10-й контакт разъема на системном блоке, 6-й бит регистра 279h состояния порта) использована для инициализации аппаратных прерываний и синхронизации процесса ввода данных в порт (рисунок 1). На рис. 4.18 показан состав регистра состояния порта и приведено соответствие битов данного регистра выводам порта.

Обработка заключается в формировании одного байта данных из двух принятых. Для этого следует сомкнуть биты данных на бите ACK#, соединить байты в один, проинвертировать результат с учетом того, что данные в порт поступают в инверсном виде, а также, что информация в бите BUSY инвертируется. Полученный байт помещается в массив.

Программа написана на языке Ассемблера, что даѐт возможность дополнительного увеличения скорости ввода данных в порт, и оформлена в качестве резидентной. По поступлению высокого уровня сигнала на 10-й контакт разъѐма инициализируется аппаратное прерывание IRQ5, которое передаѐт управление данному обработчику прерываний. Обработчик прерываний считывает информацию из регистра состояния порта, формирует старший полубайт и переходит в режим ожидания смены уровня на 10-ом контакте (обнуления бита ACK#). Затем обработчик считывает информацию из порта, формирует младший полубайт и производит соединение его со старшим полубайтом. Полученный байт данных заносится в массив, после чего обработка прерывания заканчивается. Цикл повторяется при приходе очередного высокого уровня на десятый контакт разъѐма порта.

старший

 

 

 

 

 

 

 

 

 

 

 

 

младший

7

6

5

4

3

2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

Высокий

6

5

4

1

 

1

1

 

(3)

(Низкий)

(2)

(1)

(0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ERROR

15 конт.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Select

13 конт.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PE 12 конт.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ACK# 10 конт.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

неBUSY 11 конт.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.4.18. Регистр состояния параллельного порта Нужно отметить, что данный алгоритм функционирования наиболее приемлем

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

Программа имеет несколько функций для связи с внешним миром. Для этого используется программное прерывание 60h.

Перечислим данные функции:

- 00: функция передачи точки входа в массив данных передает сегмент и смещение первого элемента массива, а также номер очередного регенерируемого элемента;

-01: функция передачи четырех элементов массива и номера очередного регенерируемого элемента;

-02,06: функции запрещения и разрешения аппаратных прерываний соответственно. Их работа сводится к инвертированию байта в регистре

управления портом, отвечающего за прохождение аппаратных прерываний;

-03: функция передачи одного элемента массива с номером, помещенным в регистр BX;

-04: зарезервирована

-05: функция, осуществляющая корректное завершение работы драй-

вера и выгрузку (в данной версии программы не работает) его из памяти;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]