Техническая реализация интерфейса обмена данными по готовности
Аналого-цифровой преобразователь не вычисляет конечное значение сигнала (например, напряжение в вольтах). Он передает код, пропорциональный напряжению в приложение пользователя. Задача вычисления значения сигнала отводится ПО, которое и вычисляет результат, в зависимости от решаемой задачи. Например, при измерении температуры с помощью термопары нас интересует величина температуры в градусах… Читать ещё >
Техническая реализация интерфейса обмена данными по готовности (реферат, курсовая, диплом, контрольная)
Реализацию интерфейса обмена данными по готовности и алгоритм обмена рассмотрим на примере ввода данных в ОЗУ из модуля АЦП (интерфейсной платы L-154) в АС на основе ЭВМ семейства IBM. Аналого-цифровой преобразователь предназначен для преобразования входного напряжения Ux.y зафиксированного во время выборки, в 12-разрядный параллельный код. Он измеряет мгновенное значение сигнала. Вход АЦП (рис. 5.16) соединяется с внешними аналоговыми сигналами объекта через измерительный усилитель и один из входов 32-(16-)разрядного коммутатора. На входы коммутатора могут поступать сигналы с датчиков объекта, а выход коммутатора соединен с входом АЦП через измерительный усилитель.
Рис. 5.16. Схема подключения АЦП к объекту автоматизации.
Сигналы с датчиков объекта автоматизации поступают на входы коммутатора относительно общей земли. Такую схему (рис. 5.17) рекомендуется использовать, если источники сигналов соединены с общей землей.
Дифференциальную схему подключения сигналов датчиков необходимо использовать, если имеются «плавающие» источники сигнала, например батареи, термопары, трансформаторы или любые приборы, изолированные от общей земли. Дифференциальную схему подключения сигналов можно применять и с источниками сигнала, соединенными с общей землей. Вообще говоря, такая схема подключения предпочтительна, поскольку она гасит помехи, передаваемые по земле, и синфазные шумовые сигналы.
Рис. 5.17. Дифференциальная схема подключения сигналов датчиков О А.
Дифференциальную схему подключения рекомендуется использовать, если входные сигналы удовлетворяют следующим критериям:
- • входные сигналы низкого уровня (менее 1 В);
- • сигналы передаются по длинным, неэкранированиым линиям через зашумленную среду;
- • входные сигналы не связаны с общей землей.
Асимметричные системы измерения (с общей землей) рекомендуется использовать, когда входные сигналы не удовлетворяют указанным критериям.
Технические характеристики АЦП, усилителя, коммутатора:
- • число двоичных разрядов кода АЦП п = 12;
- • диапазон измерения входного сигнала Ux может устанавливаться программно: Ux = ±5,12 В, ±2,56 В, ±1,024 В;
- • разрешающая способность ДП, = 2,5 мВ, AU2 = 1,25 мВ, ДU3 = 0,5 мВ;
- • коэффициент усиления усилителя Кус = 1, 2, 5;
- • максимальное время преобразования АЦП ГП|) =1,7 мкс;
- • входное сопротивление усилителя Rr= 2 МОм;
- • время переключения канала коммутатора Ткои = 4 мкс;
- • запуск АЦП программный.
Программная модель интерфейса обмена данными по готовности ВУ включает четыре регистра:
- 1) данных АЦП;
- 2) управления АЦП, усилителем, мультиплексором;
- 3) состояния АЦП, таймера;
- 4) запуска АЦП.
Регистр данных АЦП: 12-разрядный (относительный адрес «0»), доступен ЦП для чтения. После запуска АЦ11 на измерение и окончания преобразования напряжения в цифровой код последний передается в РД и сохраняется в нем до следующего запуска. Разряды РД — D0—D11 — содержат код числа, пропорциональный входному напряжению в соответствии с таблицей:
Код. | Диапазон (±5,12) В. | Диапазон (±2,56) В. | Диапазон (±1,024) В. |
— 5,12. | — 2,56. | — 1,024. | |
5,12 — Щ | 2,56 — ДU, | 1,024-Д U3 |
Аналого-цифровой преобразователь не вычисляет конечное значение сигнала (например, напряжение в вольтах). Он передает код, пропорциональный напряжению в приложение пользователя. Задача вычисления значения сигнала отводится ПО, которое и вычисляет результат, в зависимости от решаемой задачи. Например, при измерении температуры с помощью термопары нас интересует величина температуры в градусах Цельсия или Кельвина. Таким образом, одно и то же устройство может выполнять множество измерений, просто изменяя приложение, которое читает данные.
По коду нельзя восстановить точное значение напряжения на входе АЦП Ux. Можно определить лишь округленное значение Uxm из выражения.
где п — код на входе регистра данных АЦП. Максимальная погрешность измерения Ux от влияния квантования составит | Ux — Uxкц| < AU/2.
Если квантователь АЦП имеет характеристику, отличную от приведенной, последнее выражение будет изменяться.
Для преобразования кода АЦП платы L-154 в напряжение необходимо использовать следующее выражение:
где Ul KB — напряжение входного сигнала, округленное АЦП; AU — разрешающая способность, различная для различных диапазонов измерения; п — цифровой код на выходе АЦП, число в диапазоне от 0 до 212 — 1 = 4095.
Регистр управления (РУ) восьмиразрядный (относительный адрес «+2») предназначен для установки номера канала коммутатора, режима подключения входных сигналов и диапазона их измерения (коэффициента усиления). Регистр управления доступен ЦП для записи.
Формат регистра управления:
Бит. | ||||||||
Обозначение. | U2 | U1 | М32 | С4 | сз | С2 | С1 | СО |
Здесь U2, U1 — диапазон измерения входного сигнала (управляется коэффициентом усиления измерительного усилителя): 1,1 — ±5,12 В, 1,0 — ±2,56 В, 0,1 — ±1,024 В, 0,0 — запрещено; М32 — режим подключения входного сигнала: М32 = 1 — 32-канальный режим с общей землей, М32 = 0 — 16-канальный дифференциальный режим; С4—С0 — номер канала коммутатора, подключенного к входу АЦП: 0 — канал 1, 1 — канал 2,…, 11 111 — канал 32. При дифференциальном подключении С4 = 0.
После переключения канала коммутатора нельзя сразу подавать команду «Запуск АЦП». Необходимо организовать задержку на время переключения канала «4 мкс. Для ускорения процесса многоканального ввода можно переустанавливать номер канала сразу после запуска АЦП. После того как АЦП запускается на измерение, срабатывает внутреннее устройство выборки-хранения (УВХ), в котором запоминается значение аналогового сигнала на момент запуска.
Регистр состояния восьмиразрядный (относительный адрес «±2») указывает состояние АЦП и таймеров-счетчиков, ЦП регистр состояния доступен для чтения.
Формат регистра состояния:
Бит. | D7 | D6 | D5 | D4 | D3 | D2 | D1 | DO |
Значение. | Состояние АЦП. | Т2 | Т1 | ТО |
После запуска АЦП на измерение бит состояние АЦП устанавливается в единицу на время выполнения преобразования (~ 1,7 мкс) и сбрасывается по его окончании. При проверке готовности данных после запуска АЦП необходимо дождаться нулевого значения бита состояния.
Регистр запуска АЦП восьмиразрядный (относительный адрес «+4»), регистр ЦП доступен для записи. Запись произвольного значения в указанный регистр, запускает АЦП на измерение входного сигнала.
Алгоритм одноканалъных измерений входного сигнала.
- 1) установка режима измерения: номера канала, режима подключения входного сигнала, диапазона измерения;
- 2) задержка на время переключения канала мультиплексора;
- 3) однократное измерение входного сигнала: запуск АЦП на измерение, проверка и ожидание окончания преобразования, чтение данных из РД АЦП;
- 4) преобразование кода АЦП в значение входного сигнала;
- 5) представление результатов измерения в цифровой или аналоговой форме.
При многократных измерениях в выбранном канале можно повторять пункты 3—5 алгоритма, при этом задержка на время переключения канала появляется только при начальном запуске системы на измерения.
Алгоритм многоканальных измерений:
- 1) установка режима измерения в начальном выбранном канале: установка номера канала коммутатора, режима подключения входного сигнала, коэффициента усиления АЦП;
- 2) задержка на время переключения каната мультиплексора;
- 3) запуск АЦП на измерение;
- 4) установка режима измерения в следующем канате (номера канала, режима подключения входного сигнала, диапазона измерения). Обратите внимание: измерение в предыдущем канале не завершено и данные из него не считаны;
- 5) проверка и ожидание окончания измерения в предыдущем канале;
- 6) чтение данных из РД АЦП;
- 7) преобразование кода АЦП в значение входного сигнала;
- 8) представление результатов измерения в цифровой или аналоговой форме.
При многоканальных измерениях задержка па время переключения канала мультиплексора исчезает, так как установка параметров измерения в следующем канале совпадает по времени е выполнением измерения и чтением данных в предыдущем канале.
Считается, что инструментальные драйверы — ключевой фактор функционирования системы. Инструментальный драйвер — набор процедур, который выполняют команды, необходимые для функционирования аппаратных средств системы. Инструментальные драйверы реализуют управление приборами и, как правило, отделены от другого кода. Пример: реализация алгоритма измерения входного напряжения по готовности АЦП.
Рассмотрим методику программирования обмена данными в среде программирования Borland Pascal на примере преобразования аналогового сигнала в цифровой код и его последующего ввода в ЭВМ с помощью описанного выше АЦП.
Задача: измерить напряжение на входе канала 1 мультиплексора АЦП, лежащее в диапазоне в диапазоне 1,0 В. при дифференциальном подключении источника сигнала:
Program Demo_Read_ADC; var i: integer; U: of integer;
Procedure wait (inoord); {Задержка ~ i микросекунд.} varj: word; begin forj:= 1 to i do; end;
Begin
Port/$ 302]: =$ 40; {Дифференциальный режим канал 1, усиление 5.}.
Wait (4);
{После установки режима измерения необходима задержка > 4 мкс. Значение параметра процедуры Wait определяется в Лабораторном эксперименте.}.
Port[$ 304]: =0;
{Запуск АЦП. Сразу после запуска АЦП можно переключать канал коммутатора при многоканальных измерениях сигналов.}.
Asm Nop End;
while (Port [$ 302] > = $F8) do;
{Ожидание конца преобразования.}.
U:= PortW [$ 300]; {Чтение кода данных из РД АЦП.}.
Writeln (‘Величина напряжения на входе 1 канала = ‘,(U — 2048) * 0.5,.
ЧмВ]У,
{Преобразование данных и представление в цифровом виде на экране монитора.}.
End.