BlackFin as a controller

I attended a workshop for the ADI Blackfin devices the other day and I have to say I am pretty impressed. Running at 600 MHz, it appears to compete with the high end MCUs such as ARM9s and ARM11s while also being capable of performing serious DSP functions. The array of peripherals is also impressive.

The only drawback I see is the power consumption. The static Idd is between 10 and 700 mA depending on Vdd and temperature. It is *very* sensitive to temperature varying by a factor of 30 from -40 to 125C. Even at room temperature the static power can be almost as high as the dynamic power when running flat out.

Has anyone used the Blackfin as a controller rather than just as a DSP chip?

Reply to
rickman
Loading thread data ...

Where I used to work they are using a BF as a controller, interfaced to an IR sensor and doing Kalman filtering, comms etc. The power consumption doesn't matter much in their case. I developed the original system using the ADSP-2187 and it was migrated to the BF because of the lower price and enhanced performance.

Leon

Reply to
Leon

Yes, we do that here in one of our products. We use it because it can efficiently collect and store ADC data using the PPI DMA while code is churning through the data. Our app needs to process a group of 8 samples as each group is collected, average the group and then make some control decisions based on a test before the next group is collected. We're running at CCLK=400MHz and the ADC is clocked at about 25MHz. The chip speed coupled with the compiler optimizer, which is excellent, gives us the speed and control we need. There's very little "DSP" going on there (simple averaging is just about all of it).

I see the blackfin as a fast but somewhat power hungry microcontroller optimized for data throughput.

JJS

Reply to
John Speth

I use Blackfin a lot. Same crap as all other microntrollers. Any particular questions?

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

Interesting. Not many MCUs could keep up with a 25 MHz ADC and do what the Blackfin is doing.

I was thinking more of an application with a user interface like a PDA sort of device. In essence, does the Blackfin compete well against the high end ARMs and PXA type devices? I don't think the Blackfin power consumption is beyond that of the high end ARMs. I know the older PXA parts can suck up a good Watt. But I can't access the current data sheets so I don't know about the latest PXA parts.

Reply to
rickman

Done that with BlackFin.

Blackfin code is fat, so you will need the external RAM. The 16bit external bus is a speed bottleneck. There is no MMU, the set of peripherals is poor; it is likely you will need to build an extension to it. Supply drain in the powerdown is too high for the battery operation; it needs the external switch. RTC is useless: too much power. Incredible amount of bugs in the silicon. Many cryptic features; using BlackFin for 5 years, I still encounter the problems with the CPU hardware from time to time. AD support used to be not very bad; however now they are forwarding the requests to FAEs.

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

Il 05/12/2007 18.07, rickman ha scritto:

They're truly powerful. We also use them a lot, in different products. Last one just finished samples 8 bit video data at 27 Mhz, does color conversion (9 multiplications and 9 additions: just 13 clock cycles per pixel!) on each pixel, outputs a 65 Mhz 24 bit true colore live image on VGA at 60 Hz, draws an on screen display in overlay with transparencies (by software), compresses the real time feed by JPEG and sends that to an external USB device controller. We use the dual core BF561 at 513 Mhz.

Meanwhile, the CPU still have plenty of time to handle a custom 485 protocol, a complex CAN protocol, many different (simple) control tasks, and a bunch of I/Os by an external PLD.

I'm really impressed of its power.

Good:

- the compiler. Solid, complete, and a powerful optimizer.

- I like the documentation; if you read ALL of that, you *can* design with a reasonable chance of first time success.

- technical support from ADI is excellent, in my opinion.

- HW errata is long and detailed

- debugger: you can inspect memory regions as image or audio data, and show thread status if using VDK.

Bad:

- HW errata is long and detailed :-)

- jtag emulator; we have three; a bit "flaky", on some machines you'll have intermittent disconnects..

- the example software is not so useful, in my opinion; instead of many simple "typical use case" of the more complex library functions, you get huge monolithic examples, that need many external boards, that you need to "tear down" by yourself to fully understand a feature, then reassemble back again in simplified form.

I'm not an expert on ARM9, I just played on ARM7 LPC parts, but I think there's no comparison with them in integer pure number crunching, or "mixed".

I suppose they also draw more power than ARM9s.. but they also do more work in the same time frame. I think you should compare "joules" for "unit of work"...

They're simply different chips, with different purposes.

Remember you have two full ALUs, two separate multipliers, address generator units, lots of DMA channels...

Reply to
Antonio Pasini

You may consider TI's DaVinci family: ARM9 + C6000 DSP cores on the same chip.

Roberto Waltman

[ Please reply to the group, return address is invalid ]
Reply to
Roberto Waltman

What sort of product? What tasks did the Blackfin handle? Was power consumption an issue? From what I see, the total power consumption is on par with most high end embedded processors (ARM11, PXA,...). Why did you choose the Blackfin?

I don't agree with some of your criticisms. Can you explain in more detail? I see the peripherals as being very good, but then I am looking at the data sheet for devices that are just now coming out such as the BF547. That part has nearly everything and the BF548-9 have CAN ports.

I was told at the workshop that a simple MMU (memory protection only) will be added to the product line shortly. They didn't give any details on it. uCLinux runs on the part although that has been modified to not require an MMU.

I have not gotten to the point of checking the details of the power consumption. It seems that most companies don't do a good job of designing the RTC to be truely useful. The best one I have seen is in the Atmel AT91RM55800A. It was truely low power, had a separate Vcc from the MCU and had pins for external wakeup and to control the power supply to the rest of the board. That is what a RTC should do!

That's too bad about support. A product that is flakey is one thing, but depending on FAEs for support would make it a show stopper.

If you use any of the new parts, please let us know how you get on with them. I hope they have fewer errata.

Reply to
rickman

I have never looked hard at the DaVinci line of devices. But then I never looked hard at the Blackfin family either. It is funny how companies spend so much on marketing and advertising and yet, they don't seem to convey much. My impression of DaVinci is that it is highly optimized for video. The marketing info made it so hard to find out the technical details that I have never tried to get past that first impression.

Reply to
rickman

Actually, I did several very different products with BlackFin. The most similar to what you are looking for was a handheld battery powered instrument.

About 10 tasks at the same time under the proprietary RTOS. GUI, signal processing, math, communication. The average workload about

100MIPS.

Yes. IIRC the DSP itself was about 1/3 of the total power budget.

Probably. The power consumption is determined by the technology available; there is no reason to be much of a difference.

It is convenient to do all kinds of work with a single processor. One stream of the development, less overhead.

Peripherals are done by mad savants with plenty of good intentions. Why can't they just make the peripherals like on everybody else's processors? There is not a lot of GPIO, no ADC, worseless timers with crazy modes of operation. You can do very fancy things with timers, however you can't do a simple input-capture!

BlackFin already has a rudimentary MMU which provides for user and supervisor modes and some protection of memory areas. However it can't virtualize the memory space which is the whole point of the MMU.

ucLinux is a neutered Linux for CPUs without MMU. The MMU is the essential part of the Linux core; Linux without MMU doesn't make much sense to me.

IIRC the built-in RTC of BlackFin drains 50uA. That is unacceptable for the coin cell operation. The standalone RTCs usually drain about 1uA.

I prefer the older but the better known bugs to the fewer but not yet discovered ones :-)

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.