![]() ![]() Rather than all the signal function and parameter selection switches, the touchscreen display would display all the necessary “buttons” needed to configure any particular signal-generation function. In place of a physical numeric keypad, the display, itself, would provide a virtual keypad ( Figure 1). Instead, I decided to use a TFT LCD display with touchscreen capability. Many of these would be needed for the various signal outputs, and a common alphanumeric LCD display would need six more. The ESP32 is a versatile MCU, but it has only 23 GPIO lines available. The only feasible display would be an LCD with enough rows to simultaneously display all the adjustable parameters for a given generator function.Ī physical keypad and all the other necessary switches would have required a lot of wiring and used a lot of the ESP32’s GPIO lines. ![]() ![]() Also, there would need to be several switches to select among the various signal types, and additional switches to select which of the many parameters were being set. To enter such a wide range of numbers-some integers, some floating point-it seemed like there was no choice but to use a numeric keypad of some type. With so many different types of signals-covering a wide range in terms of period/frequency/width/delay-several parameters must be entered and displayed. Both an active high and a complementary output are provided for each of the three phases.īefore discussing each of these generators in detail, I’d like to describe what I settled on for a user interface. This provides a user-adjustable frequency, user-adjustable pulse width and dead time. Each individual pulse is adjustable in width and delay time with respect to pulse #1.Ĥ) A 3-phase PWM (pulse width modulation) generator. All three pulses would share a common, user-adjustable period. Instead, it uses the ubiquitous Si5351 clock generator chip by Silicon Labs.ģ) A pulse generator capable of generating three discrete pulses. This signal is not generated by the ESP32 itself. This is handled by the ESP32 itself, using the PLL-controlled I 2S function block.Ģ) A square-wave clock signal covering 100kHz to 100MHz. I wanted a wide range of signal amplitudes up to 18V P-P with an adjustable DC offset capability.Ģ) An accurate, adjustable DC voltage reference in the ±4.0V range.Īll the other signals of interest to me were digital signals of one form or another:ġ) A square-wave clock signal covering the frequency range of 7Hz to 3MHz. Starting with analog signals, I wanted the following:ġ) A sine wave generator covering the low Hertz range to beyond the normal human hearing range. USEFUL SIGNAL OPTIONSīecause many of my projects are mixed signal (as the name of my column suggests), I wanted to generate both analog and digital signal types. It was still in use occasionally when I decided to design this more ambitious signal generator project. ![]() This was accomplished using a highly specialized timer chip, the AM9513, and a tiny NXP (formerly Motorola) 68HC05 microcontroller (MCU). But I still run into situations where I need a variety of different signal generator functions for design and troubleshooting purposes.įor any readers old enough to have read Circuit Cellar issue 78 back in January, 1997, I wrote an article, “Pulse’05 Pulse Generator.” This project generated a clock and two separate, synchronized pulses with a wide range of period/width/delay times. Now, I don’t personally do such demanding work as to require fancy signal generators with professional specifications. Before I retired from Dalhousie University (Nova Scotia, Canada), I had access to some professional signal and pulse generators for both my work-related and personal projects. Since then, I’ve been using it in Wi-Fi projects, some of which have been described in subsequent Circuit Cellar articles.įor this month’s article, I decided to take another look at the ESP32’s unique peripheral blocks, with an eye on building a multipurpose signal generator. Instead of focusing on its Wi-Fi/BLE capabilities, I explored some of its unique built-in peripherals. Back when the ESP32 from Espressif Systems was first introduced, I wrote an article about it in Circuit Cellar (“Exploring the ESP32’s Peripheral Blocks,” Circuit Cellar 332, March, 2018). ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |