Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Blackfin
http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=2312
Страница 1 от 2

Автор:  Цецо [ Чет Май 04, 2006 7:26 pm ]
Заглавие:  Blackfin

Ще замоля колегите дето са се борили с черната перка да споделят малко впечатления.

Това което знам (или си мисля че знам) до момента е следното.

- Относително евтини са (около 10$ за единични бройки)
- Намират се относително лесно през К1.
- Има ги в "нормален" корпус с 176 крака.
- Пуснали сте uCLinux.
- JTAGа може да е самоделен.
- консумацията е поносима - по дейта шита ядрото яде 25ма на 50Мхз.
- имат само 1 UART и някакви синхронни интерфейси.
- може да работи с SDRAM.

Това което незнам е:

- как е като контролер? Има ли GPIO и ако да с каква скорост може да ги клати например.
- плаващи запетайки смята ли хардуерно?
- до колкото ми е известно има GCC за него. Има ли безплатни готови функции за бързи математики, които да ползват DSP възможностите на ядрото.
- и въобще всякаки други впечатления които можете да споделите.

Автор:  ypauns [ Чет Май 04, 2006 8:59 pm ]
Заглавие: 

Blackfin -a набира популярност :)
Значи по първите три точки:
В К1 ги подържат на склад и цената за ADSP-BF532SBST400 е около 14$, той е в "нормален" 176 LQFP корпус, който при повече мерак може да се запои само с един поялник и флюс.
Да uClinuxa върви без проблеми има добра подръжка на [url]blackfin.uclinux.org[/url]
Моя JTAG e напълно самоделен, направих го с 74HC244 и 74HC00 и малко резистори. За консумацията не мога да коментирам, не съм я мерил, но от това което съм чел наистина е много добра за тези MHz. Иначе работната честота може да се променя в широки граници (PLL). Захранващото напрежение на ядрото се регулира от 0.8-1.2V. Подържа от 16-128MB SDRAM, има 4 банки по 1MB за асинхронни устройства. (flash памети и др.) Може да боотва и от сериен флаш-което на мен доста ми допада. За UART е точно така само един е, има два SPORT (бърз синхронен интерфейс), SPI, PPI (бърз паралелен интерфейс) и много DMA канали
GPIO обаче са малко -16 на брой, някои от които се застъпват с PPI. Не съм си играл да меря за колко време клати даден пин. Няма модул за смятане на плаваща запетая хардуерно.
Относно средствата за разработка подходите са два: единия е VisualDSP. Има най различни math библиотеки, AD са пуснали свободно разни AN с различни функции за обработка на сигнали. Има и някъкъв микро кернел и TCP/IP функции. Обаче най-евтиния USB JTAG, който се подържа от Visual DSP май беше над 1000$ :( , а и легалния VisualDSP, беше някъкви хиляди долари.
Другия варианте GCC/uClinux - free software :). Може да се правят и standalone, приложения без uClinux. Хубавото на uClinx-a, че може да се ползва готов и свободен софтуер, който е писан за Linux.
Това засега от мен. Цецо ако имаш други въпроси, и мога да отговоря съм на разположение.

Автор:  danov [ Чет Май 04, 2006 9:32 pm ]
Заглавие: 

Повечето информация която давам ми е теоретична, но все пак:
Цитат:
- как е като контролер? Има ли GPIO и ако да с каква скорост може да ги клати например.

Има 16 битов half duplex Parallel Peripheral Interface, който може да се клати до SCLK/2. SCLK може да е до 133Mz.
Освен това има 16 GPIO пина. За скороста им:
Цитат:
The PFx pins are synchronized to the system clock (SCLK). When configured
as outputs, the programmable flags can transition once every system
clock cycle.
When configured as inputs, the overall system design should take into
account the potential latency between the core and system clocks. Changes
in the state of PFx pins have a latency of 3 SCLK cycles before being detectable
by the processor. When configured for level-sensitive interrupt
generation, there is a minimum latency of 4 SCLK cycles between the time
the flag is asserted and the time that program flow is interrupted. When
configured for edge-sensitive interrupt generation, an additional SCLK
cycle of latency is introduced, giving a total latency of 5 SCLK cycles
between the time the edge is asserted and the time that the core program
flow is interrupted.


Цитат:
- плаващи запетайки смята ли хардуерно?

Не. Смята с фиксирана запетайка.

Цитат:
- до колкото ми е известно има GCC за него. Има ли безплатни готови функции за бързи математики, които да ползват DSP възможностите на ядрото.

Да, има GCC. Все още не съм се занимавал със сметките. Но ако реално искаш бърза сметка, най-добре е на асемблер.
Тук има малко софтуер:
http://www.analog.com/processors/processors/blackfin/technicalLibrary/manuals/codeExamples.html
Можеш да разгледаш как изглежда FFT-то на асемблер. Не съм сигурен че има компилатор, който да го докара от C в този вид.

Код:
// Start of first stage with input fetching (input is assumed to be in bit
//reversed order)
// Input is assumed to be scaled by four. The outputis also scaled by four by
//ASR option
    R0 = [I0++];            // x0
    R3 = [I0++];            // x2
    R1 = [I0++];            // x1
    LSETUP(STAGE1_ST,STAGE1_END) LC0 = P1;
                            // There are N/4 butterflies in first stage
STAGE1_ST:
        R4 = R0 +|+ R3 , R5 = R0 -|- R3(ASR) || R3 = [I0++] || [I1++] = R5;
                            // A = x0 +|+ x2, B = x0 -|- x2, fetch x3, store y1
                            // of prev. bf
        R6 = R1 +|+ R3 , R1 = R1 -|- R3 (ASR,CO) || R0 = [I0++] || [I1++] = R6;
                            // C = x1 +|+ x3, D = x1 -|- x3(CO), fetch x0, store
                            // y2 of prev. bf
        R4 = R4 +|+ R6 , R6 = R4 -|- R6(ASR) || R3 = [I0++] || [I1++] = R7;
                            // y0 = A +|+ C, y2 = A -|- C, fetch x2, store y3 of
                            // prev. bf
STAGE1_END:
        R7 = R5 +|- R1 , R5 = R5 -|+ R1(ASR) || R1 = [I0++] || [I1++] = R4;
                            // y3 = B +|- D, y1 = B -|+ D, fetch x3, Store y0 of
                            // this bf
    [I1++] = R5;            // Store y1 of last butterfly
    [I1++] = R6;            // Store y2 of last butterfly
    [I1++] = R7;            // Store y3 of last butterfly
                            // End of first stage with input fetching by bit
                            // reversal

Автор:  Цецо [ Пет Май 05, 2006 9:55 am ]
Заглавие: 

Изчерпателно, благодаря. Ще ми се да намеря време за него.

Обаче не ми стана ясен въпроса със сметките. VisualDSP то явно има готови функции за сметки. Да разбирам ли че като OpenSource все още няма? А няма ли начин да се "приобщи" нещо от VisualDSP към GCC?

Защото да се пише на асемблер си е наказание. Особенно на такъв сорт процесори.

Автор:  the_real_maniac [ Пет Май 05, 2006 10:21 am ]
Заглавие: 

Защото ми беше интерсно погледнах MPEG имплентациите и познай :-D декодирането и кодирането - които са едно 80-90% са на asm и има по два-три файла на C , който са основно декларирани някакви масиви от данни , поне от бързият преглед това видях ;-) :-)

Цецо аз не съм наясно с DSP-та или Blackfin , но просто си мисля , че ако кажеш горе-долу за какво ти трябва такова 'нещо' хората, които го ползват ще ти кажат дали ще ти свърши работа, просто идейка-съвет :-)

Успех :D

Автор:  Цецо [ Пет Май 05, 2006 10:42 am ]
Заглавие: 

За нищо конкретно не ми трябва в момента.

Иначе имам проекти във които се прави риал тайм анализ и обработка на аналогово/цифрови сигнали (човешкото тяло ги пройзвежда в изобилие). Та една такава платформа би ми дала доста.

Нямам нищо против сметките да са на асемблер - стига да не се налага аз да ги пиша :)))))

Автор:  ДедоБоре [ Пет Май 05, 2006 10:56 am ]
Заглавие: 

плаваща запетая в DSP-like инструкции няма да намериш (мисля)
обикновено плаващата запетая върви в комплект със сложни математически функции (корени, логаритми, тригонометрични и др) и се реализира в копроцесор. на него му даваш параметри и след известно време получаваш резултат. обикновено това не е натрупващ акумулатор/регистър и идеята за DSP инструкция отива на кино.

Автор:  Цецо [ Пет Май 05, 2006 11:21 am ]
Заглавие: 

Досега не съм опирал до DSP функции с плаваща запетя. Питах просто информативно. Знам че за това се иска сериозен силиконов ресурс.

А каква е консумацията на SDRAM паметите? Предполагам че лапкат повече от SRAM.

Например следното: Система на 50MHz. Да кажем ядрото хапва 30 mA от 3В. Останалите динамично работещи компоненти - SDRAM, FLASH дали ще се вместят в около 20мА.

За да може после това животно да работи да кажем 24 часа от две батерии AA 1,8Ah.

Автор:  ypauns [ Пет Май 05, 2006 11:48 am ]
Заглавие: 

Не съм разглеждал, какви вградени функции за обработка на сигнали има GCC, но всичко което го има като код за VisualDSP, мисля че не е проблем да се подкара и с GCC. За консумацията все още не съм правил измервания, като ми остане малко време ще направя. Колегата danov, мисля бе публикувал някои дани по въпроса. Чипа като цяло има добър power management. SDRAM си дърпа ток по принцип, но може да се намали тактовата честота оттам и консумацията, но трябва да замеря нещата, че така говоря малко наизуст.

Автор:  bateAz [ Пет Май 05, 2006 12:13 pm ]
Заглавие: 

DSP инструкции за FPU в окръг "Intel" се наричат "SSE" :)

Автор:  ДедоБоре [ Пет Май 05, 2006 12:35 pm ]
Заглавие: 

аха... има и MMX, 3Dnow и т.н.
НО! какъв ще му е акумулатора на цецо за една Р4? :P
разликата между "преносима" и "портативна" апаратура е съществена :lol:

последно - пентиум-клас процесорите нямат връзване, освен с чипсет. така е от поне 10 години. 915 чипа е с 1900 крака

Автор:  asp [ Пет Май 05, 2006 1:05 pm ]
Заглавие: 

[quote="Цецо"
Например следното: Система на 50MHz. Да кажем ядрото хапва 30 mA от 3В. Останалите динамично работещи компоненти - SDRAM, FLASH дали ще се вместят в около 20мА.

За да може после това животно да работи да кажем 24 часа от две батерии AA 1,8Ah.[/quote] Да не заформяш някое холтерче ?

Автор:  Цецо [ Пет Май 05, 2006 1:46 pm ]
Заглавие: 

Не, за холтер няма нужда от DSP. Хита там сега е 24 часа запис на данните на FLASH карта и после цялата наука е анализа на PCто. DSP няма какво да прави там.

Става въпрос пак за анализ на сърдечни ритми, но по-скоро от страната на дефибрилаторите. Но всичко е в главата ми и в доста разкашкан вид за да знам дали въобще има смисъл да се копае в тая посока.

Автор:  bateAz [ Пет Май 05, 2006 8:52 pm ]
Заглавие: 

Цецо, ти ма уби! Не очаквах дефибрилаторът да няма ток :wink:

Автор:  asp [ Съб Май 06, 2006 7:21 am ]
Заглавие: 

bateAz написа:
Цецо, ти ма уби! Не очаквах дефибрилаторът да няма ток :wink:
Те май са на батерии

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/