Цифровой осцилограф

Автор работы: Пользователь скрыл имя, 03 Ноября 2012 в 04:38, курсовая работа

Краткое описание

В работе ставится задача придумать функциональную схему устройства, разработать в графическом редакторе OrCAD Capture принципиальную схему. В ходе разработки схем подобрать подходящие микросхемы для обеспечения нужных характеристик осциллографа. Написать программу для микроконтроллера.

Прикрепленные файлы: 1 файл

kursovik.doc

— 663.00 Кб (Скачать документ)

Порт P0 используется для вывода сигнала тактирования АЦП. Порт P3 - для подачи сигналов управления на ЖКД.

Порт P1 – используется для вывода данных на ЖКД.

Вывод VDD – напряжение питания цифровой части МК, DGND – земля цифровой части МК. Вывод AV+ – напряжение питания аналоговой части МК, DGND – земля аналоговой части МК [5].

TMS, TCK, TDI, TDO – выводы через которые производится загрузка и отладка программы. Они соединены c выводами JTAG интерфейса.

Так как мы будем использовать встроенный тактовый генератор с частотой 24.5 МГц, выводы XTAL1 и XTAL2 не используются. MONEN – монитор питания при высоком уровне напряжения на нём сбрасывает микроконтроллер, если VDD<VRST, а при низком уровне – он отключен.

На вывод VREF выводится напряжение ИОН. Вход VREFA подключим к выходу VREF для того чтобы использовать внутренний ИОН для работы АЦП. Таким образом, встроенный в МК АЦП будет измерять постоянное напряжение.

Для измерения постоянного  напряжения с канала 1 будем использовать вход AIN0.1, а для измерения постоянного напряжения с канала два - вход AIN0.2.

На рисунке 3.6 представлена схема цифрового блока.

 

 

 

Рисунок 3.5 – Схема включения АЦП

Рисунок 3.6 – Схема  включения МК

 

К порту P6 подключаются 8 кнопок, с помощью которых задаётся количество вольт на деление. К порту P7 подключены такие же кнопки, но с помощью них задаётся количество секунд на деление. После нажатия кнопка остаётся нажатой. Повторное нажатие переводит кнопку в исходное состояние. Схема иерархического блока кнопок приведена на рисунке 3.7.

Рисунок 3.7 - Схема иерархического блока кнопок.

 

 

 

 

Ко входу P2 подключены цифровые входы ключей. Подключение произведено через дешифраторы, чтобы уменьшить длину управляющего кода.

Для отображения осциллограммы воспользуемся ЖКД производства компании «Hantronix» HDM3224-1 c разрешением 320x240 пикселов и встроенным контроллером SED1335 фирмы «Epson».

Описание контактов SED1335 [6]:

Выходы:

VA0 - VA15 - 16 разрядный адрес памяти дисплея. Выходы подключены к адресным входам микросхем памяти.

VD0 – VD7 - 8 разрядная шина данных дисплея. Шина соединена с шинами данных микросхем памяти.

VRD - активный по низкому уровню выход управления чтением памяти дисплея. 

VCE - активный по низкому уровню сигнал управления режимом ожидания статической памяти. 

VWR - активный по низкому уровню выход управления записью памяти дисплея.

XD0 - XD3 - 4 разрядные выходы данных Х-драйвера (управление столбцами). Выходы соединены со входами данных D3 – D0 дисплея. 

XSCL – выход, вырабатывающий сигнал тактирования для сдвигового регистра (соединён со входом CP дисплея). Задний фронт XSCL защёлкивает данные XD0…XD3 на входе регистра сдвига. 

LP – защёлка импульса. Защёлкивает сигнал на сдвиговых регистрах Х-драйвера в защёлках выходных данных. LP - сигнал, отпирающий по заднему фронту, и приходящий один раз в каждой строке дисплея. 

YD – пусковой импульс развёртки. Он действует во время последней строки каждого кадра и сдвигает Y-драйверы один за другим (по YSCL), для проверки общих соединений дисплея.

Входы:

XG и XD – входы, к которым подключается внешний тактовый генератор

VDD - напряжение питания от 2.7 В до 5.5 В.

VSS – общий вывод.

D0 - D7 – шина данных. Контакты входа/выхода на три состояния. Подключаются к микропроцессорной шине данных.

SEL1 и SEL2 – контакты выбора интерфейса микропроцессора (таблица 3.2).

 

Таблица 3.2 – Виды интерфейсов, поддерживаемые контроллером SED1335

SEL1

SEL2

Интерфейс

A0

RD

WR

CS

0

0

Семейство 8080

A0

RD

WR

CS

1

0

Семейство 6800         

A0

E

R/W

CS


 

A0 – выбор типа данных. А0, в конъюнкции с сигналами RD и WR или R/W и Е, контролирует тип доступа к SED1335F, как показано ниже в таблице 3.3. 

 

Таблица 3.3 – Функции, поддерживаемые контроллером SED1335, настроенного на интерфейс семейства 8080

А0

RD

WR

Функция

 0

0

1

Чтение флага статуса

 1

0

 1

Чтение данных дисплея  и адрес курсора

 0

1

 0

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

 1

1

0

Запись команды


 

RD или E – сигнал чтения или разрешения. Когда выбран интерфейс семейства 8080, этот сигнал действует как активный низко уровневый строб-импульс чтения. 

WR или R/W – сигнал записи. Когда выбран интерфейс семейства 8080, этот сигнал действует как активный низко уровневый строб-импульс чтения. Шина данных защёлкивается по переднему фронту этого сигнала.

CS - выбор чипа. Этот активный по низкому уровню вход разрешает SED1335F.

RES – сброс. Этот активный по низкому уровню вход осуществляет аппаратный сброс SED1335F.

Схема представлена на рисунке 3.8.

 

 

Рисунок 3.8 – Схема  подключения ЖКД 

  4. Описание работы устройства

 

Аналоговый сигнал подаётся на вход Ain1 или Ain2. Сигнал ослабляется или усиливается по амплитуде в зависимости от заданного количества вольт на деление. После этого он преобразуется в дифференциальную форму трансформатором. И затем попадает на аналоговый вход АЦП. АЦП оцифровывает сигнал и каждые 25 нс на цифровых выходах АЦП появляется цифровой код соответствующий определённому уровню напряжения. Этот цифровой код считывается МК и записывается в память XRAM через промежуток времени, зависящий от количества секунд на деление. То есть происходит прореживание цифрового кода.

После записи в память, МК не реагирует ни на какие прерывания, а выводит информацию о сигнале в виде осциллограммы на ЖКД. После вывода одного кадра происходит считывание следующего кадра с выходов АЦП.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 Описание программы для микроконтроллера

 

Разработка программы для МК C8051F120 фирмы Silicon Laboratories с системой команд совместимой с MCS – 51 проводилось с помощью программного продукта Keil mVision2 версии 2.40a, симулирующего работу МК.

Программа состоит из блока настройки портов ввода  – вывода, генератора, периферийных устройств, прерываний, ЖКД и подпрограммы для ввода данных с АЦП - InputADC. На рисунке 5.1 показана блок – схема алгоритма программы для МК.

Используемые в программе  переменные:

    • kfn – коэффициент частоты дискретизации (n=1 или 2 – номер канала);
    • CoefAmplif – содержит число выводимое в порт P6 для задания коэффициента усиления;
    • i – переменна – счётчик;
    • Num – переменная, используема для записи в XRAM последовательности чисел; 
    • Switch – порт, управляющий аналоговыми коммутаторами;
    • Button_kf – порт, к которому подключены кнопки задающие kf
    • Button_CefAmplif - порт, к которому подключены кнопки задающие CefAmplif
    • Padc1 – АЦП канал 1;
    • Padc2 – АЦП канал 2;

Сначала программа подключает файл с определением регистров специального назначения, которые имеются в  данном микроконтроллере. Регистрам  общего назначения присваиваются имена  переменных приведённых выше. Порты P4 и P5 подключены к цифровым выходам АЦП и настроены как цифровые входы с открытым стоком. С помощью приоритетного декодера матрицы на разряд P0.0 выводится сигнал тактирования АЦП с частотой SYSCLK/4 (SYSCLK=100 МГц).

В переменную kf производится запись в младшие четыре разряда – коэффициента kf1 для задания частоты дискретизации сигнала с канала 1 и в старшие четыре разряда -  коэффициента kf2 для задания частоты дискретизации сигнала с канала 2. Связь значения коэффициента и частоты дискретизации приведена в таблице 3.1 (n=1 или 2).

Таблица 5.1 – Связь коэффициента частоты и периода дискретизации

kfn

f, Гц

T, с

TimeOnDiv

1

10М

100н

4 мкс

2

200н

5 мкс

3

2.5М

400н

10 мкс

4

500к

2мк

50 мкс

5

250к

4мк

100 мкс

6

50к

20мк

500 мкс

7

25к

40мк

1 мс

8

200мк

5 мс

9

2.5к

400мк

10 мс

10

500

50 мс

11

250

100 мс


 

Частота дискретизации  соответствующая количеству секунд на деление определяется по формуле:

 

    ,                         (3.3)

где  n – количество байт содержащих информацию об уровне сигнала;

       TimeOnDiv – количество секунд на деления;

       tmax и tmin – границы временного интервала.

Скорость работы МК позволяет сохранять  информацию  о сигнале за 90 нс. Поэтому максимальная частота дискретизации сигнала

 

                                            (5.1) .

Необходимая частота  дискретизации сигнала задаётся с помощью задания задержки между  считываниями данных с АЦП. Для создания задержки используется таймер TMR3. Таймер тактируется системным тактовым сигналом, и изменение значения таймера на 1 происходит каждые 10 нс. Для создания необходимой задержки в таймер записывается число, с которого он начинает счёт. Флаг переполнения таймера проверяется до тех пор, пока таймер не переполнится. Таким образом, создаётся задержка с точностью до 10 нс.

В переменную CoefAmplif загружается байт данных, содержащий информацию о коэффициенте усиления и о виде измеряемого напряжения (переменного или постоянного). Биты 7 и 6 управляют ключами S2A и S2C соответственно, которые подключают или отключают конденсатор. Биты 5, 4, 3 и 2, 1, 0 задают коэффициент усиления или ослабления Ku для канала 1 и канала 2 соответственно.

Связь Ku и вида измеряемого напряжения с числом в переменной  CoefAmplif приведена в таблице 5.2 (n=1 или 2 – номер канала).

Таблица 5.2 – Зависимость Ku и вида напряжения от CoefAmplif

CoefAmplif

Вид напряжения

Kun

XX 000 000

X

1/2

XX 001 001

X

1/5

XX 010 010

X

1/10

XX 011 011

X

10

XX 100 100

X

1

XX 000 000

DC

X

XX 000 000

AC

X


 

Ниже представлена блок-схема программы для МК.

 

 

Рисунок 5.1 – Блок схема алгоритма программы для МК

 

 

Ниже приведено более  подробное описание настройки контроллера SED1335.

После вывода кода 40h (команда «System Set») на шину данных контроллера, производится вывод восьми байтов (P1 – P8), содержащих параметры команды.

В программе задаются следующие значения этих параметров:

P1=30h.

M0=0 - внутренний генератор символов ROM.

М1=0 - генератор символов RAM1; 32 знака.

М2=0 - высота символа 8 пикселов (2716 или эквивалент ROM).

W/S=0 - однопанельное управление

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