EMRFD Message Archive 11329

Message Date From Subject
11329 2015-07-18 14:14:34 zl2tca PIC Micro Code
Hi Guys

Does anyone have or know where I can get assembler (preferred) or C code for a PIC to drive a SI535 device.

Thanks
John
ZL2TCA


11331 2015-07-18 15:31:01 Cecil Bayona Re: PIC Micro Code
PIC makes available a free version of the MPLAB development software, it has a C compiler and assembler.

http://www.microchip.com/pagehandler/en-us/devtools/mplab/home.html 
>

11332 2015-07-18 15:44:01 zl2tca Re: PIC Micro Code
Sorry I should of said I am after source code in assembler of C for the si5153

Regards
John
11333 2015-07-18 17:13:00 aa0zz Re: PIC Micro Code
John,
I scrounged up several Si5351 VFO implementations in "C" for Atmel micros and in "C-like" for Arduino. Jason, NT7S, has one of each but one of them may not be complete.  Hans Summers has a very nice "C" version that runs on an Atmel micro. 
I really don't like the Si5351 because it's very inferior in performance (phase noise, etc) to the Si570 but for some applications it may be "good enough".  That's what engineering is, right? Making it "good enough" for the application's requirements.  At a cost of $1.00  with instant availability from DigiKey (plus $1 for a 27 MHz external crystal) it's still a far cry from the Si570 which is currently $15.60 in ANY quantity from the Silicon Labs factory with 3-week lead time.  If cost is a factor and medium performance is sufficient, the Si5351 may be the answer. 
I have only seen one PIC ASM implementation for the Si5351 "out there" and it is limited to one or maybe two frequencies so its parameters are pre-calculated and taken from tables.  So far I haven't seen anyone slog through the mud to implement a full Si5351 VFO in PIC ASM.  I am currently working on one, though, because of the particular application I have in mind.  It's getting there and it is now generating the correct parameters. Now to put the "wrappers" around it and to finish the user interface.  To generate the Si5351 parameters I have to perform MANY 32x32-bit multiplications and divisions, along with many 32-bit additions and subtractions.  So far I don't see any way of speeding up the calculations by doing some of the work with look-up tables like I was able to do in my Si570 application. It's not pretty!  Maybe someone else has some ideas.
Best Regards,
-Craig, AA0ZZ



11334 2015-07-18 17:24:19 Graham / KE9H Re: PIC Micro Code
Use a 32 bit PIC.
PIC32MX (80 MHz) and PIC32MZ (200 MHz). 
They are perfectly happy doing 32 bit arithmetic. (And fast, too.)
They also have a single cycle 32 bit multiply and add, so they are faster at DSP calculations than the dsPIC series.
If you are programming in "C", it is hard to tell which processor you are running on top of, anyway.

The versions with fewer peripherals start down below $5.

--- Graham

==

11335 2015-07-18 18:16:58 Ekwik Re: PIC Micro Code
Check current issue of QEX
Ed
AB8DF

Sent from my iPad

11337 2015-07-18 18:36:59 aa0zz Re: PIC Micro Code
Thanks!  I'll take another look at the 32-bit PICs.
Coding in "C" is cheating, isn't it?   :-)
Best Regards,
-Craig, AA0ZZ

11338 2015-07-18 18:41:38 Dana Myers Re: PIC Micro Code
11345 2015-07-19 13:58:05 jmlynesjr Re: PIC Micro Code
Yes, good article.

I just received the Adafruit Si5351 breakout board - $7.95 USD plus shipping. They have a setup manual and a reference to an Arduino library.

I believe the BW is 8 KHz to 112.5 Mhz.

James