[time-nuts] PLL Math Question
dan at irtelemetrics.com
Fri Mar 14 12:47:58 EDT 2014
Just been reading along, enjoying the conversation...
I've written a lot of hand coded assembly. Some of it very similar to
what you are doing here now. (Although, a different processor family)
I really didn't want to switch to C for anything, since code generated
That being said, I've been writing a bunch of code for the
Pic24/disPic3x's lately with the C compiler that microchip provides.
Granted the disassembly listing is frustrating, in that I could write
faster code. However I wouldn't write that code faster than I'm doing
now in C. I'm calculating five 12th order polynomial equations in IEEE
754 floats, very quickly. Most of the time the processor is ticking
along at 32Khz drawing only 1mA!
The bottom line is that the new chips are very impressive with the math
capability. For what you are doing here, you may well be served by a
simple program in C. The pics24's don't cost much, and many may be less
than the ones you are using now! The extra memory and flash make them
I realize that the time spent learning the new platform may be a pain.
However, the long term results may make it worth it. (Being able to spit
the results of a floating point calculation to an ascii terminal is
Anyway, carry on! Just my $02 here! :)
On 3/14/2014 11:42 AM, time-nuts-request at febo.com wrote:
> OK, gotcha.? But, this is in assembler, and anything wider than 3 bytes becomes tedious.? Also, anything larger than 3 bytes starts using a lot of space in a hurry.? Three byte fields allow me to use 256ths for gain and take the result directly from the two high order bytes without any shifting.? And as I mentioned to Hal in a separate post: when I hand-coded the exponential averager the results were actually good.? I was forgetting to convert to decimal to compare values to the decimal run.? For example: 0x60 doesn't look like 0.375 until you convert to decimal and divide by 256.
> This has been most informative and certainly gives me more options.
More information about the time-nuts