Мегаобучалка Главная | О нас | Обратная связь


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



2020-03-18 207 Обсуждений (0)
Система сбора аналоговой информации 0.00 из 5.00 0 оценок




Пусть по 8-ми каналам передается аналоговая информация с амплитудой не более 1 В положительной полярности и надо осуществлять выборку каждого канала не реже 1 раза в 20 мс. Точность представления сигнала должна быть не хуже +-10 мВ. Опрос каналов осуществляется в течение 10 с, а затем должна быть сделана обработка накопленной информации. Требуется спроектировать аппаратную часть системы с выбором основных ее элементов, составить программу опроса каналов и накопления информации в ОЗУ системы.

Этап 1. Составление структурной схемы системы. Для экономии средств и времени на разработку выберем в качестве ведущего модуля ОЭВМ семейства MCS-51 КР1830ВЕ751 (аналог ОЭВМ I87C51 фирмы Intel). Эта ОЭВМ в настоящее время широко распространена, дешева, для нее существует практически вся номенклатура аппаратных и программных средств разработки.

Выбор АЦП. Для опроса аналоговых каналов и преобразования сигналов в цифровую форму, естественно, надо предусмотреть в системе АЦП. Его выбор основывается на заданных параметрах аналогового сигнала: амплитуде, точности, скорости выборки. Прежде всего, выберем разрядность, исходя из точности 10 мВ при диапазоне сигнала в 0...1 В. Разделив второе число на первое получим коэффициент деления, который определяет разрядность АЦП. Он равен 100, поэтому вполне подойдет 8-разрядный АЦП, для которого этот коэффициент равен 28 = 256>100. Таким образом, не слишком жесткие параметры позволяют выбрать достаточно простой и дешевый 8-разрядный АЦП AD7575, который имеет следующие характеристики:

* входной диапазон - 0...2,56В;

* время преобразования <2,5 мкс;

* из внешней "обвязки" требует только подключения источника опорного напряжения величиной 1,28В, который также выпускается в интегральном исполнении - ИС LM306.

Для хранения считанной информации надо предусмотреть внешнее ОЗУ емкостью: (10000мс/20 мс)х8 каналов = 4000 байт. Для работы с запасом возьмем БИС ОЗУ объемом 8 Кбайт= 8192 байта типа HM6164 с временем доступа 100 нс. Этот тип ОЗУ также широко распространен и дешев.

Для переключения аналоговых каналов надо взять стандартный 8-канальный налоговый мультиплексор, например, отечественный КР590КН9.

Таким образом, были выбраны все основные компоненты системы, и можно составить структурную схему устройства (рис. 4.7).

Так как к ОЭВМ нужно подсоединить внешнюю ОЗУ, то надо организовать ША, ШД и ШУ. С этой целью в систему включен так называемый "регистр-защелка" DD2 типа К555ИР22, в котором по фронту сигнала ALE из ОЭВМ запоминается младший байт адреса внешней ОЗУ, который в этот момент присутствует на выводах порта Р0. Остальные 5 старших разрядов образуются сигналами, выставляемыми на выводах Р2.0 - Р2.4 порта Р2 ОЭВМ, которые держатся весь цикл обращения к ОЗУ.

Память программ будет использована внутренняя (в составе ОЭВМ имеется 4 Кбайта УФ ППЗУ).

Для того, чтобы не включать в схему дешифратора адреса для выбора либо БИС ОЗУ, либо БИС АЦП используется сигнал Р2.5 порта Р2: при установке его в 0 включается внешнее ОЗУ (фактический диапазон адресов этого ОЗУ 0000 - 1FFF), при установке его в 1 выбирается БИС АЦП (любой адрес внешней памяти, начинающийся с 2000).

Этап 2. Математическое описание алгоритма . Данный этап для такой задачи можно опустить, так как процесс сбора информации не предусматривает никаких сложных математических действий.

Этап 3. Составление укрупненной структурной схемы. Структурная схема приведена на рис. 4.8.

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

Временные интервалы проще всего отсчитывать с помощью внутренних таймеров. Будем считать, что тактовая частота ОЭВМ составляет 12 МГц, так что длительность импульса внутренней синхронизации, который может быть подан на таймер, составляет 1 мкс. Так как регистр таймера 16-разрядный, то максимальное накапливаемое время будет составлять 65535 мкс = примерно 65 мс. В течение интервала 10 с таких событий должно быть 10000/65=154. Для регистрации такого числа событий можно использовать известный прием накопления их в каком-либо регистре и выдаче сигнала об окончании путем установки определенного флага.

Этап 4. Распределение ресурсов . Желательно все переменные распределить во внутренней памяти и еще лучше в текущих регистрах R0-R7 ОЭВМ.

R0 - Текущий номер опрашиваемого канала.

А - Текущий байт, считанный с АЦП.

R2 - накапливающий регистр для таймера (см. выше).

R3 - регистр для временного хранения младшего байта DPTR

R4 - регистр для временного хранения старшего байта DPTR

R5 - счетчик числа опрошенных каналов

R6 -

R7 -

DPTR - адрес внешней ячейки памяти для записи текущего байта.

FLAG - битовая переменная для сигнализации, что 10 с прошло. Пусть FLAG = 1 сигнализирует, что интервал времени сбора информации прошел.

Регистрацию времени по таймеру проще всего вести по программе прерывания по таймеру. Если это прерывание разрешено ( флажок ET0 в регистре IE установлен в 1), то при переполнении таймера 0 происходит переход на адрес 000В внутренней памяти программ, где должна находиться подпрограмма обработки этого прерывания.

Сама подпрограмма обработки прерывания должна делать следующее:

· запретить прерывания на время своего выполнения (флажок ET0 в регистре IE устанавливается в 0) (в данной задаче с одним источником прерывания это можно не делать, но когда источников несколько, то нежелательно, чтобы другое прерывание прерывало эту подпрограмму).

· остановить таймер ( флажок TF0 устанавливается в 0 для таймера 0),

· прибавить к накапливающему регистру 1, так как очередной 50-мс цикл прошел,

· проверить, превысило это значение в регистре число 154, т.е. прошло ли уже 10 с,

· если прошло 10 с установить FLAG в 1, иначе оставить FLAG =0,

· Загрузить в регистры таймера числа для очередного 50-мс цикла,

· запустить таймер 0 ( флажок TF0 устанавливается в 1 для таймера 0),

· разрешить прерывания от таймера 0 (флажок ET0 в регистре IE устанавливается в 1).

 


 

 

 


Рис. 4.7. Структурная схема системы сбора аналоговой информации


 

 


Рис. 4.8. Укрупненная структурная схема алгоритма

Расчет чисел, загружаемых в регистры таймера, чтобы он переполнялся ровно через 50 мс, осуществляется так:

в программе предусмотрена двухбайтная псевдопеременная TIME, которая и определяет интервал 50 мс. Она записывается так:

TIME = NOT(50000 - 1), где 50000 - требуемый интервал в мкс. Тогда операторы загрузки этого числа в таймер 0 выглядят следующим образом:

     MOV TL0,#HIGH(TIME)

     MOV TH0,#LOW(TIME)

где символы HIGH и LOW означают для программы Ассемблера соответственно старший и младший байты двухбайтного числа TIME.



2020-03-18 207 Обсуждений (0)
Система сбора аналоговой информации 0.00 из 5.00 0 оценок









Обсуждение в статье: Система сбора аналоговой информации

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (207)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)