0
\$\begingroup\$

I am thinking of writing a windows applications (similar to Proteus ISIS) to simulate/emulate a specific PIC24 Micro-controller of my system and peripheral components used like Segment LCD and a external voltage generator for ADC to start with- which can be drag and dropped and connected electrically .Thus By dumping a hex file in program, I can visually prototype my small board. My need may be similar to PICSIM -

PICSIM Screenshot

  1. What are the limitation of simulating (and emulating) a Micro-controller based system in Windows machine by such software? Is there any limitations while visually modelling a micro-controllers by its datasheet?

  2. I found there are no simulation models for 32bit pic micro-controllers in Proteus. Is there any limitation to model 32bit Micro-controllers?Will there be any performance overhead in windows or on processor?

  3. Does using GUI frameworks like .NET will be a performance overhead? Is it better to write on C++ to avoid any overhead?

\$\endgroup\$
  • \$\begingroup\$ These sound like three almost unrelated questions - it might be better to concentrate on one question. \$\endgroup\$ – Andy aka Oct 26 '13 at 18:19
  • \$\begingroup\$ @Andyaka Well Q#1 is what i am looking for answers. \$\endgroup\$ – Gopi Oct 27 '13 at 3:44
4
\$\begingroup\$

The biggest limitation is that you'll spend more time building the simulation than it would take to build the circuit. Simulations are great for answering specific questions, but the effort to produce them grows quickly with level of detail, and they can never model all the intricacies of the real world. If you are trying to answer a question that doesn't involve conditions that are difficult or dangerous to create and measure, then it's almost always easier to measure real hardware.

If you have a specific application in mind, then you can often just model the essence of the problem. That is, model the dynamics of the plant, the algorithms you are using, and the latency of your computation. Frameworks like Simulink are great for this.

By trying to create a general purpose virtual breadboard-y simulation, you start down a deep rabbit hole. Does the sim need to model...

  • ...the latency between an interrupt signal and starting the ISR?
  • ...bus arbitration between modules inside the controller?
  • ...the electrical behavior of the output drivers of the pins?
  • ...the difference in power consumption of each instruction?
  • ...propagation delay in transmission lines?
  • ...multiple systems on independent clocks?
  • Does the simulation need to run in real time?

Depending on the problem, the answer could be yes or no to any of those questions. Trying to generalize the simulation design beyond your actual requirements means a lot of extra work with no engineering benefit, and can actually hurt your simulation's accuracy where it counts.

\$\endgroup\$
  • \$\begingroup\$ Great info.Clarified most of doubts i had.I think i would not invest time in this . \$\endgroup\$ – Gopi Oct 27 '13 at 3:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.