Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By urbanze
#67142
rudy wrote:http://www.analog.com/media/en/technical-documentation/data-sheets/AD9560.pdf

Thanks for reporting this component, but I need to do with esp. It is unacceptable that the arduino does much more than esp!

i need up to 1MHz
User avatar
By rudy
#67143
urbanze wrote:
rudy wrote:http://www.analog.com/media/en/technical-documentation/data-sheets/AD9560.pdf

Thanks for reporting this component, but I need to do with esp. It is unacceptable that the arduino does much more than esp!

i need up to 1MHz


Does the arduino do 1MHz? I don't think so. Show me a $2 WiFi processor that will do what you ask. I doubt if you can find a $10 part that can do it.
Last edited by rudy on Wed Jun 14, 2017 7:59 am, edited 1 time in total.
User avatar
By btidey
#67149 I think you need to clarify the clock terminology here.

Analog output using PWM starts off with a base clock which can be quite high frequency. This is then used to give a rectangular waveform where the ratio between high and low periods determines the equivalent analog output. The resolution for the output is determined by the number of high frequency clocks in the overall period. So for example 256 hf clocks allows the output to be set to 8 bit precision. It also means that the output can only be meaningfully changed at the lower period rate.

So, for example a 1MHz base clock, and 8 bit precision gives a period frequency of 4KHz and this is then the rate at which you can change the output level.

A standard arduino can have the base clock up to 16MHz and has timer control hardware to allow the period to be set and run without further cpu involvement. (e.g. 62Khz with 8 bit precision)

The esp8266 does not have equivalent timer control hardware so has to simulate this with either delays or interrupts. It starts off with a theoretical base frequency of up to 80MHz but practical considerations in the software and the rate at which you can change the GPIO pins means that the base rate is limited to about 5MHz in practice. This is one area where the timer control hardware on an arduino CPU gives an advantage.

What are you trying to control with the PWM output?
User avatar
By urbanze
#67155
btidey wrote:I think you need to clarify the clock terminology here.

Analog output using PWM starts off with a base clock which can be quite high frequency. This is then used to give a rectangular waveform where the ratio between high and low periods determines the equivalent analog output. The resolution for the output is determined by the number of high frequency clocks in the overall period. So for example 256 hf clocks allows the output to be set to 8 bit precision. It also means that the output can only be meaningfully changed at the lower period rate.

So, for example a 1MHz base clock, and 8 bit precision gives a period frequency of 4KHz and this is then the rate at which you can change the output level.

A standard arduino can have the base clock up to 16MHz and has timer control hardware to allow the period to be set and run without further cpu involvement. (e.g. 62Khz with 8 bit precision)

The esp8266 does not have equivalent timer control hardware so has to simulate this with either delays or interrupts. It starts off with a theoretical base frequency of up to 80MHz but practical considerations in the software and the rate at which you can change the GPIO pins means that the base rate is limited to about 5MHz in practice. This is one area where the timer control hardware on an arduino CPU gives an advantage.

What are you trying to control with the PWM output?


nothing, just learning. but some post's in internet tell arduino can 4MHz with pwm, then i think esp can too :(.

but 250kHz it's much tiny, i can't aceppt this LOL