Технология

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


Нижегородский Государственный Технический Университет



             Дисциплина «Аппаратно-программное обеспечение  ВС»



                               Курсовой проект

                      Разработка устройства регистрации

                             сигналов с датчиков



                                       Выполнил: ст. гр. 95-В-3 Межевой С.В.
                                                    Проверил : Саладаев Е.Н.



                            Нижний Новгород, 1999
                                 Содержание


1.Техническое задание  3


2.ПОВЕДЕНЧЕСКАЯ МОДЕЛЬ УСТРОЙСТВА 4


3.ДЕКОМПОЗИЦИЯ НА ФУНКЦИОНАЛЬНЫЕ УЗЛЫ   5

                  3.1. Обозначение функциональных узлов   5
            3.2. Аналоговая часть проектируемого устройства    6
                       3.2. Устройство управления   6

4.Реализация функциональных узлов в УРС 7

                             4.1. Выбор АЦП   7
                  4.2. Измерительный преобразователь      8
                           4.2.1. Усилитель заряда     8
                           4.2.2. Масштабный усилитель 9
                        4.2.3. Интегрирующий усилитель    9

5.Интерфейс передачи данных  11

                    5.1. Последовательный порт QSM    12

6.Программирование урс 13

                 6.1. Основная блок-схема программы      13
                          6.2. Формат данных     14
                          6.2.1. Управляющее слово    14
               6.3. Инициализация блоков микроконтроллера   15
                          6.4. Инициализация АЦП 17
                    6.5. Основная часть программы     18
                       6.6. Передача данных в ЭВМ   19
7.Временные диаграммы  20

Литература  21


Приложение 1: Основные сведения о МК MC68HC16Z3


Приложение 2: ПЕРЕчень элементов


Приложение 3: ПРИНЦИПИАЛЬНЫЕ СХЕМЫ УРС


Приложение 4: ПРОГРАММЫ ИНИЦИАЛИЗАЦИИ МК


Приложение 5: ПРОГРАММА для МК на уровне ассемблера


                           1. Техническое задание.

 . Разработать устройство регистрации сигналов (УРС) с датчиков. в
   соответствии с заданием на курсовую работу. Проект должен закончиться
   принципиальной схемой УРС, описанием работы схемы, перечнем элементов.
 . УРС – система реального времени, которое представляет собой периферийное
   устройство для ЭВМ. Оно должно снимать информацию с пьезодатчиков
   ускорения (ПДУ) и передавать ее в ЭВМ.
Остальные параметры устройства:


|Тип датчика                                      |ПДУ                 |
|Контролируемый параметр                          |Скорость            |
|Величина сигнала датчика                         |0,4В                |
|Импеданс датчика                                 |1,5 нФ              |
|Диапазон частот сигнала датчика                  |2 Гц-2 кГц          |
|Количество сигналов                              |16                  |
|Количество диапазонов                            |8                   |
|Уровней контроля                                 |128                 |
|Температурный диапазон эксплуатации              |-100 –  +400С       |
|Допустимая погрешность                           |2 %                 |
|Расстояние до компьютера                         |20 м                |
|Интерфейс                                        |RS-232              |



                     2. Поведенческая модель устройства.



    Рассмотрим  модель  устройства.  По  заданию  наше  устройство  снимает
информацию   с  ПДУ  и  постоянно  передает  данные  в  ЭВМ.  Перед  началом
регистрации сигналов необходимо осуществить сброс УРС (автоматически или  по
специальной команде), а так же задать для каждого канала диапазон и  уровень
контроля. Что касается  завершения  работы  устройства,  то  здесь  возможны
варианты:
     . Перед началом работы задается необходимое количество  отсчетов.  Как
       только снято заданное количество,  посылается  прерывание  и  данные
       передаются на ЭВМ.
     . Сигнал конца работы должен прийти во время работы устройства.
Поскольку, нет точно заданного количества  отсчетов  то  выбираем  последний
вариант. Так как сигнал конца работы  может  прийти  во  время  работы  УРС,
которое  в  это  время  будет  передавать  свои  данные,  то  связь  УРС   с
компьютером должна быть двунаправленной, то есть на том и  на  другом  конце
системы УРС – ЭВМ должны  быть  независимые  приемник  и  передатчик.  Схема
обмена будет выглядеть следующим образом (см. РИС 1.):
Таким образом схема взаимодействия ЭВМ с периферийным  устройством  довольно
проста: пользователь, предварительно задав режим работы,  инициирует  работу
УРС сигналом «Начать», после чего устройство начинает снимать  и  передавать
информацию. В ЭВМ полученные данные  анализируются.  Когда  передачу  данных
требуется  остановить,  то  пользователь  передает  на   устройство   сигнал
«Закончить», причем после этого сигнала работу  снова  возобновить,  передав
команду «Начать».
                   3. Декомпозиция на функциональные узлы.
                         Общая структура устройства.

                    3.1. Обозначение функциональных узлов
      Обозначим в проектируемом устройстве основные функциональные блоки:
 . Для работы с датчиками  необходимы  измерительные  преобразователи  (ИП),
   которые   усилили   бы   сигналы   для   последующего   аналого-цифрового
   преобразования и произвели фильтрацию  сигнала.  Так  как  с  выхода  ПДУ
   поступает физическая величина «ускорение», а  нам  нужна  «скорость»,  то
   измерительный преобразователь должен  еще  и  проинтегрировать  сигнал  с
   датчика.  Также  проектируемое  устройство  должно  обрабатывать   сигнал
   поступающий с ПДУ с допустимой погрешностью, как указано в ТЗ.
 . Далее нужно оцифровать полученный аналоговый  сигнал.  Функцию  оцифровки
   сигнала выполнит аналогово-цифровой преобразователь (АЦП).
 . Для контроля измерения по определенным  уровням  необходимо  использовать
   устройство сравнения (УС), которое будет сравнивать полученные результаты
   с заданными уровнями контроля.
 . Для соглосования работы всех блоков  входящих  в  состав  УРС  необходимо
   устройство управления (УУ).
 .  Для  связи  с  ЭВМ  нам  нужен   интерфейсный   модуль   (ИМ),   который
   преобразовывал бы уровни напряжения, соответствующие цифровым величинам в
   форму понятную для интерфейса последовательного обмена RS232C. Так как по
   ТЗ величина линии  связи  устройства  с  ЭВМ  составляет  20  м.,  а  как
   известно,  интерфейс  RS232C  поддерживает  связь  только  на  15  м,  то
   необходимо осуществить гальваническую развязку между УРС и ЭВМ.
Получается пять блоков. Далее на РИС 2. следует структурная схема системы
«УРС - ЭВМ»:



ИМ передает сигналы управления от  пользователя  устройству  управления.  УУ
должно управлять всеми блоками в устройстве кроме ИП, так как  в  их  работе
никакого управления не требуется. Потоки данных  распределяются  так:  с  ИП
идут 16 аналоговых величин и поступают на аналоговый коммутатор (служит  для
переключения нескольких входных аналоговых входов на один  выходной),  затем
на аналоговые входы АЦП, с выхода которого данные попадают  в  модуль  УС  и
анализируется им. Сравнив значения измерений и порогового уровня  результаты
записываются во внутрений  регистр.  Далее  ИМ  передает  в  ЭВМ  два  байта
данных, каждый бит которого соответствует одному каналу. Если бит  равен  1,
то уровень сигнала данного канала превышает пороговое значение.

               3.2. Аналоговая часть проектируемого устройства
      К аналоговой части проектируемого устройства  относятся  пьезо-датчики
ускорения, измерительные преобразователи, коммутатор и АЦП.
      В состав ИП входят:
         . усилитель  заряда  (УЗ),  для  для  усиления  сигнала  с  выхода
           высокоимпедансных датчиков
         . масштабный усилитель (МУ). МУ должен иметь восемь  коэффициентов
           усиления для восьми диапазонов
         . интегрирующий усилитель (ИУ)
         . аналоговый коммутатор  для  переключения  диапазонов  и  регистр
           состояния диапазонов.
      Поскольку существует немало микросхем АЦП,  которые  имееют  несколько
аналоговых  входов  и  осуществляют  переключение  между  ними,   то   можно
подключить сразу несколько ИП к одному АЦП. Исходя из ТЗ и  главным  образом
из задачи макимально возможной аппаратной минимизации возможно  использовать
два 8-ми разрядных АЦП, к которым будет подключено по 8 ИП.

                         3.3. Устройство управления
      Для того, чтобы выделить узлы УУ, опишем работу УРС.  От  пользователя
поступает команда «Начать», которой  является  управляющее  слово,  задающее
диапазон  и  уровень  контроля.  После  этой  команды,  которая   передается
устройству управления через ИМ, УУ  запускает  все  блоки  УРС.  В  регистре
состояния запоминается диапазон (1-8). Сигналы с датчиков подаются на  входы
ИП.   На   входы   АЦП   попадает    отфильтрованный,    отмасштабированный,
проинтегрированный сигнал. Внутри АЦП производится поочередный выбор  входов
(каждому  датчику  соответствует  свой  вход  АЦП)  и  идет   преобразование
аналоговой величины в цифровую. С выхода АЦП цифровая  величина  попадает  в
блок сравнения. УУ формирует на входе  УС  код,  соответствующий  пороговому
уровню текущего канала В нем сравнивается это измерение с уровнем  контроля,
и, в зависимости от  результата,  передает  байт  соответствия  контрольному
уровню через ИМ  по  каналу  связи  в  ЭВМ.  Работа,  как  уже  упоминалось,
начинается и  заканчивается  по  командам  пользователя:  команда  окончания
работы попадает в ИМ, который передает ее УУ.
В итоге в устройстве управления можно выделить три блока:
 > блок установки и сравнения уровня контроля управляющий работой УС
 > блок управления выбором диапазона
 > блок запуска и окончания работы УРС


                  4. Реализация функциональных узлов в УРС.

   1. ИП реализуются  на  операционных  усилителях,  причем  один  усилитель
      является усилителем заряда, поступающего с датчиков,  один  масштабный
      усилитель с переключаемым коэффициентом усиления (по ТЗ в  УРС  восемь
      диапазонов и соответственно восемь Ку) и один интегрирующий усилитель.
      В итоге получаем три усилителя на каждый канал.
   2. АЦП, как отмечалось выше  необходимо  реализовать  на  2  микросхемах,
      имеющих по 8 аналоговых входа.
   3. Блок УС и УУ из-за их сложности  удобнее  реализовать  на  процессоре,
      чтобы все вычисления выполнялись программно, а не аппаратно.
   4. Блок ИМ можно реализовать на однокристальной микро-ЭВМ, со  встроенным
      последовательным портом. Так как по ТЗ УРС удален от  ЭВМ  на  20м,  а
      интерфейс RS232C обеспечивает только 15м, то требуется  дополнительная
      схема для  преобразования  уровня  сигнала.  В  качестве  такой  схемы
      подойдет   «токовая   петля».   Эта   схема,   во-первых,   осуществит
      гальваническую развязку УРС и  ЭВМ,  а,  во-вторых,  по  необходимости
      обеспечит связь более чем на 200м

                               4.1. Выбор АЦП
Ядром аналоговой части является АЦП.  Выделим  требования,  предъявляемые  к
АЦП:
  o Как уже говорилось, АЦП должен иметь 8 аналоговых  входа  с  внутренним
    переключением.
  o Погрешность  преобразования  должна  составлять  не  более  10%  полной
    погрешности устройства, заданной на уровне 2%, т.е. 0,2%.
  o АЦП должен преобразовывать биполярный входной сигнал.
  o АЦП  должен  иметь  малую  дифференциальную  нелинейность  и  небольшую
    абсолютную погрешность полной шкалы.
Т.к. мы решили УУ и блок  УС  реализовать  на  микропроцессоре,  то  удобнее
всего  использовать  МП   имеющий   встроенное   АЦП.   Всем   перечисленным
требованиям удовлетворяет  микроконтроллер  MC68HC16Z3  (его  характеристики
см. в Приложении №1). Однако данный микроконтроллер  имеет  лишь  один  АЦП.
Поэтому  необходим  еще  один  внешний  АЦП.  По  характеристикам   подходит
К572ПВ4. Данный восьмиразрядный АЦП имеет 64бит (8х8)  статическое  ОЗУ  для
хранения   результатов   преобразования.   Характеристики   микросхемы   при
температуре 25± 10°С:
|Интегральная нелинейность                     |-0.5…+0.5 EMP          |
|Изменение интегральной нелинейности от        |10-3 ЕМР/°С            |
|температуры                                   |                       |
|Дифференциальная нелинейность                 |-0.5…+0.5 EMP          |
|Изменение дифферинциальной нелинейности от    |10-3 ЕМР/°С            |
|температуры                                   |                       |
|Абсолютная погрешность преобразования в       |-1…+1 ЕМР              |
|конечной точке шкалы                          |                       |
|Время преобразования                          |< 30 мкс на частоте    |
|                                              |1,6МГц                 |
|Диапазон входных сигналов                     |–2.5…+2.5В             |
|Напряжение смещения нуля на входе             |-30…+30мВ              |
|Изменение смещения нуля от температуры        |не более 6мкВ/°С       |
|Напряжение источника питания                  |4.5…6.5В               |
|Опорное наряжение                             |-2.5…2.5В              |
|Потребляемый ток                              |400мкА.                |

                     4.2. Измерительный преобразователь
                           4.2.1. Усилитель заряда
      Усилитель заряда строится на операционном усилителе.  В  измерительных
устройствах необходимо усиливать без искажения слабые электрические  сигналы
с датчиков, сопровождаемые значительным уровнем синфазных,  температурных  и
других помех. Для этих целей  используют  прецензионные  усилители,  которые
обладают большим  значением  усиления,  подавляют  синфазный  сигнал,  малым
напряжением  смещения  нуля,  малым  уровнем   шумов   и   большим   входным
сопротивлением. Поэтому выбираем ОУ КР140УД17А.
Характеристики КР140УД17А:
|Коэффициент усиления                          |200(103                |
|Напряжение смещения нуля на входе             |75мкВ                  |
|Напряжение источника питания                  |-15…+15В               |
|Напряжение входное макс                       |15В                    |
|Входной ток                                   |3.8нА.                 |
|Потребляемый ток                              |2мА                    |


Как известно: [pic], где Сд – импеданс датчика (у нас 1.5 нФ)
На РИС 3 показан усилитель заряда. Усилитель заряда представляет собою
фильтр высоких частот (ФВЧ) со своей частотой среза, которая должна
равняться нижней частоте нашего сигнала. Тогда выбор резистора R0 и
конденсатора C0 осуществляется из следующего соотношения:
                                   [pic],
При этом должно выполняться условие fcp ( fн=2 Гц. Возьмём fcp=1Гц с целью
уменьшить искажения АЧХ в области низких частот.
С помощью усилителя заряда достигается передача сигнала с коэффициентом
передачи:
                                    [pic]
Если Кп = 1, то С0 = 1.5 нФ, следовательно, R0 = 100 MОм.
В качестве С0 возьмем К10-43А-МП0-1.5 нФ. Максимальная амплитуда сигнала на
выходе УЗ составляет 0.4*Кп = 0.4В.

                         4.2.2. Масштабный усилитель
      Масштабный усилитель  служит  для  согласования  амплитуды  сигнала  с
выхода УЗ с входным диапазоном АЦП. Построим его на  операционном  усилителе
К140УД17А в следующем включении (РИС 4).
Т.к. мы подаем на АЦП  опорные  потенциалы  –2,5В  и  2,5В  ,  для  удобства
выберем следующие диапазоны:
1) -0,5 В до +0,5 В (максимальная погрешность)
2) -0,75 В до +0,75 В
3) -1 В до +1 В
4) -1,25 В до +1,25 В
5) -1,5 В до +1,5 В
6) -1,75 В до +1,75 В
7) -2 В до +2 В
8) -2,5 В до +2,5 В (минимальная погрешность)

Коэффициент усиления задаётся резисторами R1, R2, R3, R4, R5, R6, R7,  R8  и
R9:
[pic]
Т.о.: Кп1=1,25; Кп2=1,875; Кп3=2,5; Кп4=3,125; Кп5=4,375; Кп6=5;  Кп7=5,625;
Кп8=6,25
Т.е.:  R9/R1=0,25;   R9/R2=0,875;   R9/R3=1,5;   R9/R4=2,125;   R9/R5=3,375;
R9/R6=4; R9/R7=4,625; R9/R8=5,25;
Учитывая, что R3>Rнагр.ОУ = 2КОм, возьмем R9=10КОм, то
R1=40 КОм; R2=11,5 КОм; R3=6,7  КОм;  R4=4,7  КОм;  R5=3  КОм;  R6=2,5  КОм;
R7=2,2 КОм; R8=1,9 КОм.

                       4.2.3. Интегрирующий усилитель
    Интегрирование аналоговых сигналов осуществляется ОУ с емкостной ОС.  В
этом случае выходное напряжение описывается выражением:
[pic], где U0=UВЫХ(t=0)–исходное выходное напряжение интегратора.

Основные  составляющие   ошибок   интегрирования   обусловлены   напряжением
смещения нуля UСМ и входными токами ОУ. При  UВХ=0  входные  токи  протекают
через  конденсатор  C2,  заряжая  его.  Это  приводит  к  появлению  линейно
изменяющейся составляющей выходного напряжения. Кроме того, UСМ  добавляется
к напряжению на конденсаторе, и, поскольку это напряжение равно UВЫХ,  такая
прибавка вносит в результат ошибку, равную UСДВ.
    Ошибку, вносимую входным током ОУ, можно уменьшить, если   использовать
ОУ с полевыми транзисторами на входе и зашунтировать конденсатор в  обратной
связи резистором R2.
    Частота  среза  интегратора  [pic].   Нижняя   граница   интегрирования
составляет  [pic].  Таким  образом,  полоса  частот,  в   которой   возможно
интегрирование, [pic].
    Найдем R1, R2, C2. Выберем C2=0.01 мкФ (К10-47А-МП0-0.01мкФ(5%),  тогда
[pic](для  уменьшения  погрешности  возьмем  fН=1Гц).   Будем   использовать
резистор С2-29В-0.25-16МОм(0.5%. На частоте 6кГц  [pic]  Будем  использовать
резистор  С2-29В-0.25-2.7кОм(0.5%.  Чтобы  убрать  постоянную  составляющую,
введем разделительный конденсатор C1. Т.к. входное сопротивление  равно  R1,
то [pic], откуда [pic]. Для 1Гц  C1=50мкФ.  Будем  использовать  К50-16-16В-
100мкФ.
                        5. Интерфейс передачи данных.

      На  выбор  способа  передачи  влияют  в  основном  два  фактора.   Это
необходимая дальность и скорость передачи. Дальность определена в задании  –
20м.  Тогда  как  скорость  передачи   выбирается   нами   по   собственному
усмотрению. Так как  20м  –  это  расстояние  на  5м  превышающее  предельно
допустимую дистанцию соединения ПЭВМ напрямую через  COM  порты,  необходимо
выбрать другой способ передачи нежели стандартный. Наиболее простой и то  же
время легко реализуемый – это интерфейс радиальный  последовательный  (ИРПС)
, который осуществляет к  тому  же  гальваническую  развязку  компьютера  от
объекта управления (см РИС 6.).
[pic]

      РИС 6.

Реализацию  интерфейса  облегчает  наличие  серийно  выпускаемых   микросхем
гальванической  развязки.  Это  микросхемы  АОТ  127  и  249ЛП1.  Рассчитаем
параметры “навесных” элементов:
Ток передачи рассчитывается как:
,


 где  U=5B
Ck = L*100пФ/м - емкость кабеля (L -  длина  линии  связи).  При  расстоянии
20м:  Ck=20м*100пФ/м=2нФ.
Длительность фронта t=T/10, где T длительность импульса.
При  скорости передачи в 19200 бит/сек: T=1/19200=52мкс,
                                   тогда t=52мкс/10=5.2мкс. Рассчитаем  Iтп:
                                      Наиболее близким стандартным значением
                                   тока в интерфейсе ИРПС является Iтп=20мА.
[pic]
Выберем R1=200 Ом
Далее, для того чтобы  транзистор  не  вошел  в  насыщение  R3  должен  быть
R3<0.1В/Iкбо
Iкбо?0,1мА, тогда R3<0.1В/Iкбо=0.1В/0.1мА=1кОм. Возьмем R3=500Ом
Е2 = 5В. Тогда R4=E2/Iтп=5В/20мА=250 Ом.
E2=UR4+UR5+UD4.
I2=10мА, UD4=1.5В.
E2=I2*R5+I2*R4+UD4, тогда R5=(E2-I2*R4-UD4)/I2,
R5=(5В-10мА*250Ом-1.5В)/10мА=100Ом.
R2=UR2/I1.  I1=10мА.
UR2=E1-(0.5+UD),  UD=1.5B.  E1 возьмем 5В, тогда
UR2=5-(0.5+1.5)=3B.  Тогда R2=3.1B/10мА=300 Ом.

                       5.1. Последовательный порт QSM
        Для   передачи   данных   мы    будем    использовать    асинхронный
последовательный порт (АПП). Как только мы получим  управляющее  слово,  это
будет для нас сигналом пользователя  о  начале  работы.  Когда  пользователю
вздумается завершить работу, он пошлет пакет со  всеми  единицами  во  время
передачи данных  от  УРС  в  ЭВМ,  когда  связь  ЭВМ(УРС  запрещена.  В  АПП
микроконтроллера  установится  флаг  прекращения  обмена  ТС  и   выполнится
программное прерывание, прекращающее работу устройства.
      Управление портом  производится  с  помощью  регистров  SCCR0,  SCCR1,
SCSR,  а  данные  считываются  из  SCDR.  Нам  нужно  обеспечить   следующие
характеристики передачи:
1. Передача производится на скорости 19.2 Кбит/с. В регистр SCCR0  при  этом
   записывается период следования синхроимпульсов (один синхроимпульс – один
   бит) Tt = 32(Ks/Ft в виде коэффициента Ks. Частота Ft =25,17МГц, тогда Ks
   будет равно 41.
2. Разрешаются прерывания при поступлении сигнала прекращения обмена
3. Устанавливается контроль четности
4. Размерность данных – 8 бит
5.  Активизация  приемника,  находящегося  в  режиме  холостого  хода,   при
   поступлении управляющего слова.
После записи информации в регистры,  приемник  автоматически  переводится  в
режим «холостого хода» и ждет команды пользователя.
                          6. Программирование УРС.



                     6.1. Основная блок-схема программы



                             6.2. Формат данных

      Назовем данные, которые будем передавать  в  ЭВМ  –  кадром.  Так  как
очередь у нас общая, а в ЭВМ необходимо установить принадлежность  данных  к
конкретному каналу, то в кадре должен присутствовать номер канала. Мы  имеем
шестнадцать каналов, поэтому  потребуется  четыре  бита  Так  как  интерфейс
передачи - RS232C, то за один сеанс связи мы можем передать максимум  8  бит
информации.



                          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. Инициализация блоков микроконтроллера

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


                           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, биты которого имеют следующее назначение:

SCF — признак, который принимает значение SCF  =  1  после  окончания  цикла
преобразования;
CCTR  —  поле,  указывает  номер  регистра   LJURR0-7,   в   котором   будет
располагаться результат следующего преобразования;
CCF0-7 — поле, i-й бит которого принимает значение CCFi  =  1  после  записи
результата преобразования в регистр LJURRi; после считывания этого  регистра
устанавливается значение CCFi = 0.
После анализа регистра ADSTAT результат из ADRi считывается в  промежуточный
регистр D. Затем, согласно  блок-схеме,  сравнивается  уровень  для  данного
канала и,  даллее происходит передача полученной информации в ЭВМ.



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


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

   Ниже представлены временные диаграммы устройства.
   Время реакции  на  команду  пользователя  (1  определяется  временем  ее
передачи по  каналу  связи  и  временем  выполнения  подпрограммы  обработки
прерывания   внутри   микроконтроллера,   которое   инициируется    командой
пользователя. Подпрограмма состоит из одной  команды  безусловного  перехода
на  основную  программу.  Поэтому   время   (1   примерно   равно   половине
микросекунды, времени выполнения команды перехода, так как время  физической
передачи по каналу пренебрежительно мало.  Время  (2  определяется  временем
инициализации АЦП – также одна команда записи в регистр,  следовательно,  (2
приблизительно равно четверти микросекунды. Таким  образом,  время  задержки
от прихода команды пользователя до  начала  преобразования  –  три  четверти
микросекунды.
   Цикл преобразования обоих АЦП составляет 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
-----------------------
 Установка диапазонов последовательно для каждого канала путем передачи трех
                          бит в регистр диапазона.

                                   НАЧАЛО



                                     A++

                                     нет

                                     нет

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

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

                                    ZF=1

                                   ZF = 0 ?

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

                             Регистр SCDR[pic]0?

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

                          Пришла комманда «Начать»?

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

 Инициализация блока АЦП(ADC), QSM(асинхронного послед. порта),  переменных
                             основной программы.

[pic]

[pic]

                              Регистр A[pic]16?

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

                                     нет

                                     нет

                Пока не получены данные для всех 16 каналов:
   Запись в регистр управляющего слова. Установка диапазона и запись в ОЗУ
                    уровня контроля для текущего канала.

                                   НАЧАЛО

                                    КОНЕЦ

                        Пришла комманда «Закончить»?

   Сравнение с соответствующим каналу уровню контроля. Запись результата в
                                  регистр.

                                     нет

следующий канал


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


                    Закончено преобразование с датчиков?

               Снимать данные последовательно для всех каналов

                          Проинициализируем порт Е.
     Синхронный режим, выборка по байту, только чтение, строб по адресу:
                     CSORBT[15:0][pic]101010 0 000100002
    Выделим блок адресного пространства для памяти АЦП с адреса $0000016

   Регистр контроля ADCTL0 записываем режим 10 разрядного преобразования,
                 задержка 16 тактов ADC c частотой 0,5 Мгц:
                         ADCTL0[15:0][pic] 011101112
   В регистре контроля ADCTL1 включаем режим постоянного опроса 8 каналов:
                          ADCTL1[15:0][pic]11100002

                       Инициализируем внутренний АЦП:
    Регистр конфигурации ADCMCR записываем режим без временных задержек,
                 учитывая все-же возможные остановки CPU16:
                     ADCMCR[15:0][pic]01000000 100000002

                          Переинициализируем порт.
                       SCCR1[15:0] [pic] 111000110002

             Передаем кадр в 2 этапа. Содержимое SCDR-TR0 в ЭВМ.

   Бит регистра передачи TR0 [16:0] в SCDRсоответствующий данному каналу=1

  Пока A[pic]16: Полученный результат с датчика превысил уровень контроля ?

                                     нет

Пользователь

Начать работу

Закончить работу

АЦП

30 мкс

30 мкс

30 мкс

30 мкс

30 мкс

30 мкс

1-й цикл

i-й цикл

Реакция на команду

Передача данных

Пересылка 8 бит пакета

(1

(2

t

t

t

t




смотреть на рефераты похожие на "Разработка устройства регистрации сигналов с датчиков"