Отладочная плата «87654321-micro»

Если вам некуда «пристроить» 9-разрядные индикаторы АЛС318, то эта плата для вас.
На ее базе могут быть построены различные миниатюрные устройства, требующие отображения цифровой информации.

Photo Эта миниатюрная плата (ее габариты 50 х 30 мм) содержит девятиразрядный 7-сегментный светодиодный индикатор АЛС318, четыре кнопки управления и микросхему CY8C27443-24PVI (корпус SSOP с шагом выводов 0,65 мм). Шесть линий ввода-вывода микросхемы, оставшиеся свободными, выведены на контактные площадки платы – их вы можете использовать в соответствии с вашими задумками. Плата программируется с помощью ISSP-кабеля, который на период отладки просто подпаивается к соответствующим контактным площадкам.

Схема устройства чрезвычайно проста (см. рисунок). Светодиодный индикатор DA1 подключен к микросхеме DD1 непосредственно, без использования умощняющих ключей. Это стало возможно благодаря хорошей нагрузочной способности PSoC (20 мА на цифровой выход). Резисторы R1...R8 являются ограничителями тока и задают яркость свечения индикатора. Сама индикация – динамическая, т.е. все разряды зажигаются по очереди с частотой, слитной для глаза. Элементы C1, C2 и ZQ1 (кварцевый резонатор) устанавливаются по необходимости – когда требуется высокая стабильность тактовой частоты. При их отсутствии обеспечивается стабильность порядка 2,5%.

Кнопки S1...S4 опрашиваются также динамически, а диоды VD1...VD4 служат для возможности распознавания кнопок при их одновременном нажатии. В исходном состоянии эти кнопки отжаты и на линии «k» должна присутствовать логическая «1». Об этом следует позаботиться при задании внутренней конфигурации микросхемы, установив линию порта P1[2] в режим «pull-up» (внутренний «подтягивающий» резистор подключен к шине питания) и подав на нее лог.1. На выходы P0[0]...P0[3] должен попеременно подаваться низкий логический уровень. Появившийся логический 0 на линии P1[2] будет свидетельствовать о том, что одна из кнопок нажата.


Электрическая схема платы.

Может возникнуть вопрос относительно распределения выводов для управления индикатором и для связи с «внешним миром». Дело в том, что не все выводы микросхемы могут быть назначены как аналоговые входы-выходы, а в особенности – как линии приемопередатчика I2C (я уже не говорю о подключении кварцевого резонатора). Для расширения функциональности присутствие таких выводов было бы очень желательно. Поэтому в устройстве использованы:

P1[7] – для интерфейса I2C (линия тактового сигнала SCL), либо просто как стандартный цифровой вход/выход
P1[5] – для интерфейса I2C (линия данных SDA), либо аналогично предыдущему случаю – как цифровой вход/выход
P1[4] – как цифровой вход/выход (либо вход для внешнего тактового сигнала)
P0[5] – как аналоговый вход/выход (либо как цифровой вход/выход)
P1[1] – для подключения кварцевого резонатора (либо как цифровой вход/выход, а также как линия SCL)
P1[0] – для подключения кварцевого резонатора (либо как цифровой вход/выход, а также как линия SDA)

Следует заметить, что линии P1[0], P1[1], XRES, а также +5V и Gnd используются для внутрисистемного программирования, для чего на плате предусмотрены контактные площадки для подпайки 5-жильного кабеля.

Плата (см. рисунки ниже) выполнена с использованием поверхностного монтажа и соединений «напротык». Красным показаны перемычки и те компоненты, которые расположены с обратной стороны платы, черным – компоненты и контактные площадки, расположенные со стороны печатных проводников. Для подключения индикатора АЛС318 служат ряды площадок 1...9 и a...h, упорядоченные в соответствии с нумерацией выводов этого индикатора, при этом контакты 1...9 соединяются проволочными перемычками, а контакты a...h – через резисторы R1...R8 навесным монтажом, который механически удерживает индикатор над платой. Получается своеобразный «бутерброд». Не обращайте внимание на дополнительные проводники и контактные площадки – я имею привычку заполнять ими всю оставшуюся область на печатной плате, чтобы в случае возможных изменений нашлось место для соединения новых компонентов.


Топология платы (габариты 50 х 30 мм).

Размещение компонентов.

Конструкция.

При разработке собственных устройств на базе этой платы (как и других измерительных устройств со светодиодной индикацией) следует учитывать одну важную вещь. По сравнению с жидкокристаллическими индикаторами, светодиодные потребляют значительный ток, а динамическая индикация приводит к пульсации этого тока во времени (в разных разрядах зажигается различное количество сегментов). Кроме того, средний потребляемый ток зависит от того, какое значение в данный момент высвечивается на индикаторе. Поэтому какой бы качественный блок питания вы не использовали, неизбежно будут возникать (пусть незначительные!) «просадки» напряжения питания, приводящие к изменению режимов работы различных узлов. Например, будут изменяться коэффициенты усиления ОУ, внутренние опорные напряжения, напряжение смещения и чувствительность АЦП и т.д. Все это может привести не только к плавному  «уводу» результатов измерений в большую или меньшую сторону, но и к возникновению «свистопляски» в показаниях или к появлению «мертвой зоны».

В качестве пробной (или тестовой) программы, демонстрирующей работу устройства, служит вот этот проект (37 кБ). В этом архиве в папке \output содержится прошивка, которая, будучи загруженная в микросхему, выводит на индикатор бегущую строку «_87654321».

Если покопаться в исходных текстах, то можно увидеть, что в программном модуле main.asm происходит начальная загрузка девятибайтового буфера изображения кодами 7-сегментных цифр. Эти коды будут последовательно выводиться в порт P2 микросхемы. Затем стартуется Модуль Пользователя Timer8_1 и разрешаются прерывания.

Далее все основное действие переносится в обработчик прерываний Timer8_1INT.asm, находящийся в папке \lib . Здесь определяются основные переменные (буфер изображения, указатели, счетчик циклов), здесь осуществляется динамическая индикация и реализуется мультизадачность. В качестве первой задачи реализован циклический сдвиг буфера изображений цифр. Восемь остальных задач «вертятся вхолостую» и просят написания вашего кода.

 


antiradio.narod.ru/psoc
Дата создания документа: 13.05.2008. Последнее обновление: 13.05.2008.

Сайт создан в системе uCoz