Speed limits
Where I work we use a fairly significant number of small microcontrollers from Microchip called PICs. Or chief workhorse is the PIC18F452 which is basically the successor to one of the most indestructible processors of all time the PIC16C877. There is actually a story from when I was in the school's solar car team; one team member had installed a PIC backwards in the socket and didn't realize it until he saw the die through the window (EPROM parts use UV to erase) glowing red. He promptly powered the device down waited a few moments and returned the PIC to the proper orientation and powered it on again, without any problems.
Now back to the topic at hand. Given that we use so many of the new part its nice to have new projects also use it for simplicity’s sake. The main issue is its been a while since Microchip last did a die shrink limiting the top end to 40MHz crystal (10MHz instruction cycle time), which is great for most tasks, but is starting to be a bit slow in this day and age.
I'm currently working on a device that is to emulate the satelite crash sensors on several different automobiles. The most recent generation of parts are using a new protocol that is significantly faster than their predecessors did. This protocol is a balanced 200kbaud pwm synchronous voltage transmit, current receive system.
The current signaling isn't difficult for it is simple level based, however the master does transmit as a pwm voltage signal. The bit time is 5 uSec and the PIC instruction time is 0.1 uSec. That means for each bit the PIC only has 50 cycles to measure the signal and determine what the bit is (a 1 or 0) and decide what the next bit to transmit is.
Sound intense? The interframe time is 4 bit times or 20 uSec which correlates to 200 cycles in which the PIC has to determine the next message to transmit having received and decided what the previous one was.
Basically after a fairly tech heavy post it really boils down to that sometimes you don't need a processor with a lot of bells and whistles, you just need it to move fast. Unfortunately there isn't much between the world of PICs and the worlds of DSPs, so when you work in that nether region in between you have situations where neither is ideal.
Now back to the topic at hand. Given that we use so many of the new part its nice to have new projects also use it for simplicity’s sake. The main issue is its been a while since Microchip last did a die shrink limiting the top end to 40MHz crystal (10MHz instruction cycle time), which is great for most tasks, but is starting to be a bit slow in this day and age.
I'm currently working on a device that is to emulate the satelite crash sensors on several different automobiles. The most recent generation of parts are using a new protocol that is significantly faster than their predecessors did. This protocol is a balanced 200kbaud pwm synchronous voltage transmit, current receive system.
The current signaling isn't difficult for it is simple level based, however the master does transmit as a pwm voltage signal. The bit time is 5 uSec and the PIC instruction time is 0.1 uSec. That means for each bit the PIC only has 50 cycles to measure the signal and determine what the bit is (a 1 or 0) and decide what the next bit to transmit is.
Sound intense? The interframe time is 4 bit times or 20 uSec which correlates to 200 cycles in which the PIC has to determine the next message to transmit having received and decided what the previous one was.
Basically after a fairly tech heavy post it really boils down to that sometimes you don't need a processor with a lot of bells and whistles, you just need it to move fast. Unfortunately there isn't much between the world of PICs and the worlds of DSPs, so when you work in that nether region in between you have situations where neither is ideal.
0 Comments:
Post a Comment
<< Home