Перейти к содержанию
    

Разработка ПО для DSP в Matlab/Simulink.

Требуется организовать разработку DSP-алгоритмов в Matlab/Simulink в виде модели, которая компилируется и загружается в камень. В обход кодирования на С/С++. Алгоритмы - приводная и преобразовательная тематика.

 

После рассмотрения платформ, поддерживаемых Simulink / Embedded Targets, предварительный выбор пал на семейство TI C2000 (Target Support Package TC2). Особо заинтересовали TMS320F2833x, с плавающей точкой.

 

ВОПРОС.

 

1. Может кто-нибудь пробовал создавать алгоритмы в Simulinke для C2000 или другого семейства? Насколько жизнеспособна идея использовать Simulink для разработки полноценного ПО для DSP?

 

2. Возможно ли в связке:

Simulink - Target Support Package TC2 - Embedded IDE Link CC - Code Composer Studio - DSP Board

- исключить написание кода на C/C++ вообще, ограничившись знаниями периферии контроллера?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Пробовал именно для 2000-ных. Получается, конечно, работоспособный код, в том смысле, что компиллируется и все блоки из симулинка закодированы в Си. Но по оптимизации и скорости выполнения в реальном камне это никуда не годится.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А обучаюшие материалы по проектированию для DSP процессоров и плис из матлаба на русском не встречалось?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Пробовал именно для 2000-ных. Получается, конечно, работоспособный код, в том смысле, что компиллируется и все блоки из симулинка закодированы в Си. Но по оптимизации и скорости выполнения в реальном камне это никуда не годится.

...

А если относительно медленный процесс с периодом дискретизации порядка 25 мкс? Или если, например, полоса измерителя физической величины составляет 100 кГц - тогда период дискретизации меньше 5 мкс смысла делать нет.

Хватит ли производительности камня для таких задач при неоптимальном коде из Симулинка?

 

А обучаюшие материалы по проектированию для DSP процессоров и плис из матлаба на русском не встречалось?

Не встречал. Нашел только то, что на сайте матлаба выложено - всякие-разные user guide...

http://www.mathworks.com/products/product_listing/index.html и далее по ссылкам.

Изменено пользователем shamrock

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Пробовал именно для 2000-ных. Получается, конечно, работоспособный код, в том смысле, что компиллируется и все блоки из симулинка закодированы в Си. Но по оптимизации и скорости выполнения в реальном камне это никуда не годится.

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

А вот тут я с вами, Олегович, не согласен: код вполне работоспособен, особенно на процессорах с аппаратной поддержкой плавающей арифметики. А в подтверждение своих слов прилагаю во вложении простенькую модель, сишный код с которой вполне работоспособен (проверено осциллографом).

test9.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот тут я с вами, Олегович, не согласен: код вполне работоспособен, особенно на процессорах с аппаратной поддержкой плавающей арифметики. А в подтверждение своих слов прилагаю во вложении простенькую модель, сишный код с которой вполне работоспособен (проверено осциллографом).

Брать более мощный камень, чтобы разрабатывать для него ПО в пакете высокого уровня, на мой взгляд, неэффективная стратегия.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Большое спасибо всем за участие.

 

Думаю, что стоит попробовать серию С2000 в связке с Matlab/Simulink. Тем более, для оценки/стартапа требуется всего лишь купить TMS320F28335 eZdsp Starter Kit, который продается здесь по цене порядка $650.

 

По предварительным оценкам, учитывая наши небыстрые алгоритмы, мы пролезем по ресурсам/производительности камня, компилируя с высокоуровнего ПО (Simulink).

 

Вообще, такой прием, когда используются заведомо избыточные аппаратные ресурсы, применяется в ряде отраслей. Например, в системах управления мощными преобразователями частоты некоторых западных фирм устанавливается многоплатный блок, в котором: РС-совместимый процессор, чипы мощной логики, вспомогательные DSP.

Один раз разработали такой универсальный блок, и теперь ПО для всех преобразователей пишут спецы по преобразователям/приводам в виде квадратиков. Они отвязались от необходимости держать хороших С/С++ программеров которые должны знать application background на уровне Ph.D в области приводной/преобразовательной техники. Т.е. сложные и уникальные алгоритмы управления создают чуть ли не дедушки в возрасте, ничего не понимающие в программировании/DSP.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Оффтоп:

Среди прочих, использующих заведомо избыточные аппаратные ресурсы, я бы назвал Мелкософт:)

Теперь я понял в чём загвоздка. Висту писали не программисты, а старые дедушки.

 

А если по делу, то конечно очень удобно всё это, если помечтать...

Не париться с исходниками, сосредоточиться на алгоритме...не париться с отладкой(!!!). Сказка без Си!

Нет, пока тормозит эта тема ужасно!

 

Тем не менее смысл использовать однозначно есть. Если надо что-то сделать с минимумом усилий,процов так штук 60..,20гиг озу, питание пара киловатт, радиаторы разместить можно на улице :biggrin:

 

Только вот угадать с производительностью, так сходу будет сложно..

Кто его знает что он там накодит и как компилятор это скомпилит:)

 

Но будущее, ИМХО, за таким подходом(только вообще без трансляции в Си).

Просто времени пройдёт ещё ооочень много, пока это всё ещё и будет оптимизироваться и исполняться нормально.(опять таки ИМХО)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Шеф пару лет назад катался в церн. Там буржуи используют матлаб для источников питания. В ИП стоит микроконтроллер семейства C2000.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...