VisSim State Chart to decode a serial packet protocol
|
New for Version 8, VisSim/State Charts lets you graphically create,
edit, simulate and generate C-code for finite-state machines within the
VisSim design environment. Finite state machines are event-driven
systems that transition from one state to another based on a set of
rules.
VisSim/State Charts is based on the industry-standard OMG UML 2.1. It
uses common graphical elements - such as states, pseudo-states, and
transition arcs - to represent simple, hierarchical, and parallel
states, and the transitions among them. You can attach C code actions to
state activity and transitions to further define state chart behavior.
State chart execution runs in synch with VisSim dynamic simulator operation.
Communication between a state chart and the VisSim model uses standard VisSim variables, triggers, and I/Opins on the state chart.
State Chart Features
- Graphical state chart editor
- OMG UML 2.1 compliant
- Smoothly integrated with VisSim data flow diagrams
- Supports hierarchical and parallel states with transitions
- State actions and transitions defined using standard C syntax
- Trigger and guards expression control transitions
- Integrated debugger with breakpoints and logging
- Highlight active state
- Single step simulation
- Behavioral C code execution logging
- ANSI C code generation
Defining the VisSim Model - StateChart Interface
In VisSim, a state chart appears as a standard block with input and output pins.
Data can be passed between the state chart and VisSim continuous model using these pins or using triggers or VisSim variables.
You can have any number of state chart blocks in a given VisSim diagram.
A state chart has its own hierarchy. To edit or view the structure of the state
chart, you "drill" into it with a right click of the mouse.
Defining Transitions
Transitions are paths from one state or psuedo-state to another on which the
logic of the system flows. Transitions are represented as lines with an arrowhead
at one end, indicating the direction of signal flow.
You can apply conditional guards to transitions that are evaluated dynamically. When the condition
evaluates to TRUE, the transition occurs.
Like state actions, conditional guards are defined in standard C syntax.
Debugging a State Chart
VisSim provides debugging tools for examining, locating and correcting
incorrect state chart behavior. You can single step through the state chart, set breakpoints that halt the simulation
when when a selected state action or transition is activated, log
individual events, and log all executed behavioral C code in execution
order.
Generating Production-Quality C-Code
If you have installed the VisSim/C-Code module (available separately), you can generate efficient, in-line code from your
state chart. The generated code communicates seamlessly with the continuous portion
of the VisSim diagram in the same fashion as the simulation engine. This
is a fast and simple way to incorporate UML state charts into your
embedded controller.
Downloads
VisSim Version 8 Download (Free Trial)