Searching \ for '[PIC]: Newbie questions on external timers' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: techref.massmind.org/techref/microchip/begin.htm?key=time
Search entire site for: 'Newbie questions on external timers'.

Exact match. Not showing close matches.
PICList Thread
'[PIC]: Newbie questions on external timers'
2006\07\31@180906 by Les Elkins

flavicon
face
Hi folks,

I'm a new person to pics. By background I'm a software guy with a smattering
of hardware many years ago. Lately I've been tasked to look for alternatives
to a data capture board. We think we can make something cheaper and much
better than what we have.

The gadget I have to interface with has the following traits:
       -A pulse-width-modulated signal coming out at 80MHz
       -Three analog lines
       -An encoder on a spinning wheel.

The pulse signals come along at up to about 5KHz. When a pulse happens, I
need to
       -Grab the width, measured with an 80MHz clock
       -Grab the three analog values
       -Grab the encoder value

This data must be buffered and streamed out to a host.

I've been reading data sheets and it seems a dsPIC33FJ128MC710 might be a
decent choice: Quadrature encoder, decent amount of RAM to buffer stored
data, and enough A/D to easily get the analog data.

However, it's only running at 40 MIPS, and my signal is 80MHz. As I'm
reading the data sheets, I see reference to running the Type A Timer in
asynchronous mode from an external source. I haven't found anything that
tells me if this external source can be 2x the CPU clock speed.

So.... Can someone tell if this is a valid approach (or tell me which
documentation I should be reading to determine that)? If this won't work I
assume I could add an external timer- would this be a reasonable approach
for this soft of signal?

My hope is to demonstrate the validity of this approach using the
downloadable Microchip tools. If that works I can get an electronics type
with appropriate hardware background to support me in this project.

It's been quite a while since I looked at PICs for any projects. I'm
impressed with what's out there and the clock speeds- my last glance into
this area only low-speed chips were available.

Thanks,

Les Elkins


Les Elkins
Spatial Integrated Systems, Inc.
Rockville, MD
http://www.sisinc.org
spam_OUTles.elkinsTakeThisOuTspamsisinc.org
301 610 7965 x107



2006\07\31@184758 by Martin K

flavicon
face
80Mhz is pretty fast for a PIC.
Perhaps you would need to use a PLD or FPGA?
--
Martin K

Les Elkins wrote:
{Quote hidden}

2006\07\31@190936 by Bob Axtell

face picon face
I would use a hardware device, such as a FPGA for the 80Mhz work. Then
I'd use a cheap PIC
to interface to the FPGA and buffer to an RS232 or USB/Serial Host.

The FPGA would need to identify the start of a pulse, trigger  the three
sample/holds, and  tell the
PIC when to  capture quadrature tach signals. Quad tach is trivial to  
decode in a standard PIC.
It would probably be doable with a 20Mhz PIC16F88. The PIC can even read
the sample/hold
A/D data. The FPGA would have to be clocked at 80Mhz of course.

BUT...

an SX (Ubicom) device could do it all within the single CPU chip. An SX
chip is very fast, running
4x the speed of a PIC using the same clock speed. SX chips can handle a
75Mhz clock; the same
PIC would have to run at 300Mhz. That might be a fun project.

--Bob

Les Elkins wrote:
{Quote hidden}

2006\07\31@190940 by Jan-Erik Soderholm

face picon face
Or simply an external (16bit) counter that is "gated"
by the "pulse". On the falling edge of the pulse, an
interrupt is generated and the 16bit counter, the
analog lines and the encoder is read.

Now, there are a lot of factors missing, such as the
allowed delay from the falling edge of the pulse until
all analog lines and the encoder has to be read, just to
mention one thing...

Regards,
Jan-Erik.

> {Original Message removed}


'[PIC]: Newbie questions on external timers'
2006\08\01@084047 by Robert Young
picon face
>
>
> I would use a hardware device, such as a FPGA for the 80Mhz
> work. Then
> I'd use a cheap PIC
> to interface to the FPGA and buffer to an RS232 or USB/Serial Host.

Probably don't even need the PIC if you go with the FPGA.  UARTs and
relatively easily done in VHDL (or Verilog) and there are USB IP cores
available for some of the larger FPGAs.  Both paid and
copyleft/freeware.  Or write your own, if you have the time.

And if you feel you still need a microcontroller, Xilinx has the
PicoBlaze core (free and fun) plus a larger one (paid) but its name
escapes me and an ARM core.  Altera also has free and paid
microcontroller IP cores.  Lots of third party
microcontroller/microprocessor cores too.

Rob

More... (looser matching)
- Last day of these posts
- In 2006 , 2007 only
- Today
- New search...