VisSim/Embedded Controls Developer™ | VisSim
F280x/F283x Configuration Dialog
VisSim/Embedded Controls Developer (VisSim/ECD) is an environment for model-based development of embedded control systems. Using a block diagram approach, you can quickly create a working model of your control system; it can be as simple as a PID control or as complex as a multi-phase vector controller with packet-based RS485 protocol and dynamic IIC EEPROM read/write.
VisSim/ECD is unique in its ability to generate highly efficient, high sample rate, low jitter target executables. For example, a closed-loop PID control with encoder input and PWM output and one digital output line takes 1.1K flash and 100 bytes RAM on the MSP430, and VisSim/ECD generated code can sample at rates over 1 MHz on the F28335. As a TI 3rd party partner, Visual Solutions has gained valuable access to TI technology to tune VisSim/ECD to make best use of TI processors and peripherals.
Use of a high level model-based programming tool like VisSim/ECD offers many benefits:
- Removes the requirement for one or more dedicated programmers
- Speeds the edit-debug cycle
- Lets you think and program at a much higher level of abstraction
- Speeds implementation of on-chip peripheral drivers by providing a simple block and configuration dialog interface
But perhaps the biggest advantage of VisSim/ECD is the increase in consistency and reliability that VisSim/ECD brings to the finished product. Because the generated code is done automatically, VisSim/ECD uses a smaller set of C language features to implement an algorithm, as well as generating syntactically and semantically correct C code. With hand coding, any number of small programming errors like a misplaced curly brace, function argument mismatch, unexpected expression evaluation order, or just a misplaced semicolon can result in small, hard to find errors. By automatically generating a well-tested C code subset, these common coding problems are eliminated. In addition, the chief architect of the VisSim code generator served on the ANSI C committee from the first meeting to the last, and authored a book on the C language, so he knows the best way to use C to get reliable, efficient performance.
VisSim diagram to drive 20kHz switched 3-phase PWM at 60Hz
When I used C-code for developing and debugging my digital control algorithms it was like fumbling around a twisty maze with high walls. When I switched to VisSim it was like getting a birds-eye view of that maze and a clear view of the path to solution. I would never go back to C-coding for my digital power and digital control applications. It would be like using assembler after having used C.
Anthony Boon - Chief Engineer
ETA Electronic Design SAGL
- VisSim/Fixed Point block set performs simulation and efficient code generation of scaled fixed-point operations like sin, cos, sqrt, atan2, FIR, and IIR; overflow and precision loss effects are easily seen and corrected at simulation time; auto-scaling speeds fixed-point development; in-line code generation creates fast target code
- Peripheral blocks to generate code for C2000 on-chip devices:
280x ePWM, eQEP, eCAP, ADC, GPIO, quadrature encoder, event capture,
CAN 2.0, SCI(RS232,UART,serial port), SPI, McBSP, watchdog, and interrupts
- Full control of PWM including dynamic control of PWM period and phase, ADC start of conversion, trip zone, deadband intervals, action selection
- Interrupt-based queue drivers for serial(SCI), SPI, and McBSP; user selectable queue lengths and use of hardware FIFO result in lower system overhead
- Diagram-based interrupt handlers for XINT, ADC, PWM, and DMA
- Easy creation of background tasks Subsystem dialog box to create a background task that runs at a user specified rate
- TI C2000 Digital Motor Control (DMC) block set supports simulation and code generation of efficient, fixed-point routines for Park and Clarke transforms, rotor speed and flux estimation, PID control, space vector wave form generation for AC Induction and brushless DC motor control
- Automatic C code generation of production quality fixed-point code, compile, link, and JTAG download
- Supported processors include TI MSP430 (all flavors), C2000 (all flavors) including F2808 and variations, F28027, F28035 (Piccolo), F28335(Delfino), LF2407, F2812, C5510, C6713, Intel x86 PC
- Retention of the VisSim GUI while algorithm executes on MCU lets you visualize interactive plots of MCU outputs and change MCU gains and parameters in real time
- VisSim Code Composer Studio (CCS) plug-in for automatic CCS project creation
- TI C2000 CAN bus support
- Serial-port-based LCD display support
- Efficient 7- and 14-segment LCD display support for MSP430; user table can customize segment assignments; auto conversion from scaled fixed-point to decimal display uses no floating point and no divide for maximum efficiency on MSP architecture
- Conditional execution of subsystems based on any Boolean condition, including occurrence of interrupt
- User control of execution order of parallel flows is done top down; subsystem contents are completely executed before the next block on given layer, which provides fine grain control necessary for hardware device access
- State transition block provides unlimited states and transition conditions, transition conditions are C expressions