Kactus2 is the first graphical open source IP-XACT toolset to design embedded products, especially FPGA-based MP-SoCs. It provides easier IP reusabilility and practical HW/SW abstraction for easier application SW development.
A project that implements a realistic 3D simulator frontend and a complete TCP/IP-like protocol stack for a network consisting of EYES Wireless Sensor nodes.
Timespan: 6 weeks. Completed on June 29th, 2008.
AuthorsThis project has been created by:
H.Y. Bruintjes J.H. Donker C.E.
... [More] Etheredge J. Teeuw As part of the 214515 Codesign project (2008) at the University of Twente.
ConceptThe scope of this project includes creating a completely functioning protocol stack that is capable of transmitting reliable packets to half-duplex radio frequency transmitter nodes that are connected in a network. This includes everything from creating the C/C++ serial drivers (to control the nodes) up to the routing algorithms and tables that decide the shortest path to certain nodes through the network, so the top application layer (and the application running on top) is capable of sending and receiving reliable messages to and from other nodes.
In addition, a fully functional 2D simulator is required that is capable of letting the user create node networks in specific graphs and testing the reliability and performance of the protocol stack underneath. This is a crucial step in determining in which situations the protocol stack works best.
Our implementation consists of a reliable TCP/IP-like stack with appropriate routing tables that is capable of meeting the above requirements, and extending these by providing a graphical frontend complete with a small 3D engine that is capable of simulating not only the node network, but also a physically correct representation of the world (by using the Bullet physics engine). We believe that in adding this we extend the potential realism of the simulator, as situations with different scenes (e.g. imported models of buildings and rooms) and networks could be imported and tested properly.
We also provide a way of not only simulating nodes in the simulator frontend, but also allowing the user to let real radio transmitter nodes (connected to the serial port) be part of the simulator's world, so both hardware (real) and software (simulated) based nodes can communicate and form a network.
The radio transmitter nodes used are EYES Wireless Sensor nodes, as provided by the project's requirements.
DependenciesThis project has been made possible by contributions and publically available content from all third parties listed below.
Bullet Physics Library (Erwin Coumans) BSGUI (Kostas Michalopoulos) Silk icon set (Mark James - http://www.famfamfam.com) OGLGraph (Gabriyel Wong) GLEW (Milan Ikits, Marcelo E. Magallon) 3DSLoader (Trenkwalder Markus) Simple Directmedia Library (Sam Lantinga, Mattias Engdegård and others) Boost C++ Libraries Pthreads-win32
MediaA video of the application in action is available from the featured downloads on the right.
Below are a few screenshots of the simulator and it's graphical frontend in action.
Code repositoryThe original source repository can be found at svn://wortelschijf.student.utwente.nl/codesign. [Less]