CAN 201: CAN Controllers

Posted 12 Aug 2005 at 16:14 UTC by steve Share This

The Controller Area Network (CAN) protocol is becoming widely supported in microcontroller hardware and is being adopted for robotics as a convenient and easy way to allow multiple microcontrollers and sensors within a robot to communicate with each other. Electronic Design Online has published an article by William Wong on the CAN protocol titled "CAN 201: CAN Controllers". In it, he covers the basics of the CAN controller used in Microchip's 8bit PIC. The general operation of the described controller is similar to controllers used in other chips. If you missed Wong's earlier article, CAN 101: Controller Area Network, it covered the basics of the CAN protocol itself. Wong promises to publish one more article in the future on high-level CAN protocols.

Why CAN Can't, posted 13 Aug 2005 at 05:40 UTC by The Swirling Brain » (Master)

I really don't like CAN too much myself. For me, I'm either going to go quick and dirty or all the way. For quick and dirty, I'd use Serial or SPI or some cheezy 1 wire comm protocol I make up myself. Such quick and dirty stuff would be something for like chip to chip communication on the same PC board or simple perifreals within a couple feet. If I were to plan to go for some more complex communication, then I would probably go with something that would work with PC104 or a Laptop. If I were to jump that far I'd just go with eithernet and thereby skipping I2C and CAN altogether. To bridge a gap between Laptop and Chip interface I would still go with serial or SPI to talk to them. If I had so many chips that I felt I needed some sort of CAN like interface then probably I should do something else like use a Xylinx gate array or flash logic. Why make it so hard if you don't have to? The only advantage I could see with CAN is the noise immunity, but I'm guessing if you have trouble with noise then you probably have trouble with your MCU resetting too. If you have nodes that are so smart then you probably should start doing a real network like eithernet anyway. Don't get me wrong, CAN looks robust and all, but for most things I do as a hobbiest I don't see a need for that much robustness and complexity yet keeping it less than ethernet quality. It adds way too much work to what I'm doing for little things and too much work to make it still not be ethernet. I figure most hobby robots rarely use CAN nor need to use it at all. It's like a huge hammer for a tiny nail. Like it would work but a smaller solution would make more sense or bigger nails would make more sense but not the way it is. I'm not designing for Cars anyway so that argument doesn't really do much for me. So perhaps it's just me, but I think its days are numbered before we just see ethernet (or some sort of mini ethernet) on pic chips eventually and CAN and I2C will just be history.

Awe nevermind, posted 13 Aug 2005 at 05:48 UTC by The Swirling Brain » (Master)

OK, well I guess I've been bit banging my head too much. If it's built into a pic chip and no external circuitry is needed, then hey, I'm all for it. It actually sounds cool if the chip takes care of it for you. So, um, nevermind. :-P

See more of the latest robot news!

Recent blogs

30 Sep 2017 evilrobots (Observer)
10 Jun 2017 wedesoft (Master)
9 Jun 2017 mwaibel (Master)
25 May 2017 AI4U (Observer)
25 Feb 2017 steve (Master)
16 Aug 2016 Flanneltron (Journeyer)
27 Jun 2016 Petar.Kormushev (Master)
2 May 2016 motters (Master)
10 Sep 2015 svo (Master)
14 Nov 2014 Sergey Popov (Apprentice)
Share this page