Digital Electronics Experiment (VI) - Signal Generator

Publisher:BlissfulBlissLatest update time:2022-06-13 Source: eefocus Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

The tasks of Experiment 6 are:

1. Configure a ROM with a width of 8 bits and store the sine wave data of 256 addresses in the ROM

2. Use PLL to generate 100M clock as counter counting pulse, and use counter output as address to read ROM content

3. Convert the sine wave signal into an analog signal through the DA module (AD9708) and display the waveform through an oscilloscope

Additional question: Use the control switch to control the waveform switching. For example, when the toggle switch is set to 0, a sine wave is output, and when the toggle switch is set to 1, a triangle wave is input. Hint: You can use VHDL language to write a data selector


The task of Experiment 6 is based on Experiment 5, so continue to use the project files of Experiment 5. For details, please refer to Digital Electronics Experiment (V) - ROM Design


Open the project file, and you can see the following figure:

insert image description here

What Experiment 6 did was to make some modifications based on this.

First, Task 1 has been configured in Experiment 5, so FINISHED

Task 2 is to make a frequency multiplier to increase the system clock frequency from 50MHz to 100MHz.

We don't need the divider anymore, so delete the divider from the bdf file

General steps to create a frequency multiplier:

1.

insert image description here
insert image description here

Click next to proceed to the next step

insert image description here

Configure as shown in the figure. Similarly, name the output file and just append it at the end.

Click next

insert image description here

Configure as shown

Next all the way, all default parameters

insert image description here
insert image description here
insert image description here
insert image description here

Go here, click next

insert image description here

Configuration required

insert image description here

Use clk c0 and output 100MHz, which is twice as much. Because clk c1, clk c2, clk c3, clk c4 are not used, so keep going to next until the final Finish.


insert image description here
insert image description here
insert image description here

Click Yes; the configuration of the frequency multiplier is completed.

As shown

insert image description here

The description is complete. Enter beipin.v to create components.

Then place the components into the bdf file

insert image description here

Connect the wires as shown in the figure. After successful compilation, lock the pins, compile again, and then burn it to the development board.

Notice:

1. If you encounter pin lock and do not see the required pin, compile. If it still does not appear after compiling, the top-level file is set incorrectly. Set bdf as the top-level file and compile again.

2. Pin T16 is connected to the clock pin of the corresponding AD module


About Connection

Just input the 7 values ​​output by your output pin into the GPIO pin.

insert image description here
insert image description here

For example, the blogger chose 8 pins from GPIO1_D0 to GPIO1_D7, and then connected the DA module with Dupont wire. Note that it is DA that needs to be connected, not AD. D1 is connected to D1, D2 is connected to D2, and so on.

insert image description here

Then connect the oscilloscope to display the waveform. I won’t go into details about the usage of the oscilloscope. Those who know the auto button will understand.

Finally, the expansion task~

Seeing this, why don’t you click three times in one click? ?


Directly put the source code and schematic connection diagram of the data selector

insert image description here

Create a VHDL empty file, write a program, and then generate components

Place it in the bdf file and connect it according to the schematic diagram

insert image description here

As shown in the figure, you also need to configure a triangle wave ROM. The method is in Digital Electronics Experiment (V) - ROM Design. Connect like this, and then randomly select a pin of the DIP switch to lock it.

insert image description here

For example, select J6

insert image description here

Done, all that's left is wiring.

Reference address:Digital Electronics Experiment (VI) - Signal Generator

Previous article:Learning the basics of signal generator
Next article:Capturing exceptions_Three methods to teach you how to quickly capture exceptions with an oscilloscope

Latest Test Measurement Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号