5

I am looking for a tool to make it easier to experiment with tweaks to the Controller Area network (CAN) protocol, as well as experiment with building protocols on top of it.

In particular, I am looking for a simulation of the CAN bus with programmable nodes such that each node is able to completely control the bits that it outputs on the bus in any given packet, but the usual CAN node behavior (such as inter-frame spacing) and CAN bus features (such as arbitration) are still available.

However, if anything close to such a tool exists and is open source, I can most likely modify it to satisfy my requirements.

I have looked at CANOpen Magic, and RTaW-Sim, but they do not provide the exact functionality that I am looking for, and I cannot modify them to do so because they are not open source.

If no such library exists, please mention this in the comments.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
merlin2011
  • 71,677
  • 44
  • 195
  • 329
  • There are open-source simulators available [ns-2](http://nsnam.isi.edu/nsnam/index.php/User_Information) and [ns-3](http://www.nsnam.org) that are designed to research networks. I'm not familiar with CAN so these tools may or may not be appropriate for that standard. –  Feb 13 '13 at 17:42
  • 1
    @Will, I realize that many questions of similar nature have been closed, but I am actually looking for something specific and answers can be supported by references, so I don't see why this question is not constructive. – merlin2011 Feb 13 '13 at 17:51
  • @merlin2011: *but this question will likely solicit debate, arguments, **polling**, or extended discussion.* NC is the usual close reason for "shopping" style questions. For more info, please visit [Meta]. –  Feb 13 '13 at 18:03

1 Answers1

2

For pure simulation, you could use the OpenCores CAN controller. You'll have to learn Verilog and get up to speed on running Verilog simulations - you could use Icarus Verilog or CVer to run your simulations.

You would have full access to all aspects of the CAN controller through modifications to the Verilog source.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Martin Thompson
  • 16,395
  • 1
  • 38
  • 56