Pages: [1]   Go Down
Author Topic: DSD data acquisition  (Read 2686 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi All,

i have designed an audio ADC with DSD output(@2,048MHz, the standard is 2.82MHz but mine is slower).I have a CK and a DATA signals as INPUTs to my Arduino pcb.

Basically i need to sample the data on the rising edge of the CK.
The samples should be written in a txt file or just copy and paste from Arduino's
serial monitor. The acquisition process should go on for at least ~30sec.

I am planning to buy ARDUINO ONE
I did search on the web but i couldn't find the answer to my question.
My question is: basically i have to sample a digital signal every 0,48us.
Is that too fast for ARDUINO ONE or should i buy other product?
thanks a lot

Luca
Logged

Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 197
Posts: 12739
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


(0.48/1000000)/(1/16000000) = 7.68 processor clock cycles per sample.

Quote
Is that too fast for ARDUINO ONE or should i buy other product?

Yes.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks Coding Badly,

could you explain the meaning of 0.48/1000000 in your formula ?
i suppose 16MHz it the clock of ARDUINO.

thanks
Luca
Logged

Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 197
Posts: 12739
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


You are welcome.

Quote
could you explain the meaning of 0.48/1000000 in your formula ?
I'll try...
Quote
My question is: basically i have to sample a digital signal every 0,48us.

The work to be done is "sample a digital signal".  You've given the processor 0.48us (480ns) to do that work.  In the very best case, the microcontroller can do one thing each clock tick.  The clock ticks at 16 MHz.  So...

Time to Do That Work / Clock Tick Time = Clock Ticks Available in the Given Work Time

The Clock Tick Time is 1 / Clock Tick Frequency (in Hz) or 1/16000000.

The Time to Do That Work is 0.48 microseconds or 0.48/1000000 seconds.

Time to Do That Work (in seconds) / Clock Tick Time (in seconds) is (0.48/1000000) / (1/16000000).
« Last Edit: April 11, 2013, 12:13:21 pm by Coding Badly » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

Can i see the code which you've come with for data sampling because i am doing a similar project myself and it would be best if i can get an ideal from yours.

Thanks,
Minura
Logged

Russia
Offline Offline
Newbie
*
Karma: 0
Posts: 24
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

My question is: basically i have to sample a digital signal every 0,48us.
Well, you probably can. You can speed arduino up to 20MHz and maybe a little more, but . The problem is, you will not be able to store or even process your data - atmega328 has too tiny a RAM and you will get to the very edge of performance by just reading it.

But what you can do is to wire your signal to the asynchronous counter and maybe measure the duty cycle of your DATA. This way you'll need much more manageable speeds, so MAYBE you will get what you need. But I don't see any way to sync it to your CK.

By the way, what is your final goal? A sound recorder?
Logged

Alamos, Sonora, Mexico
Offline Offline
Full Member
***
Karma: 5
Posts: 130
learning never stops.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The Arduino DUE runs at 84Mhz.
Logged

Quiero una vida simple en Mexico...nada mas.

Pages: [1]   Go Up
Jump to: