Проектирование вычислительного устройства на базе микроконтроллера

УДК 004.388:004.383.3’142.2

ПРОЕКТИРОВАНИЕ ВЫЧИСЛИТЕЛЬНОГО УСТРОЙСТВА НА БАЗЕ МИКРОКОНТРОЛЛЕРА

В.М. Глаголев, К.М. Щепакин, Е.М. Баранова

Рассмотрены прикладные возможности микроконтроллеров в контексте проектирования аппаратной части специализированного вычислительного устройства, получающего, обрабатывающего и передающего аналоговые и цифровые сигналы. Особое внимание акцентируется на выборе микроконтроллера фирмы Atmel Corporation («атмэл корпорэйшн», США) серии AVR и поиске оптимального способа использования его ресурсов. Конечным результатом является принципиальная схема вычислительного устройства, готового к программированию.

Ключевые слова: электроника, микроконтроллеры, цифровой сигнал, аналоговый сигнал, сдвиговый регистр, внутрисистемное программирование, программатор.

Микроконтроллер - промежуточное звено между жесткой логикой и полноценным встраиваемым компьютером. Микроконтроллеры имеют программируемую логику и целый набор встроенных дополнительных устройств, таких как многоканальный аналогово-цифровой преобразователь (АЦП), аналоговые компараторы, таймеры (счетчики) с аппаратной функцией широтно-импульсной модуляции (ШИМ) и генерацией волн с помощью ШИМ, интерфейсы UART, I2C, SPI и т.д.

Разрабатываемое устройство вычисляет две независимые величины, одна из которых является цифровым сигналом, а вторая аналоговым. При этом входные данные принимаются так же в двух формах: цифровой и аналоговой. Формула, по которой вычисляются выходные параметры не имеет значения, но она должна описываться в алгоритмическом виде.

Для реализации такого устройства, понадобится принять аналоговый сигнал, принять цифровой сигнал, представить их в одинаковой форме для преобразования по формуле и вывести цифровое значение в аналоговом виде, а аналоговое значение в цифровом.

Первое, с чего следует начать проектирование - это с выбора конкретного микроконтроллера для поставленных задач. Для этого была составлена таблица, в которой перечислены задачи и соответствующие им требования к микроконтроллеру (табл. 1).

Итого, понадобится 25 контактов ввода-вывода, среди которых должен быть один АЦП и один (желательно аппаратный) ШИМ. Наиболее универсальный микроконтроллер AVR ATmega8 имеет только 22 контакта, а более продвинутый ATmega16 - 32 контакта, но при этом он существенно дороже, а многие его возможности (хотя бы 7 контактов) не будут использованы в данном проекте. Для выхода из данной ситуации можно использовать динамическую индикацию, сдвиговый регистр или все же AT-

mega16. Динамическая индикация слишком сложна, а использовать ЛТше-ga16 слишком просто. Поэтому, 8и-битный вывод был реализован с помощью сдвигового регистра 74НС595, который требует только 3 контакта для управления и имеет п  8 (при каскадном соединении п регистров) выходных контактов. При использовании одного сдвигового регистра число необходимых контактов сокращается до 20 и становится возможным использование ATmega8, так как в данном микроконтроллере имеется аппаратный генератор ШИМ и АЦП.

Таблица 1

Задачи и требования к микроконтроллеру________________

№ п/п Задача Комментарий Требования

1 Считывание цифрового сигнала Предположим что сигнал 4-битный. 4 контакта входа

2 Считывание аналогового сигнала Точность не менее 8 бит АЦП + 1 контакт для входа

3 Вывод цифрового значения 8 контактов входа

4 Вывод аналогового сигнала аппаратный ШИМ + 1 контакт для выхода

5 Контрольный 7-сегментный индикатор С дополнительным сегментом -точкой 8 контактов выхода

6 Кнопка подтверждения 1 контакт входа

7 Переключатель между вводом и выводом 1 контакт входа

8 Переключатель между просмотром на индикаторе аналогового и цифрового вводимого значения 1 контакт входа

После выбора микроконтроллера, можно приступать к синтезу принципиальной электрической схемы устройства на его основе. Для этого, необходимо знать цоколёвку микроконтроллера, представленную на рисунке 1. Для простоты монтажа на макетной плате, использовался микроконтроллер в корпусе DIP-28.

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

- SCK

- MISO

- MOSI

- RESET

- GND

- VCC

ТГ7

VCC с 7 < СҐ > 22  GND

GND С 8 21  AREF

(XTAL1/TOSC1) РВ6 С 9 < 20  AVCC

Рис. 1. Цоколёвка ATmega8 в PDIP корпусе

Через ISP разъем, микроконтроллер подключается к программатору, который взаимодействует с компьютером по шине USB (например, USBasp), COM (например, программатор Громова), или LPT (по методу «5 проводков»). На компьютер устанавливается программное обеспечение для выбранного программатора, которое позволяет загрузить программу в устройство.

Далее, необходимо определить номера контактов, соответствующие самому подходящему генератору ШИМ и каналу АЦП. Подробную и крайне понятную информацию обо всех возможностях микроконтроллера можно найти в его официальном документе, называемом datasheet (для микроконтроллеров содержит 300-400 страниц, в России обычно пишется и произносится как «даташит»).

В разделе АЦП (ADC), datasheet ’а написано, что существует 6 равноправных каналов с максимальной точностью в 10 бит. Следовательно, можно выбрать любой контакт, в описании которого есть слово ADC, а именно, все с 23 по 28 контакты.

Аппаратный ШИМ (PWM) в микроконтроллерах является функцией таймера (счетчика). У ATmega8 три независимых аппаратных счетчика: два 8-битных и один 16-битный. Один из 8-битных не имеет возможности аппаратной генерации ШИМ, остается выбор между 8-битный ШИМ с одним выходом и 16-битным ШИМ с двумя. Разрядность счетчика при генерации ШИМ влияет только на количество различных уровней напряжения на выходе, но так как получен цифровой сигнал разрядностью 4 бита, то смело можно выбирать 8-битный счетчик, так как рабочая разрядность все равно будет в 2 раза меньше даже у него. Второму 8-битному счетчику со-

58

ответствует контакт OC2, который на корпусе имеет номер 17. Его можно использовать, не смотря на то, что 17 контакт используется при программировании как MOSI (все контакты ISP могут работать в своем обычном режиме и на возможность внутрисхемного программирования это не повлияет).

Рис. 2. Принципиальная схема устройства

Далее, необходимо подключить 7-сегментный индикатор и это лучше сделать в полный порт (порт, у которого имеют выводы на корпусе и свободны все 8 контактов, соответствующие 8-битному регистру). У ATmega8 такой таким портом может выступить порт Б (контакты со 2 по 6 и с 11 по 13).

Для цифрового ввода достаточно половины порта, например, порта С

Тогда для АЦП остаются контакты 27 и 28. Подключим сигнал к контакту 27.

Остается, подключить сдвиговый регистр. Это можно сделать к любым трем контактам, которые можно сконфигурировать как выходы, например РВ2..0 (с 14 по 16).

Два тумблера и кнопку можно подключать к любым оставшимся контактам входа/выхода.

Конечная схема устройства представлена на рисунке 2. Контакты УСС и ЄКБ необходимо подключить к источнику постоянного напряжения 5 В.

Вариант сборки устройства на макетной плате представлен на ри-

сунке 3.

Рис. 3. Фотография устройства

Специализированное вычислительное устройство готово к программированию. При использовании АЦП и ШИМ, аналоговые данные будут иметь цифровую репрезентацию и их можно использовать для любых задач обработки информации и управления объектами.

Список литературы

1. Прокопенко В.С. Программирование микроконтроллеров ATMEL на языке C. СПб.: КОРОНА-ВЕК, 2012. 307 с.

2. Дхананья Гадре, Нигуал Мэлхотра. Занимательные проекты на базе микроконтроллеров tinyAVR. СПб.: БХВ-Петербург, 2012. 330 с.

3. Википедия - свободная энциклопедия [Электронный ресурс] // Wikimedia Foundation, Inc.: [сайт]. [2001]. URL: http://ru.wikipedia.org/ (дата обращения: 30.08.2013).

4. Краткий Курс - Самоучитель AVR, ATmega и ATtiny [Электронный ресурс]: [сайт]. [2007]. URL: http://123avr.com/ (дата обращения: 30.08.2013).

Глаголев Владислав Максимович, студент, glagol15@gmail.com, Россия, Тула, Тульский государственный университет,

Баранова Елизавета Михайловна, канд. техн. наук, доц., stroymaster@tula.net, Россия, Тула, Тульский государственный университет,

Щепакин Константин Михайлович, д-р техн. наук, проф., Россия, Тула, Тульский институт экономики и информатики

DESIGNING THE COMPUTING DEVICE BASED ON THE MICROCONTROLLER UNIT

V.M. Glagolev, E.M. Baranova, K.M. Schepakin

Here examined the applied capability of modern microcontroller units in context of designing the hardware part of the specific computing device that is meant to receive, process and transfer analog and digital signals. Special attention is paid to the problem of choosing the microcontroller unit from the devices of Atmel Corporation AVR series and to the ways of using its resources effectively. The final result is the schematic diagram of the device.

Key words: electronics, microcontroller, analog signal, digital signal, shift register, in-system programming, chip programmer.

Glagolev Vladislav Maximovich, student, glagol15@gmail. com, Russia, Tula, Tula State University,

Baranova Elizaveta Mihailovna, candidate of technical science, docent, stroymaster@tula.net, Russia, Tula, Tula State University,

Schepakin Konstantin Michailovich, doctor of technical science, professor, Russia, Tula Institute of Economics and Informatics

УДК 004.932

АДАПТИВНЫЙ ПАРАМЕТРИЧЕСКИЙ АЛГОРИТМ ОБРАБОТКИ

ИЗОБРАЖЕНИИЙ

И. А. Грачева, А.В. Копылов

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

Ключевые слова: обработка изображений, динамическое программирование, сглаживание.

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