Online Laboratory for Embedded System Design Courses
by Tharshan Muthulingam
Project Overview and aims
- Simulation of an embedded system controllable via external software. E.g. A browser
- Cortex M3 is the chip being simulated with external peripherals such as SPI, UART, I2C, GPIO
- The end user should be able to control the simulation with the mbed SDK using C/C++ and interact using a web interface
- Develop experiments such as closed loop system.
- Develop exercises to teach users about modern microcontrollers such as mbed
Previous Work
- Worked in the FastModels team at ARM to learn about the CortexM3 FastModel system.
- I learned how the peripherals are developed in the system using the LISA language
- A python bridge was developed to externally interface the system.
- I learned how to port the mbed SDK to the simulator, so that programs could be written with the same code used for mbed
system canvas
- CortexM3 being linked to the console module
- console module can output the events via python
Objectives
- Finish porting the peripherals to the mbed SDK.
- Investigate closed loop systems and periodic events
- Investigate and design three experiments
- Create models in python to mimic real hardware. e.g. a TMP102 sensor
- Test models with real devices
- Verify using datasheets
- Verify using real hardware using mbed
Progress
- First few objectives completed
- One experiment finished
- Water Tank Heating system
- Next experiment in progress
- Simulate an ADXL345 (Accelerometer)
- Report is in progress
- Progress has mostly been on plan
- No progress made during holidays or exam period
Water heating with feedback
Next steps
- Finish 3 experiments to a suitable standard.
- Investigate any more experiments that can be used to push the simulator to limits
- Prototype a user friendly interface where user can edit code and control the simulator - An online IDE for simulator
- Investigate ways to package these software packages and binaries in a portable way so they can be easily deployed on a server - currently could be difficult because of the licensing.
- Relay progress back to YII supervisors and get their feedback
Adjustments
- Objective 5 needs to be changed to focus on building the prototype for the web interface to control the simulator
- Gantt chart can remain the same in terms of tim
Conclusion
- Industry is heading towards server based applications
- Thin client (browser) and applications are in cloud
- This project could be a good example of that - if done well
- I am proud of how quickly I picked up various concepts and the way microcontroller SDK are programmed.
- This project has more potential, and I sometimes feel my efforts are not enough
- Ideally I want to be able to package this up and be able to deploy, possibly open source my efforts. However, licence restrictions are a barrier.
Made with Slides.com