Отличительной особенностью МК DS87C550 является перепроектированное ядро процессора, позволяющее исключить холостые такты и циклы памяти. В результате, каждая команда системы команд 8051 выполняется в три раза быстрее, чем стандартным МК, работающем на той же тактовой частоте. DS87C550 имеет максимальную тактовую частоту 33MHz, что эквивалентно работе стандартного МК с тактовой частотой до 99MHz.
МК C8051F120 выполняет 70% команд за 1 или 2 такта и обладает производительность до 100 MIPS на тактовой частоте 100МГц. Кроме того, он подходит по всем остальным параметрам для разрабатываемого устройства. Поэтому остановим свой выбор на нём.
АЦП должен быть сдвоенный и иметь частоту дискретизации 20 МГц. Такие АЦП выпускают многие производители. Так как Analog Devices выпускает качественные АЦП, то выберем из её продукции микросхему AD9288 c частотой преобразования 40 МГц.
3 Разработка принципиальной схемы и выбор электронных компонентов
Как видно из структурной схемы аналогового блока нужно рассчитать аттенюаторы или делители напряжения для ослабления сигнала по амплитуде.
Рисунок 3.1 – Делитель напряжения
Предположим, что нагрузки нет, тогда по закону Ома , а . Для различных делителей будет меняться коэффициент ослабления . , так как входное сопротивление входа осциллографа равно 1 МОм. В таблице 3.1 приведены результаты расчёта номиналов резисторов для делителей.
Таблица 3.1 – Номиналы резисторов для аттенюаторов
, МОм |
, МОм |
|
0.5 |
0.5 |
|
0.8 |
0.2 |
|
0.9 |
0.1 |
Резисторы на высоких частотах имеют паразитную ёмкость на подложку. Проволочные резисторы ведут себя хорошо на частотах до 50 кГц, углеродные резисторы используются на частотах до 1 МГц. Для данной схемы нужно использовать плёночные резисторы, которые имеют стабильные параметры на частотах до 100 МГц.
При работе в режиме постоянного напряжения сигнал подаётся сразу на делитель, а при работе с переменны напряжением для отсечения постоянных составляющих сигнала на вход ставится конденсатор. Конденсатор имеет комплексное сопротивление . На частоте 10 МГц при С = 100 нФ , что нам и требуется.
Делители должны отключаться и подключаться к цепи по отдельности. Для этого будем использовать аналоговые ключи ADG201, обладающие сопротивлением 60 Ом в открытом состоянии и размахом напряжения аналогового входа . Таким образом, коэффициент деления делителей не будет искажаться [2].
Для усиления сигнала будем использовать сдвоенный ОУ AD8008. ОУ имеет полосу пропускания по уровню -3 дБ равную 600 МГц при коэффициенте усиления и диапазон напряжения на входе равный .
На рисунки 3.2 показана рекомендуемая производителем схема включения [3].
Рисунок 3.2 – Схема включения ОУ
Как известно при не инвертирующем включении идеального ОУ, его коэффициент усиления определяется простой формулой: . Для задания коэффициента усиления в документации рекомендуется использовать следующие номиналы резисторов в: . Так как ключ включённый в цепь обратной связи ОУ имеет сопротивление в открытом состоянии 60 Ом, номинал .
Для фильтрации ВЧ помех в цепи питания микросхем включаем конденсаторы.
На рисунке 3.3 представлена схема аналогового блока.
Выбранный АЦП имеет дифференциальные аналоговые входы. Для преобразования однопроводного сигнала в дифференциальный производитель рекомендует использовать ВЧ трансформатор ADT1-1WT, который имеет сопротивление 75 Ом и полосу пропускания 800 МГц [4]. Трансформатор не пропускает постоянный ток, поэтому для измерения постоянного напряжения будем использовать встроенный в микроконтроллер АЦП.
Через состояние входов S1 и S2 задаётся режим вывода данных на цифровые выходы D7-D0. При S1=1, S2=0 (нормальный режим) данные на цифровые выходы канала A и B выводятся одновременно, как показано на рисунке 3.4.
Рисунок 3.4 – Временные диаграммы для нормального режима работы АЦП
Рисунок 3.3 – Принципиальная схема аналогового блока
АЦП имеет встроенный источник опорного напряжения (ИОН) напряжением 1.25 В, который подключен к выводу REFOUT. Ко входам REFINA и REFINB можно подключить внешний ИОН. Мы будем использовать встроенный источник, поэтому эти выводы не используются.
При подаче высокого уровня на вход DFS (Data Format Output) данные выводятся в дополнительном коде, а при низком уровня – в прямом коде.
На вход ENCA и ENCB подадим тактовый сигнал от МК для запуска процесса преобразования. На рисунке 3.5 изображена схема включения АЦП.
Порт P4 и P5 микроконтроллера подключены к цифровым выходам канала A и B АЦП соответственно.
Порт 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