Смекни!
smekni.com

Разработка устройства регистрации сигналов с датчиков (стр. 3 из 3)

6.2.1. Управляющее слово

Д


ля запуска УРС необходимо передать выбранный диапазон и код уровня контроля для каждого канала, поэтому управляющее слово имеет следующий формат:

Первые четыре бита NC задают номер канала (1-16).

Три остальных бита из четырех задают диапазон от 1-8, при 8 обеспечивается максимальная точность.

Диапазон Sw1 Sw2 Sw3
1 0 0 0
2 0 0 1
3 0 1 0
4 0 1 1
5 1 0 0
6 1 0 1
7 1 1 0
8 1 1 1

Семь из восьми бит отводится под указание кода контроля. В следующей таблице приведено соответствие кода СС уровню контроля.

Уровень СС1 СС2 СС3 СС4 СС5 СС6 СС7
1 0 0 0 0 0 0 0
2 0 0 0 0 0 0 1
3 0 0 0 0 0 1 0
4 0 0 0 0 0 1 1
5 0 0 0 0 1 0 0
6 0 0 0 0 1 0 1
128 1 1 1 1 1 1 1

Так как интерфейс передачи - RS232C, то за один сеанс связи мы можем передать максимум 8 бит информации, поэтому передача слова должна производиться в два этапа. Сначала передаем диапазон (четыре младших бита лучше нули), а затем необходимый уровень контроля (один младший бит ноль).

6.3. Инициализация блоков микроконтроллера

Программа записывается в ПЗУ микроконтроллера с помощью элементарного программатора. Переменные программы хранятся во внутреннем ОЗУ микроконтроллера, которое может располагаться в любом месте адресного пространства по нашему желанию.

Даллее следует блок схема начала работы микроконтроллера:

Общая инициализация микроконтроллера.

Формирование CSBOOT, CS для записи в регистр внутренних сигналов готовности.

Инициализация QSM: период следования синхросигналов, в течение которого выполняется один такт передачи данных: в SCCR0[15:0] – SCBR[11:0] заносим 1010012; Данные – 8 разрядов, приемник в ожидании посылки, в которой первый разряд 1.

Считывание данныхиз порта в регистр SCDR.

Флаг приема первого байта управляющего слова ZF=0

ZF=1

Запись диапазона и уровня контроля из SCDR в SRAM. Переменная характеристики канала CS [15:0] = SCDR.

Считывание второй половины слова и запись в CS[31:16]

нет

нет

A++

Установка диапазонов последовательно для каждого канала путем передачи трех бит в регистр диапазона.

нет

6.4. Инициализация АЦП

П


осле того, как пришла команда от пользователя и произведена установка диапазонов, начинается инициализация двух АЦП. Считывание цифровой информации с СОЗУ внешнего АЦП осуществляется при подаче на на вход CS сигнала логический 0. При этом адрес выбора канала определяется в соответствии с значением цифрового кода, записанного в адресные шины А0-А2. При высоком уровне ALE, адрес сначала поступает в регистр адреса, а затем фиксируется низким уровнем ALE. Для подключения памяти данного АЦП и работы с ней нам необходимо выработать сигналы выборки кристалла CS. Блок формирования вырабатывает сигналы CS, для периферийных устройств автоматически, когда мы обращаемся по адресу из адресного пространства, закрепленного за ПУ. Мы имеем СОЗУ размером 64бита. В качестве сигнала выборки кристалла у нас выступает CSBOOT. Далее следует блок схема инициализации:

Частота на которой работает внешний АЦП равна 1,6 Мгц. На вход CLK поступает синхроимпульсы с выхода ECLK, частота работы которого равна Ft/16. Скорость преобразования при этом не более 30 мкс. Что касательно внутреннего АЦП, то он работает на частоте Ft/48, равной 0,5 Мгц. И скорость преобразования АЦП микроконтроллера также 30 мкс. Далее следует диаграмма работы внутреннего АЦП:

З


десь видно количество циклов за которое идет 8 битное преобразование. Сначала идет время инициации, которое у нас равно 16 циклам ADC, потом время перевода и резолюции. Всего для преобразования в нашем АЦП потребуется 29 циклов.

6.5. Основная часть программы

После инициализации выполняется основная часть программы. Она достаточно подробно изображена на блок-схеме и в Приложении №5. Немного поясним ее. АЦП сразу после инициализации начинает считывать и преобразовывать данные последовательно с каждого канала, результат записывает в регистры RJURR0-7 (см. Приложение №4). Модуль ADC не вырабатывает запроса прерывания, поэтому контроль за его работой осуществляется путем программного опроса или с помощью периодического прерывания. При этом процессор считывает и анализирует содержимое регистра состояния ADSTAT, биты которого имеют следующее назначение:

S


CF — признак, который принимает значение SCF = 1 после окончания цикла преобразования;

CCTR — поле, указывает номер регистра LJURR0-7, в котором будет располагаться результат следующего преобразования;

CCF0-7 — поле, i-й бит которого принимает значение CCFi = 1 после записи результата преобразования в регистр LJURRi; после считывания этого регистра устанавливается значение CCFi = 0.

После анализа регистра ADSTAT результат из ADRi считывается в промежуточный регистр D. Затем, согласно блок-схеме, сравнивается уровень для данного канала и, даллее происходит передача полученной информации в ЭВМ.

6.6. Передача данных в ЭВМ


Подпрограмма обслуживания прерывания от последовательного порта, когда пользователь решит закончить работу, в регистре ADCMR бит STOP=1 и передает управление на начало этой программы. То есть заново пройдет инициализация, и устройство будет ждать команды о начале работы.

6.Временные диаграммы

Н


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

Время реакции на команду пользователя t1 определяется временем ее передачи по каналу связи и временем выполнения подпрограммы обработки прерывания внутри микроконтроллера, которое инициируется командой пользователя. Подпрограмма состоит из одной команды безусловного перехода на основную программу. Поэтому время t1примерно равно половине микросекунды, времени выполнения команды перехода, так как время физической передачи по каналу пренебрежительно мало. Время t2 определяется временем инициализации АЦП – также одна команда записи в регистр, следовательно, t2 приблизительно равно четверти микросекунды. Таким образом, время задержки от прихода команды пользователя до начала преобразования – три четверти микросекунды.

Цикл преобразования обоих АЦП составляет 30 мкс (частота 0,5 МГц и 1,6 МГц). За это время успеют преобразоваться сигналы со всех шестнадцати каналов, передаться измерения в ЭВМ, проанализироваться очередь. Соответственно, за это время можно передать более одного пакета с данными. Таким образом, цикл АЦП полностью определяет цикл работы нашей программы в целом. Сколько будет таких циклов, зависит от пользователя.

Литература.

1.И.И. Шагурин «Микропроцессоры и микроконтроллеры фирмы Motorola» Москва. «Радио и связь» 1998г.

2.«Сопряжение датчика и устройств ввода данных с компьютерами IBM PC» ред. Томпкинса. 1992г.

3.Ю.В. Новиков, Щ.Ф. Калашников, С.Э. Гуляев «Разработка устройств сопряжения» Москва 1997г.

4.«Справочник по аналоговым и цифровым микросхемам» под ред. Якубовского

5.«Справочник по интегральным микросхемам» под ред. Тарабрина

6.M68HC16Z Series User’s Manual

7.Сайт компании Motorola www.mot-sps.com

8.Сайт компании Runet www.runet.ru