Go Back   Home > Forums > Members List

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving

googlyone googlyone is offline

diyAudio Member

About Me

  • About googlyone
    Biography
    Electronics engineer, worked on digital, RF, systems engineering, software. Now in management :(
    Location
    Adelaide, South Australia
    Interests
    Strong interest in electronics, particularly analog, power audio and DSP. Hands on, try it out type
    Occupation
    Engineer
    Country
    Australia
    Real Name
    Phil

Statistics

Total Posts
Blog
Wiki
General Information
  • Last Activity: Today 06:53 AM
  • Join Date: 7th November 2006

Blog

View googlyone's BlogRecent Entries
Latest Blog Entry

Posted 17th March 2014 at 10:49 AM by googlyone Comments 2
Posted in Uncategorized
It must be close to 12 months ago that I saw the PIC32MX450. I was convinced that a chip that included two I2S audio interfaces, and ran at 100MHz implementing 32bit arithmetic in pretty snappy time would surely be able to do some fun audio stuff.

I started with getting a board designed, and porting the code that I use to control my Analog Devices audio DSP. Then I generated the code to implement a direct digital synthesiser. These worked fine.

Over the last couple of weeks I have completed the "core code" for a digital crossover all implemented in the PIC32 itself.

The basic implementation is:
- An analogue to digital converter
- The PIC
- A digital to analogue converter
(Oh and an interface PCB done on veroboard to route the MCLK and power to the A/D and D/As. I am kind of tempted to re-spin the PIC32 board to do this for me...)

The PIC drives the I2S interface as master, generating...

Posted 25th January 2014 at 01:37 PM by googlyone Comments 0
Posted in Uncategorized
I was asked if I would share the code for the audio DDS I was playing with.

It is here...

Attachment 1230

I think this is all the files you need.

To show just how lazy I am, the main function is the file titled "dig_cross.c" - as that was the main function I edited as the base of this code. There is also a file "ad1940.c" which contains a bunch of the SPI stuff. This is yet another illustration of my bone idle-ness - as this module is probably a decade old. It is used, but has nothing to do with an AD1940 IC....

No apologies

There is a bunch of comments in this, but some general overview comments are:
- About 95% of the source code is about:
- Running the user interface
- Generating the display (rather utilitarian implementation)
- Reading from the EEPROM, and doing limit checks on data
- Writing to EEPROM

...

Posted 24th December 2013 at 01:40 AM by googlyone Comments 9
Posted in Uncategorized
Well now I am on holidays over XMAS I got the time to really put in a solid chunk of time on the DDS based synthesiser.

Previous blog entries describe the PIC32MX based core to this. The thing works like a charm...

To get decent precision on the sinewave I have implemented an interpolation on a high precision Sinewave lookup table.
- The DDS references into a 12 bit "long", 24 bit "amplitude" precision sinewave LUT.
- Of itself this gives mediocre spurs, which in a DDS are heavily dependent on the frequency, but seem to result in 85-90dBc spurs. There is a fair hash of these without treatment.
- By adding a linear interpolation between samples in the Sinewave Lookup table, the spurs come out as shown below...

Attachment 1199

- The interpolation is actually quite simple in concept:
- The top 12 bits of the DDS Phase Accumulator looks up the "Sine Sample"
...

Posted 18th December 2013 at 09:35 AM by googlyone Comments 0
Posted in Uncategorized
Over the last couple of months I have been playing with a PIC32MX450F256H as the DDS core, and using one of the many DAC boards I built for my DSP based crossover as the D/A element.

It has taken a while to get up and running - mainly due to me actually having commitments other than a hobby... (Bugger)

That said, getting this thing up and running also required me to get my head around the microchip XC32 compiler, and the configuration bits in the PIC32MX.

On the compiler, the most serious issue is the schemozzle they call documentation. I imagine if all you wanted to do was simple I/O and stuff you might be OK. As soon as you want to dig into the more detailed registers, the high level library documentation is borderline useless, and spread over a number of directories and the Microchip website. Very frustrating.

The other challenges I had were:
- To set up the PIC I2S interface such that there was no jitter on the LRCLK...

Posted 3rd November 2013 at 02:29 AM by googlyone Comments 2
Posted in Uncategorized
I noted that the new PIC32 series micro controllers include I2S along with the SPI interface. Well at least a few in the range do. This got me to thinking:
- A 32 bit micro using a fairly efficient RISC architecture
- With I2S in and out
- That runs at 80MHz.

I chose the PIC32MX450F256H.

Surely to god I can do something fun with this. But what?

Ultimately I will try chucking some IIR filters in here to see how they go (there is heaps of processing time available). But in the first instance I want to do a DDS. Reason being that I have more active crossovers than I have speakers (and that is saying something! - ask my long suffering wife!).

One thing that I have been on the look out for is a decent DDS synthesister for audio band that has really low distortion. My current Audio synthesiser uses the AD9952 DDS chip. OK, this runs at 400MHz, but it does use a 14bit DAC, and can be run right down into the...
Recent Comments
Quote:
Originally Posted by CharlieLaub
Nice! A little short
...
Posted 21st March 2014 at 11:45 AM by googlyone googlyone is offline
Nice! A little short...
Posted 19th March 2014 at 04:39 PM by CharlieLaub CharlieLaub is offline
Quote:
Originally Posted by gene_klein
Hi googlyone,
...
Posted 25th January 2014 at 01:17 PM by googlyone googlyone is offline
Hi googlyone,
...
Posted 17th January 2014 at 05:47 AM by gene_klein gene_klein is offline
Wow, what does it all...
Posted 8th January 2014 at 01:04 AM by nrg2009 nrg2009 is offline
Hide this!Advertise here!

New To Site? Need Help?

All times are GMT. The time now is 08:35 AM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright 1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2