Научная статья на тему 'Об использовании микроконтроллеров для обработки речевых сигналов'

Об использовании микроконтроллеров для обработки речевых сигналов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
841
159
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
цифровая обработка сигналов / микроконтроллер / aduc7020
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Об использовании микроконтроллеров для обработки речевых сигналов»

УДК 004.3

ОБ ИСПОЛЬЗОВАНИИ МИКРОКОНТРОЛЛЕРОВ ДЛЯ ОБРАБОТКИ РЕЧЕВЫХ СИГНАЛОВ

В.В.МУРОМЦЕВ А.В. КУРЛОВ

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

Белгородский

государственный

университет

e-mail:

muromtsev@bsu.edu.ru

Kurlov@bsu.edu.ru

AduC7020.

Ключевые слова: цифровая обработка сигналов, микроконтроллер,

Постановка задачи

На базе микроконтроллеров (МК) строится большинство современных встраиваемых систем. Для классификации МК чаще всего используют разрядность обрабатываемых данных. До настоящего времени все еще широко используются 8-разрядные МК. Однако рост функциональности встраиваемых систем ведет к тому, что все больше разработчиков переходят на 32-разрядные МК. Такому переходу также способствует появление 32-разрядных контроллеров, соединивших в себе низкую стоимость и большую функциональность.

Среди 32-разрядных МК широко распространены контроллеры с ядром ARM7, разработанным компанией ARM [1]. Компания поставляет свои разработки в электронном виде. Клиентами ARM являются многие известные компании, производящие микросхемы. Одним из таких клиентов является компания Analog Devices, которая выпускает МК серии ADuC702x созданные на базе ядра ARM7TDMI [2].

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

В статье рассматривается начальная стадия работ по исследованию возможности реализации устройств, осуществляющих цифровую обработку речевых сигналов, на базе МК ADuC7020 [3]. Дается краткое описание аппаратного и программного обеспечения, созданного для проведения такого исследования.

Аппаратное обеспечение

Для исследования возможности использования МК ADuC7020 для обработки речевых сигналов было разработано устройство, на входы которого можно подавать сигналы с линейного выхода некоторого аудиоустройства (используется выход аудиокарты персонального компьютера) или с конденсаторного микрофона. Устройство осуществляет цифровую обработку входных сигналов и формирование выходного аналогового сигнала, который усиливается и может быть прослушан через наушники или подан на линейный аудиовход (используется вход аудиокарты компьютера). Для программирования МК используется персональный компьютер. Связь устройства с компьютером осуществлена по COM-порту. В качестве среды разработки программ для МК используется программная система IAR Embedded Workbench [4].

182

НАУЧНЫЕ ВЕДОМОСТИ

№ 7 (62)2009

Входной сигнал с микрофона усиливается с помощью микрофонного усилителя, созданного на базе микросхемы MAX98l4 [5]. С выхода микрофонного усилителя сигнал подается на один из каналов АЦП МК ADuC7020. После обработки сигнал выдается на один из каналов ЦАП, к которому подключен выходной усилитель. Выходной усилитель реализован на микросхеме MAX9724 [6].

Сигнал с линейного входа устройства приводится к уровню 0..Vref и подается на свободный канал АЦП, где Vref — опорное напряжение. Для получения Vref используется внутренний источник опорного напряжения МК. После обработки сигнал выдается на один из свободных каналов ЦАП, к которому подключен выходной усилитель. Стабилизатор напряжения реализован на микросхеме ADPззззARM-3.3 [7].

Программное обеспечение

Обработка сигнала в МК заключается в выполнении в реальном времени последовательности тактов. Каждый такт включает следующие действия:

• Прием с АЦП п отсчетов входного сигнала, поступающих с интервалом Аї = 1//д с., где /д - частота дискретизации.

• Обработка принятых данных.

• Передача обработанных данных на ЦАП.

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

а) физическая структура I г

б) логика работы

г=0

г-2

Рис. 1. Структура циклического буфера

г=1

Sinp Sproc

Soul Sinp

Sproc Soul

г=3

... Soul Sinp

r 4 Sproc Soul

Sinp Sproc

В процессе работы данные сегмента Sout=S[(r+1)%3] передаются на ЦАП, данные сегмента Sproc=S[(r+2)%3] обрабатываются, а сегмент Sinp=S[r%3] заполняется данными с АЦП. Здесь r — номер такта, “%” — операция нахождения остатка от деления. Таким образом реализуется циклический сдвиг сегментов Sinp, Sout, Sproc на каждом такте работы (см. рис.1.б). Если время обработки данных сегмента Sproc превышает t = At ■ n с., то возникает ошибка.

Принцип работы программного обеспечения МК проиллюстрирован диаграммой конечного автомата, представленной на рис. 2. Работа начинается с инициализации оборудования, переменных, служащих для синхронизации работы, и перехода в состояние “Main”. В этом состоянии анализируется переменная data, которая принимает значение 1 в том случае, когда данные для обработки подготовлены, т.е. когда сегмент Sinp заполнен и переименован в Sproc (осуществлен переход на следующий такт работы). Если значение data равно 0, то программа остается в состоянии “Main”. Если значение data равно 1, то из состояния “Main” осуществляется переход в состоя-

В.В. Муромцев, А.В. Курлов. Об использовании микроконтроллеров ...

183

ние “Processing”, в котором осуществляется обработка принятых данных. При выполнении перехода переменной proc присваивается 1, а переменной data присваивается 0.

После окончания обработки данных переменной proc присваивается 0 и осуществляется переход из состояния “Processing” в состояние “Main”.

В любом из двух рассмотренных состояний программа может быть остановлена (событие “exit”) и может быть осуществлен переход на обработку прерывания АЦП. Данное прерывание возникает в том случае, когда очередное преобразование входного сигнала завершено. Запуск преобразования начинается по сигналу таймера, который генерируется с интервалом времени At.

При обработке прерывания программа переходит в состояние “Interruption”. Если в этом состоянии номер текущего элемента сегмента равен n (I==n), то это означает, что сегмент Sinp заполнен данными. В этом случае осуществляется переход в состояние “Full segment”, в котором проверяется, завершена ли обработка данных сегмента Sproc, т.е. проверяется значение переменной proc. Если обработка данных не завершена (proc==1), то устанавливается признак ошибки (error=1) и обработка данных возобновляется (происходит возврат в состояние “Processing”). Если обработка завершена (proc==0), то переменной data присваивается 1, осуществляется переход на новый такт (r++,I=0) и активизируется состояние “Set and get data”.

Рис. 2. Диаграмма конечного автомата

Если в состоянии “Interruption” номер текущего элемента сегмента не равен n (I!=n), то это означает, что сегмент Sinp еще не заполнен данными. В этом случае осуществляется переход в состояние “Set and get data”.

В состоянии “Set and get data” текущему элементу сегмента Sinp присваивается результат преобразования АЦП и значение текущего элемента сегмента Sout передается на ЦАП. После таких действий номер текущего элемента увеличивается на 1 (I++). На этом обработка прерывания АЦП заканчивается и осуществляется возврат в состояние “Main” или “Processing”, в зависимости от того какое из этих двух состояний было активно до возникновения прерывания.

184

НАУЧНЫЕ ВЕДОМОСТИ

№ 7 (62)2009

Выводы

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

1. ARM - the architecture for the digital world [Электронный ресурс]: сайт компании ARM. - Режим доступа: http://www.arm.com/, свободный.

2. Analog Devices [Электронный ресурс]: официальный сайт компании Analog Devices. - Режим доступа: -http://www.analog.com/en/analog-microcontrollers/ products/ index.html, свободный.

3. Analog Devices. Precision Analog Microcontroller, 12-Bit Analog I/O, ARM7TDMI® MCU Analog Devices [Электронный ресурс] : технические характеристики прецизионных аналоговых микроконтроллеров компании Analog Devices. - Режим доступа: http://www.analog.com/ stat ic/imported-files/data_sheets/

ADUC7019_7020_7021_7022_7024_7025_7026_7027_7028.pdf, свободный.

4. IAR Systems [Электронный ресурс]: сайт компании IAR Systems. - Режим доступа: http://www.iar.com/website1/1.0.1.0/3/1/, свободный.

5. MAXIM. MAX9814. Microphone Amplifier with AGC and Low-Noise Microphone Bias [Электронный ресурс]: технические характеристики микросхем серии MAX9814 компании MAXIM. - Режим доступа: http://datasheets.maxim-ic.com/en/ds/MAX9814.pdf, свободный.

6. MAXIM. MAX9724A/MAX9724B. 60mW, DirectDrive, Stereo Headphone Amplifier with

Low RF Susceptibility and Shutdown [Электронный ресурс] : технические характеристики микросхем серии MAX9814 компании MAXIM.- Режим доступа: http://datasheets.maxim-

ic.com/en/ds/MAX9724-MAX9724B.pdf, свободный.

7. Analog Devices. High Accuracy Ultralow IQ, 300 mA, anyCAP Low Dropout Regulator.

ADP3333. [Электронный ресурс]: технические характеристики микросхем серии ADP3333 компании Analog Devices. - Режим доступа: http://www.analog.com/static/imported-

files/data_sheets/ADP3333.pdf, свободный.

ABOUT USAGE OF MICROCONTROLLERS FOR PROCESSING OF SPEECH WAVEFORMS

Литература

V.V. MUROMTSEV A. V. KURLOV

In operation it is offered to use microcontroller ADuC7020 for digital processing of speech waveforms. The short characteristic hardware and the software developed for research of possibility of implementation of devices, speech waveforms carrying out digital processing on the basis of microcontroller AduC7020 is given.

Belgorod State University

e-mail:

muromtsev@bsu.edu.ru

Kurlov@bsu.edu.ru

Keywords: digital processing of signals, the microcontroller, AduC7020.

i Надоели баннеры? Вы всегда можете отключить рекламу.