当前位置: 首页 > wzjs >正文

成都建站哪家好app商城网站开发

成都建站哪家好,app商城网站开发,适合用于网站开发的工具,购物网站管理系统目标 设计一个DDS信号发生器,利用DDS技术合成正弦波和方波,输出信号的频率范围为10Hz~5MHz,最小频率分辨率小于1kHz,使用嵌入式逻辑分析仪Signal Tap实时测试输出波形的离散数据。 原理 虽然正弦波的幅度不是线性的…

目标

设计一个DDS信号发生器,利用DDS技术合成正弦波和方波,输出信号的频率范围为10Hz~5MHz,最小频率分辨率小于1kHz,使用嵌入式逻辑分析仪Signal Tap实时测试输出波形的离散数据。

原理

虽然正弦波的幅度不是线性的,但是它的相位却是线性增加的,DDS正是利用了这一特点来产生正弦信号。因为一个连续的正弦信号其相位是时间的线性函数,相位对时间的导数为ω,即

θ(t)=2ftπ=ωt

dθ(t)/dt=2fπ=ω

当角频率ω为一定值时,其相位斜率dθ/dt也是一个确定值。此时,正弦波形信号的相位与时间呈线性关系,即Δθ=ω×Δt。根据这一基本关系,利用采样定理,通过查表法就能够产生波形。
如下是产生正弦信号的原理框图。图中CPi为系统基准时钟源,其周期为Ti,在CPi的作用下,地址计数器(从0~(2^n-1)计数)产生数据存储器所需的地址信号。在时钟作用下,周期性地读出正弦波形存储器中的正弦幅度值,经过D/A转换器及低通滤波器就可以合成模拟波形。
在这里插入图片描述

设计方案

在这里插入图片描述

电路设计

1.相位累加器设计

module addr_cnt(input CPi,input [12:0] K,input RSTn,output reg [9:0] ROMaddr,output reg [16:0] Address
);always @(posedge CPi or negedge RSTn) beginif (!RSTn) beginAddress <= 17'h00000;ROMaddr <= 10'h000;end else beginAddress <= Address + K;ROMaddr <= Address[16:7];endend
endmodule

2.波形存储器设计
(1)方波模块

module squwave (input CPi,input RSTn,input [16:0] Address,output reg [11:0] Qsquare
);always @(posedge CPi) beginif (!RSTn) beginQsquare <= 12'h000;end else beginQsquare <= (Address[16]) ? 12'h000 : 12'hFFF;endend
endmodule

(2)正弦波形存储器模块

#include<stdio.h>
#include<math.h>
#define PI 3.141592
#define DEPTH 1024
//数据深度,即存储单元的个数
#define WIDTH 12
//存储单元的宽度
int main(void)
{int n,temp;
float v;
FILE *fp;
/*建立文件名为Sine1024.=if的新文件,允许写入数据,对文件名没有特殊要求,但扩展名必须为,mif*/
fp=fopen("Sine1024.mif","w+");
if(NULL==fp)
printf("Can not creat file! \r\n");
else
{
printf("File created successfully! \n");
/*生成文件头,注意不要忘了 */fprintf(fp, "DEPTH =%d;\n",DEPTH);
fprintf(fp, "wIDTH =%d;\n",WIDTH);
fprintf(fp, "ADDRESS_RADIX=HEX;\n");
fprintf(fp, "DATA_RADIX=HEX;\n");
fprintf(fp,"CONTENT\n");
fprintf(fp,"BEGIN\n");
/*以十六进制输出地址和数据*/
for(n=0;n<DEPTH;n++)
{/*周期为1024个点的正弦波*/
v=sin(2*PI*n/DEPTH);
/*将一1~1之间的正弦波的值扩展到0~4095之间*/
temp=(int)((v+1)*4095/2);//v+1将数值平移到0~2之间
/*以十六进制输出地址和数据*/
fprintf(fp,"%x\t:\t%x;\n",n, temp);
fprintf(fp, "END;\n");
}
fclose(fp);
//关闭文件
}
}

编译运行程序生成mif文件
在这里插入图片描述
查看mif文件,主要调用了altsyncram_component这个模块
在这里插入图片描述

使用Tool里的IP Catalog搜索ROM
在这里插入图片描述
配置文件
在这里插入图片描述
在这里插入图片描述
导入mif文件
在这里插入图片描述
勾选生成
在这里插入图片描述
3.锁相环倍频电路设计
操作方法和2一致,但不需要导入mif文件,在IP Catalog里搜索ALTDLL,或者自己做一个简易的。

module PLL100M_CP (input inclk0,      // 50MHz输入时钟output reg c0,     // 100MHz输出时钟output locked      // 锁定指示
);reg [1:0] phase_counter;reg [7:0] lock_counter;initial beginc0 = 1'b0;phase_counter = 2'b00;lock_counter = 8'd0;endalways @(posedge inclk0) beginphase_counter <= phase_counter + 1;// 每两个输入时钟周期翻转一次输出if (phase_counter == 2'b01) beginc0 <= ~c0;end// 锁定检测if (phase_counter == 2'b11) beginif (lock_counter < 8'd255) beginlock_counter <= lock_counter + 1;endendendassign locked = (lock_counter == 8'd255);
endmodule

4.顶层电路设计

module DDS_top (input CLOCK_50,input RSTn,input [1:0] WaveSel,input [12:0] K,output reg [11:0] WaveValue,output [0:0] LEDG,output CLOCK_100
);wire [9:0] ROMaddr;wire [16:0] Address;wire [11:0] Qsine, Qsquare;wire CPi = CLOCK_100;// PLL模块PLL100M_CP PLL100M_CP_inst (.inclk0(CLOCK_50),.c0(CLOCK_100),.locked(LEDG[0]));// 地址计数器addr_cnt U0_instance(.CPi(CPi),.K(K),.RSTn(RSTn),.ROMaddr(ROMaddr),.Address(Address));// 正弦波ROMSineROM Sine1024_INST (.address(ROMaddr),.clock(CPi),.q(Qsine));// 方波生成器squwave U1 (.CPi(CPi),.RSTn(RSTn),.Address(Address),.Qsquare(Qsquare));// 波形选择器always @(posedge CPi) beginif (!RSTn) beginWaveValue <= 12'h000;end else begincase (WaveSel)2'b01: WaveValue <= Qsine;    // 正弦波2'b10: WaveValue <= Qsquare;   // 方波default: WaveValue <= Qsine;   // 默认正弦波endcaseendend
endmodule

最后封装成使用KEY,SW可操控的模式

module WaveformGenerator (input CLOCK_50,input [3:3] KEY,input [17:0] SW,output [12:0] GPIO_0,output [0:0] LEDG
);wire CLOCK_100;assign GPIO_0[12] = CLOCK_100;wire RSTn = KEY[3];wire [1:0] WaveSel = SW[17:16];wire [12:0] K = SW[12:0];wire [11:0] WaveValue;assign GPIO_0[11:0] = WaveValue;DDS_top DE2(.CLOCK_50(CLOCK_50),.RSTn(RSTn),.WaveSel(WaveSel),.K(K),.WaveValue(WaveValue),.LEDG(LEDG),.CLOCK_100(CLOCK_100));
endmodule

查看生成RTL
在这里插入图片描述
查看细节是否出错
在这里插入图片描述

Signal Tap采样分析

完成电路设计后,使用Tool->
在这里插入图片描述
添加如下数据
在这里插入图片描述
配置抽样时钟
在这里插入图片描述
配置待测点信号
在这里插入图片描述
观察波形SW16为1,SW17为0时,波形为正弦波
在这里插入图片描述
当两者相反时,观察波形为方波
在这里插入图片描述

总结

坚持学习


文章转载自:

http://IQM4p24X.rqnmL.cn
http://f38C6L0g.rqnmL.cn
http://ROf3NYaq.rqnmL.cn
http://tGieJJY7.rqnmL.cn
http://bCzvSbIG.rqnmL.cn
http://rMTqhUzI.rqnmL.cn
http://e5Nz04qR.rqnmL.cn
http://Btjeh4lG.rqnmL.cn
http://TIWL7y3x.rqnmL.cn
http://rOfLiedj.rqnmL.cn
http://Pqh1KoRM.rqnmL.cn
http://imEtFAvz.rqnmL.cn
http://tWzlaQIC.rqnmL.cn
http://SXlW0jQP.rqnmL.cn
http://7XwzrMyS.rqnmL.cn
http://aEhzIbuJ.rqnmL.cn
http://TOyHLiFG.rqnmL.cn
http://Ye6t2K7g.rqnmL.cn
http://wObbKLg2.rqnmL.cn
http://AvUjyfoJ.rqnmL.cn
http://EICjCIvN.rqnmL.cn
http://QIGuvo5R.rqnmL.cn
http://0xua2wi2.rqnmL.cn
http://VvSq20ra.rqnmL.cn
http://BvlGXg0d.rqnmL.cn
http://CCg6oWH9.rqnmL.cn
http://lkr9lJuz.rqnmL.cn
http://Pms5WjVp.rqnmL.cn
http://SnCdegv2.rqnmL.cn
http://8L2LF9tC.rqnmL.cn
http://www.dtcms.com/wzjs/652743.html

相关文章:

  • 拖拽建站系统源码在地税网站怎么做税种认定
  • 做网站需求山东建站商城
  • 网站的弹窗对话框怎么做网站建设公司百家号
  • 网站怎么升级建设网站培训学校
  • 学习制作网页的网站263企业邮箱下载客户端
  • .net网站开发实训体会容桂销售型网站建设
  • 网站购物车功能怎么做广东新闻联播
  • 建站服务论坛高端品牌名称
  • 中国网站建设市场分析沧州网站建设制作
  • 上海企业体检宁波seo推荐优化
  • 网站建设 需求分析报告网站备案查询平台
  • 西工网站建设设计网络编辑
  • 昆明做网站比较牛的合肥微信网站制作
  • 上海网站建设口碑好做网站怎么做鼠标跟随
  • 济南网站免费制作网站设计客户对接流程
  • 西安网站建站泰宁县建设局网站
  • 信誉好的常州网站建设网站视频下载软件
  • 苏州营销型网站制作公司国外建站企业
  • 网站数据不变重新安装wordpress大连app开发制作
  • 龙岩城乡建设局网站网站积分的作用
  • 个人备案网站做企业网可以吗给别人做金融网站 犯法吗
  • 长域名的优秀网站山西省建设银行网站
  • wordpress如何生成网站地图现在做外贸还能挣钱吗
  • 手机有软件做ppt下载网站有哪些内容吗店铺销售系统软件哪个好
  • 南阳锐诚网站建设手机建设银行网站进不去
  • 站长之家官网网址编程python适合多大孩子学
  • 网站与服务器的关系写作网站大全
  • 网站多少钱一米免费建立个人网站的哪些平台好
  • 网站开发的技术有wordpress字母头像
  • 南京网站a建设云世家怎么申请一个免费域名