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

Помогите начинающему VisualDSP + ADSP-BF548 EZ-KIT Lite

Привет всем. Помогите, начинающему.

Пробую разобраться с DSP, имею ADSP-BF548 EZ-KIT. VisualDSP++ 5.0.

Опыт работы только контролеры Microchip.

Накачал тонны описаний. Описания проца есть, но мало что даёт.

Хотел бы начать с близкой для меня задачи, пытался приспособить их примеры, не вышло.

Принять cимвольные данные на UART, сохранить (хорошо бы увидеть на LCD), затем выдать в PC через тот же UART. Одна из первых задач. Я занимаюсь разработкой научной автономной аппаратуры. Далее есть планы заниматься спектрами ...

Сложность - VisualDSP работа с самим DSP реорганизована на базе С++, раньше нужно было самим много писать кодов для железа (почти ассемблер). Сейчас вся рутина подготовлена в спец. библиотеках С. Уже нужно уметь обращаться с макрасами устройств DSP. Единственно их много и пока я в них теряюсь (типа ADI_UART_CMD_SET_LINE_STATUS_EVENTS и т.д.). Между ними много связей и ссылок. Во всех примерах все настройки идут через:

adi_ssl_Init.c

adi_ssl_Init.h

Я их анализировал, что бы использовать. К примеру взять настройки диск (там где есть) и вставить к себе, но не получилось. Описания одних и тех же устройств резко отличаются между примерами. Это всё на символическом языке. Т.е. adi_ssl_Init везде отличаются. Да же непонятно как можно начать, что можно трогать. Как настроить периферию под себя.

Есть ли русская литература VisualDSP?

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


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

Использование ихней библиотеки (SSL), вообще то - вещь исключительно добровольная. В vdsp можно работать напрямую с регистрами переферии. Более того, при освоении фина, я бы рекомендовал именно этот способ (так как использовании SSL все равно требуется хорошее представлении о работе переферии). Потом, с опытом, вы сами для себя определите нужна вам эта библиотека или нет.

Описания проца есть, но мало что даёт.

Это вы зря. Курите hardware reference manual (это тот, который в двух файлах). programing reference, для начала, достаточно бегло просмотреть.

Принять cимвольные данные на UART, сохранить (хорошо бы увидеть на LCD), затем выдать в PC через тот же UART.

LCD на первых порах лучше не трогать. PPI (в купе с DMA) не самая проcтая вещь для новичка (IMHO).

Как настроить периферию под себя.

Читайте hrm (глава 31) и настраивайте UART под себя :)

#include <sys/platform.h>
#include <ccblkfn.h>
....
*pUART1_LCR = WLS_8 | nSTB | nPEN; // 8 бит, 1 стоп бит, без контроля четности
....
*pUART1_GCTL = UCEN | nEDBO; // запускаем uart
....
while (!(*pUART1_LSR & DR)); // ждем данные
int data = *pUART1_RBR; // читаем принятые данные
*pUART1_THR = data; // отправляем их назад

Думаю, идея понятна.

PS. Почитаяйте еще 9-ю главу hrm (про port control) - в 54х семействе все ножки по-умолчаниб настроены как gpio, и на режим переферии их надо настраивать явно.

PPS. Обратите внимание на цоколевку rs232 на kit-е. Там используется не null-modem-ный кабель.

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


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

Использование библиотеки (SSL) - я тут думал в начале несколько по лёгкому обойти железо. Ранее смотрел

BF533 VDSP 4.5. Там все примеры написаны по Вашему принципу *pUART1_LCR ...

Есть вопрос на форуме:

http://electronix.ru/forum/index.php?showtopic=60203

не могу понять логику втыкания команд csync,ssync,idle

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

В примерах BF533 их предостаточно. Их побывал, мигал лампочками, все мои достижения.

Есть кит для BF533 и UART у меня там работал, но как бы в космос.

Для BF548 примеров подобного типа я не видел, у них только библиотеки (SSL).

Где можно в ADSP-BF548 EZ-KIT Lite в самом простом режиме (в плане программирования) сохранить данные, чтобы затем выдать UART? Можно взять за основу BF533?

Вообще начать - по manual настроить переферию и как бы в первом приближении должно работать?

Благодарю.

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


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

Где можно в ADSP-BF548 EZ-KIT Lite в самом простом режиме (в плане программирования) сохранить данные, чтобы затем выдать UART?
Да хоть прям в ОЗУ находу сгенерить(к примеру условиться, что выдавать будете букывы от A до Z). Можно в коде определить что-то вроде

char *string="Bla bla bla...";

А потом этот стринг в цикле выплёвывать через UART.

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

ИМХО, это самые простые с точки зрения программирования варианты :)

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


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

не могу понять логику втыкания команд csync,ssync,idle

ssync - когда важен строгий порядок выполнения операций с MMR регистрами переферии. Например, при записи, blackfin не гарантирует соблюдения порядка записи.

*pUART1_DLL = 123;
*pUART1_DLH = 0;
ssync();
*pUART1_GCTL = UCEN;

Если в этом примере убрать ssync() может возникнуть ситуация когда запись в GCTL произойдет раньше, чем в DLL/DLH, и uart будет запущен с неправильным значением делителя.

idle - когда по какой либо прищине (снижение энергопотребления, настройка PLL) нужно "усыпить" процессор.

...но как бы в космос.

???

Для BF548 примеров подобного типа я не видел, у них только библиотеки (SSL).

Просто SSL появилась значительно позже чем 53х серия. А переписывать примеры индусы сильно не спешат :)

Где можно в ADSP-BF548 EZ-KIT Lite в самом простом режиме (в плане программирования) сохранить данные, чтобы затем выдать UART?

Сохранить перманентно? Если нет - то в ОЗУ (что логично ;) ). Если да - spi flash, как по мне, наиболее простой вариант.

Можно взять за основу BF533?

С некоторой осторожностью - да. Большинство переферии в 53х и 54х сериях - идентично. Исключения (из того что сразу вспоминается) - PLL, PPI и UART.

Про UART хорошо написано в этой app note. Да, и про port control не забывайте.

Вообще начать - по manual настроить переферию и как бы в первом приближении должно работать?

Не понял вопроса. :wassat:

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


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

ssync, idle - для чего понятно, пока неясно когда их нужно ставить, раз видел 2 ssync подряд. Возможно это относится к регистрам переферии, их установке? Описано это в описаниях устройств? Поэтому думал SSL позволит обойти эти системные проблемы.

Мне нужно сохранить большой объём данных (по возможности), GPS раз в секунду вадает строку cимвольные данные 70 знаков вида:

$GPRMC,042130.837,A,5646.8180,N,06033.4770,E,0.12,227.02,130503,,*0B

координаты, время ...; за 10мин это примерно 40кБайт. Поэтому просто ОЗУ наверное несовсем подходит.

GPS подключается к UART. Такой объём жалательно накопить (или больше) затем выдать через тот же UART.

Подумал возможно попробывать UART + DMA + память?

Насколько это реально для моих возможностей?

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


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

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

Если это GPS и данные будут идти постоянно - то любая флэш быстро протрётся.....

Есть варианты с FRAM от Ramtron, но надо-ли оно вообще?

 

Конкретизируйте задачу пожалуйста. Думается мне, что всё реально, главное стараться и не сдаваться до конца :)

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


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

Я писал в начале занимаюсь разработкой автономной аппаратуры. GPS + датчики, условия жесткие - поле, желательно день сохранить, в конце дня перекинуть в PC минимум.

Хотел на прямую использовать ADSP-BF548 EZ-KIT, переферии различной много, есть HDD, LCD, клавиатура, различная память. Это всё что мне нужно.

Думал начать с GPS. только ADSP-BF548 EZ-KIT имеет один выход COM (UART). На него подключу GPS, а далее где, как накапливать данные?

Пока нашёл UART + DMA + память.

Примеры на ADSP-BF548 в основном библиотеки (SSL), нашёл немного DMA куски без SSL.

Возможно как прощё можно?

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


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

ИМХО, на таких скоростях и таком мощном проце как BF - можно обойтись без DMA :)

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


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

Возможно это относится к регистрам переферии, их установке? Описано это в описаниях устройств? Поэтому думал SSL позволит обойти эти системные проблемы.

Это относится к архитектурке блекфина. В описаниях отдельных устройств этого нет. Да, SSL позволяет это обойти. Кроме этого SSL позволяет обойти silicon anomaly.

за 10мин это примерно 40кБайт. Поэтому просто ОЗУ наверное несовсем подходит.

:) Это совсем не большой объем

Думаю 64К + 128К + 64М ОЗУ должно хватить

Насколько это реально для моих возможностей?

Кроме вас, ваши возможности никто оценить не может :laughing:

Если это GPS и данные будут идти постоянно - то любая флэш быстро протрётся.....

Да ладно. 70 байт/с на 2М флэш с 100т. циклов... Долго протирать прийдется. Еще и нашим внукам останется :)

На него подключу GPS, а далее где, как накапливать данные?

Пока нашёл UART + DMA + память.

ОЗУ это конечно самый простой вариант. Только если в поле в конце рабочего дня произойдет сбой питания... Будет мучительно больно.

IMHO, в вашем случае оптимальный вариант - карта памяти + компьютер с кард-ридером для сброса информации.

Возможно как прощё можно?

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

ИМХО, на таких скоростях и таком мощном проце как BF - можно обойтись без DMA :)

Да. Элементарно.

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


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

>Да ладно. 70 байт/с на 2М флэш с 100т. циклов... Долго протирать прийдется. Еще и нашим внукам останется smile.gif

Согласен. Я не принял во внимание очень низкую скорость.

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


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

Запись GPS не главная цель, основное наши датчики - измерение составляющих магнитного поля. Эти данные сохранять так же будет нужно, объём будет не маленький. На GPS хотелось начать освоение с ADSP-BF548 и GPS можно подключить только к UART. Время 10мин накопления данных GPS чисто начальное. Система должна работать день, самособой все данные GPS и датчики не пишутся без перерыва, паузы будут большие. Сколько я сказать немогу. ОЗУ не желательно в плане надёжности, питание нужно будет отключать. Полагая карта памяти + компьютер с кард-ридером для меня не то что нужно. Всяких систем на основе компьютеров понаделено немало, я не их сторонник.

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


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

Полагая карта памяти + компьютер с кард-ридером для меня не то что нужно.
Почему это? Вроде самое то

Всяких систем на основе компьютеров понаделено немало, я не их сторонник.
А сбрасывать данные 'в конце дня' вы собирались не в компьютер?

Или вы полагаете, что для записи на карту вам придется встроить к себе в систему компьютер с картридером? :cranky: Это не так - карта замечательно пишется напрямую через SPI, безо всяких PC и картридеров :rolleyes:

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


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

...карта замечательно пишется напрямую через SPI...

Более того, у 54х блекфинах есть аппаратный secure digital host. :laughing:

А в комплекте с китом идет карточка на 256 Мб. :)

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


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

Всётаки вариант компьютер меня не устраивавает, насколько бы он неподходил. У меня есть конкретное оборудование ADSP-BF548 EZ-KIT. А сбрасывать данные 'в конце дня' собираюсь в компьютер. Но это может быть и два дня, поле это не дома за столом. Что там будет - нельзя предугадать. Комуто возможно нравится мобильник или утюг + компьютер, ради бога. У меня есть желание освоить DSP, как нельзя подходит для нас. Начать можно с малого и постепенно раскручивать систему. Просто их примеры мне интересны, хочется свинуть свои задачи, пусть и очень малые.

Вариант SSL как бы интересен, думал будет надёжнее переферия - писали профи, но пока несмог надёргать из примеров.

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


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

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

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

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

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

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

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

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

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

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