element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum GPIO produce sine wave
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 9 replies
  • Answers 3 answers
  • Subscribers 671 subscribers
  • Views 4016 views
  • Users 0 members are here
  • sine
  • pwm
  • raspberry_pi
  • wave
  • pyhton
Related

GPIO produce sine wave

Former Member
Former Member over 11 years ago

Hi

I need the Pi to generate a pulsing sine wave signal. I managed to generate wave signal from the GPIO pin but only square wave with High-Low waveform. So I am wondering if the GPIO can generate the sine wave signal that I need?

Also I have been using the function GPIO.PWM(pin,frequency) i was using it to generate 20kHz signal but when I check the output on oscilloscope it was only 862 Hz is this the maximum frequency of the PWM function or is there something wrong with my pi.

 

I read somewhere the using python Rpi.GPIO library I can output up to around 40 kHz, and I was able to actually output 50 kHz from it but don't know why the it wouldn't output 20 kHz using the GPIO.PWM ().

Can anyone tell me why or suggest another method that I could use?

 

Thank you!

  • Sign in to reply
  • Cancel
Parents
  • Former Member
    0 Former Member over 11 years ago

    GPIO.PWM calls the wiringPi library, where the PWM functionality is done in software, i.e. implemented with threads, loops and timers, and therefore this has some limitations. It's really designed to run in the low 100's of Hz, for example setting the brightness of a light or controlling motor speed.  At high frequencies (over 10kHz) the timers are performed with a tight loop, which means the CPU will be at 100% utilization. I don't think you'll get much precision in this situation.

     

    For high frequencies, I think I would be tempted to use a dedicated chip, like the AD9833. This chip has a SPI interface, so should be pretty simple to use with Pi, as it exposes the SDA/SCL pins on the GPIO interface (pins 3,5). This would offload all the hard work from the Pi CPU.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • Former Member
    0 Former Member over 11 years ago

    GPIO.PWM calls the wiringPi library, where the PWM functionality is done in software, i.e. implemented with threads, loops and timers, and therefore this has some limitations. It's really designed to run in the low 100's of Hz, for example setting the brightness of a light or controlling motor speed.  At high frequencies (over 10kHz) the timers are performed with a tight loop, which means the CPU will be at 100% utilization. I don't think you'll get much precision in this situation.

     

    For high frequencies, I think I would be tempted to use a dedicated chip, like the AD9833. This chip has a SPI interface, so should be pretty simple to use with Pi, as it exposes the SDA/SCL pins on the GPIO interface (pins 3,5). This would offload all the hard work from the Pi CPU.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube