БИБЛИОТЕКА ПРИКЛАДНЫХ ФУНКЦИЙ В СОСТАВЕ СРЕДЫ MCSTUDIO™ ДЛЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ «СИСТЕМ НА КРИСТАЛЛЕ» СЕРИИ «МУЛЬТИКОР»

, ,

ГУП НПЦ «ЭЛВИС», secretary@elvees.com

1. Введение

ГУП НПЦ «ЭЛВИС» [1] является разработчиком собственной IP-ядерной платформы проектирования «систем-на-кристалле» «МУЛЬТИКОР», в состав которой входит библиотека оригинальных ядер цифровых процессоров обработки сигналов (ЦСП) серии «ELcore™»(Elvees’s Core).

Процессоры ЦСП используются в решении задач таких важных областей, как радиолокация, связь, кодирование и сжатие сигналов, обработка изображения и звука. Прикладные программы данного спектра зачастую требуют применения одних и тех же алгоритмов обработки и преобразований. Создание библиотеки прикладных функций для микросхем (ИМС) серии «Мультикор» позволит пользователю системы получить готовый набор функций, типичных для задач цифровой обработки сигналов, что упрощает и ускоряет разработку результирующего программного решения. Используя такой продукт, разработчик может не тратить неэффективно время на реализацию уже многократно реализованных алгоритмов, но применять предоставленные ему готовые функции, выстраивать из них комплексное программное обеспечение для сигнальных контроллеров «Мультикор» в конкретном приложении. Эффективность такого подхода также определяется тем, что программирование каждой библиотечной функции нацелено на максимальное использование архитектурных особенностей платформы и на гибкую систему настроек под конкретные пользовательские задачи.

НЕ нашли? Не то? Что вы ищете?

Библиотека прикладных функций разрабатывается для ИМС сигнальных контроллеров 1892ВМ3Т («МC-12») и 1892ВМ2Т («МC-24») и включает в себя следующие блоки функций:

·  Стандартные арифметические операции;

·  Стандартные элементарные функции;

·  Стандартные вычислительные функции – интерполяция Лагранжа, сплайн-интерполяция, билинейная интерполяция;

·  Стандартные операции над матрицами;

·  Пакеты преобразований – программы быстрого преобразования Фурье (БПФ), программы дискретного косинусного преобразования (Discrete Cosine Transform, DCT), программы вейвлет-преобразования (Discrete Wavelet Transform, DWT), быстрое преобразование Уолша-Адамара, быстрое преобразование Хартли [2];

·  Прикладная обработка сигналов – программы фильтров, сверток, корреляций, генераторы случайных сигналов;

·  Прикладная библиотека адаптивной фильтрации [3];

·  Прикладная коммуникационная библиотека – скремблер, кодеры, декодеры, модуляторы, демодуляторы;

·  Прикладная библиотека для обработки изображений – сглаживание, контрастирование, представление в псевдоцвете, компрессия JPEG/JPEG-2000, компрессия MPEG-2, компрессия H.264 [4];

·  Прикладная библиотека обработки звука (речи) – декодер MPEG-layer3 (MP3) [5].

2. Пакеты преобразований

Пакеты преобразований позволяют осуществлять спектральный анализ действительных и комплексных сигналов, представленных в формате плавающей точки (стандарт IEEE-754 [6]), а также в формате блочной плавающей точки. В пакеты преобразований входят программы БПФ, DCT, вейвлет-преобразования, быстрого преобразования Уолша-Адамара и Хартли.

Быстрое преобразование Фурье является базовым и наиболее важным алгоритмом в области цифровой обработки сигналов, касающейся спектрального анализа. Все функции БПФ оформлены в виде подпрограмм, с интерфейсом вызова на языке Си. У пользователя библиотеки есть возможность задавать режим работы «Один поток инструкций, множественные потоки данных» (Single Instruction Multiple Data - SIMD) или «Один поток инструкций, один поток данных» (Single Instruction Single Data - SISD) ядра ЦСП, в котором будут производиться вычисления.

Эта возможность обеспечена в масштабируемой архитектуре операционных блоков ЦСП-ядер серии «Elcore». Суть SIMD-режима в том, что за один командный цикл одна арифметическая инструкция выполняется в нескольких одинаковых операционных блоках одновременно, причем с разными данными. Таким образом, применение SIMD - масштабирования в ЦСП разработки НПЦ «ЭЛВИС» способно ускорить исполнение математической задачи в несколько раз. ЦСП–ядро «ELcore-24» микросхемы 1892ВМ2Т «МС-24» обладает двумя операционными SIMD- секциями, то есть вычисления в нем могут быть ускорены в два раза.

Программы БПФ для ядра «ELcore-24» разработаны с максимальной нагрузкой вычислительной мощности ядра ЦСП. Все математические вычисления производятся параллельно загрузке исходных данных из внутренней памяти в регистровый файл и выгрузке результатов обратно. Благодаря этому удалось реализовать функции с максимально малым количеством тактов, затрачиваемых на обработку (см. табл. 4). Для удобства пользователя, при вызове подпрограмм обработки, существует возможность задавать начальные адреса массивов данных и программы в ЦСП. В связи с тем, что подпрограммы БПФ могут быть реализованы исходя их алгоритмов с прореживанием по времени или частоте, в пакет включены функции двоично-инверсной перестановки элементов в массиве данных. Данные перестановки выполняются на месте, то есть для размещения результатов не требуется дополнительного места в памяти данных, для размещения переставленных результатов. На рис. 1 представлен пример подпрограммы БПФ на 4 комплексных сигнала, написанной на ассемблере ЦСП «ELAS™».

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

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

Пакет DCT-преобразований включает в себя функции одномерного и двумерного дискретного косинусного преобразования (прямого и обратного). Одномерное преобразование осуществляется над каждыми 8 отсчетами, двумерное – над матрицей 8x8. При этом двумерное преобразование заключается в применении одномерного DCT сначала к строкам матрицы, затем к столбцам. Для удобства использования пакета, существуют функции загрузки программ DCT и блоков данных в ядро ЦСП по указанным адресам. Вычисление DCT происходит в 16-разрядном дробном формате. Используемый для вычисления DCT/IDCT алгоритм состоит из 26 операций сложения и 16 операций умножения. Система инструкций ЦСП-ядра позволяет выполнить эти операции за 16 командных циклов. Рис. 2 иллюстрирует инструкции вычисления прямого одномерного DCT.

MOVE (A0)+I0,R2 (AT)+IT, R0

TRL R0,R10 SWL R2,R2 (A0)-,R8 (AT)+IT, R0

TRL R0,R12 ADDSUBXs R8,R2,R8 (A0)-,R6

ASR 1,R3,R18 SWL R6,R6 (A0)+I0,R4 (AT)+IT, R0

TRL R0,R14 ADDSUBXs R6,R4,R6

ASR 1,R5,R5 ADDSUBXs R6,R8,R6 R4,R3

MPF2S R10,R2,R2 ADDSUBs R6,R7,R6 R18,R4

MPF2S R12,R8,R18 ADDSUBs R2,R3,R2

MPF2 R6,R10,R22 ADDSUBXs R2,R4,R2

MPF2 R2,R14,R20 ADDs R18,R19,R24 R23,R26 (AT)+DT, R0

MPF2 R4,R0,R18 ADD R20,R21,R23

MPF2S R4,R0,R16 SUB R19,R18,R25 R22,(A1)+

MPF2S R2,R14,R14 ADD R16,R17,R27 R24,(A1)+

MPF2 R8,R12,R18 SUB R15,R14,R29 R26,(A1)+

SUBs R18,R19,R28

MOVE R28,(A1)+

Рис 2. Программа дискретного косинусного преобразования

Каждая строка программы представляет собой набор инструкций (от одной до четырех), выполняемых за один командный цикл ядра ЦСП.

Функции дискретного косинусного преобразования используются в алгоритмах кодирования и сжатия изображения, например, в алгоритме JPEG [7].

3. Библиотека обработки звука

В прикладную библиотеку обработки звука (речи) входит декодер MP3. Программа декодера состоит из двух функций – выделения кадра из потока входных данных и декодирования этого кадра. Программа осуществляет MP3-декодирование в соответствии со стандартом ISO/IEC 11172-3 MPEG-1 Layer-3. Она отвечает требованиям стандартов [5] и [8], которые определяют синтаксис битового потока данных и специфицирует его параметры для аудио сигналов с частотами выборки 32 кГц, 44.1 кГц и 48 кГц. Кроме того, учтены спецификации: низкая частота дискретизации (low sampling frequency, взята из стандарта MPEG2) и MPEG2.5 (не стандартизована ISO/IEC), что позволяет использовать более низкие выборочные частоты 16 кГц, 22.05 кГц и 24 кГц, а также 8 кГц, 11,025 кГц и 12 кГц, Декодирование происходит посредством последовательного исполнения функций предварительной обработки данных, декодирования по Хаффману, модифицированного преобразования IDCT-36/12, синтезирующего фильтра и интерполяции входных отсчетов. В табл. 1 приводится доля временных затрат на исполнение этих блоков декодирования.

Таблица 1

Процент временных затрат на исполнение блоков декодирования

Название

функции

Назначение

функции

Доля затрат времени, %

сompute_pcm_samples()

Интерполяция выходных отсчетов

46.1

сompute_new_v()

Синтезирующий фильтр

11.2

III_hybrid()

Обратное модифицированное DCT-36/12

15.8

Huffman_decoder()

Декодирование кодов Хаффмана

12.5

Hgetbits()

Обработка входного битового потока

4. 9

Все остальное

9.5

Из табл. 1 видно, что функции интерполяции, синтезирующего фильтра, и обратного модифицированного DCT в сумме занимают 73,1% общего времени обработки кадра. Поэтому, данные функции были эффективно реализованы в ядре ЦСП в соответствии с архитектурными особенностями «Мультикор-12». Кроме того, все необходимые для декодирования кадра данные были также размещены во внутренней памяти ядра ЦСП, что сократило время, необходимое на пересылку блоков переменных и коэффициентов. Благодаря этому, общее число тактов на декодирование одного кадра при этом составляет приблизительно 330,000, т. е. 3,3 мс для частоты ИМС «Мультикор» 100 МГц. При этом на частоте дискретизации в 48 кГц длительность звука, содержащегося в одном кадре MP3, составляет 12 мс, т. е. декодер звука и речи MP3 функционирует на ИМС «Мультикор» в режиме реального времени.

4. Библиотека обработки изображений

Прикладная библиотека функций по обработке изображений предназначена для программной реализации различных алгоритмов сжатия изображения на основе вейвлет-преобразования [9]. Функции библиотеки разработаны для исполнения ядром ЦСП ИМС серии «Мультикор».

Функции, входящие в состав библиотеки, можно разделить на две группы:

·  функции, которые выполняют обработку данных, представленных в формате с фиксированной точкой - целые числа со знаком в дополнительном коде;

·  функции, которые выполняют обработку данных, представленных в формате с плавающей точкой.

Базовыми функциями вейвлет-преобразования являются:

функции, выполняющие одномерное вейвлет-преобразование:

·  прямое/обратное дискретное вейвлет-преобразование одномерного массива в соответствии с фильтром Ле-Галла 5/3;

·  прямое/обратное дискретное вейвлет-преобразование одномерного массива в соответствии с фильтром Добеши 9/7;

функции, выполняющие двумерное вейвлет-преобразование:

·  прямое/обратное дискретное вейвлет-преобразование двумерного массива в соответствии с фильтром Ле-Галла 5/3 – декомпозиция/рекомпозиция исходной матрицы;

·  прямое/обратное дискретное вейвлет-преобразование двумерного массива в соответствии с фильтром Добеши 9/7 - декомпозиция/рекомпозиция исходной матрицы;

функции, выполняющие NL-уровневое вейвлет-преобразование:

·  NL-уровней прямого/обратного дискретного вейвлет-преобразования двумерного массива в соответствии с фильтром Ле-Галла 5/3;

·  NL-уровней прямого/обратного дискретного вейвлет-преобразования двумерного массива в соответствии с фильтром Добеши 9/7.

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

Также в состав библиотеки входят функции для преобразования форматов цветных изображений: функции обратимого преобразования компонент изображения и функции необратимого преобразования компонент изображения из цветового пространства «красный-зеленый-синий» (Red-Green-Blue, RGB) в цветовое пространство «яркость, цветность красного, цветность синего» (luminance, chrominance-red, chrominance-blue, YCrCb) и обратно. Использование данных функций необходимо для подготовки исходного изображения в формате RGB к последующей обработке. При обработке черно-белых изображений после преобразования в формат YCrCb ненулевой остается только яркость изображения – компонент Y, другие компоненты изображения – нулевые.

Для облегчения реализации алгоритмов сжатия изображений в состав библиотеки входят функции скалярного квантования массивов:

·  функции, выполняющие квантование/деквантование двумерного массива в соответствии с заданным шагом квантования;

·  функции, выполняющие равномерное скалярное квантование/деквантование поддиапазонов коэффициентов вейвлет-преобразования, полученных после N-уровневой декомпозиции исходной матрицы.

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

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

Таким образом, используя входящие в состав библиотеки функции, пользователь может полностью реализовать алгоритм сжатия/восстановления изображения на основе вейвлет-преобразования в соответствии с фильтром Ле-Галла 5/3, либо алгоритм сжатия/восстановления изображения на основе вейвлет-преобразования в соответствии с фильтром Добеши 9/7. Также функции библиотеки могут быть полезны для реализации различных вычислительных алгоритмов.

В табл. 2, табл. 3 приведены оценки быстродействия реализации алгоритмов сжатия/восстановления цветного изображения на основе вейвлет-преобразования в соответствии с фильтром Добеши 9/7.

Таблица 2

Оценка быстродействия алгоритма сжатия цветного изображения

Название функции

Назначение функции

Вычислительные затраты такт/пиксель цветного изображения

RGBtoYCrCb

прямое необратимое преобразование компонент (ICT) из цветового пространства RGB в YCrCb

13

FWTreal_NL_decomp

NL=4

4-уровневое прямое дискретное вейвлет-преобразование двумерного массива в соответствии с фильтром Добеши 9/7

66

FQnt_real_NL_int NL=4

равномерное скалярное квантование поддиапазонов коэффициентов вейвлет-преобразования, полученных после 4-уровневой декомпозиции исходной матрицы

22

HENC

кодирование: групповое, Хаффмана двумерного массива

32

Таблица 3

Оценка быстродействия алгоритма восстановления цветного изображения

Название функции

Назначение функции

Вычислительные затраты такт/пиксель цветного изображения

HDEC

декодирование: групповое, Хаффмана двумерного массива

24

DQnt_real_NL_int NL=4

равномерное скалярное деквантование поддиапазонов коэффициентов вейвлет-преобразования, полученных после 4-уровневой декомпозиции исходной матрицы

24

IWTreal_NL_recomp

4-уровневое обратное дискретное вейвлет-преобразование двумерного массива в соответствии с фильтром Добеши 9/7

66

YCrCbtoRGB

обратное преобразование компонент (ICT) из цветового пространства YCrCb в RGB

20

5. Характеристики эффективности некоторых функций библиотеки

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

В табл. 4 представлены данные о быстродействии функций пакетов преобразований и элементарных функций библиотеки. Измерения проводились на ИМС 1892ВМ2Т«МС-24» [10], [11]. Символом * помечены значения, полученные при работе в режиме SIMD (в режиме SISD значения вдвое больше).

Таблица 4

Основные параметры быстродействия

Характеристика

Значение

Нерекурсивная фильтрация, целочисленный комплексный формат (16+j16)*(16+j16)+(32+j32):

производительность, число тактов на отвод

скалярная задержка

1

2

Нерекурсивная фильтрация, комплексный формат плавающей точки:

производительность, число тактов на отвод

скалярная задержка

2

4

БПФ-1024, комплексный формат 32-битной плавающей точки (IEEE-754), в тактах

20700

Декодер Витерби, на одну метрику пути, 16-битный формат, в тактах

0.5

БП Уолша-Адамара – 256, комплексное, 16-битный формат, блочная плавающая точка, в тактах

600

Одномерные DCT и IDCT, 16-битный формат, блочная плавающая точка, в тактах (на 8 отсчетов)

16

Двумерные DCT и IDCT, 16-битный формат, блочная плавающая точка, в тактах (на матрицу 8x8)

256

Деление, формат 32-битной плавающей точки, в тактах

5*

Квадратный корень, формат 32-битной плавающей точки, в тактах

8*

Синус, формат 32-битной плавающей точки, в тактах

9*

Значения, полученные в режиме SIMD, являются усредненными по большому блоку обработанных данных. Например, одна функция синуса не вычисляется за 9 тактов в режиме SIMD, но за 18 тактов мы получаем 2 значения синуса сразу, т. е. 18 / 2 = 9.

Также над некоторыми функциями прикладной библиотеки проводились измерения эффективности их SIMD и SISD реализации. Максимально, быстродействие алгоритма в SIMD-архитектурах может увеличиться в количество раз, равное числу секций SIMD. Однако такое увеличение производительности может быть достигнуто только для полностью линейных частей алгоритмов без инструкций переходов и условных ветвлений. В тех случаях, когда такие инструкции встречаются, программа исполняет их в режиме SISD, что снижает производительность SIMD-архитектуры. В связи с этим, необходимо исследовать эффективность SIMD-реализаций тех или иных алгоритмов, а также модифицировать коды программы с целью увеличения их эффективности. Подобное увеличение может быть достигнуто за счет минимизации инструкций переходов и условных ветвлений. Кроме того, в некоторых случаях инструкции условных ветвлений могут быть заменены условно-исполняемыми (по секционным признакам) арифметическими инструкциями.

В табл. 5 приводятся результаты измерений эффективности реализации некоторых библиотечных функций для SIMD-архитектуры. Измерения проводились на ИМС 1892ВМ2Т«МС-24» с двумя секциями SIMD, т. е. максимально возможное ускорение каждой функции – в два раза.

Таблица 5

Оценки ускорения некоторых процедур обработки сигналов/изображений на ЦСП-ядре ELcore-24™ в режиме 2SIMD при отсутствии параллелизма по данным

Процедура

Ускорение (в разах)

Пояснение

1. КИХ-фильтр с N отводами:

N=8

N=16

N=32

N=64

1 / 1.44

1.23 / 1.61

1.48 / 1.76

1.68 / 1.86

Формат плавающей точки, действительные отсчеты сигнала и отклика фильтра, прямая форма фильтра.

Значение справа достигается, если допустимо, чтобы выход формировался в виде двух полусумм в соседних словах XRAM.

2. БПФ-N, комплексное:

N=256

N=1024

N=2048

1.6

1.66

1.66

Формат плавающей точки, основание 4, один этап выполняется в режиме SISD, остальные – в режиме SIMD.

3. DCT-8x8

2.0

Двумерное DCT, 16-разрядный целочисленный формат, массив обрабатывается одномерным DCT сначала по строкам, затем – по столбцам.

4. Декодер Витерби c N состояниями:

N=64

N=256

1.67

1.75

Оценены затраты на наиболее громоздкую часть процедуры: операции ACS, 16-b целый формат метрик.

5. Генератор случайных чисел.

2.0

Равномерное распределение, некоррелированные значения, интервал -8192:+8191, 16-b отсчеты упакованы по 2 от старших разрядов.

Приведенные оценки говорят о том, что использование SIMD-архитектуры в данных функциях является целесообразным и дает ощутимый прирост производительности по сравнению с SISD-режимом работы.

6. Заключение

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

Поэтому, при разработке библиотеки преследуется цель создания функций, максимально учитывающих тонкости архитектуры микросхем серии «Мультикор», такие как:

·  возможность использования двух SIMD-секций ЦСП-ядра (в ИМС 1892ВМ2Т(МС-24) для ускорения блоков линейных вычислений; для использования этой возможности проводятся исследования векторизуемости тех или иных библиотечных алгоритмов, то есть их предрасположенности к исполнению в режиме SIMD;

·  высокая плотность кодирования в системе инструкций ЦСП-ядра, позволяющая осуществлять две арифметических операции за один такт для 32-разрядных значений и четыре арифметических операции – для 16-разрядных значений, а также 2 операции пересылки;

·  использование адаптационного подхода при выборе алгоритмов, используемых для реализации библиотечных функций на базе системы инструкций ЦСП серии «Мультикор», с целью минимизации кода;

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

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

В настоящее время работа по реализации заданного функционала библиотеки продолжается. На данный момент в ней содержатся наиболее часто используемые алгоритмы спектрального анализа, а также готовые прикладные решения в области обработки изображения и звука. Использование функций прикладной библиотеки позволит пользователям быстро и эффективно разрабатывать и компоновать программное обеспечение обработки сигналов на ИМС серии «Мультикор».

ЛИТЕРАТУРА

1.  http://www. *****.

2.  Теория и применение цифровой обработки сигналов. – М.:Мир с.

3.  Джиган эффективности реализации алгоритмов адаптивной фильтрации на базе «систем на кристалле» серии «Мультикор» // Труды Всероссийской научно-технической конференции «Проблемы разработки перспективных микроэлектронных систем 2005». – 2005. (В настоящем сборнике).

4.  Миано Дж. Форматы и алгоритмы сжатия изображений в действии. – М.:Триумф, 2003. – 336 с.

5.  ISO/IEC 11172-3. Information technology. Part 3: Audio // Coding of moving pictures and associated audio for digital storage media at up to about 1.5 Mbit/s, 1993. – 150 p.

6.  IEEE-754 (ANSI-754). Binary floating-point arithmetic. – IEEE Computer Society, 1985. – 18 p.

7.  ISO/IEC IS 10918-1. Digital compression and coding of continuous-tone still images:
Requirements and guidelines // ITU-T Recommendation, 1994. - T. 81.

8.  Sperschneider R. MPEG-Layer3 bitstream syntax and decoding. – Fraunhofer IIS, 1997. – 83 p.

9.  , Грибунин и практика вейвлет-преобразования. – С. Петербург: ВУС, 1999. – 203 с.

10.  , , , , Грачев микроконтроллер 1892ВМ2Т (МС-24) – пропуск в мировой клуб процессоров обработки сигналов // Chip News. – 2005. – № 2. – С. 20-31.

11.  , , , , Грачев микроконтроллер 1892ВМ2Т (МС-24) – пропуск в мировой клуб процессоров обработки сигналов // Chip News. – 2005. – № 3. – С. 20-26.