Объектно-ориентированное проектирование DSP-систем в телекоммуникациях

advertisement
Объектно-ориентированное
проектирование DSP-систем в
телекоммуникациях
Подготовил: Сергеев Виктор Николаевич
СПбГУ, математико-механический
Факультет, кафедра Системного
программирования
Научный руководитель: к. ф-м. н.
Фоминых Н. Ф.
Рецензент: Просеков О. В.
Цели


Создание объектноориентированного языка для
визуального описания архитектуры
разрабатываемых DSP-систем.
Создание генератора ANSI C кода
для визуальной модели.
Существующие технологии
и методологии



UML (Unified Modeling Language)
ROOM (real time object oriented
modeling language)
Simulink Blocksets компонента
пакета Matlab
Внешние
команды
Общее представление
системы
Внешние
команды
Выходные данные
Блок
ввода вывода
данных
Обработанные
данные
Внутренние
команды
Входные данные
Данные на
обработку
Блок
настройки и управления
системой
Блок
обработки данных
Общее представление
системы



Блок ввода/вывода данных
предоставляет доступ системы к внешним
данным.
Блок настройки и управления системой
включает в себя планировщик процессов
системы и обработчик внешних команд.
Блок обработки данных содержит
непосредственно алгоритмы цифровой
обработки сигналов.
Общее представление
системы


Планировщик процессов работает
по алгоритму RMS (Rate Monotonic
Scheduling)
В системе присутствует два вида
процессов:
– Синхронные. (Не зависим от внешних
событий)
– Асинхронные. (Зависимы от внешних
событий)
Архитектура системы
Средство
Визуального
проектирования
Визуальная модель
в XMI формате
Генератор кода
C исходный код
Обзор языка визуального
моделирования VisDSP

Содержит
– Классы
– Объекты
– Интерфейсы
– Связи

Визуальная модель состоит из:
– Диаграмма классов.
– Диаграмма объектов.
Обзор языка визуального
моделирования

Блок ввода/вывода данных:
– IO_Port
– Interruption_Handler

Блок настройки и управления системой:
– Entry_Point
– Func_Module_Dispatcher
– Command_Handler

Блок обработки данных:
– Async_Module
– Sync_Module
Генератор кода
Данные в
формате XMI
Модуль
Чтения
XMI
Компоненты модели во
внутреннем
представлении
Генератор
кода
Текстовый
выход


































void Dispatcher_Dispatcher(){
int i = 0; int i1 = 0; int i2 = 0; int i3 = 0; int i4 = 0;
while(1)
{
for(i = 0; i < Dispatcher_NumOfSyncModules;i++) {
for(i1 = 0; i1 < Dispatcher_SyncModuleList[i].NumOfObject;i1++) {
Dispatcher_SyncModuleList[i].Idle_func(i1);
if(Dispatcher_IsInterapt) {
Dispatcher_IsInterapt = 0;
for(i2 = 0; i2 < Dispatcher_NumOfInterapt; i2++) {
if(Dispatcher_EventArr[i2]) {
Dispatcher_EventArr[i2] = 0;
for(i3 = 0; i3 < Dispatcher_NumOfAsyncModules; i3++) {
if(Dispatcher_AsyncModuleList[i3].Interapt_Id == i2) {
for(i4 = 0; i4 < Dispatcher_AsyncModuleList[i3].NumOfObject; i4++) {
Dispatcher_AsyncModuleList[i3].Idle_func(i4);
}
}
}
}
}
}
}
}
}
}
void Dispatcher_SetEvent(int Event_Id)
{
Dispatcher_EventArr[Event_Id] = 1;
Dispatcher_IsInterapt = 1;
}
void EDMA_Handler()
{
Dispatcher_SetEvent(EDMA_Id);
Достигнутые результаты



Реализован язык визуального
моделирования VisDSP
Разработан генератор С кода.
В качестве инструмента
моделирования используется среда
MS Visio.
Вопросы
Download