Этап совместной отладки аппаратных и программных средств в реальном масштабе времени является самым трудоемким и требует использования инструментальных средств отладки. К числу основных инструментальных средств отладки относятся:
- внутрисхемные эмуляторы;
- платы развития (оценочные платы);
- мониторы отладки;
- эмуляторы ПЗУ.
Эмулятор ПЗУ - программно-аппаратное средство, позволяющее замещать ПЗУ на отлаживаемой плате, и подставляющее вместо него ОЗУ, в которое может быть загружена программа с компьютера через один из стандартных каналов связи. Это устройство позволяет пользователю избежать многократных циклов перепрограммирования ПЗУ. Эмулятор ПЗУ нужен только для МК, которые могут обращаться к внешней памяти программ. Это устройство сравнимо по сложности и по стоимости с платами развития и имеет одно большое достоинство: универсальность. Эмулятор ПЗУ может работать с любыми типами МК.
Эмулируемая память доступна для просмотра и модификации, но контроль над внутренними управляющими регистрами МК был до недавнего времени невозможен.
В последнее время появились модели интеллектуальных эмуляторов ПЗУ, которые позволяют "заглядывать" внутрь МК на плате пользователя.
Этап совместной отладки аппаратных и программных средств в реальном масштабе времени завершается, когда аппаратура и программное обеспечение совместно обеспечивают выполнение всех шагов алгоритма работы системы. В конце этапа отлаженная программа заносится с помощью программатора в энергонезависимую память МК, и проверяется работа контроллера без эмулятора.
Для эффекта 1 алгоритм будет иметь вид, представленный на рисунке 2. 6.
Рисунок 2.6 — Алгоритм программы эффекта 1 для светодиодной матрицы
Теперь составим алгоритм для универсальной программы (Рис. 2.7)
Рисунок 2.7 - Алгоритм универсальной программы для светодиодной матрицы
Контроллер управляет драйверами строк и столбцов светодиодной матрицы, в качестве которых выступают обычные биполярные транзисторы.
Чтобы подключить строки 1, 2, 3, 4, 5 к шине питания - нужно подать "1" на выходы контроллера RA2, RA3, RA1, RA7, RA6 соответственно, а для того, чтобы подключить столбцы 1, 2, 3, 4, 5 к нулевой шине (к земле) - нужно подать "О" на выходы контроллера RB3, RB4, RB5, RB6, RB7 соответственно.
Для первого и второго варианта основная проблема нашей матрицы в том, что на ней невозможно включить несколько произвольных светодиодов одновременно в разных строках и столбцах. Однако, в одном столбце (или строке) одновременно включить несколько произвольных светодиодов можно.
Светодиодные матрицы
Еще в 1907 году было впервые отмечено слабое свечение, испускаемое карбидокремниевыми кристаллами вследствие неизвестных тогда электронных превращений. В 1923 году наш соотечественник О.В.Лосев отмечал это явление во время проводимых им радиотехнических исследований с полупроводниковыми детекторами, однако интенсивность наблюдаемых излучений была столь незначительной, что научная общественность до поры до времени всерьез не интересовалась этим феноменом. Только в 1962 году группа инженеров под руководством Генри Холоньяка из General Electric продемонстрировала работу первого светодиода, а спустя шесть лет красные светодиоды появились на рынке.
Светодиод - это полупроводниковый прибор с р-n переходом, который излучает фотоны при прямом смещении. Эффект излучения света называется инжектированной электролюминесценцией и происходит, когда неосновные носители заряда рекобинируют с носителями противоположного типа в запрещенной зоне. Длина волны излучаемого света определяется в основном выбором используемых полупроводниковых материалов. Не все инжектированные неосновные носители рекомбинируют с излучением кванта света даже в идеальном р-n переходе. Безизлучательная рекомбинация, вызванная дефектами и дислокациями в полупроводнике, может дать увеличение разброса в полезной эмиссии в практически идентичных светодиодах. На практике это означает то, что выпущенная партия светодиодов сортируется и разделяется по группам в зависимости от интенсивности излучения и других параметров. Светодиодные чипы выращиваются подобно кремниевым интегральным микросхемам и разрезаются на кристаллы. Размер кристалла для светодиодов лежит в диапазоне от 0,18 до 1мм (рис1.2) Базовая структура светодиодного индикатора состоит из полупроводникового кристалла, рамки с внешними выводами, на которой размещен кристалл, и герметизирующей эпоксидной смолы, которая окружает и защищает кристалл, а также рассеивает свет (формирует диаграмму направленности) (рис1.3).Кристалл приклеивается токопроводящей эпоксидной смолой ко дну рамки,называемой лункой.
Лунка является первичной оптической системой для кристалла и согласует распределение светового потока от его граней, с последующим преломлением линзы из эпоксидной смолы. Верхний контакт кристалла соединен проводом с другим выводом рамки.
Рисунок 1.2 - Типичный кристалл AlInGaP
Рисунок 1.3 - Типичный светодиод и его конструкция в разрезе
Механическая конструкция светодиода определяет распределение света и диаграмму направленности излучения в пространстве. Узкая диаграмма направленности (рис. 1.4) обеспечивает большую силу света в осевом направлении, но небольшой угол обзора. Тот же кристалл может быть смонтирован так, чтобы получить широкий угол обзора, но интенсивность в осевом направлении будет ниже пропорционально углу излучения. Сверхяркие светодиоды с углом обзора от 15° до 30° по уровню 0,5 применяются для информационных панелей, расположенных прямо перед наблюдателем, а светодиоды с широким углом обзора применяются в индикаторах для широкого обзора или приборных досках.
Рисунок 1.4 - Светодиодный индикатор с узкой диаграммой направленности
Известный 7-сегментный цифровой индикатор в действительности является 8-сегментным индикатором, так как включает в себя десятичную точку. Менее известные «звездочные» алфавитно-цифровые индикаторы таким же образом обозначаются, как 14-сегментные и 16-сегментые индикаторы, вновь не учитывая десятичную точку. Эти индикаторы обеспечивают экономичное решение для отображения 26 букв латинского алфавита в верхнем регистре, а также цифр от 0 до 9. Разница между 14- сегментными и 16-сегментными индикаторами лишь в том, что у 16- сегментного индикатора верхний и нижний сегмент разбиты на два, улучшая внешний вид некоторых букв (Рис. 1.5).
Светодиодная матрица 5x7 является еще более универсальной, позволяя отображать латинский алфавит в верхнем и нижнем регистре, а также множество символов. Различие в качестве отображения показано на рис. 7, где сравниваются символы, отображаемые матрицей 5x7 и 16- сегментным индикатором.
Рисунок 1.5 - Светодиодные 7-ми, 14-ти и 16-сегментные индикаторы и светодиодная матрица 5x7
Светодиодная матрица 5x7 является еще более универсальной, позволяя отображать латинский алфавит в верхнем и нижнем регистре, а также множество символов. Различие в качестве отображения показано на рис. 1.6, где сравниваются символы, отображаемые матрицей 5x7 и 16- сегментным индикатором.
Рисунок 1.6 - Сравнение матрицы 5 x 7 и "звездочного" индикатора
Большинство светодиодных цифровых и буквенно-цифровых индикаторов в действительности являются гибридными, объединяя множество светодиодных индикаторов в одном корпусе. Некоторые очень маленькие цифровые дисплеи являются действительно монолитными (например калькуляторы с очень маленькими цифрами и линзочкой, которые были популярными в 70-х). В любом из двух случаев, контур каждого сегмента формируется рефлектором и световой трубкой, а не самим светодиодным кристаллом. Небольшие дисплеи используют один кристалл на сегмент, в то время как большие дисплеи используют 2 или более кристаллов на сегмент, эффективно излучая свет и обеспечивая приемлемую однородность яркости по всему сегменту.
В процессе производства, кристаллы монтируются либо на рамку, либо на печатную плату и соединяются проводами с внешними выводами. Кристаллы монтируются с применением токопроводящей пасты, так как подложка является одним из двух выводов диода (рис, 1.7). Внутренняя разводка индикаторов обычно объединяет либо катоды, либо аноды кристаллов вместе, уменьшая число внешних выводов. В результате индикаторы подразделяются на индикаторы с общим анодом и индикаторы с общим катодом (рис. 1.8)
Рисунок 1.7 - Установка кристалла для формирования сегмента
Метод монтажа кристаллов на рамке подобен тому, который используется при производстве интегральных схем. Рамка выполнена из посеребренной стали, обеспечивая хороший теплоотвод и светоотражение. Рефлекторный канал, формирующий световую трубку для каждого сегмента, заполнен эпоксидной смолой, обеспечивая механическую прочность и защиту от окружающей среды.
Более дешевый метод использует печатную подложку вместо рамки. Индикаторы, выполненные по такому методу, используются обычно для производства многоразрядных дисплеев, например для часов. При использовании этого метода, индикатор не заполняется эпоксидной смолой, что уменьшает стоимость, но приводит к деградации, вызванной загрязнением.
Электрические характеристики светодиодов подобны другим полупроводниковым диодам. Прямое напряжение светодиодов различно для различных структур р-n переходов, используемых для получения излучения разных цветов (рис. 1.9). Прямое напряжение светодиода обратно пропорционально росту температуры окружающей среды. Подобно всем полупроводниковым приборам, номинальные характеристики светодиодов должны быть снижены при высоких рабочих температурах. Оптические характеристики светодиода также сильно зависят от температуры. Во-первых, световой поток, излучаемый светодиодом, падает при повышении температуры р-n перехода. Это происходит из-за возрастания вероятности безизлучательной рекомбинации дырок и электронов, которая не вносит вклада в излучение света. Кроме того, длина волны излучаемого света также изменяется с температурой, в основном из-за изменения ширины запрещенной зоны.
Рис. 1.9 - Изменение прямого напряжения светодиода от тока и излучаемого цвета
Драйверы светодиодных индикаторов - статические и мультиплексные.
Самый простой способ управления светодиодами сегментов индикатора - управлять каждым светодиодом, используя отдельный резистор или управляя прямым током. Эта техника управления называется статической, так как ток, протекающий через светодиод, непрерывен. Статическое управление применяется в основном для небольшого числа светодиодов, например для 2-х 7-сегментных цифр. Высокоэкономичные светодиоды могут управляться током в 2 мА, который может быть взят с выходных портов микроконтроллеров.
Если необходимо управлять множеством сегментов, статическое управление становится неэкономичным — 1 драйвер на 1 светодиод. Мультиплексное или импульсное управление снижает число управляющих соединений, используя стробирование небольшого числа сегментов (обычно одну цифру). Стробирование происходит с большой частотой, так что человеческий глаз воспринимает изображение как непрерывное. Однако при этом методе управления светодиодам требуется больший ток для компенсации рабочего цикла (сохранения яркости).
Преимуществом импульсного управления является то, что
человеческий глаз ведет себя, отчасти, как интегрирующий фотометр, а отчасти как пиковый фотометр. В результате человеческий глаз воспринимает быстро пульсирующий свет где-то между пиком и средним значением яркости.
Эффективность светодиода обычно возрастает при увеличении прямого тока, при условии постоянной температуры PN перехода. Но это не всегда так и характеристики светодиода должны быть тщательно изучены (и сравнены) при выборе оптимального пикового тока (рис. 1.10).
Рисунок 1.10 - Зависимость светового выхода от прямого тока
В стандартном варианте, в режиме мультиплексирования используется отдельный вывод общих катодов для каждой цифры, в то время как все аноды объединены для всех цифр. Число требуемых выводов может быть подсчитано как, 1 - для каждой цифры, плюс 1 * для каждого сегмента цифры. Более экономичная схема использования выводов в режиме мультиплексирования основана на том, что используется только один вывод.Такой подход задан в светодиодном драйвере Maxim МАХ6951 для управления 8-ю цифрами на всего 9-ти ножках.