I purchased this book knowing nothing more about CAN than the free application notes that are provided by some microcontroller vendors. While I have not yet finished (still in CANopen implementation chapter), I now feel that I can make intelligent decisions, understand how CAN really operates as well as create my own limited CANopen stack on a microcontroller.
CANopen (the topic if this book) is not the only CAN protocol available. This book covers CANopen, don't get this thinking you are going to learn about SAE-J1939. True to the title, it covers CANopen.
Each section has a great deal of information and there are LOTS of tables showing the structure of each CANopen element. Sections cover each of the basic message types, transmission and reception of data, NMT and network modes. Additional sections cover physical CAN signal requirements, Draft(potential) Standards, configuration examples, network topologies and recommended connectors. If you need to troubleshoot CAN system that uses CANopen or are interested in implementing a device that will use CANopen, this information is invaluable. It doesn't cover everything, but it does effectivly blend the "reference manual" with the "tutorial," leaning towards "reference."
In some cases however, I didn't feel that the examples were all that illustrative and a few times I was left wondering about some seemingly magic transition or the interaction of values in the object dictionary. This didn't happen too frequently, and overall, I'm satisfied.
Overall, this book is a very good value and really helps to fill a void in CAN literature. If you are on a budget and need to start working with CAN, this may be your best choice. Other books hover around 3-times the price of this one and/or have been out for some time. This book was a good choice, and can stay in the lab.