Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С — страница 38 из 70

В этой главе мы ответим на поставленные вопросы. Мы подробно исследуем электрические характеристики выходов МК семейства 68HC12. Вы должны детально освоить этот материал, поскольку он является основой для проектирования электронных цепей сопряжения МК с различными устройствами ввода и вывода. Далее мы рассмотрим типовые способы подключения к МК наиболее часто используемых устройств ввода и вывода, научимся составлять программы для взаимодействия МК с этими устройствами. В завершении главы мы рассмотрим пример реализации на МК кодового замка. В процессе изучения мы, как и предыдущих главах, будем использовать МК семейства 68HC12, однако все рассмотренные методики полностью применимы и к МК семейства HCS12.

5.1. Электрические характеристики МК 68HC12

Микроконтроллеры 68НС12 принадлежат к семейству интегральных схем HC, выпускаемых компанией Motorola по технологии «high-speed CMOS». CMOS (Complementary Metal Oxide Semiconductor) или в русскоязычной терминологии КМОП — это технология производства цифровых интегральных схем на основе Комплементарных полевых транзисторов со структурой Металл–Окисел–Полупроводник. Семейство HC объединяет цифровые ИС различной степени интеграции: от простых логических элементов, счетчиков, дешифраторов до микроконтроллеров с архитектурой различной сложности. Все элементы, принадлежащие к семейству HC, электрически совместимы, поэтому сопряжение МК 68HC12 с другими элементами семейства HC не вызовет у Вас затруднений. Однако, если в процессе проектирования Вам потребуется подключить к выводам МК 68HC12 интегральные схемы, которые не принадлежат к семейству HC, то Вы должны провести анализ на совместимость электрических характеристик МК и этих ИС.

Рис. 5.1. Номограмма электрической совместимости логических элементов


Производители электронных компонентов обычно указывают их электрические и динамические характеристики в справочном листе, Для проведения анализа о возможности сопряжения компонентов Вам потребуются следующие восемь параметров (рис. 5.1):

• VOH — минимальное выходное напряжение логической 1;

• VOL — максимальное выходное напряжение логического 0;

• IOH — максимальный выходной ток логической 1;

• IOL — максимальный выходной ток логического 0;

• VIH — минимальное входное напряжение логической 1;

• VIL — максимальное входное напряжение логического 0;

• IIH — максимальный входной ток логической 1;

• IIL — максимальный входной ток логического 0.

Необходимо знать численные значения параметров из приведенного списка для всех ИС, которые подлежат объединению в систему. В нашем случае одной из таких ИС обязательно является МК семейства 68HC12, численные значения обсуждаемых параметров для которого приведены ниже:

• VOH = 4,2 В;

• VOL = 0,4 В;

• IOH = –0,8 мА;

• IOL = 1,6 мА;

• VIH = 3,5 В;

• VIL = 1,0 В;

• IIH = 10 мкА;

• IIL = –10 мкА.

Обратите внимание, некоторые токи в этом списке указаны со знаком минус. Это означает, что соответствующий ток вытекает из МК. А токи с положительным знаком втекают в МК. Очень легко запомнить это условное обозначение, воспользовавшись аналогией с собственными денежными средствами. Финансовые поступления на ваш счет Вы рассматриваете со знаком плюс, а траты, т.е. вытекающие финансы, — со знаком минус.

5.1.1. Нагрузочные характеристики

Предположим, что некая периферийная ИС присоединена к выводу МК. Если входной ток этой ИС превышает максимальный выходной ток вывода МК, то могут возникнуть проблемы с формируемыми микроконтроллером уровнями напряжений логической 1 или логического 0. Выходные токи МК различаются в состоянии логической 1 и логического 0, поэтому рассмотрим эти два случая по отдельности.

а) Для втекающего тока нагрузки

б) Для вытекающего тока нагрузки

Рис. 5.2. Нагрузочные характеристики логического элемента, выполненного по технологии HC CMOS


Если на выходе МК формируется напряжение низкого логического уровня VOL, то ток нагрузки IOLположительный, т.е. ток нагрузки втекает в МК. Интегральная схема, присоединенная к выводу МК, формирует вытекающий ток IIL, который и является током нагрузки вывода МК. Если величина входного тока ИС IILпревышает указанное в листе электрических характеристик значение максимального тока нагрузки IOL, то выходное напряжение VOL на выходе МК может повыситься. Это явление иллюстрируют выходные характеристики МК в состоянии логического 0 (рис. 5.2,а). При определенном токе нагрузки IOLнапряжение на выводе МК может превысить значение входного напряжения логического нуля VIL для периферийной ИС. Тогда периферийная ИС будет поставлена в ненормированный режим работы, ее работа в соответствии с техническим описанием не гарантируется.

Если на выходе МК формируется напряжение высокого логического уровня VOH, то ток нагрузки IOHотрицательный, т.е. ток нагрузки вытекает из МК. Входной ток IILприсоединенной ИС является втекающим. Таким образом, ток нагрузки IOHвытекает из МК и втекает в периферийную ИС. Если величина входного тока ИС IIH превышает значение максимального тока нагрузки IOH, то выходное напряжение VOHна выходе МК может понизиться. Это явление иллюстрируют выходные характеристики МК в состоянии логической 1 (рис. 5.2,б). При определенном токе нагрузки IOHнапряжение на выводе МК может стать ниже минимально допустимого значения входного напряжения логической единицы VIHдля периферийной ИС. И мы опять поставим периферийную ИС в ненормированный режим работы, при котором ее функционирование может не соответствовать желаемому.

В справочных данных компания Motorola/Freescale Semiconductors обычно указывает, что максимальный ток нагрузки для каждого из выводов портов равен ±25 мА. Однако следует понимать, что это всего лишь максимальный ток, который могут выдержать транзисторы выходного буфера линии порта. При таком токе нормированные значения выходного напряжения линии в состоянии логического 0 или логической 1 не гарантируются.

Во многих приложениях МК должен управлять некоторым устройством, входные напряжения и токи которого, превышают выходные параметры МК. Что делать в этом случае? Ответ категоричный. Вы, как разработчик системы, должны убедиться, что подключаемое устройство не превышает нагрузочных характеристик используемых линий МК. В противном случае нельзя выполнять непосредственное соединение, и необходимо разработать цепи усиления и согласования.

5.1.2. Что произойдет, если Вы должным образом не учтете электрические характеристики периферийных ИС?

Давайте рассмотрим очень простой пример. Мой близкий друг, доктор Jim Rasmussen (J.R.) работал инженером-электронщиком в течение 20 лет. В свое время, возвратясь из рядов вооруженных сил, он поступил на работу по контракту в одну известную фирму. Его первым заданием было спроектировать панель аварийных состояний. Эта панель должна была иметь несколько логических выходов, состояние которых отображалось светодиодными индикаторами. Одна из возможных схем подключения светодиода к выходу логической ИС показана на рис. 5.3. Давайте предположим, что вместо этой логической схемы используется выход МК семейства 68HC12. Видите ли Вы какие-либо проблемы в этой схеме? Для ее обсуждения давайте сначала более подробно остановимся на электрических характеристиках индикаторных светодиодов.

Рис. 5.3. Неудачная схема подключения светодиода к логическому элементу


Светодиоды видимого спектра излучения в настоящее время доступны во множестве цветовых решений. Они могут светиться красным, желтым, зеленым, синим, белым и оранжевым цветами. Светодиодные индикаторы характеризуются относительно малой мощностью потребления в сочетании с большим сроком службы. Светодиод имеет два вывода: анод и катод. Во время излучения напряжение между анодом и катодом должно быть положительным.

Светодиоды характеризуются двумя основными параметрами: рабочим током и напряжением прямого смещения. Типичные значения рабочих токов светодиодов лежат в диапазоне от 10 до 15 мА, при этом прямое падение напряжения составляет 1,5 В. Для того, чтобы светодиод излучал, необходимо подключить его к источнику напряжения более 1,5 В и при этом обеспечить протекание прямого рабочего тока 10…15 мА.

Посмотрим, как эти условия выполняются в приведенной схеме (рис. 5.3)? Если на выходе МК формируется напряжение логической 1, то протекание тока через светодиод в требуемом направлении возможно. Величина выходного напряжения логической единицы VOHпревышает 1,5 В, поэтому условие по прямому напряжению в этой схеме выполнено. А как насчет тока? Можно рассчитать величину сопротивления R, при которой в цепи светодиода будет протекать ток 10…15 мА, и светодиод будет светиться. Но тогда понизится выходное напряжение VOH, и его величина может стать меньше, чем входное напряжение логической 1 VIH. Тогда подключение к такому выходу других логических схем невозможно, поскольку их надежная работа не гарантируется. Они просто могут не распознать наличие на выходе сигнала высокого логического уровня, и защитные исполнительные устройства не сработают.

Как выйти из сложившейся ситуации? Мы расскажем, как правильно подключать к МК светодиоды в разделе 5.3.1. А сейчас займемся грамотным сопряжением МК и цифровых ИС.

5.1.3. Входные и выходные характеристики логических элементов

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

• Убедиться, что выходные напряжения логической 1 и логического 0 элемента — источника сигнала совместимы со входными напряжениями 1 и 0 подключаемого элемента.

• Убедиться, что выходные токи элемента — источника сигнала превышают входные токи подключаемого элемента. Необходимо проанализировать как состояние логического 0, так и логической 1.

• Определить, сколько логических элементов будет подсоединяться к одному выходу элемента — источника сигнала.

Давайте покажем анализ совместимости электрических характеристик логических элементов на примере.

Пример 1. Необходимо проанализировать совместимость логических элементов двух серий DP1 и SB2. Входные и выходные параметры элементов приведены ниже:

DP1:

VIH= 2,0 В, VIL= 0,8 В, IOH= –0,4 мА, IOL= 16 мА

VOH= 3,4 В, VOL= 0,2 В, IIH= 40 мкА, IIL= –1,6 мА

SB2:

VIH= 2,0 В, VIL= 0,8 В, IOH= –0,4 мА, IOL= 8 мА

VOH= 2,7 В, VOL= 0,4 В, IIH= 20 мкА, IIL= –0,4 мА

Могут ли логические элементы серии SB2 быть подключены к элементам серии DP1? Если да, то в каком количестве? Иными словами, чему равен коэффициент разветвления DP1 для SB2?

Решение. Для ответа на вопрос необходимо сравнить уровни входных и выходных напряжений элементов этих серий, оценить нагрузочную способность элементов серии DP1 по отношению к элементам SB2. Коэффициент разветвления должен быть вычислен как для состояния логического 0, так и для состояния логической 1. Далее следует выбрать наихудший вариант сочетания параметров, и по нему необходимо дать заключение.

• Сравним напряжения при высоком уровне выходного сигнала. Минимальная величина выходного напряжения логической 1 для серии DP1 составляет VOH=3,4 В. Минимальный уровень входного напряжения логической 1 для серии SB2 — VIH=2,0 В. Сравнивая эти числа, можно сделать вывод, что по напряжению высокого логического уровня эти элементы совместимы. Если элемент серии DP1 сгенерирует на выходе наименьшее возможное напряжение VOH, его величина обязательно превысит минимально необходимый уровень входного напряжения элемента серии SB2. В результате, ошибка распознавания единичного выходного уровня при исправных элементах невозможна.

• Далее сравним напряжения элементов при низком уровне выходного сигнала. Максимальное значение выходного напряжения логического 0 для элементов серии DP1 составляет VOL=0,2 В. Элементы серии SB2 распознают как уровень логического 0 сигналы с напряжением ниже VOL=0,8 В. Поскольку VOL(DP1)<VIL(SB2), ошибки распознавания низкого логического уровня также невозможна. Следовательно, элементы совместимы по уровням, подключение элемента серии SB2 к выходу элемента серии DP1 не вызовет нарушения передачи логического сигнала.

• Коэффициент разветвления в состоянии логической 1 равен:

K1 = IOH(DP1)/IIH(SB2) = 400мкА/20мкА = 20

• Коэффициент разветвления в состоянии логического 0 равен:

K0 = IOL(DP1)/IIL(SB2) = 16мА/0,4мА = 40

• Для заключительного вывода выбираем меньшее из двух полученных чисел. Коэффициент разветвления DP1?SB2 равен 20. Таким образом, к выходу элемента серии DP1 можно подключить 20 элементов серии SB2.

Пример 2. Определим, чему равен коэффициент разветвления элементов серии HC? То есть, сколько элементов серии HC можно подключить к выходу такого же элемента? Напомним входные и выходные параметры серии HC:

VIH = 3,5 В, VIL= 1,0 В, IOH= –0,8 мА, IOL= 1,6 мА

VOH= 4,2 В, VOL= 0,4 В, IIH= 10 мкА, IIL= –10 мкА

Решение. Ход рассуждений при решении этой задачи аналогичен предыдущей.

• Сравним напряжения при высоком уровне выходного сигнала. Минимальная величина выходного напряжения логической 1 серии HC составляет VOH=4,2 В. Минимальный уровень входного напряжения логической 1 этих же элементов — VIH=3,5 В. Сравнивая эти числа, можно сделать вывод, что по напряжению высокого логического уровня элементы серии HC выполнены совместимыми, в чем и требовалось убедиться. Иного результата быть не  может, иначе из элементов одной серии невозможно было бы создать схему.

• Максимальное значение выходного напряжения логического 0 для элементов серии HC составляет VOL=0,4 В. В то время как входное напряжение логического 0 сигналы для этих же элементов не должно быть ниже VOL=1,0 В. Поскольку VOL<VIL, ошибки распознавания низкого логического уровня быть не может. Следовательно, элементы серии HC совместимы сами с собой и по низкому логическому уровню также.

• Коэффициент разветвления в состоянии логической 1 равен:

K1 = IOH/IIH= 0,8 мА/10 мкА = 80

• Коэффициент разветвления в состоянии логического 0 равен:

K0 = IOL/IIL= 1,6 мА/10 мкА = 160

• Делаем вывод, что коэффициент разветвления серии элементов HC равен 80.

Итак, мы научились оценивать входные и выходные электрические характеристики логических элементов. На основе этих характеристик делать выводы о возможности подключения элементов различных серий друг к другу при составлении схемы какого-либо управляющего устройства. Далее мы рассмотрим различные интерфейсные компоненты, которые достаточно часто работают совместно с МК в микропроцессорных системах управления.

5.2. Устройства дискретного ввода: кнопки, переключатели, клавиатуры