Zoom (Лупа) из меню Circuit. К тому же результату приводит двойной щелчок на изображении прибора. На увеличенном изображении прибора устанавливают в необходимые положения органы его управления. Все приборы, перечисленные в разделе 1, имеют собственные органы управления, однако для их настройки используются одни и те же принципы:
1.
для выбора органа управления, выполненного в виде клавиши или кнопки, и его установки используется щелчок мышью после вывода указателя на клавишу или кнопку;
2.
чтобы изменить значение и единицу размерности вырабатываемой или измеряемой величины, производится щелчок на стрелках «вверх» и «вниз», расположенных сбоку от обозначения единицы размерности или ее значения. Иногда можно щелкнуть в свободном поле и нажать стрелочные клавиши «вверх» или «вниз» на клавиатуре для изменения значения величины. На некоторых приборах можно просто напечатать новое значение величины.
Мультиметр (рис.4) применяется для измерения напряжения, тока, сопротивления или ослабления сигнала в децибелах между двумя контрольными узлами схемы.
Режим работы мультиметра задается клавишами. Выбор клавиши осуществляется щелчком мыши на клавише верхнего ряда:
А - измерение тока (режим амперметра). Для измерения тока мультиметр должен быть включен своими зажимами «+» и «-» в разрыв цепи, где измеряется ток. Щелчком на клавишах
«
» или «-» задается режим измерения либо переменного (его среднего значения), либо постоянного тока. По умолчанию мультиметр в режиме амперметра обладает внутренним сопротивлением 1 мОм (10
-3
Ом), однако сопротивление можно изменить щелчком на клавише
SETTINGS (Установки) мультиметра. Следует иметь в виду, что включение низкоомного прибора в высокоомную схему может привести к снижению математической точности моделирования;
V - измерение напряжения (режим вольтметра). Для измерения напряжения между двумя точками схемы к ним необходимо подключить соответствующие прибора. Режим измерения и внутреннее сопротивление прибора (по умолчанию 1 Мом =10 6
) можно задать щелчком на клавишах «
», «-» и SETTINGS;
П - измерение сопротивления (режим омметра) выполняется между двумя точками схемы , к которым подключены зажимы прибора. Правильный результат измерения получается , если задан режим в децибелах между двумя точками«-», а измеряемая цепь не заземлена и не соединена с источником напряжения;
dB - измерение ослабления напряжения в децибелах между двумя точками схемы в соответствии с выражением dB=20lg((Vn-Vm)/Vст ) где V
n
и V
m
- напряжения в точках n и m , V
CT
- стандартное напряжение ( по умолчанию
1В)
219
Функциональный генератор ( рис. 5) является источником напряжения специальной формы Форма сигнала задаётся клавишами верхнего ряда. Частота сигналов, коэффициент заполнения , амплитуда и смещение базовой линии (постоянной составляющей напряжения) устанавливаются клавишами , расположенными ниже.
Изменение значений указанных параметров производится стрелочными кнопками сбоку от задаваемых значений:
FREQUENCY (Частота) выходных сигналов может устанавливаться в пределах от 1 Гц
(Hz) до 999 МГц;
DUTY CYCLE (Коэффициент заполнения) задает для прямоугольного сигнала отношение в % длительности импульса с высоким рабочим уровнем к периоду, а для треугольного сигнала - отношение длительности поло: линейно нарастающего фронта к периоду. Коэффициент заполнения 50% соответствует симметричной форме сигнала. Форма синусоидального сигнала не изменяется с изменением данного коэффициента;
AMPLITUDE (Амплитуда) задает максимальное значение выходного напряжения, отсчитываемое от базовой линии (смещения по постоянному току) в предположении, что выходной сигнал снимается с зажимов СОМ (Общий) и «+» (или СОМ и «-»). Если выходной сигнал снимается с зажимов «+» и «-», то амплитуда удваивается;
OFFSET (Смещение) задает величину постоянного смешения выходного сигнала - его базовой линии в пределах от -999 кВ до +999 кВ.
Отметим, что режим источника напряжения, реализуемый функциональным генератором, предполагает, что генерируемый сигнал свободен от искажений, шумов и пульсаций, свойственных реальным генераторам с реальной нагрузкой. Параметры генерируемого сигнала в режиме источника напряжения не зависят от величины подключенной нагрузки. Один из выходных зажимов генератора обычно подключается к земле.
Осциллограф имеет два канала А и В и может использоваться длявизуального наблюдения двух сигналов одновременно. Осциллограф можно также использовать в режиме , когда один сигнал откладывается в качестве аргумента по оси абсцисс, а второй в качестве функции по оси ординат. Кроме входных зажимов каналов А и В осциллограф снабжен клеммой заземления (GROUND) и входным зажимом запуска развертки TRIGGER (Запуск) (рис.6).
Управление осциллографом заключается в установке режимов его работы с помощью клавишных переключателей, на которых для их выбора выполняется щелчок мышью.
220
Щелчок на одной из кнопок Y/T, В/А, А/В определяет оси X и Y В режиме Y/T по оси X
откладывается время , а по оси Y— напряжение сигналов А и В. Масштабирование оси X
осуществляется в этом режиме кнопками «Т» и «4-» сбоку от табло текущего масштаба TIME
BASE (s/div - - с/дел). Скорость развертки можно изменять от 0,1 не до 0,5 с на одно деление шкалы. Масштаб по оси Y устанавливается для каждого канала отдельно соответствующими кнопками сбоку от указателей текущего масштаба и может изменяться от 0,01 мВ/дел до 50
В/дел. Можно также задать смещение начальной точки развертки по осям X и Y, причем смещение по оси X определяется кнопками X POS для обоих каналов одновременно. Если X POS установлено 0.00, то развертка начинается от начала экрана осциллографа, положительное ненулевое значение X POS сдвигает начало развертки вправо, а отрицательное - влево. Смещение сигналов по оси Y задается органами Y POS обоих каналов в пределах от -3 до 3 делений и используется для того, чтобы раздвинуть по вертикали изображения сигналов А и В. В режимах
В/А и А/В шкала по оси X определяется установленным масштабом по каналу А и В
соответственно.
Исследуемые входные сигналы могут подаваться в каналы А и В через открытые для постоянной составляющей входы и через закрытые входы. Выбор типа входа осуществляется щелчком на одной из клавиш АС, 0 или DC:
AC (Alternating Current - переменный ток) игнорирует постоянную составляющюю сигнала.
Данный режим эквивалентен подаче сигнала на вход канала через конденсатор большой емкости;
О (нуль) заземляет вход канала. Этот режим используется для коррекции положения луча на экране осциллографа в отсутствии входного сигнала;
DC (Direct Current - постоянный ток) показывает на экране сигнал с учетом его постоянной составляющей. Следует иметь в виду, что схемное подключение разделительного конденсатора между контрольной точкой и входом осциллографа является некорректным, так как конденсатор воспринимается программой как компонент с неподключенным выводом.
Елок TRIGGER осциллографа определяет режим запуска горизонтальной развертки.
Кнопки EDGE (фронт) «Г» и «|_» устанавливают запуск развертки соответственно по фронту и спаду запускающего сигнала. LEVEL (уровень) определяет пороговое напряжение, превышение которого приводит к запуску развертки. Кнопки AUTO, А, В и ЕХТ указывают, от какого сигнала производится запуск развертки:
AUTO - автоматический запуск;
А, В - запуск от входных сигналов А и В соответственно;
ЕХТ - запуск от внешнего сигнала, подаваемого на зажим TRIGGER. При подключении осциллографа его зажим GROUND следует подключать к общей точке (земле) схемы.
Частотный характериограф (Bode plotter - построитель диаграмм Боде) служит для вывода результатов моделирования в частотной области, изображая амплитудно-частотную характеристику (АЧХ) и фазо-частотную характеристику (ФЧХ). Прибор генерирует гармоническое напряжение с линейно изменяющейся частотой на своем зажиме IN и измеряет отношение напряжений на подключенных к схеме зажимах OUT (Выход) и IN (Вход), или же разность их фаз. Частоты всех источников переменного тока в схеме в процессе расчета игнорируются, однако схема должна включать хотя бы один такой источник.
221
Характериограф выводит на свой экран в функции частоты либо отношение амплитуд, выраженное в относительных единицах или децибелах, или разность их фаз в градусах. Режим работы прибора задается клавишами и стрелочными кнопками «Т», «4» (рис.7): щелчок на клавише MAGNITUDE или PHASE устанавливает режим измерения АЧХ или
ФЧХ соответственно; щелчок на клавишах LOG или LIN устанавливает логарифмический или линейный масштаб вертикальной VERTICAL и горизонтальной HORIZONTAL осей графика на экране прибора; шкалы осей задаются начальными (I) и конечными (F) значениями величин. По оси X всегда откладывается частота в Гц, а но оси Y откладывается безразмерная величина (LIN) или децибелы (LOG) для отношения напряжений и градусы для разности фаз; для точного отсчета результата измерений можно использовать визир прибора, управляя его позицией с помощью кнопок с изображениями горизонтальных стрелок «^», «^» в нижней части лицевой панели характериографа. Визир можно также перемещать с помощью мыши, для чего визир (в виде крестика в левом нижнем углу экрана прибора) следует перетащить в нужную точку на графике АЧХ или ФЧХ. Отсчет измеряемой величины появляется на цифровом табло в правой нижней части прибора.
Логический преобразователь не имеет физического прототипа и является чисто компьютерным инструментом для выполнения преобразований цифровой схемы и ее логического описания. Изображен прибор (рис. 8) шаблон содержит таблицы истинности в левой части, клавиши управления в правой части и дисплей для отображения логического выражения в нижней части лицевой панели.
Анализируемая или синтезируемая цифровая схема может содержать до восьми входных переменных ( аргументов) и один выход ( функцию). Аргументы обозначаются буквами А..Н, а функция - OUT. Режим преобразования назначается клавишами:Преобразование схемы в таблицу истинности. В этом режиме входы схемы подключить к зажимам А...Н, а выход - к зажиму
OUT. После щелчка на клавише шаблон таблицы истинности заполняется значениями переменных (0 и 1). Всего в таблице образуется 2
n
строк, где n- число аргументов;
5.
преобразование таблицы истинности в логическое выражение.
Для создания таблицы истинности (если она еще не образована предыдущим преобразованием) необходимо щелкнуть на нескольких входных зажимах, соответствующих аргументам А...Н,
Появляется полный набор комбинаций аргументов, против которых в колонке OUT функции надо напечатать значения функции (О, 1 или X, причем X обозначает неопределенное значение функции). После щелчка на клавише в нижней части прибора появляется алгебраическая запись функции, в которой вместо обычного знака отрицания в виде черты над символом используется знак «'», проставляемый за символом;
6.
преобразование таблицы истинности в минимизированное логическое выражение. Минимизация в ПЭВМ проводится методом Мак-Класки, допускающим по сравнению с методом карт
Карно большее число аргументов. Следует заметить, что минимизация может потребовать значительного объема памяти. Результат минимизации выводится в нижней строке прибора;
7.
преобразование логического выражения в таблицу истинности. Перед щелчком на этой на этой клавише следует ввести алгебраическое выражение в нижней строке прибора. Результат преобразования автоматически записывается в шаблон таблицы истинности ;
8.
преобразование логического выражения в цифровую комбинационную схему.
Напечатанное предварительно выражение после щелчка на этой клавише преобразуется в схему на рабочем поле монтажного стола;
НАМИ * создание цифровой схемы в функциональном базисе И, НЕ,
■+ TofT
222
NAN U распространенном в инженерной практике.
Практическая часть. Вся информация программы
Electronics Workbench, выводимая на экран
ПЭВМ, располагается в окнах, которые можно перемещать, прокручивать (просматривать), изменять размеры и закрывать
подобно другим окнам операционной среды WINDOWS. В окнах размещаются рабочее поле, магазин компонентов, панель инструментов, описание схемы и пр.
Если нужное в данный момент окно накрыто другими окнами, можно вывести его поверх остальных щелчком на титульной верхней полосе окна. Окно можно перетащить в другое место экрана ,установив указатель на титульной, полосе, нажав левую клавишу мыши, переместив окно и отпустить клавишу , когда окно окажется на новом месте. Двойной щелчок на кнопке в верхнем углу окна приводит к его закрытию. Для изменения размера окна следует перетащить его сторону или угол после появления на месте указателя двунаправленной стрелки. Для прокрутки окна можно перетащить кнопку, расположенную на правой стороне окна или полоску в нижней части окна. Щелчок внутри области частично скрытого окна делает это окно активным и выводит его наверх. Следует иметь в виду, что общая площадь рабочего поля монтажного стола в четыре раза больше той, которая выводится на экран, и для того, чтобы разместить дополнительные компоненты или просмотреть полностью рабочее поле надо использовать кнопки прокрутки, расположенные с правого и нижнего краев окна.
Открытие ранее созданного и сохраненного схемного файла осуществляется командой
Open (Открыть) из меню
File (Файл). При этом появляется диалоговое окно, из которого выбирается имя схемного файла, после чет производится щелчок на кнопке
ОК. К такому же результату приводит
Ctrl+O. В необходимых случаях на рабочем поле можно поместить текстовую информацию: позиционные обозначения, типы и значения параметров компонентов; краткое описание схемы; значения величин при настройке измерительных приборов. В большинстве случаев вставка текста назначается автоматически после вывода указателя на нужную позицию и щелчка мышью. Для перемещения указателя можно также использовать стрелочные клавиши и клавишу табуляции
Tab на клавиатуре
ПЭВМ. Информация или комментарии к схеме печатается в окне описания
(Description Window). Окно описания открывается командой Description из меню Window или сочетанием клавиш
Ctrl+D. Если нужно показать окно описания следует перетащить его к верхнему или нижнему краю рабочего поля и выбрать команду
Arrange (Упорядочивание) из меню
Window Эта команда
(или сочетание клавиш
Ctrl+W ) используется для упорядочивания составных частей монтажного стола. Указанная команда заставляет все открытые окна увеличиваться , насколько это возможно в конкретной ситуации. Для изменения порядка расположения частей монтажного стола следует перетащить эти части примерно туда , где их хотелось бы видеть, и выбрать вновь команду
Arrange из меню
Window. Способ упорядочивания окон зависит от их текущей позиции.
Перед проведением анализа собранную схему можно вывести на передний план командой
Circuit из меню
Window После создания схемы и подключения приборов можно назначить директивы анализа - опции (по умолчанию набор опций устанавливается автоматически, и зависят от типов подключенных измерительных приборов). Директивы анализа задаются командой
Analysis Options (Ctrl+Y) и предназначены для определения видов проводимых программой расчетов.
Указанная команда выводит на экран диалоговое окно со следующими опциями;
Analysis TypeВид анализа
Transient Переходной процесс
Steady state Установившийся режим
Active component Активный элемент
Измерение постоянных токов и напряжений предусмотрено в программе возможностью подключения амперметров и вольтметров из магазина компонентов.
Их количество не ограничено, поэтому при перемещении этих приборов на рабочее поле монтажного стола их изображения сохраняются в исходных позициях.
223
Assume linear operation Линеаризованный режим
Oscilloscope Display Экран осциллографа
Pause after each screen Пауза после каждого экрана
Store results for all nodes Запоминание результатов для всех узлов
Tolerance Погрешность
Points per cycle Точек на период
Bode plotter points per cycle Точек частотной характеристики
Temporary file size for simulation Размер временного файла для моделирования
Перечисленные опции относятся к моделированию аналоговых электронных схем.
Исследование цифровых схем Исследование цифровых схем, состоящих из логических комбинационных и последовательных узлов, проводится на функциональном и принципиальном уровнях. При функциональном анализе все цифровые компоненты полагаются по умолчанию идеальными, не обладающими задержками переключения и не требующими источников питания. Часто такого анализа оказывается достаточным для оценки функционирования спроектированного устройства.
Однако, если необходим более детальный анализ поведения схемы, или если схема включает наряду с цифровыми и аналоговые компоненты, то следует проводить моделирование на принципиальном уровне с указанием конкретных типов микросхем и цепей их питания.
Исследование обычно проводится во временной области с использованием осциллографа
и/или логического анализатора. Проверка комбинационных схем без элементов памяти может осуществляться также с помощью логического преобразователя.
Синтез
комбинационной схемы начинается, как правило, с таблицы истинности, в которой каждому набору аргументов ставится в соответствие то или иное значения
(0 или
1) булевой функции. Таблица истинности заполняется на экране раскрытого изображения логического преобразователя. Количество в таблице определяется количеством аргументов, которое назначается на кнопках, расположенных над формируемой таблицей истинности, и равно 2
n
, где
n- число аргументов. Для каждого набора аргументов после позиционирования указателя с помощью клавиатуры вводится значение функции.
Таблица истинности может быть преобразована в алгебраическое выражение или в минимизированное алгебраическое выражение щелчком на соответствующей клавише раскрытого изображения преобразователя .
Образовавшееся под таблицей истинности выражение, в котором знак отрицания изображается знаком «'» за соответствующим символом, можно далее реализовать на логических элементах
И, ИЛИ, НЕ, или же только на логических Элементах
И, НЕ щелчком на соответствующей клавише преобразователя Автоматически синтезированная схема появляется на рабочем поле монтажного стола.
Возможно также обратное преобразование алгебраического выражения или схемы в таблицу истинности, например при проверке правильности проведенного формального синтеза схемы. Эти преобразования назначаются также щелчками на соответствующих клавишах после прорисовки комбинационной схемы на рабочем поле монтажного стола.
Цифровая схема создается на монтажном столе в последовательности, описанной в разделе
2. Для извлечения компонента выбирается тот или иной раздел магазина компонентов и нужный объект перетаскивается на рабочее поле с помощью мыши.
Если перетаскивается компонент в виде корпуса микросхемы, то перед выполнением межсоединений двойным щелчком на изображении корпуса посредством открывающегося диалогового окна назначается тип микросхемы по ее функциональному признаку. Вторично произведенный двойной щелчок вызывает следующее диалоговое окно, предлагающее выбрать раздел библиотеки микросхем
(library). Всего имеется четыре раздела:
«cmos» (КМОП), «default» (по умолчанию),
|misc» (смешанные),
«ttl» (ТТЛ). По умолчанию компонент полагается идеальным.
224
Выбор разделов «cmos» и «ttl» предлагает уточнить через диалоговое окно технологическую модификацию микросхемы (напряжение питания, наличие мощного выхода «BUF», открытый коллектор «ОС» или сток «OD», скоростные свойства - «НС» (High-speed CMOS), маломощная ТТЛШ - «LS» (Low-power
Schottky)). Вызов функции «HELP»
(ПОМОЩЬ) клавишей F1 или выбором из меню выдает дополнительную информацию по выделенному компоненту.
225
Electronics Workbench располагает обширной библиотекой моделей цифровых компонентов, УГО которых могут изображаться двояко: либо в соответствии со стандартом
ANSI (American National Standard Institute), либо в соответствии с европейским стандартом DIN
(второй весьма близок к ГОСТам РФ). Система обозначений назначается при инсталлирования программы.
Раздел Logic Gates включает УГО вентилей (логических элементов) (табл.1) и изображения корпусов микросхем с обозначением функции.
Двойной щелчок на УГО вентиля приводит к появлению запроса о количестве его входов.
Раздел Digital предлагает комбинационные функциональные узлы, назначение которых обозначено на изображениях корпусов микросхем: MTJX (Мультиплексоры), DEC/DEMUX
(Дешифраторы/Демультиплексоры),
ENCODERS
(Шифраторы),
ARITHMETIC
226
(Арифметические узлы). Кроме того имеются УГО полусумматора (HS) и полного одноразрядного сумматора (SM). В разделе магазина также сосредоточены УГО различных триггеров, а также изображения корпусов микросхем с обозначением функции. Двоимой щелчок на изображении корпуса предлагает перечни: FLIP-FLOPS -триггеров, COUNTERS - счетчиков, либо SHIFT REGS - сдвигающих регистров, из которых выбираются конкретные типы и серии микросхем. В табл.2 приведены типовые представители данного раздела цифровых компонентов а в табл.3 УГО триггеров .
Разделы IC предлагает к выбору серии микросхем ("74хххх - ТТЛ, 4хххх -КМОП, знаком
«х» обозначены переменные позиции обозначения микросхем). Таблицы соответствия отечественных микросхем и их зарубежных аналогов даны в приложениях В и Г.
Раздел Indicators магазина компонентов содержит УГО приборов индикации, световой и звуковой сигнализации в соответствии с табл. 4.
В разделе гибридных (смешанных) микросхем имеются цифро-аналоговые и аналого- цифровые преобразователи, а также мультивибратор и таймер 555 (аналог отечественной микросхемы КР1006ВИ1) , которые можно использовать для создания схем в встроенными тактовыми генераторами и схем для связи цифровых узлов с аналоговыми. Анализ цифровых схем проводится преимущественно с помощью генератора двоичных слов
227
входы и выходы схемы, а также любые внутренние узлы в схеме. Если назначить цвета проводников, которыми входы подключены к схеме (см. п.2.2), то именно этими цветами будут окрашены соответствующие сигналограммы на экранах этих приборов. Анализ схемы при низкой
( Word generator) и логического анализатора (Logic analyzer) , который не был описан.
Генератор слов позволяет задать по тактам повторяющиеся с периодом 16 тактов 8 различных входных логических сигналов для проверяемой схемы. Логический анализатор позволяет наблюдать до восьми логических сигналов одновременно в восьми узлах схемы, каковыми могут быть
228
тактовой частоте может проводиться также при помощи световых пробников , подключаемых к интересующей пользователя узлами схемы . В отдельных случаях может оказаться полезным подключение головок громкоговорителей, падающих звуковой сигнал при превышении напряжением в контролируемом узле их порогов срабатывания.
Документирование практической работы Документирование практической работы заключается в создании текстового файла отчета о работе, включающего сведения о цели работы, описание аналитической части работы
(проектирование и расчет схемы), описание лабораторной установки (схемы и набора измерительных приборов на монтажном столе), экспериментальные данные и выводы. В отдельных случаях требуется выполнить твердую копию отчета путем распечатки файла.
В программе
Electronics Workbench можно задать распечатку любого или всех окон монтажного стола (окнами являются схема,
каждый из раскрытых приборов, описание схемы и пр.). Задание на печать назначается с помощью диалогового окна, вызываемого командой.
Print из меню
File. Диалоговое окно предлагает к выбору всю доступную информацию о моделировании, составляющие которой отмечаются щелчком в соответствующей строке. Печать инициируется щелчком на клавише
ОК. Можно также включить в файл отчета общий вид экрана
ПЭВМ после выполнения анализа и отражения результатов на экранах измерительных приборов. Для этого нажатием клавиши
Print Screen экран
ПЭВМ копируется в буфер, из которого затем производится его вставка в текстовый файл отчета с помощью панели инструментов редактора
Microsoft Word. Практическая работа №43. Системы управления и контроля на однокристальных микроконтроллерах фирмы Microchip. Цель работы: ознакомиться с системами управления и контроля на однокристальных микроконтроллерах фирмы
Microchip.
Теоретические сведения Разработанная фирмой
Microchip 16-битная платформа реализована в двух семействах 16- битных микроконтроллеров и в двух семействах цифровых сигнальных контроллеров. Цифровые сигнальные процессоры (ЦСП) - в английском написании
DSP (Digital Signal Processor) - известны с 1982 года, когда компания
Texas Instruments выпустила на рынок свой
TMS32010. Изначально ЦСП предназначались для военных применений, таких как радиолокация, шифрование и др. Среди решаемых ими задач были реализация быстрого преобразования Фурье
(БПФ), фильтрация, координатные преобразования и т. п. Все эти функции требовали предельного быстродействия, поскольку должны были выполняться в реальном масштабе времени. В связи с этим отличительной чертой архитектуры ЦСП являются наличие независимых умножителя и АЛУ, встроенной памяти для команд и отдельно для данных, а также нескольких шин, позволяющих одновременно производить выборку команды, выборку данных и запись результата. С учетом того, что большинство операций выполняются в ЦСП за один машинный такт, эти устройства позволяют достигать производительности, на порядок превышающей производительность универсальных микроконтроллеров (МК).
Главным достоинством ЦСП является универсальность (в смысле возможности решения широкого круга задач одним МК) и относительная простота программирования (вскоре вслед за возникновением первых кристаллов появился не только ассемблер, но и языки высокого уровня -
С и Ада). Благодаря стремительному развитию электронной технологии стало возможным не только реализовать на одном кристалле быстрый вычислитель, но и существенно расширить периферию, дополнить систему команд типичными микроконтроллерными инструкциями, реализовать эффективную систему прерываний. Сегодня некоторые ЦСП производительностью
100
MIPS (миллионов инструкций в секунду) стоят всего порядка 5 долларов. Таким образом, доведенная до совершенства возможность эффективного решения наукоемких задач и реально возникшая потребность рынка в таких задачах удачно разрешились появлением цифровых сигнальных процессоров для микроконтроллерных приложений.
229
Большинство производителей современных 8-разрядных МК используют гарвардскую
архитектуру, основной особенностью которой является использование раздельных адресных пространств для хранения команд и данных. Однако гарвардская архитектура является недостаточно гибкой для реализации некоторых программных процедур.
Семейства 16-битныхмикроконтроллеров и цифровых сигнальных контроллеров объединяет ряд общих характеристик: совместимость по назначению выводов различных 16-битных устройств; возможность использования для всех устройств одних и тех же инструментальных средств разработки программного обеспечения; аппаратно-программная совместимость всех одноименных периферийных модулей микроконтроллеров; общая базовая система команд процессора, используемая во всех семействах.
Выбор той или иной модели микроконтроллера или сигнального контроллера зависит от требований к разрабатываемому приложению. Для большинства недорогих устройств средней производительности подходят микроконтроллеры PIC24F, максимальная производительность которых составляет 16 MIPS. Для устройств, требующих высокой производительности, можно использовать микроконтроллеры PIC24H с максимальным быстродействием 40 MIPS.
Микроконтроллеры семейств PIC24F и PIC24H работают с одним и тем же набором инструкций процессора, включают одни и те же периферийные модули, имеют одну и ту же цоколевку, и для работы с ними используются одни и те же инструментальные средства для разработки программного обеспечения.
Если требуются дополнительные возможности по обработке сигналов, то вместо микроконтроллеров семейств PIC24F/H можно применить цифровые сигнальные контроллеры семейства dsPIC30F, которые могут помимо всего прочего работать при напряжении питания 5 В, или высокопроизводительные (40 MIPS) контроллеры dsPIC33F, которые имеют большой объем памяти и используют низковольтное (3.3 В) питание. В качестве инструментального средства разработки программного обеспечения 16-битных микроконтроллеров и цифровых сигнальных контроллеров используется свободно распространяемая интегрированная среда разработки (ИСР)
MPLAB IDE фирмы Microchip, которая позволяет разрабатывать и отлаживать 8-, 16- и 32-битные приложения. Среда MPLAB IDE позволяет выполнять тестирование и отладку программ с использованием мощного программного симулятора MPLAB SIM. Кроме того, для разработки программного обеспечения для 16-битных систем в среде MPLAB IDE можно использовать следующие инструментальные средства: ассемблер ASM30 — полнофункциональный макроассемблер, в котором можно создавать пользовательские макросы и использовать условное ассемблирование. Многочисленные директивы языка делают макроассемблер очень мощным средством разработки программ; компилятор программ, написанных на языке Си, который называется MPLAB C для PIC24.
Этот компилятор используется для компиляции и оптимизации программ, написанных для 16- битных микроконтроллеров PIC24F/H и цифровых сигнальных контроллеров dsPIC30/33. Он совместим со стандартом ANSI C и включает полную библиотеку стандартных функций ANSI C, в числе которых функции манипулирования строками, функции работы с динамической памятью, функции преобразования даты/времени и математические функции. В компиляторе MPLAB C для
PIC24 имеется мощный оптимизатор, позволяющий почти в 1,5 раза уменьшить размер программного кода по сравнению с компиляторами других фирм-производителей; визуальный генератор кода инициализации MPLAB VDI, позволяющий значительно упростить процесс создания инициализационного кода программы. С помощью VDI можно в графическом виде сконфигурировать устройство и по завершении вставить сгенерированный программный код инициализации в программу на языке Си или ассемблере; библиотеку периферийных модулей, включающую более чем 270 функций для работы с различными периферийными модулями; библиотеку математических функций, совместимую со стандартом IEEE-754, которая включает ряд функций для выполнения операций над обычными вещественными числами и вещественными числами с двойной точностью.
230
Функции этой библиотеки могут использоваться как в программах на языке Си, так и на ассемблере.
Кроме инструментальных средств разработки и отладки программного обеспечения фирмы- производителя на рынке присутствуют и программные средства, выпускаемые многими известными фирмами (Hi-Tech, CCS и т.д.). Из аппаратных средств разработки наиболее известна и популярна отладочная плата «Explorer 16 Development Board» фирмы Microchip, хотя другие фирмы также приступили к выпуску отладочных плат на базе 16битных микроконтроллеров.
Архитектура dsPIC/PIC24
Устройства семейства dsPIC/PIC24 имеют высокопроизводительный модуль центрального процессорного устройства с 16-битовой (данные) гарвардской двухшинной архитектурой с раздельной памятью программ и данных для конвейерной обработки.
ЦПУ имеет 24-битовое командное слово. Счетчик команд имеет 23 бита и адресуется к области памяти пользовательской программы 4Мх24 бита. ЦПУ имеет шестнадцать 16-битовых рабочих регистров для данных и адресов, шестнадцатый регистр служит как указатель стека для прерываний и вызовов. Также центральный процессор включает в себя 16-битовое арифметико- логическое устройство, блок умножения 17x17 бит, блок деления 32 бита/16 бит, 40-битовый накопитель данных и многорегистровое циклическое сдвиговое устройство.
Особенности архитектуры устройств семейства dsPIC/PIC24 заключаются в разделении областей памяти и шин для данных и программ (рис. 1).
Эта архитектура также дает возможность прямого доступа к программной памяти из пространства данных во время выполнения кодовой команды. Область памяти адресного пространства программы составляет 4М инструкций. Большинство периферийного оборудования поддерживает прямой доступ к памяти.
Контроллер прерываний dsPIC/PIC24 сводит многочисленные периферийные сигналы запроса на прерывание к единственному сигналу запроса на прерывание к ЦПУ. Он имеет следующие особенности: 7 программируемых уровней приоритетов, таблица векторов прерывания до 118 векторов, уникальный вектор для каждого прерывания, до 67 доступных источников прерывания, до 5 внешних прерываний, альтернативная таблица векторов прерывания для поддержки отладчика.
Все выводы устройства разделены на периферийные и параллельные портыввода/вывода.
Для повышения помехоустойчивости на всех портах ввода имеется триггер Шмидта.
Особенности цифрового ввода/вывода устройств dsPIC/PIC24: до 85 программируемых цифровых входов/выходов, выходные контакты могут управляться напряжением от 3 В до 3,6 В.
Все цифровые входы толерантны к напряжению 5 В (напряжение на выводе цифрового входа может быть от 0,3 В до 5,6 В), нагрузка по току (сток тока) 4 мА на всех контактах вход/выход.
Управление системой имеет следующие особенности: внешний кварцевый резонатор,
Таблица 1
Сводные характеристики микроконтроллеров Microchip с 16-битной архитектурой
С
ем ей ство
DSP
ядро
Ма кс
Прои зводи тель нос ть
,
MIPS
Прям ой дос туп к па м
яти
Ма кс объ ем
F
lash, кба йт
Ма кс
. объ ем
ОЗ
У,
кба йт
EEPR
OM
Ма кс кол
-во вы водов
Ди ап аз он на пряже ни й пи тан ия,
B
JTAG
PIC24F
-
16
-
128 8
-
100 2,0 - 3,6
+ dsPIC30
+
30
-
144 8
+
80 2,5 - 5,5
-
PIC24H
-
40
+
256 16
-
100 3,0 - 3,3
+ dsPIC33
+
40
+
256 30
-
100 3,0 - 3,3
+
231
встроенная система фазовой автоподстройки частоты (ФАПС), таймер запуска осциллятора, сторожевой таймер со своим собственным осциллятором, сброс в исходное положение от многих источников.
Управление режимом электропитания: режим ожидания, "спящий" режим и нерабочий режим с быстрым запуском.
Модуль таймера представляет собой 16-битовый таймер, который может служить как счетчик времени для часов реального времени или как автономный не синхронизированный счетчик интервалов. Таймеры 2/3, 4/5, 6/7 и 8/9 являются 32-битовыми и могут конфигурироваться как четыре независимых таймера с выбираемыми рабочими режимами.
Организация памяти программ и памяти данных.
В микроконтроллерах семейства PIC24 реализована гарвардская архитектура, в которой память программ и память данных разделены, что позволяет осуществлять прямой доступ к памяти программ из памяти данных во время выполнения программного кода. Организация памяти программ для ЦСП семейства dsPIC со 128 Кбайт флэш-памяти показана на рисунке 2.
Карта памяти программ всех контроллеров dsPIC/PIC24 линейная и несегментированная.
Все инструкции имеют фиксированную длину 23бита; счетчик инструкций - 23-битный, младший бит всегда равен 0 для обеспечения выравнивания данных при выборке инструкции. Таким образом, эффективное количество адресуемых инструкций равно 4 млн.
232
Пользовательским программам доступна область памяти в диапазоне адресов
0x000000...0x7FFFFF, за исключением области конфигурации устройства, доступ к которой осуществляется посредством инструкций tblrd/tblwt. Память программ организована в виде блоков, адресуемых пословно. Хотя адрес памяти является 24битным, более удобно рассматривать любой адрес в виде младшего и старшего слова, при этом старший байт старшего слова не используется и равен 0. Младшее слово всегда располагается по четному адресу, а старшее - по нечетному. Следует сказать, что адреса памяти программ всегда выравниваются по границе слова и при выполнении программного кода всегда инкрементируются и декрементируются на 2.
Область памяти программ между адресами 0х000000 и 0х000200 зарезервирована для векторов прерываний. По адресам 0x000000 и 0x000002 размещается команда перехода к фактическому началу программы, при этом по первому адресу располагается код операции инструкции goto, а по второму — собственно адрес точки входа в программу. Также в памяти программ размещаются две таблицы векторов прерываний. Одна из них располагается в диапазоне адресов 0x000004...0x0000FF, а вторая (альтернативная) — в диапазоне адресов
0x000100...0x0001FF.
Физически программная память во всех контроллерах 16-битного семейства реализована в виде перепрограммируемой Flas-памяти. Все контроллеры поддерживают внутрисхемное программирование и программирование в ходе выполнения программы.
В ходе выполнения программы существует три способа доступа к программной памяти:
Рисунок 2 - Организация памяти программ ЦСП семейства dsPIC33
233
а)
Выборка инструкции в соответствии со значением командного счетчика - собственно само выполнение программы. б) Использование инструкций табличного чтения-записи, позволяющее получить доступ как к слову
(16 бит), так и к байту программной памяти.
Табличная запись осуществляется через буфер, не отображаемый в ОЗУ. Для контроллеров
dsPIC30 минимальный объем записываемых данных равен 12 байтам (4 программных слова, 1/8 сектора Flas^-памяти), для контроллеров
dsPIC33 и
PIC24F/H - 192 байта (64 программных слова — один сектор Flas-памяти). в) Чтение программной памяти с помощью механизма
PSV (Program SpaceVisibility)
- отображения сектора памяти программ в область ОЗУ. Механизм
PSV позволяет отобразить любую часть программной памяти объемом 32 кбайт в верхнюю, не реализованную физически область ОЗУ.
PSV предоставляет уникальную возможность обращаться к младшим 16 битам программного слова как к динамическим данным - любые инструкции, осуществляющие чтение из ОЗУ, могут использовать программную память в качестве источника. Механизм
PSV применяется, если алгоритм содержит большие массивы констант: текстовые строки, коэффициенты цифровых фильтров и т. п.
Существенное отличие
dsPIC30 от остальных
16-битных семейств
(dsPIC33,PIC24F/H)заключается в технологии изготовления интегрированной Flas-памяти. Как следствие - различное количество циклов перепрограммирования. Для
dsPIC30 оно составляет
100 тыс., для
dsPIC33 и
PIC24F/H— всего 1 тыс. Может показаться, что это серьезный недостаток новых контроллеров, однако, как показывает практика, 1 тыс. циклов перезаписи достаточно для большинства задач, в том числе и для реализации калибруемых устройств.
Различная технология изготовления кристалла определяет и различие в спецификации программирования - микроконтроллеры
dsPIC33 и
PIC24F/H не требуют подачи высокого напряжения (13 В) на кристалл во время программирования. Кроме того, значительно увеличилась скорость операций с памятью - для контроллеров с объемом
Flash 64 кбайт полный цикл стирание/запись занимает менее 1 секунды.
Адресное пространство памяти данных для ЦСП семейства
dsPIC представляет собой непрерывную область 16-битных адресов с линейной адресацией (рисунок 3). Адрес для доступа к данным формируется двумя модулями генерации адресов, один из которых используется в операциях записи, а другой — в операциях чтения данных.
Шина адреса данных микроконтроллеров
dsPIC30/33 и
PIC24F/H позволяет адресовать до
64 кбайт памяти ОЗУ, которая физически выполнена в качестве статической памяти с возможностью байтового доступа. Почти все инструкции, работающие с ОЗУ, имеют спецификатор, указывающий, будет ли осуществляться доступ к слову (16 бит) или к байту.
В начале ОЗУ находится область регистров специального назначения
(SFR) объемом 2 кбайт. Внутри семейства все регистры
SFR расположены статически по одним адресам.
С адреса
0x800 начинается сектор ОЗУ общего назначения, максимальный объем которого составляет 30 кбайт; в разных контроллерах только часть этого сектора может быть реализована физически. Верхнюю половину ОЗУ занимает область, в которую отображается часть программной памяти при использовании механизма
PSV. В семействах с .DSP-ядром
(dsPIC30/33) реализовано два адресных генератора, что позволяет инструкциям DSP-ядра делать две выборки из ОЗУ за один командный такт. Это объясняет разделение области ОЗУ общего назначения на два сектора
X и Y. Однако такое разделение не является сегментированием или ограничением - для всех инструкций
CPU-ядра сектор ОЗУ общего назначения линеен.
Первые 8 кбайт ОЗУ (включая область
SFR) называются пространством ближней памяти
(Near Data Space). Прямая адресация возможна только к этому сегменту. Остальная часть ОЗУ может быть адресована косвенно.
16-битная архитектура
Microchip предусматривает использование программного стека, указателем на который является один из рабочих
(work) регистров. Стек растет с увеличением указателя, при этом возможен аппаратный контроль переполнения и опустошения стека. В случае переполнения или опустошения стека, ядром процессора генерируется аппаратное исключение -
234
специальный вид прерывания. Размер стека определяется программно.
При вызове подпрограммы в стек заносится адрес возврата и часть регистра статуса.
Указатель на стек может быть изменен программно, что позволяет реализовывать гибкие системы реального времени.
В 16-битном ядре также присутствует
LINK-регистр, который позволяет выделять в стеке фрейм для локальных переменных функции. Процедуры выделения и сброса фрейма выполняются программно за один командный такт.
Все действующие адреса памяти данных
(Effective Addresses, EA) имеют размер 16 бит, что позволяет адресовать 64 Кбайт памяти. Нижняя половина адресов памяти данных, для которых старший бит действующего адреса равен 0, используется для адресации данных, а старшая половина адресов, для которых старший бит адреса равен 1, для отображения памяти программ на память данных
(Program Space Visibility Area, PSVA). Данные в памяти выравниваются по границе слова, при этом младшие байты имеют четные, а старшие — нечетные адреса.
Микроконтроллеры семейства
dsPIC30 имеют интегрированную память
EEPROM, которая отображена в соответствующем секторе программной памяти. Семейства
dsPIC33, PIC24F/H не имеют
EEPROM, что связано с изменением технологии изготовления кристаллов. Поэтому при необходимости наличия в системе энергонезависимой памяти малого объема с большим количеством циклов перепрограммирования рекомендуется использовать внешние микросхемы памяти
EEPROM с последовательным интерфейсом.
Режимы адресации и система команд. 16-битная архитектура
Microchip имеет в своем составе блок из 16 рабочих регистров
W0...W15. Все регистры ортогональны с точки зрения системы команд, то есть могут быть использованы в качестве операнда инструкции. Часть регистров имеет служебные функции:
W15 - это указатель стека,
W14 - указатель стекового фрейма. Некоторые инструкции могут использоваться в качестве операндов или регистров сохранения результата только в определенный W- регистр или регистровую пару.
16-битные микроконтроллеры
Microchip имеют расширенный набор инструкций, большинство из которых поддерживает операции типа «чтение-модификация-запись», что позволяет работать с данными напрямую в ОЗУ, не используя рабочие регистры. Большинство инструкций являются трехоперандными и могут работать как с байтами, так и с 16-битными словами.
Семейства с ASP-ядром
(dsPIC30/33) имеют 83 инструкции (включая инструкции
DSP-ядра), семейства без
DSP-ядра (PIC24F/H) - 76.
Все инструкции выполняются за один командный такт за исключением:
- инструкций изменения программного потока - 2 или 3 такта;
- инструкций табличного чтения/записи - 2 такта;
- инструкции
MOV.D - 2 такта;
- инструкции
DO - 2 такта.
Все инструкции можно условно разделить на несколько групп:
-
MOVE - инструкции перемещения данных;
-
MATH - инструкции выполнения математических операций;
-
LOGIC - инструкции выполнения поразрядных логических операций;
-
SHIFT/ROTATE - инструкции сдвига с переносом и без переноса;
-
BIT - инструкции работы с битами;
-
STACK - инструкции работы со стеком;
-
PROGRAMM FLOW - инструкции изменения программного потока (переходы, вызовы, условные переходы);
-
CONTROL - инструкции управления ядром (инициализация аппаратных циклов, программный сброс, перевод контроллера в энергосберегающий режим);
-
DSP - инструкции DSP-ядра, присутствуют только в системе команд контроллеров
235
dsPIC30/33.
Архитектура поддерживает большое количество методов адресации:
1.
Непосредственная адресация, позволяющая задавать значение операнда в команде. Таким образом, в команде содержится не адрес операнда, а непосредственно сам операнд. При непосредственной адресации не требуется обращения к памяти для выборки операнда и ячейки памяти для его хранения. Это способствует уменьшению времени выполнения программы и занимаемого ею объёма памяти. Непосредственная адресация удобна для хранения различного рода констант. Операнд должен быть расположен в области Near
Space:
; Сложение значения 0x900 с W0. add #0x900, W0, W1 ; Результат сохраняется в W1
Прямая адресация, когда часть команды является адресом операнда (обрабатываемого слова) в памяти. Если известен адрес операнда располагающегося в памяти:
; Помещение b в регистр W1. mov b, W1
Регистровая адресация, когда операнд находится в одном из регистров процессора. Операнды могут располагаются в любых регистрах общего назначения или сегментных регистрах.
; Поразрядное логическое ИЛИ регистров W0 и W2, ior W0, W2, W5 ; сохранение результата в W5
Регистровая косвенная адресация, когда адрес операнда извлекается из регистра процессора: add W4, [W5], [W6]
; сложение W4 со значением, адрес которого хранится в ; W5, сохранение результата по указателю W6
Косвенная адресация с пре/пост инкрементом и декрементом, при этом учитываются правила адресной арифметики в зависимости от типа операнда (байт или слово): mov [++W0], [W1--], W6 ; Увеличение указателя W0 на 2, перемещение значения ; по указателю W0 в ячейку, на которую указывает W1,
; уменьшение указателя W1 на 2,
; сохранение результата в W6
косвенная адресация со смещением: mov [W4+W5], [W6++], W2 ; Получение указателя на ячейку операнда,
; путем сложения W4 и W5, перемещение значения ; по полученному указателю по адресу W6,
; увеличение значения W6 на 2,
; сохранение результата в W2
Поддержка различных методов адресации позволяет получать очень компактный код при использовании компиляторов с языков высокого уровня. Следует также отметить возможность вызова и перехода по значению в регистре (аналог вызова функции по указателю в Си) и инструкцию запрещения прерываний на определенное количество командных тактов (позволяет выполнять набор инструкций как одну атомарную).
Практическая работа №44. Коммуникационные микроконтроллеры (цифровые сигнальные
процессоров (ЦСП) фирмы Microchip).
Цель работы: изучить основы программирования цифровых сигнальных процессоров
(ЦСП) фирмы Microchip. Научиться создавать новый проект, настраивать параметры проекта, компилировать проект.
Теоретическая часть
Для программирования ЦСП фирма Microchip предоставляет разработчику программную среду MPLAB IDE. Данная программная среда позволяет выполнить весь спектр операций при создании работоспособного кода для ЦСП. Разработчик имеет возможность создать программный
236
код как на языке низкого уровня - ассемблер, так и на языке высокого уровня - СИ. Выбор языка программирования выполняется на этапе создания проекта. Также, в особых случаях, существует возможность использования двух языков программирования. После написания программы, ее компиляции (создания машинного кода по написанному разработчиком ассемблерному или СИ коду), имеется возможность пошаговой отладки программного кода. Процесс отладки представляет собой важный этап в разработке программного кода, при котором выявляются ошибки невидимые компилятором (ошибки, не являющиеся синтаксическими), например взаимодействие отдельных блоков кода программы, взаимные противоречия и т.п. Уменьшить возможные логические ошибки помогает детальная схема алгоритма программного кода.
Последним этапом является программирование ЦСП откомпилированным машинным кодом. Для программирования ЦСП в работе используется внутрисхемный отладчик
ICD2. Он может работать как программатор, так и внутрисхемный отладчик. В режиме работы
ICD2 как внутрисхемного отладчика пользователь может отлаживать (прогонять) программу непосредственно в готовом устройстве. Существуют ошибки программного кода, которые возможно выявить только при использовании внутрисхемного отладчика.
Практическая часть 1.
Запустите
MPLAB IDE. 2.
Выберите меню
3.
На первом шаге необходимо выбрать процессор
dsPIC33FJ256GP710. 4.
На втором шаге выберите язык программирования -
Microchip ASM30 Toolsuite. 5.
На третьем шаге необходимо определить каталог нового проекта и название. Следует отметить, что путь должен быть только из латинских букв и не слишком длинным.
6.
На четвертом шаге в проект включаются уже готовые модули. Пока пропустите данный этап.
После выполнения вышеприведенных шагов экран будет выглядеть, как показано на рисунке 4. В данном случае в окне с названием проекта нет ни одного рабочего файла.
Подключение библиотек и упаковочных файлов процессора
1.
Нажмите правой клавишей по полю с надписью
. 2.
Выберите .
3.
Необходимо подключить файл
, расположенный в каталоге
4.
Нажмите правой клавишей по полю с надписью