Save design time and get into production faster with C2000 MCU’s with MathWorks solutions.
To begin you use MATLAB® and Simulink® to create and simulate your algorithms. Next you use Embedded Coder® to generate production code of your algorithms. Embedded Coder support for Texas Instruments C2000 includes:
You can also generate code that runs on the Control Law Accelerator (CLA), a co-processor available on select TI Delfino and Piccolo processors.
From within MATLAB you can access hardware support for Embedded Coder via the Add-On Explorer from the MATLAB toolstrip.
Search for C2000, and select to download and install free C2000 library blocks. You insert and configure the blocks, which include IO and various functions, in your Simulink model. Then you use Embedded Coder to generate production code of your algorithm and run it directly on your TI C2000 MCU. The library blocks include documentation, example models, and support C2000 Piccolo, Delfino, and Concerto families.
Note: Using Embedded Coder requires additional MathWorks software: MATLAB®, Simulink®, MATLAB Coder™, and Simulink Coder™.
You can also just generate production code of your algorithms which can be imported and integrated into an existing Code Composer Studio project.
Here is more info including how-to videos and examples you can run with TI hardware kits:
How-to Videos and E2E posts:
YouTube: Programming TI C2000 Launchpad with Simulink (18:11)
YouTube: Using a TI F28069 LaunchPad with Simulink (16:32)
YouTube: Introduction to LAUNCHXL-F28069M Launchpad (Gautam Iyer, TI MVP)
YouTube: Introduction to LAUNCHXL-F28027 Launchpad (Gautam Iyer, TI MVP)
E2E: THE BEAST IS HERE: LAUNCHXL-F28379D (Gautam Iyer, TI MVP)
E2E: The Most Powerful C2000 Launchpad: LAUNCHXL-F28377S (Gautam Iyer, TI MVP)
Short videos (2-3 min): Embedded Coder Overview, Targeting TI Piccolo
Joint TI / MathWorks Sessions:
Motor Control with Embedded Coder and TI C2000 (F28069)
MATLAB Speaks Hardware: TI C2000 for Digital Power Applications (F28377S)
Details and Examples:
C2000 Hardware Support webpages:
Delfino: F2833x, F2837xS, F2837xD, C2834x
Piccolo: F2802x, F2803x, F2805x, F2806x, F2807x, F28004x
Concerto: F28M35x, F28M36x (C28x + ARM Cortex M3)
Legacy: C280x, C281x, C2833x, F281x, F280x
C2000 Support Release Notes
TI Wiki: MATLAB and CCS compatibility matrix
Content Updated 2019-01-22
In reply to Marc Meyers:
I am investigating and will post a response when I get feedback from my colleagues.
PS: For faster response, you can always contact MathWorks Tech Support. Our Tech Support is truly excellent - nearly everyone there has a MSci/ PhD in Engineering or CompSci.
Brian McKay | Technical Marketing | www.mathworks.com
I heard back from the devel team. Here is their feedback / suggestions:
For more information on data exchange between the 2 CPU cores, refer the F28379D device data sheet (Technical Reference Manual) that is shipped with TI Control Suite.
Please note: Out of reset the CPU1 is master and is responsible for configuration of peripherals. However we can have configurations done in such a way that even CPU2 can trigger a given peripheral operation. For Example ADC - SOC trigger can be configured between CPU1 or CPU2 as well and Result Register can be read from either of the cores independently. The same is with CAN, the MailBox are Read/Write from either core. This is with respect to peripherals. If you want to exchange data between cores then the Shared Global RAM is handy. Mem Copy block can be deployed to do this job.You need to use IPC Module to synchronize the data movement between the cores.
Thus you will have to focus on the following IPC features:
• Message RAMs
• IPC flags and interrupts
• IPC command registers
Feature wise they are independent of each other but can also be combined based on application needs. More information on IPC and it configuration is again found in F28379D device (Technical Reference Manual).
PS: I am travelling next week and wont be active on the E2E forums - please contact MathWorks Tech Support if you need additional assistance.
In reply to Brian McKay:
In reply to ashok kumar6:
ashok kumar6Need to work on f28379d , Any idea the support package is available in matlab R2017a??
The controller was supported in 2016b itself. Have a look at this video:
If a post answers your question, please click on "This resolved my issue" button
Are You A Beginner or New to TI's C2000™ Family? Do Check This Book!
Matlab 2017a supports F28379D, check this link out:
This new version even provides you with the C code when you build!
If my post answered your question, please click on "Verified answer" button.
In reply to Khashayar olia:
Is it possible to access the registers in Simulink environment? for example access to "MSGID" for CAN communication or "SCICCR" for SCI communication? if so, is it possible to read and write them throughout the software?
Here's the info I have from my development team:
Yes, it is possible to be able to access individual registers using the memcopy block. Attached is a model that demonstrates the same, but not necessarily for the mentioned registers. The same can be extended for any memory mapped registers.
Open the model->go to subsystem “FOC Algorithm Motor 2”-> double click one of the “Memory Copy” block. Under Source code symbol: we have actually specified the register details from where we intend to read.
Example model is here:
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.