Устройство для обработки сложных цифровых сигналов

Заявляемая полезная модель относится к области устройств для программного управления, выполняющих функции цифровой обработки сигналов, и может найти применение в радиотехнических системах, где необходимо обрабатывать большие объемы входящей информации в режиме реального времени.
Известно, что модернизация и улучшение технических характеристик современных радиотехнических систем проводится, в основном, в направлении увеличения скорости передачи, усложнения типов сигнальных конструкций, совершенствования алгоритмов приема и обработки сложных сигналов, что влечет рост объемов расчетов и необходимость повышения скорости расчетов. Также известно, что для реализации задач накопления и функциональной обработки потоков данных в реальном времени требуется система из процессоров с общим адресным пространством, близкая к системе с программно-аппаратной архитектурой для параллельных вычислений [1, 2]. Поэтому необходимы устройства и модули, обладающие быстрыми и надежными вычислительными возможностями.
Известно устройство «Модуль отладочный Салют» [3], предназначенное для задач цифровой обработки сигналов, отладки прикладных программ на основе многоядерных сигнальных процессоров, макетирования систем интеллектуального управления. Устройство [3] содержит процессорный модуль, оперативную память, энергонезависимую память, высокоскоростные проводные (USB, Ethernet, SpaceWire), беспроводные (WiFi, Bluetooth) и прочие (UART, I2C, SPI) интерфейсы. Недостатком устройства [3] является ограничение функциональных возможностей, заключающееся в недостаточном количестве памяти, которая требуется для групповой обработки больших массивов данных радиотехнических систем, выполняющих цифровую обработку сигналов в реальном времени.
Наиболее близким по технической сущности к заявляемому устройству является устройство обработки цифровых сигналов и информации [4], принятое за прототип.
Функциональная схема устройства-прототипа приведена на фиг. 1, где приняты следующие обозначения:
1(1),…1(n) – модули кластеров обработки сигналов;
2 (1),…2(n) – контроллер внешних интерфейсов;
3 (1),…3(n) – схема функционального контроля;
4 – коммутатор внешних интерфейсов;
5 – схема межкластерных связей;
6 – схема ввода входных данных.
Устройство-прототип содержит n модулей кластеров обработки сигналов 1(1)-1(n), коммутатор внешних интерфейсов 4, схему межкластерных связей 5, схему ввода входных данных 6. В составе каждого модуля кластеров обработки сигналов 1(1)-1(n) содержатся соединенные между собой контроллеры внешних интерфейсов 2(1)-2(n) и схемы функционального контроля 3(1)-3(n). При этом модули кластеров обработки сигналов 1(1)-1(n), схема ввода входных данных 6 соединены со схемой межкластерных связей 5, контроллеры внешних интерфейсов 2 соединены соответственно с коммутатором внешних интерфейсов 4.
Работа устройства-прототипа заключается в следующем.
При первичной регулировке устройства программно распределяют функции модулей в устройстве. Это осуществляется путем записи программ (например, во флэш-память каждого модуля) через схему межкластерных связей 5. Один из модулей кластеров обработки сигналов (например, 1(n)), назначается системным модулем, осуществляет функции управления и обработки информации. Также программным путем определяют и фиксируют, какие модули и каким образом должны быть подключены к схеме межкластерных связей 5 и схеме ввода входных данных 6. Также фиксируют физические места подключения модулей к схемам межкластерных связей 5 и схеме ввода входных данных 6. Коммутатор внешних интерфейсов 4, используя адресный признак, подключает к внешним интерфейсам выходы контроллера внешних интерфейсов 2(n) системного модуля 1(n).
Далее системный модуль 1(n) через схему межкластерных связей 5 обеспечивает начальную установку в исходное состояние всех компонентов устройства, передачу программных компонентов в модули кластеров обработки сигналов 1(1)-1(n-1). Также системный модуль 1(n) обеспечивает надлежащее для данной конфигурации включение схемы межкластерных связей 5 и схемы ввода входных данных 6. Также системный модуль 1(n) через свой контроллер внешних интерфейсов 2(n) и через коммутатор внешних интерфейсов 4 обеспечивает внешние системные связи устройства и осуществление программного управления модулями кластеров обработки сигналов 1(1)-1(n-1).
Входные данные через схему ввода входных данных 6 и схему межкластерных связей 5 поступают на обработку в модули кластеров обработки сигналов 1(1)-1(n-1). Процессоры в модулях кластеров обработки сигналов 1(1)-1(n-1) выполняют сигнальную обработку по программам в соответствии с заданным алгоритмом обработки. Модули кластеров обработки сигналов 1(1)-1(n-1) выполняют общий заданный алгоритм сигнальной обработки путем обмена по схеме межкластерных связей 5 результатами обработки, полученными в каждом кластере. Результаты сигнальной обработки поступают через схему межкластерных связей 5 в системный модуль 1(n), где осуществляется функциональная обработка полученной информации. Затем результаты обработки поступают через контроллер внешних интерфейсов 2(n) и через коммутатор внешних интерфейсов 4 внешним абонентам.
В устройстве-прототипе отсутствует общее адресное пространство и возможности, связанные с общим доступом к внешней памяти. Принципы организации общего адресного пространства подробно изложены, например, в [1, 2]. Запоминающие устройства многопроцессорной системы по выполняемым функциям и свойствам разделяются на две области: оперативное запоминающее устройство (RAM) и постоянное запоминающее устройство (ROM). В идеальном случае эти области должны образовать единое адресное пространство, и для них должна использоваться общая система адресации. Организация работы многопроцессорной системы предполагает использование нескольких способов адресации данных. Если память многопроцессорной системы образует единое адресное пространство, способы адресации не зависят от того, с какой областью памяти проводится работа.
Таким образом, отсутствие общего адресного пространства в устройстве-прототипе ограничивает скорость обработки входных и внутренних данных и объем хранимой информации из-за необходимости организации внутреннего трафика по схеме межкластерных связей.
Задачей предлагаемого технического решения является организация общего адресного пространства с целью увеличения общего объема вычислительных ресурсов процессоров и повышения эффективности их использования.
Достигаемый технический результат - повышение вычислительной производительности устройства.
Для решения поставленной задачи в устройство, содержащее n модулей кластеров обработки сигналов, один из которых назначается системным для осуществления функции управления остальными модулями кластеров обработки сигналов, коммутатор внешних интерфейсов, схему межкластерных связей, схему ввода входных данных, входящие в состав каждого модуля кластеров обработки сигналов соединенные между собой n контроллеров внешних интерфейсов и n схем функционального контроля, причем каждый из n модулей кластеров обработки сигналов и схема ввода входных данных соединены соответственно со схемой межкластерных связей, каждый из n контроллеров внешних интерфейсов соединен соответственно с коммутатором внешних интерфейсов, согласно полезной модели, дополнительно введены n контроллеров доступа к памяти и модуль общей памяти, при этом каждый из n контроллеров доступа к памяти соединен с соответствующей схемой функционального контроля, а другой связью - с модулем общей памяти; дополнительно модули кластеров обработки сигналов выполнены с возможностью обмена данными с модулем общей памяти.
Функциональная схема предлагаемого устройства приведена на фиг. 2, где приняты следующие обозначения:
1(1),…1(n) – с первого по n-й модули кластеров обработки сигналов;
2(1),…2(n) – с первого по n-й контроллеры внешних интерфейсов;
3(1),…3(n) – с первого по n-й схемы функционального контроля;
4 – коммутатор внешних интерфейсов;
5 – схема межкластерных связей;
6 – схема ввода входных данных;
7(1),…7(n) – с первого по n-й контроллеры доступа к памяти;
8 – модуль общей памяти.
Предлагаемое устройство содержит n модулей кластеров обработки сигналов 1(1)-1(n), коммутатор внешних интерфейсов 4, схему межкластерных связей 5, схему ввода входных данных 6, n контроллеров доступа к памяти 7(1)-7(n) и модуль общей памяти 8. В состав каждого модуля кластеров обработки сигналов 1(1)-1(n) входят соединенные между собой соответствующие контроллеры внешних интерфейсов 2(1)-2(n) и схемы функционального контроля 3(1)-3(n). При этом, каждый модуль кластеров обработки сигналов 1(1)-1(n) соединен соответственно со схемой межкластерных связей 5, а другой связью с модулем общей памяти 8; схема ввода входных данных 6 соединена со схемой межкластерных связей 5; каждый из контроллеров внешних интерфейсов 2(1)-2(n) соединен соответственно с коммутатором внешних интерфейсов 4, n контроллеров доступа к памяти 7(1)-7(n) соединены с соответствующими схемами функционального контроля 3(1)-3(n), а другой связью - с модулем общей памяти 8.
Модули кластеров обработки сигналов 1(1)-1(n) выполнены с возможностью:
реализации программы управления контроллерами внешних интерфейсов 2(1)-2(n), схемами функционального контроля 3(1)-3(n), контроллерами доступа к памяти 7(1)-7(n);
выполнения программы обмена данными с контроллерами внешних интерфейсов 2(1)-2(n), схемами функционального контроля 3(1)-3(n), схемой ввода входных данных 6, контроллерами доступа к памяти 7(1)-7(n) и модулем общей памяти 8;
выполнения программы цифровой обработки поступивших данных в соответствии с целевым назначением устройства.
Контроллеры внешних интерфейсов 2(1)-2(n) предназначены для передачи сообщений и данных в коммутатор внешних интерфейсов 4.
Схемы функционального контроля 3(1)-3(n) предназначены для слежения за работоспособностью модулей кластеров обработки сигналов 1(1)-1(n), контроллеров внешних интерфейсов 2(1)-2(n) и контроллеров доступа к памяти 7(1)-7(n). В случае появления неисправности схемы функционального контроля 3(1)-3(n) обеспечивают выдачу сообщений главному (системному) кластеру и/или во внешнюю среду потребителям через коммутатор внешних интерфейсов 4.
Коммутатор внешних интерфейсов 4 предназначен для передачи данных и сообщений во внешнюю среду потребителям.
Схема межкластерных связей 5 предназначена для организации взаимодействия между блоками устройства в соответствии с требуемыми функциями обработки данных.
Схема ввода входных данных 6 предназначена для приема данных из внешней среды и передачи данных через схему межкластерных связей 5 в модули кластеров обработки сигналов 1(1)-1(n).
Контроллеры доступа к памяти 7(1)-7(n) предназначены для обеспечения бесконфликтного доступа всех модулей кластеров обработки сигналов 1(1)-1(n) к модулю общей памяти 8. Бесконфликтный доступ означает, что доступ к записи данных в какую-либо область модуля общей памяти 8 осуществляется одним блоком в один момент времени, а доступ к чтению данных не ограничивается. Контроллеры доступа к памяти 7(1)-7(n) следят, чтобы данные записывались поочередно. Это предотвращает несанкционированное разрушение и изменение данных.
Модуль общей памяти 8 предназначен для накапливания и хранения входных данных, хранения промежуточных результатов вычислений, хранения общих переменных и констант исполняемой программы.
Предлагаемое устройство работает следующим образом.
Сначала осуществляется первичная регулировка устройства. Один из модулей кластеров обработки сигналов (например, 1(n)) назначается системным (главным) модулем, осуществляет функции управления остальными модулями кластеров обработки сигналов 1(1)-1(n-1). Назначение может осуществляться как программным, так и аппаратным способом. Аппаратный способ заключается в размещении одного из модулей в заранее определенное (системное) местоположение. Программный способ заключается в том, что проводится запись системной программы в модуль 1(n) через схему ввода входных данных 6 и схему межкластерных связей 5. Таким образом, модуль 1(n) становится системным.
Далее системный модуль 1(n) через свой контроллер внешних интерфейсов 2(n) подключается к коммутатору внешних интерфейсов 4, и таким образом обеспечивает внешние связи устройства.
Затем производится начальная установка всех компонентов устройства в исходное состояние. Системный модуль 1(n) обеспечивает конфигурацию включения схемы межкластерных связей 5 и схемы ввода входных данных 6 в соответствии с загруженной программой, осуществляет запись программ и передачу необходимых данных через схему межкластерных связей 5 в модули кластеров обработки сигналов 1(1)-1(n-1), осуществляет передачу необходимых данных (это могут быть постоянные коэффициенты для расчетов, фрагменты программ) для модулей кластеров обработки сигналов 1(1)-1(n-1) в модуль общей памяти 8.
Далее каждый из модулей кластеров обработки сигналов 1(1)-1(n-1) через соответствующий контроллер внешних интерфейсов 2(1)-2(n-1) подключается к коммутатору внешних интерфейсов 4, и таким образом обеспечивает внешние связи модулей кластеров обработки сигналов 1(1)-1(n-1).
Далее системный модуль 1(n) начинает управлять поступлением, накоплением и размещением входных данных через схему ввода входных данных 6 и схему межкластерных связей 5. Под управлением системного модуля 1(n) данные принимаются, накапливаются и размещаются в модуле общей памяти 8, где становятся доступными для всех модулей кластеров обработки сигналов 1(1)-1(n-1).
Затем системный модуль 1(n) через схему межкластерных связей 5 передает управляющие сообщения в модули кластеров обработки сигналов 1(1)-1(n-1). Далее модули кластеров обработки сигналов 1(1)-1(n-1) через соответствующие контроллеры доступа к памяти 7(1)-7(n-1) получают доступ к модулю общей памяти 8, где в соответствии с заданным алгоритмом накапливаются и размещаются данные.
Организация одновременного доступа к данным через модуль общей памяти 8 приводит к снижению внутреннего трафика по схеме межкластерных связей 5, что существенно повышает скорость обработки общих данных, увеличивает общей объем вычислительных ресурсов процессоров и улучшает производительность работы устройства в целом.
Далее модули кластеров обработки сигналов 1(1)-1(n-1) выполняют заданный алгоритм обработки данных, результаты обработки поступают в модуль общей памяти 8, а затем в системный модуль 1(n), где осуществляется функциональная обработка полученной информации.
Конечные результаты обработки поступают через соответствующие контроллеры внешних интерфейсов 2(1)-2(n) модулей кластеров обработки сигналов 1(1)-1(n) и через коммутатор внешних интерфейсов 4 внешним абонентам.
В заявляемом устройстве модули 1(1)-1(n) могут быть реализованы на базе модулей, содержащих сигнальные процессоры (например, модулей компании АО НПЦ «Элвис» [3], Texas Instruments [5], Analog Devices [6]), или аналогичных им по функциональности.
Контроллеры доступа к памяти 7(1)-7(n) могут быть реализованы на базе микросхем жесткой логики (например, микросхемы серий 1533, 1564 или аналогичные им по функциональности [7-9]) и/или программируемых логических интегральных схем (ПЛИС) (например, ПЛИС фирмы ALTERA [10]). Принципы реализации контроллеров доступа к памяти изложены в [1 - гл.6, 7].
Контроллеры внешних интерфейсов 2(1)-2(n) могут быть реализованы на базе специализированных микросхем и изделий микроэлектроники (например, микросхемы, в состав которых входят USB, Ethernet, SpaceWire, WiFi, Bluetooth и прочие (UART, I2C, SPI) интерфейсы – микросхемы компании АО НПЦ «Элвис» [3], специализированные микросхемы компаний Texas Instruments [5], Analog Devices [6]). Принципы реализации контроллеров внешних интерфейсов изложены в [1 - гл.7].
Схемы функционального контроля 3(1)-3(n), коммутатор внешних интерфейсов 4, схема межкластерных связей 5, схема ввода входных данных 6 могут быть реализованы на базе микросхем жесткой логики (например, микросхемы серий 1553, 1564 или аналогичные им по функциональности [5-9]) и/или программируемых логических интегральных схем (ПЛИС) (например, ПЛИС фирмы ALTERA [10]).
Модуль общей памяти 8 может быть реализован на базе микросхем статической и динамической памяти (например, микросхемы серий 1553, 1564 или аналогичные им по функциональности [5-9]). Принципы реализации устройств и модулей общей памяти изложены в [1 - гл.6, 2 - п.1.3].
Таким образом, совокупность введенных в предлагаемом устройстве новых блоков и их связей позволяет организовать общее адресное пространство для процессорных устройств, что в итоге расширяет функциональные возможности радиотехнической системы, реализующей цифровую обработку сложного сигнала и имеющей в составе подобные устройства.
Прирост вычислительной производительности зависит от объема добавленной общей памяти и характера решаемых системой задач. По результатам оценочного моделирования, для наиболее часто встречающихся задач обработки изображений и видео прирост производительности при добавлении в систему общей памяти в размере 100% от имеющейся в каждом модуле кластеров обработки сигналов составляет до 50%.
Источники информации
1. В.Ф. Мелехин, Е.Г. Павловский «Вычислительные машины и сети: учебник для студ. высш. учеб. Заведений» - М.: Изд. центр «Академия», 2007. (о системах микропроцессорных и организации памяти).
2. Ю.И. Иванов, В.Л. Югай. «Микропроцессорные устройства систем управления: Учебное пособие» - Таганрог: Изд-во ТРТУ, 2005.
3. http://elvees.ru – радиоэлектронные компоненты компании АО НПЦ «Элвис» (г. Зеленоград).
4. Патент РФ №168894. Устройство обработки цифровых сигналов и информации / Патентообладатель(и): Акционерное общество «Всероссийский научно-исследовательский институт радиотехники» (RU), заявл. 01.07.2016 опубл. 27.02.2017 Бюл. № 6.
5. http://ti.com/product – радиоэлектронные компоненты компании Texas Instruments.
6. http://analog.com – радиоэлектронные компоненты компании Analog Devices.
7. http://integral.by – радиоэлектронные компоненты компании ОАО «Интеграл» (г. Минск).
8. http://radio-stv.ru – справочные данные по популярным цифровым микросхемам.
9. https://helpics.org/7-87744.html – основные серии цифровых интегральных микросхем.
10. http://altera.ru – радиоэлектронные компоненты компании Altera.