Д
Первые четыре бита 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 бит информации, поэтому передача слова должна производиться в два этапа. Сначала передаем диапазон (четыре младших бита лучше нули), а затем необходимый уровень контроля (один младший бит ноль).
Программа записывается в ПЗУ микроконтроллера с помощью элементарного программатора. Переменные программы хранятся во внутреннем ОЗУ микроконтроллера, которое может располагаться в любом месте адресного пространства по нашему желанию.
Даллее следует блок схема начала работы микроконтроллера:
Общая инициализация микроконтроллера.
Формирование 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++
Установка диапазонов последовательно для каждого канала путем передачи трех бит в регистр диапазона.
нет
П
Частота на которой работает внешний АЦП равна 1,6 Мгц. На вход CLK поступает синхроимпульсы с выхода ECLK, частота работы которого равна Ft/16. Скорость преобразования при этом не более 30 мкс. Что касательно внутреннего АЦП, то он работает на частоте Ft/48, равной 0,5 Мгц. И скорость преобразования АЦП микроконтроллера также 30 мкс. Далее следует диаграмма работы внутреннего АЦП:
З
После инициализации выполняется основная часть программы. Она достаточно подробно изображена на блок-схеме и в Приложении №5. Немного поясним ее. АЦП сразу после инициализации начинает считывать и преобразовывать данные последовательно с каждого канала, результат записывает в регистры RJURR0-7 (см. Приложение №4). Модуль ADC не вырабатывает запроса прерывания, поэтому контроль за его работой осуществляется путем программного опроса или с помощью периодического прерывания. При этом процессор считывает и анализирует содержимое регистра состояния ADSTAT, биты которого имеют следующее назначение:
S
CCTR — поле, указывает номер регистра LJURR0-7, в котором будет располагаться результат следующего преобразования;
CCF0-7 — поле, i-й бит которого принимает значение CCFi = 1 после записи результата преобразования в регистр LJURRi; после считывания этого регистра устанавливается значение CCFi = 0.
После анализа регистра ADSTAT результат из ADRi считывается в промежуточный регистр D. Затем, согласно блок-схеме, сравнивается уровень для данного канала и, даллее происходит передача полученной информации в ЭВМ.
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