TECHNICAL WIKI

Main Page

Simulink Blockset Embedded Target microchip devices : Pic24 / Pic 30 / Pic 32 /Pic33

Embedded Target for PIC / dsPIC is a blockset for Matlab® that works on the top of the MathWorks Simulink®.

Blocks

Blocks

composing the PIC/dsPIC blockset for Simulink]]

  • List of all Blocks composing the PIC/dsPIC blockset for Simulink
  • Download the Toolbox
  • List of Examples
  • Pricing
  • Review
  • Forum

The blockset Generates C code one click from a simulink model for a wide list of Microchip microcontroller. The geenrated C code compiled on the fly to get the binary file ( .hex and .cof file) ready to be downloaded into the targeted microcontroller. The downloaded compute the same calculation than the simulink model.

This fast prototyping tool for 16 bits PIC MCU

  • generates and compiles C code from a simulink model and/or a Stateflow flow chart
  • makes the development faster, bugfree and easily updated
  • makes the implementation of complex calculation easy
  • allows to optimize the fix point calculation using the matlab fixed point tools
  • allows to monitor and to log data in pseudo real time with matlab
  • allows to import your specific written C functions into the simulink model and in the microcontroller
  • compile the C files generated with the gcc compiler provided by Microchip

The blockset allow to lets you concentrating on the math part (control, filter ..) and on the the logic of the simulink model. You can simulate the model that will be implemented into the microcontroller. You do not need to know much about PIC/dsPIC programming. The blockset support most peripheral present on the microcontroller and configure automatically the peripheral selected (configure also timers and model time step).

The blocks added to the simulink® library allow to connect most of the PIC24, dsPIC30 and dsPIC33 peripherals (PWM, ADC, IC, OC, SPI, I2C, CAN, UART ...) to any other Simulink blocks C code generated for theses peripheral is merged to the C code generated by the Real Time Embedded Coder® toolbox.

Debugging and monitoring variables is very easy through UART thanks to one simulink block and its Graphical User Interface associated :

  • The block "Interface Tx-matlab" implement a high level protocol using one UART port of the microcontroller. This block allows to send data from the microcontroller to the PC host in real time.
  • A matlab graphical user interface can receive theses data through the Serial port of the PC/mac (can be a USB emulated serial port) and plot them in real time.

It makes real time Monitoring and debugging easy.

Developpement Cycle using a fast prototyping tools (Simulink RTW Embedded Coder) for a Microchip PIC/dsPIC Target

Developpement Cycle using a fast prototyping tools (Simulink RTW Embedded Coder) for a Microchip PIC/dsPIC Target

It also allows to log data into the matlab workspace. The logged data can be used to feed a simulink model for simulation. Thus, real microcontroller input data recorded (from ADC, IC...) are used for the simulink simulation or .m script file allowing to test or improve the simulink model using real data logged in real condition. Once you have tune the math part of your model, you can then reprogramme the microcontroller with the new improved model. The simulation result will be very close to the real model running in the microcontroller since input data comes from the same peripheral and the microcontroller's running model is equivalent to the PC simulation model.

Possible target are most of the dsPIC30f, dsPIC33, PIC24H and few PIC32. ( see detail on the download page) Supported Chip :

See Release Notes and known bug for details

PIC 24FPIC 32F**PIC 30FPIC 30FPIC 33FJ GPPIC 33FJ MCPIC 33FJ GPPIC 33FJ MC*

24fJ128GA006

32MX360F256L

30f2010

30f5011

33fJ128GP206

33fJ256MC510

33fj128GP202

33fj128MC202

24fJ128GA008

32MX360F512L

30f2011

30f5013

33fJ128GP306

33fJ256MC710

33fj128GP204

33fj128MC204

24fJ128GA010

32MX460F256L

30f2012

30f5015

33fJ128GP310

33fJ64MC506

33fj128GP802

33fj128MC802

24fJ64GA006

32MX460F512L

30f3010

30f5016

33fJ128GP706

33fJ64MC508

33fj128GP804

33fj128MC804

24fJ64GA008

32MX775F256L

30f3011

30f6010

33fJ128GP708

33fJ64MC510

33fj32GP302

33fj32MC302

24fJ64GA010

32MX775F256L

30f3012

30f6011

33fJ128GP710

33fJ64MC706

33fj32GP304

33fj32MC304

24fJ96GA006

32MX795F512L

30f3013

30f6012

33fJ256GP506

33fJ64MC710

33fj64GP202

33fj64MC202

24fJ96GA008

32MX320

30f3014

30f6013

33fJ256GP510

33fJ128MC506

33fj64GP204

33fj64MC204

24fJ96GA010

32MX340

30f4011

30f6014

33fJ256GP710

33fJ128MC510

33fj64GP802

33fj64MC802

24fJ16GA002

30f4012

30f6015

33fJ64GP206

33fJ128MC706

33fj64GP804

33fj64MC804

24fJ32GA002

30f4013

33fJ64GP306

33fJ128MC708

24fJ48GA002

33fJ64GP310

33fJ128MC710

24fJ64GA002

33fJ64GP706

24fJ16GA004

33fJ64GP708

24fJ32GA002

33fJ64GP710

24fJ48GA002

24fJ64GA002

Newly added chip
64MC204, 128MC204, 128GP202, 32MC202, 32MC204, 16MC304 , 33FJ256GP710A
* PIC 32F
SPI function not suported yet;
* Compiler known and fixed bugs
* Check your compiler installation and version
at the matlab prompt ==> !pic30-gcc -v for pic30 and !pic32-gcc -v for pic32.
**Check pic32 compiler v 1.04 Workaround
**Check pic30 compiler PWM 2 Workaround from version v 3.12 to current version (3.25)...

The blockset for simulink works with the GCC compiler from Microchip®. MPLAB is not required but can be used for the programming the microcontroller (import the .hex file and programme the target).

Many Mathworks toolbox like "Stateflow®" and "Stateflow coder®" or "fixed point blockset" can be used with the blockset "Embedded Target for dsPIC".

See examples for more details on the capabilities of the blockset.

Consult the User's Guide for information on using the wiki software.