Proteus simulations and muti-processors?

Discuss PIC and electronic related things

Moderators: David Barker, Jerry Messina

Post Reply
Jerry Messina
Swordfish Developer
Posts: 1469
Joined: Fri Jan 30, 2009 6:27 pm
Location: US

Proteus simulations and muti-processors?

Post by Jerry Messina » Thu Oct 13, 2011 5:17 pm

I have a board with multiple pics communicating over an I2C bus, and I'm looking for a good way of debugging, esp. the uC communications end of things.

I can do this using MPLAB and multiple pickits, but that ends up being pretty tedious, and it's not practical for more that two chips or so. More than that and it's just too easy for the ends to get out of sync when you start putting in breakpoints, etc. Plus, I run out of machines to use!

Would Proteus VSM (ISIS?) be of any use for doing something like this? I'm especially interested in running different programs on multiple uC's that are communicating to one another, and being able to pause things and/or use breakpoints, inspect variables and continue on where it left off.

If anyone has tried, I'd be interested in how it worked out.

I take it Proteus currently works ok with SF and COFF files?

Gordon_h
Posts: 55
Joined: Fri Apr 06, 2007 8:55 pm
Location: Boulder, Colorado

Post by Gordon_h » Thu Feb 16, 2012 4:41 pm

I did a similar project a few years back. I bought the Jupiter Instruments I2C bus analyzer http://www.jupiteri.com/JI-216_Files/JI-216_Top.html.

It is reasonably inexpensive, and the JI guys were very responsive helping me get some Win version compatibility issues worked out.

My project had one master and 4 slaves, it was moderately successful. I was not able to reach the full range of bus speeds, but it was done in PBP. I later did a single master/ single slave where the master was written in C and the slave in SFB, very simple data transfer, but it worked okay.

Good luck- if it works, maybe post it as an example?

User avatar
David Barker
Swordfish Developer
Posts: 1214
Joined: Tue Oct 03, 2006 7:01 pm
Location: Saltburn by the Sea, UK
Contact:

Post by David Barker » Thu Feb 16, 2012 10:43 pm

I've had limited experience with ISIS, but I know of people using multi-processor setups with good results. Obviously, the more PC resources you can give the program the better. You can also use the SF ISIS plugin, which makes using single-processor setups much easier.

http://www.sfcompiler.co.uk/wiki/pmwiki ... ISISPlugin

Please note I've not tested this recently, but it used to work fine with the demo version of ISIS. Also note that I have experienced problems with some COFF files and ISIS. Programs that work fine in MPLAB can be a little cranky in ISIS (to answer your question, ISIS uses standard COFF files).

http://www.sfcompiler.co.uk/forum/viewt ... light=isis

Hope this helps...

Jerry Messina
Swordfish Developer
Posts: 1469
Joined: Fri Jan 30, 2009 6:27 pm
Location: US

Post by Jerry Messina » Fri Feb 17, 2012 9:58 am

Thanks for the input guys.

I've already got a few analyzers that can decode I2C transactions, although they're not as nice as that one Gordon pointed out. They help for sure, but trying to test both ends of the link with multiple MPLAB/debugger setups gets out of hand fast.

I'm only doing master-slave protocols, so hopefully it won't be too bad even though i have a few dozen of these things to interconnect. Last time I did something like this I used a multi-master arrangement and that just ended up making things more difficult.

After reading some of the posts on the Labcenter forum, I decided against it for the time being. Seems to be a little quirky at times, so no need to toss some more unknowns into the mix.

I'll just stick with the devil I know.

Post Reply