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

TMS320DM643

Кто-нибудь сталкивался с таким DSP? Есть куча вопросов!

1. не могу сформировать большой массив для хранения кадра (~33Мбайт).

2. не могу разобраться с работой видеопорта в режиме raw video. (нужно принимать и передавать картинку 4120х4120х16бит. аппаратно это не возмоюжно, придется кадр разбивать). не понятно как работает: кадры разделяются только сигналом FVID?

3. DSP стартуе с нулевого адреса, после загрузки программы из хост-контроллера, а CCStudio генерит туда данные, что делать?

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


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

Кто-нибудь сталкивался с таким DSP? Есть куча вопросов!

1. не могу сформировать большой массив для хранения кадра (~33Мбайт).

2. не могу разобраться с работой видеопорта в режиме raw video. (нужно принимать и передавать картинку 4120х4120х16бит. аппаратно это не возмоюжно, придется кадр разбивать). не понятно как работает: кадры разделяются только сигналом FVID?

3. DSP стартуе с нулевого адреса, после загрузки программы из хост-контроллера, а CCStudio генерит туда данные, что делать?

 

п.1 Что есть не могу сформировать массив. Как формируете?

п.3 Что содержится к командом файле линкера? Вообще как его напишите, туда CCS и будет генерить. Да и то что генерится и грузится с хоста, так что это скорее фича, чем баг, :)

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


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

п.1 Что есть не могу сформировать массив. Как формируете?

п.3 Что содержится к командом файле линкера? Вообще как его напишите, туда CCS и будет генерить. Да и то что генерится и грузится с хоста, так что это скорее фича, чем баг, :)

 

 

массив формирую следующим образом:

 

...

unsigned short in_img[4120*4120]

...

или

...

unsigned short *in_img=new unsigned short[4120*4120];

...

 

программа компилится. в первом случае пишит ошибку загрузки модуля для debug, во втором - ошибка чтения памяти (режим симулятора). в файле cmd объявлена доступная память 500Мб, heap=0x1F400000.

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


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

в файле cmd объявлена доступная память 500Мб, heap=0x1F400000.

 

Сорри, Вы раньше под Винду писали? Для TMS также важно ГДЕ вы ее размещаете, и динамическое распределение памяти (тем более в таких объемах) крайне не рекомендуется. И определять ее "впрок" лишь бы линкер отвязался - то же, имхо, не очень хорошо.

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


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

:cheers:

Спасибо! Кажется, разобрался.

Остается проблема с видеопортом:

мне нужно объединить последовательно несколько DSP, FPGA, для обработки raw видеопотока. не понятно с синхронизацией и как передается конец/начало кадра, сколько "проводов" нужно для соединения..?

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


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

:cheers:

Спасибо! Кажется, разобрался.

Остается проблема с видеопортом:

мне нужно объединить последовательно несколько DSP, FPGA, для обработки raw видеопотока. не понятно с синхронизацией и как передается конец/начало кадра, сколько "проводов" нужно для соединения..?

 

Насколько я понял из описания режим raw - это данные приходящие с АЦП или уходящие в ЦАП, т.е. для самого интерфейса синхронизация прозрачна и ее необходимо самому востанавливать/формировать. А что у Вас за задача такая с нестандартным (имхо) разрешением? Ведь есть же видео-кодеки того же Тексаса, которые на выходе дают стандартный цифровой видео сигнал типа BT.601 c которым по-проще будет работать.

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


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

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

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

А начальная инициализация (режим работы, частота) задается с помощью резисторов привязывающих А19..А22 к 1 или 0?

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


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

А начальная инициализация (режим работы, частота) задается с помощью резисторов привязывающих А19..А22 к 1 или 0?

 

Режимы, имхо, устанавливаются программно, а не с наружи.

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


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

А начальная инициализация (режим работы, частота) задается с помощью резисторов привязывающих А19..А22 к 1 или 0?

 

Режимы, имхо, устанавливаются программно, а не с наружи.

 

в документации написано:

Device Configuration at Device Reset......

стр. 50

иначе возникает вопрос: как DSP определит, накакой частоте работает SDRAM или что делать после RESET?

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


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

А начальная инициализация (режим работы, частота) задается с помощью резисторов привязывающих А19..А22 к 1 или 0?

 

Режимы, имхо, устанавливаются программно, а не с наружи.

 

в документации написано:

Device Configuration at Device Reset......

стр. 50

иначе возникает вопрос: как DSP определит, накакой частоте работает SDRAM или что делать после RESET?

 

После резета, по любому, исполняется пакет, размещенный по адресу 0, а вот "тонкая настройка" интерфейса памяти требует использования регистров программно, или через HPI. Слово конфигурации при выходе из сброса определяет только источник тактирования для тактирования (внешний/внутренний). На самом деле, мне показалось что Ваш вопрос касался только видео-порта

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


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

После резета, по любому, исполняется пакет, размещенный по адресу 0, а вот "тонкая настройка" интерфейса памяти требует использования регистров программно, или через HPI. Слово конфигурации при выходе из сброса определяет только источник тактирования для тактирования (внешний/внутренний). На самом деле,  мне показалось что Ваш вопрос касался только видео-порта

 

Да, вопрос касался только видеопорта. Просто проверял схему, просматривал прогу для хост-контроллера, появилась неувязочка. Спасибо за помощь! Далее буду ждать, когда изготовят первый образец. Надеюсь монтажники ничего не напутают ( :) )

Процедуры для обработки дисторсии уже написаны, проверены в симуляторе. Работают. (Пришлось все делать табличным методом. Памяти на хранение данных о координатах ушло 66 МБайт, плюс 66 для входного и выходного видекадров.) На одном DSP получается 15 кадров в секунду! Потребуется всего лишь 3 процессорных модуля.

:cheers:

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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