This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Announcing new Piccolo series with Floating Point, DMA, USB, more Flash, massive RAM, and new VCU math engine!

Other Parts Discussed in Thread: CONTROLSUITE

 

C2000™ Piccolo MCUs offer an enhanced math engine specifically designed to simplify programming and optimize performance in real-time control applications that may require integrated communications. Developers of energy-efficient motor control and renewable energy applications can now use a single F2806x MCU to cost-effectively execute control loops and multiple processing-intensive power line communications (PLC) protocols and modulation schemes.

 

F2806x device features:

Achieve leading efficiency and functionality with cutting-edge math unit

Increased memory range of 52 - 100KB RAM and 128 - 256 KB flash

Industry-leading controlSUITE™ software, tools and support

Learn more about the new Piccolo devices 

 

Watch the video

 

 

Order now! Act fast and get your controlSTICK for only $11!* Be one of the first 1,000 customers to order via the TI eStore and use the promo code Piccolo11.

 

*orders through TI eStore only. Regular price $39. One tool per customer.

 

 

http://www.ti.com/piccolo

 

  • Ok everyone, tell us what you think of the new Piccolo F2806x series!

     

  • The new part looks great.  The extra RAM will be really helpful.

     

    With regards to ordering a controlSTICK, when I tried I did not get the chance to type in the Piccolo11 code to get it at a reduced cost.  Also they said they were out of stock.  Where should I be able to type in the code? or am I too late as 1000 have sold in the first few hours?

     

    Tim

  • Tim,

    Thanks for your interest! We're excited about the amount of RAM that we were able to include on the chip as well.

    For the controlSTICK, on the Shipping and Payment screen, there should be a "Coupon or Promotional Code" box on the right side.

    And no, you haven't missed out on the promotion yet! There may be periods when the eStore shows Out of Stock as we keep up with customer orders. You should still be able to make an order, after which you'll be provided with more details about the ship date. It should be within the next week or so.

    -Michael

  • I received same message but later was able to place the order with the discount ... frankly I may not have time to check out all the features but $11.00 for a control stick is too good to ignore :-) 

  • Yes, this is a great addition to C2000 family and will take C2000 a long way towards OFDM type communications .. in additon faster FFT and complex math features will make it even more suitable for the applications you mentioned ... I have been out of PLC for some time now but will PLC applications require any sort of external memory interface to accomodate the whole system implementation? If yes, how will then this device fit in ... just curious...

  • It's gorgeous.  Now please make a high-rel and high-temperature version.  

     

    The extra RAM solved lots of problems (that was my pet peeve with the 28035)

  • Very nice - these look like the best of all possible worlds.  One question: the announcement mentions a USB interface, but I don't see it in the data sheets.  Which devices have the USB interface?

  • The HRCAP is pretty much just what the doctor ordered, except that the doctor also asked for a DMA path to it.  Ah well, I'll be able to make some hay with this thing anyway, if it ever becomes available.

    And what of Piccolo's older, wiser brother, Delfino?  Should we be expecting any announcements on that front soon?  You've been dropping hints for months about  "enhanced connectivity".  Now my clients are telling me to delay their designs until I can use the new, Ethernet-enabled Delfino.  This is what happens when rumors get started...

    Jim MacArthur

  • We are validating the USB and finalizing SW right now, everything looks GREAT!

    We plan to sample the superset USB version in Q2 with full SW support.  USB will be offered for every F2806x device with a separate part number with a trailing U. ex: F28069U.

     

  • Jim,

    Do you have a local salesperson (TI or disti)?  If so, they can share our upcoming plans with you under NDA.  I'd recommend this so you aren't completely in the dark in regards to "enhanced connectivity".

  • Pretty happy about the USB, but I'm wondering: I was just about to migrate to the FT2232 USB chip so that I could integrate your standard USB-JTAG solution.  Any chance your USB interface will support some kind of JTAG-style download/debug?

     

  • There will be a USB based flash programming solution, and a USB based datalog solution, as well as nice package of device class examples and custom API capability.

    I hadn't considered a JTAG feature. You mean plug directly from your PC into the MCU through USB for CCS debug?  Let me check, but I'm pretty sure internally we can't get the ICE data to the USB port.

     

  • No, I doubt that there would be a JTAG feature, but you have to admit that it would have been cool.  Imagine a Piccolo Controlstick with one chip instead of two.  No FTDI USB chip gumming up the works.  I'm designing a reference board for an upcoming instrumentation class, and I'm starting with a Controlstick architecture: a Piccolo and an FT2232 providing USB JTAG interface built into the board.  For a design like that, having another USB port on the Piccolo doesn't really simplify things -- I'll still need the FTDI chip to access the JTAG, so I might as well use its second port.

    Still, that's just one design out of quite a few on my bench.  For the others, I'll definitely use the built-in USB when it becomes available, and plug in an emulator as needed.

  • I didn't like the ADC with only 3 MSPS, PowerPAD package and the larger number of power pins.
    Why use PowerPAD?
    What is the CMOS process used for F2806x?

  • Hi Jim, I'm Trey and somehow I've managed to become the C2000 expert on USB. The F2806xU parts bring a huge amount of additional functionality via their USB peripheral, however we cannot support JTAG programming via this peripheral (although this would be really cool!).  We could certainly implement something like this on silicon, but because it would only be used by developers it doesn't make sense to put it in a chip which goes into volume production.

    The F2806xU parts contain a very similar USB peripheral to the Stellaris line of microcontrollers.  When the software is released, it will look very similar to the Stellarisware USBLib drivers and examples.  If you want to get a head start on C2000 USB development, familiarize yourself with the Stellarisware software.

    As Chris stated, we will be providing additional examples beyond what is currently offered in Stellarisware.  Besides datalogging and flash loading, are there other USB applications that any of you would like to see developed for this line of parts?

  • Hi Trey,

    You might want to think about some sort of virtual com port, a la FTDI's solution.  It's pretty popular with about half of my clients, who are coding in Matlab, LabView, etc., and would prefer the simplicity of opening a COM port over calling a driver from C.  I suspect that my market isn't the typical Piccolo market, but you did ask, so my answer is: emulate FTDI's VCP mode.

  • Thanks for the feedback Jim.

    VCP is in the first group of examples that will be release in Q2.  We will have both an example which allows an F2806x application to talk to the computer, as well as an application that uses an SCI peripheral to emulate the functionality of an FTDI chip.

  • Ari,

    PowerPad is an option for higher temp, regular LQFP is also available.

  • Hi,

    Where can I find a schematic symbol of the F28069 (the 100 pin version) ?

  • Have you checked the datasheet?

    http://www.ti.com/lit/gpn/tms320f28069

     

    The datasheet contains the pinout information which you can use to make a schematic symbol.  Due to the vast amount of EDA tools out there, C2000 doesn't provide symbols for schematic capture tools.

  • That's great, but WHERE IS the Target Configuration File build option for F28069 in Code Composer  (for XDS100v1, XDS100v2, ....),.. ?

     

    (Also, controlSuite trys to load F28035 instead of F28069.)

     

  • which particular part of F2806x is having USB module?

    regards

    Abhijit

  • OK I got  answer for my first query related to part no.

    Is this fully featured USB? Device/host /otg similar to CortexM3?

    regards

    Abhijit 

  • The f2806xU parts support both device and host modes, however we do not support OTG.  The USB peripheral is very similar to the Stellaris USB peripheral, so if you want to begin learning, Stellaris is an excellent place to start until the USB parts are released.

  • Is it possible to know the pinout of the f2806xU parts? I mean, where are the usb pins located?

    Thanks

    Massimo

  • On the 100 pin package parts the USB pins are:

    DP - 78

    DM - 77

     

    On the 80 pin package parts the USB pins are:

    DP - 62

    DM - 61

     

    Depending on your application you may need to also save a pin to use for VBus detection, any pin that is GPIO capable should be fine.  There will be additional information made available as USB parts are released.

    Trey German

  • Do you know if the USB on the 06x will allow a code update to be made via USB memory stick?

    That is, if I have a target board with a USB socket, and plug in a memory stick, will there be a mechanism to allow the 06x to be updated from new code placed on the USB Memory Stick?

    I believe the mode for doing this is USB DFU mode. I also think that the USB needs to be in Host mode, but I am not sure of that.

    Regards,

    Todd Anderson

  • Todd,

    We will have a solution for DFU.

  • Todd,

    Chris beat me to it, but yes we will have examples for the Device Firmware Upgrade class (DFU).  DFU however, is not what you want.  There actually is no defined standard for doing a firmware update via a USB memory stick.  USB memory sticks use the Mass Storage Class (MSC) standard from the USB-IF.  We have example code for this too as well as a method for doing a firmware upgrade from a binary stored on a memory stick.  All this code will be very similar to the examples present in the Stellarisware package, so if you want to get a head start, take a look at their documentation and source code.

    Trey German

  • I take that back about C28x FPU performance. I did a 2P2Z macro in assembly using FPU instructions that run in only 186ns (measured using oscilloscope)  on the F28069 ( 15 cycles).

    Can the SPI module be used with DMA? When DMA user guide will be avaliable?

    when  there will be procuctions chips?

     

  • Ari,

    I searched and searched (trust me :) ) and didn't find anything for you to take back.

     

    SPI (if using McBSP) does have DMA connection, check diagram. I'm not sure why the DMA guide isn't showing...let me check that

    http://focus.ti.com/docs/prod/folders/print/tms320f28069.html

     

    Production late in the year.

  • Chris,

      I didn't find any reference how to use DMA on the F2806x "Technicol Reference Manual", spruh18.

     I want to take it back:

    http://e2e.ti.com/support/microcontrollers/tms320c2000_32-bit_real-time_mcus/f/172/p/21092/275951.aspx?PageIndex=5

    There will be no new user guides for the F2806x?

     

     

     

     

  • There better be more guides coming --

    there is no F2806x ADC manual either.

     

     

  • http://focus.ti.com/mcu/docs/litabsmultiplefilelist.tsp?sectionId=96&tabId=1502&literatureNumber=spruh18&docCategoryId=6&familyId=919

    did you see this document?

     

  • Yes. It there's no guide to the DMA and McBSP.

  • That (the Technical Reference Manual) does not include ADCs, except incidental to pwms and clocks.

     

  •  there are more UGs coming in March and April

  • I ordered the F28069 ControlStick and never found the place to enter the $11 code but have enjoyed playing with it anyway.

    I have several questions, one for the Chip and one for the collaterals, and a warning for all you software folks that think moving to hardware floating point is going solve your DSP problems.

    The Chip

    Are there two Floating Point units in this chip? There appears to be a native one, and one inside the CLA (in some documents) or the VCU (in other documents). The documentation is not consistent. The part numbers indicate that the chip can be purchased without the CLA or the VCU. Where is (are) the FP units???

    The Collaterals

    Within ControlSuite there are two paths to code examples for the F28069. One starts in the KITs folder while the other starts in the DEVICE folder. The group of examples in the Device folder cover just about everything one might want to do but, the code is sort of a mess. That is, the comments don't match code. For example, in a section discussing setting up ePWM channel x, the code sets up channel y. Setting up the ADC for use with the CLA is really confusing as the channel selected and the interrupts aren't consistent with the CLA code section. I tried it without modification and, of course, the code doesn't work. The example is called cla_adc_fir.

    I intended to work my way to it by using the code from adc_soc and cla-soc but they don't really plug together nicely. I'm still working on it.

    I did modify one of the examples in the KIT path to toggle a pin when doing the floating point  mx+b calculation so I could measure it on the scope. Pretty snappy alright. Then I added a few lines of code to do the same calculation and divide the output by a variable. Implemented in both FP and int32, the FP version was faster. Cool.

    Warning

    Single precision FP has it's drawbacks. For example, modify the code in the example above to just    y = y + 0.01; and let it run. It stops accumulating around 2 million. Numbers that are added must have the same exponent. At some point the exponent of y plus the absolute value of exponent of 0.01 exceeds 24-bits and 0.01 becomes 0. Also,  the final number isn't what you're expecting since there isn't a true 24-bit binary representation of 0.01 anyway. It's slightly lower (0.0999998).

    I'm having a ball with the ControlStick but it is a bit frustrating at times.

    Andy

     

     

  • I got the examples adc_soc and cla_soc working. It wasn't a problem at all. Never evaluate under the influence of Nyquil. The ePWM that triggers samples in cla_soc is set much lower than I was expecting so the o'scope was misadjusted. Also, the buffer is only 20 samples. I'm injecting a sine wave on the ADC input and it must be a subharmonic of 20 samples or it looks goofy when chen charting it in CCS4, of course. With renuewed confidence, I'm going after cla_adc_fir this weekend.

    No one answered my question about the number of FPU's on the F28069. Is there a native one AND one in the CLA, VCU?

    Andy

  • Andy,

    Andy said:
    Never evaluate under the influence of Nyquil.

    Agreed! :)   Thank you for the feedback.  We are looking the code over for other typos and inconsistencies.  Thank you for pointing these out.

    Andy said:
    No one answered my question about the number of FPU's on the F28069. Is there a native one AND one in the CLA, VCU?

    Floating point unit 1:

    On the 28069 the CPU is a C28x + FPU + VCU.  That is, the CPU supports all of the C28x instruction set, PLUS instructions to perform single precision (32-bit) floating point (FPU) PLUS instructions for viterbi decode, complex math and CRC (VCU) calculations.   The VCU extensions are all in fixed point (not float).  The FPU and VCU are part of the core - they share the same fetch, bus, and pipeline.

    Floating point unit 2:

    CLA: The CLA is an independent accelerator that supports single-precision floating point.  It is not a full CPU with the same capabilities as the main CPU - but it is a nice fast math engine and a floating point module.  It is independent from the main CPU meaning it has its own pipeline, fetch, and bus structure.

    We are discussing how to make this clear in the documentation.  In the meantime I hope this helps

    Regards,

    -Lori

  • Hi Andy,

    Hopefully this will save you some time this weekend: I took a look at cla_adc_fir and found the problem. Change line 478 in the init_adc() function of Example_2806xClaAdcFir.c from this:

         AdcRegs.ADCSOC1CTL.bit.CHSEL = 7;

    to this:

          AdcRegs.ADCSOC1CTL.bit.CHSEL = 2;

    The adc was sampling ADCINA7, but the comments at the top of the code tell you to connect up A2 - since A7 does not come out to a pin on the controlSTICK you are using, you will have to change this code to use A2. After this change your graphs should match the example graphs included in the project. Thank you for pointing this out, we are working on correcting it in controlSUITE.

    Regards,

    Katie

  • Thank you, Lori. That's very cool. One FPU dedicated to the fast sampler and a bit filtering or "conditioning", the other for display scaling.

    By the way, I don't see the "verified" button. My browser must be blocking it or something. Consider this post a verified answer.

    Andy

     

    Lori Heustess said:

    Andy,

    Never evaluate under the influence of Nyquil.

    Agreed! :)   Thank you for the feedback.  We are looking the code over for other typos and inconsistencies.  Thank you for pointing these out.

    Andy said:
    No one answered my question about the number of FPU's on the F28069. Is there a native one AND one in the CLA, VCU?

    Floating point unit 1:

    On the 28069 the CPU is a C28x + FPU + VCU.  That is, the CPU supports all of the C28x instruction set, PLUS instructions to perform single precision (32-bit) floating point (FPU) PLUS instructions for viterbi decode, complex math and CRC (VCU) calculations.   The VCU extensions are all in fixed point (not float).  The FPU and VCU are part of the core - they share the same fetch, bus, and pipeline.

    Floating point unit 2:

    CLA: The CLA is an independent accelerator that supports single-precision floating point.  It is not a full CPU with the same capabilities as the main CPU - but it is a nice fast math engine and a floating point module.  It is independent from the main CPU meaning it has its own pipeline, fetch, and bus structure.

    We are discussing how to make this clear in the documentation.  In the meantime I hope this helps

    Regards,

    -Lori

    [/quote]

     

  • Hi, Katie

    I did notice that CHSEL problem and changed it but there is another misalignment somewhere. I'll try it again.

    By the way, can you whip up a linker CMD file for us for use with cla_adc_fir that sets RAM boot in the linker.  I always have trouble getting the boot memory locations changed. Sometimes it works right away, sometimes I have to run the emulation first, then reset the chip.... It would be helpful.

    I tried to modify one from one of the controlStick examples and that didn't work out well.

    Regards,

    Andy

     

    Katie Enderle said:

    Hi Andy,

    Hopefully this will save you some time this weekend: I took a look at cla_adc_fir and found the problem. Change line 478 in the init_adc() function of Example_2806xClaAdcFir.c from this:

         AdcRegs.ADCSOC1CTL.bit.CHSEL = 7;

    to this:

          AdcRegs.ADCSOC1CTL.bit.CHSEL = 2;

    The adc was sampling ADCINA7, but the comments at the top of the code tell you to connect up A2 - since A7 does not come out to a pin on the controlSTICK you are using, you will have to change this code to use A2. After this change your graphs should match the example graphs included in the project. Thank you for pointing this out, we are working on correcting it in controlSUITE.

    Regards,

    Katie

     

  • Hi Andy,

    I thought that is all I changed other than correcting the comments, but to be sure I have attached the cla_adc_fir folder containing my updated project. Simply replace your cla_adc_fir folder in controlSUITE with this one, then import the project in CCS (but don't copy it into your workspace). I have tested this code on a 28069 controlSTICK and produced the appropriate graphs. I updated the comments as well, so hopefully this will make things a little clearer.

    Other things that you might check if you are still having issues:

    • Double-check that ADCINA2 (pin 2 on the controlSTICK header) is connected with a jumper to EPWM3A (GPIO4  = pin 19 on the controlSTICK header)
    • If your graphs in CCS don't look right, you may want to double-check your graph settings (I did this as a "Dual Time" graph so we can look at the raw and the filtered results):

     

    As for booting to SARAM, I believe cla_adc_fir is already configured for boot to SARAM - see the comments at the top of Example_2806xClaAdcFir.c regarding booting and the linker command file 28069_RAM_CLA_lnk.cmd in controlSUITE (which is linked to this project in CCS).

    I hope that this helps!

    Regards,

    Katie

    cla_adc_fir.zip
  • Thanks, Katie.

    It worked perfectly. No problems.

    I was easily able to change the MAC'n-Slide Fir filter to 7 poles and use an external signal generator for input.

    Counting between the two GPIO outputs revealed around 336nS to execute the filter. For a person from MSP430-Land (me), that's astonishing. It implies that at the 20kHz sample rate of the example program, one could filter 4 ADC channels with a respectable 37 poles each - all in the "background" (CLA). I'm going to try that next.

    The it appears that the source of my original problems was importing the example with the "copy projects" box checked. I thought it was appropriate because I planned to modify the code. From now on, I'll archive the original, in place, and modify to my hearts content knowing I can easily go back to the beginning.

    Thank you very much for your help.

    Andy

     

    Katie Enderle said:

    Hi Andy,

    I thought that is all I changed other than correcting the comments, but to be sure I have attached the cla_adc_fir folder containing my updated project. Simply replace your cla_adc_fir folder in controlSUITE with this one, then import the project in CCS (but don't copy it into your workspace). I have tested this code on a 28069 controlSTICK and produced the appropriate graphs. I updated the comments as well, so hopefully this will make things a little clearer.

    <snip>

    I hope that this helps!

    Regards,

    Katie