17 years ago
Looking at the biological model, we have one brain. Now it is true, preprocessing is distributed, and some reactions are lower than brain level responses (essentially hardware responses). But still, there's one central brain, and I still think that's the model nature favors.
I've already made the argument many times that using lower level processors may not really make the real time programming easier, but actually worse. Each processor you add adds two more communications tasks.
Perhaps. Others have suggested that too. At the moment, I'm trying to pack a single processor out as far as I can. So far it seems there are body issues, and leg issues. The body issues need to be figured by the central processor. For instance, the angles the stride each leg makes depends on its body-relative position to the turning point. If each leg was allowed to select its own turning point... well... I think the absurdity is strained but obvious.
So there are levels of information that dictate (to my way of thinking) the level of processing they should be done at.
On the other hand, things like motor control, such as what goes on in the RC Servo electronics, if you want to go to that level, yes I can see a processor dedicated to that.
But really, the beauty of software is it can be used to simulate hardware, but with much much greater latency. If you can tolerate the latency, the processor can be useful. However, I think we spend far to much processing power on what should be done in hardware.
Take, for example, quadrature decoders. The reason I favor our Pod's for motion control (among other reasons) is they have hardware decoders. There just aren't many processors that have built in hardware quadrature decoders. The Pod's hardware can go up to 40 MHz without skipping a beat. The faster the quadrature lines come, the finer your control. You can certainly make a quadrature decoder out of a PIC. How fast can your encoder go though? The PIC is maxed out at something like a few hundred KHz of quadratre capture, and there's still the issue of how do you get the info out (serially?), and whether getting the data out causes its useful reading speed to be compromised. And then too, what is the latency of the encoder reading once you've got it out?
In the Pod the decoder is just a memory access, and perfect results. It is very hard to compete with hardware and get to the peak of system performance.
Because of the need for three motors, and the TiniPod(TM) can do quadrature-in on three channels and complementary PWM out on three channels, the hardware issue would decide the choice for me. I personally wouldn't try to use an ARM for that if a Pod were available. If it was truly 4 motors, I'd go to a more advanced Pod.
Because the DSP was designed with motion control in mind, I really don't have a second choice.
Yes, you could possibly use a AVR or PIC. Probably only doing one motor at a time, from the examples I've seen. You have to ask, at what level will the performance turn out? Could I have gotten more performance if I chose 4 PIC's or AVR's, or would it be better with a single Pod. Because of the special purpose hardware in the Pod, I'd have to say yes.
Computing power, yes, I'm pleased. A/D and PWM, well, look carefully. From us, the TiniARM(TM) doesn't have A/D and the PWM pins were not all brought out. Of course, we have a much better choice if you want motion control in the Pod's and we have the PlugaARM(TM) with lots of A/D.
I'll tell you the worst thing I've seen so far about the ARMs, that is their I/O is slow. But Philips is on it, and these latest ARM's are getting better.
I don't see why you assume you would have to create a custom PCB to use our boards. We do provide a layout to accept our PlugaXXX board formats for people who want to make their own 2 layer boards. But that doesn't mean you have to make a board to use a TiniXXX or PlugaXXX.
The pins are .1" dual row, which is the spacing of most breadboards.
Do you mean the white "push-in" Solderless Breadboards? The kind a Stamp can strattle and have two rows of pins on either side? Okay, you'd need an adapter to take our pins and spread them out far enough to strattle the white prototyping boards. No problem, we've got them, if that's the way you want to use it.
Yes, but you can wire directly to the pins, or you can even put it in a prototype board and wire wrap to its pins, or you can get a .1" dual in line 24-pin socket and wire to that.
Well, go ahead and be much happier. The TTL level serial is there. All our TiniARM(TM)'s, TiniPod(TM)'s, PlugaARM(TM)'s PlugaPod(TM)'s have a three pin TTL level connection to their primary serial ports at the front board edge.