diff --git a/README.md b/README.md index e83fa65..03ec230 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Inspired by a description of an [Arbitrary Waveform Generator](https://www.instr ![Prototype](doc/Proto.jpg) -The prototype provides two channels with 8 bit resolution, on which waveforms (sample files) can be played independently. The maximum sample frequency is the system clock, so on a Pico this is by default 125MHz. This obviously sets a limit to the maximum waveform frequency, in the sense that it will be a tradeoff with desired accuracy. If a sample file defining a single wave has a length of 25 samples, the maximum *wave* frequency is 125/25 = 5MHz. The sample clock can also be lowered, so for a minimum frequency both file length and clock divider must be tuned. +The prototype provides two channels with 8 bit resolution, on which waveforms (sample files) can be played independently. The maximum sample frequency is the system clock, so on a Pico this is by default 125MHz. This obviously sets a limit to the maximum waveform frequency, in the sense that it will be a tradeoff with desired accuracy. If a sample file defining a single waveform has a length of 25 samples, the maximum *waveform frequency* is 125/25 = 5MHz. Of course, the real frequence can be increased by including multiple waves in a waveform buffer. There is a practical minimum buffer size of about 8 32bit words, which is driven by the DMA bus conflicts occurring at the highest sample clock rates. The sample clock can also be lowered, so for a minimum frequency both buffer length and clock divider must be tuned. Still, the performance is quite remarkable, and mostly limited by the implementation of the R-2R ladder network on the digital output. Stray capacitance together with the used resistor values and maybe some inductance will act as a low-pass filter, in case of the prototype maxing output to about 10MHz.