Пример реализации счётчика на элементах ПЛМ микроконвертора ADuC702x компании Analog Devices
Российским инженерам хорошо известны микроконверторы фирмы Analog Devices, в том числе и семейство ADuC702x, выполненное на базе 32-разрядного ядра ADM7TDMI. Эти процессоры имеют прецизионную аналоговую часть и в то же время обладают весьма приличной вычислительной мощностью — до 45 миллионов 32-разрядных операций в секунду. Помимо аналоговой части и цифрового процессорного ядра микроконверторы также содержат интегрированную на кристалле программируемую логическую матрицу (PLA).
Введение
В микроконверторах семейства ADuC702x на кристалле имеется программируемая логическая матрица, содержащая 16 логических ячеек с триггерами на выходах. Эта ПЛМ предназначена для упрощения сопряжения микроконвертора с другими цифровыми схемами и пр. В этой статье описано, как реализовать 3-разрядный счетчик, но таким же образом можно создавать и другие логические схемы.
ПЛМ
Программируемая логическая матрица (ПЛМ), прежде всего, предназначена для реализации функций сопряжения с другими цифровыми компонентами и позволяет обойтись без дополнительных логических микросхем. ПЛМ состоит из двух независимых блоков по 8 элементов (рис. 1). Эти два блока могут тактироваться от разных источников тактовых импульсов, а все логические элементы в блоке тактируются от одного источника.

Каждый из 16 элементов содержит двухвходовый программируемый логический элемент и триггер. Логический элемент может быть запрограммирован для реализации любой таблицы истинности. Триггер может тактироваться от общего для блока источника тактовых импульсов, либо может быть отключен, так что сигнал будет проходить без задержки.
Синхронный счетчик
Все триггеры синхронного счетчика (рис. 2) тактируются от одного и того же тактового сигнала. Чтобы реализовать трехразрядный счетчик, необходимы три триггера, а также некоторая логика для определения следующего состояния счетчика (табл. 1, 2).



Реализация счетчика на ADuC702x
Для реализации трехразрядного счетчика нужны три триггера и три выхода общего назначения (рис. 3).

Так как каждый элемент ПЛМ имеет только два входных логических элемента, нам придется обойтись ими.
D2 может быть определен следующим образом:

Эта функция может быть реализована с помощью двух входных логических элементов.
Обратите внимание, что генераторы тактовых импульсов, применяемые для тактирования триггеров, полностью программируемые.
Тактовые импульсы в нашем случае может генерировать один из трех источников (рис. 4): HCLK (частота ядра), внутренний генератор или сигнал переполнения таймера 1 (Timer 1 overflow). Таймер 1 обеспечивает большие возможности выбора частоты источника, так как может тактироваться от четырех различных источников, имеет предварительный делитель и 32-разрядный счетчик.

Заключение
Реализация счетчика на PLA обеспечивает следующие преимущества:
- не требуются внешние компоненты;
- не потребляется дополнительная мощность от источника питания, поскольку это встроенный блок;
- источник тактового сигнала полностью программируемый, подключение внешнего источника не требуется.
В этой статье описывается трехразрядный счетчик, но таким же образом можно реализовать и другую логику. Единственное ограничение такого подхода заключается в небольшом числе логических ячеек и выходов на кристалле ADuC702x.
Кроме того, на сайте www.analog.com имеется специальное ПО для программирования ПЛМ (PLATool).
Эта статья представляет собой перевод руководства по применению AN-831 фирмы Analog Devices.
Литература
- www.analog.com
- Техническое описание микроконвертора ADuC702x. Rev. PrB (на русском языке). http://www.analog.com.ru/Public/ADuC702xR.pdf