Hi All
In case you haven't already heard, Texas Instruments has released a new family of MCUs incorporating a Cortex M3 and C2000 DSP with floating point unit - the "C2000 Concerto Microcontroller" family
The present models are the following:
F28M35xyyz where
x = E (60MHz DSP / 60MHz Cortex)
x = M (75MHz DSP / 75MHz Cortex)
x = H (100MHz DSP / 100MHz Cortex or 150MHz DSP / 75MHz Cortex)
yy = 20 (72k RAM / 512k Flash)
yy = 22 (136k RAM / 512k Flash)
yy = 32 (136k RAM / 768k Flash)
yy = 50 (72k RAM / 1024k Flash)
yy = 52 (136k RAM / 1024k Flash)
z = B (-)
z = C (Ethernet + USB OTG)
Grades exist also up to -40°C..+125°C, presently in 144 pin QFP housing.
The CPU is known as the host, which usually performs MMI and communication tasks, leaving the DSP to concentrate on performing control loops.
Although I have and sometimes still do develop DSP software it is the Cortex M3 based host part that is of main interest here - DSP developers will already understand the benefits of its use in control applications; being in a single chip with shared RAM communication between CPU and DSP it is also clear that the space requirements and design complexity are greatly reduced. It is however to be noted that the DSP part has lots of PWM and timer channels, fast comparators and also 20 x 12 bit ADC inputs as well as its own UART, SPI and I2C interfaces.
The first question may be why the Cortex M4 was not chosen by TI for the CPU host. The reason is quite simply because a Cortex M4 is more or less a Cortex M3 plus DSP extensions and floating point unit - for communication tasks the CPU rarely needs these and the DSP already has FPU and complete DSP support anyway.
Looking at the Cortex's peripherals one finds that it is more-or-less based on a Tempest Stellaris with
- (optional) Ethernet EMAC (needs external PHY via MII) with IEE 1588 precision time protocol and USB OTG
- 4 x SPI
- 5 x UART
- 2 x CAN
- 2 x I2C
- External memory interface
- 64 x I/O pins
Inter-processor communication:
In such designs the communication between CPU and DSP is usually a main design point, often using serial communication or shared memory with a bus arbiter. The Concerto makes life easy with its shared SARAM, message SARAM or message registers which allow fast message passing in a controlled access write environment, including interrupt / flag mode.
Alternative methods of internal serial communication in loop-back modes are of course also still possible.
Development tools available:
- controlSUITE(TM) - a TI utility that manages information concerning latest data sheets, evaluation boards, development kits, example projects, schematics, drivers, SW software libraries, application notes, etc.
- Code Composer Studio (TM) V4 IDE - Eclipse based environment available as Platinum version (all Texas chips and DSPs) or Microcontroller edition (supporting MCUs - pretty much all TI devices with Flash and including the cores in the Concerto). Special with this solution is the support for cross-triggering, allowing breakpoints to stop execution of both cores and side-by-side debugging of the two cores in the IDE.
I fact it was just found that TI is offering both Platinum and MCU versions of the CCS4 for the same price of $445 !!
- An experiment board includes an inbuilt JTAG emulator accepts daughter boards. These can be ordered from TI or are also available from various distributors. Guide price for a starter kit "F28M35H52 Experimenter Kit" including the experimenter board with a control card is $139.
It remains to be seen when other IDE providers can offer an alternative to the CCS4 due to the fact that it is not working with just a Cortex M3 but also with a C2000 DSP in a single JTAG daisy-chain. At the moment it seems best to play safe and go along with the TI tools...
Regards
Mark