Hi Microchip! I think I have an idea that could do mega cool things for your PIC range (84 in particular) Simply, add a hardware shift register on chip which is programmed via a register. For clarification, firstly lets assume an 8 bit shift register: Now, the speed of the shifting is controlled by a divider connected to the main clock, and is set by a register. Also, a bit indicates if the input to the register comes from an external source, a simple MSB->LSB or just filled with zeros. What is the use, you may ask? Well, with such a system, you could quite easily make PWM, by setting the bits on as the duty cycle, choosing the required divider for frequency and using MSBLSB wrap around. The result? You've got a good PWM which can be tied to a motor control or low pass filtered to make audio. Another usage of the shift register could be an Inter-PIC communication system, simply fill the register with data a let it blast out. Also, a PCM system effectively on chip. Now, I mentioned that the shift register could also take information externally. Well, here is something that might interest people.... Hook up a sigma-delta converter (two op amps), and you get a 1 bit output stream which could be fed into the PIC. Result? An A/D! If you are wondering, such a system requires a higher bandwidth. For instance, if you want to read in an analogue signal at the nyquist rate at 8 bits of accuracy, your sample rate becomes 8*nyquist, accepting digital input. By putting in a simple software digital decimation filter, this means you've got an 8 BIT A/D converter!!!! No flash circuitry, no successive approximation, real simple, good accuracy, and it works. [ COOOL HUH!?!?!?! ] Now, to take the example further, and to where I think MICROCHIP should take it to: Give the PICS two such shift registers, a hook them up so one shift register can either get information from intself, and external pin, a zero or the other shift register. This would give the PIC the option of either two shift registers, or one 16 bit shift register. The 16 bit register could mean that you have a PWM, a PCM system, a 16 bit D/A or alternately a 16 bit A/D. Also means that you could blit out information, then read in information as the register is simultaneuosly filled with incoming information. For a low complexity, low cost addition, it's pretty neato. Catcha, Regards, Mick Kunstelj. ------------------------------------------------------------------- Greetings and Salutations from Mick Kunstelj |If MS ever do make a global u913596@student.canberra.edu.au |network, you should be more |worried about a satellite I accept no care or responsibility for anything,|landing on you than them anywhere or anytime.... So NYAH!!!! |taking things over... -------------------------------------------------------------------