等精度频率计.ppt
上传人:yy****24 上传时间:2024-09-10 格式:PPT 页数:12 大小:267KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

等精度频率计.ppt

等精度频率计.ppt

预览

免费试读已结束,剩余 2 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

EDA技术实用教程等精度频率计设计12.1等精度频率计设计12.1等精度频率计设计设在一次预置门时间Tpr中对被测信号计数值为Nx,对标准频率信号的计数值为Ns,则下式成立:12.1.3FPGA/CPLD开发的VHDL设计ARCHITECTUREbehavOFGWDVPBISSIGNALBZQ,TSQ:STD_LOGIC_VECTOR(31DOWNTO0);--标准计数器/测频计数器SIGNALENA,PUL:STD_LOGIC;--计数使能/脉宽计数使能SIGNALMA,CLK1,CLK2,CLK3:STD_LOGIC;SIGNALQ1,Q2,Q3,BENA:STD_LOGIC;SIGNALSS:STD_LOGIC_VECTOR(1DOWNTO0);BEGINSTART<=ENA;DATA<=BZQ(7DOWNTO0)WHENSEL="000"ELSE--标准频率计数低8位输出BZQ(15DOWNTO8)WHENSEL="001"ELSEBZQ(23DOWNTO16)WHENSEL="010"ELSEBZQ(31DOWNTO24)WHENSEL="011"ELSE--标准频率计数最高8位输出TSQ(7DOWNTO0)WHENSEL="100"ELSE--待测频率计数值最低8位输出TSQ(15DOWNTO8)WHENSEL="101"ELSETSQ(23DOWNTO16)WHENSEL="110"ELSETSQ(31DOWNTO24)WHENSEL="111"ELSE--待测频率计数值最高8位输出TSQ(31DOWNTO24);BZH:PROCESS(BCLK,CLR)--标准频率测试计数器,标准计数器BEGINIFCLR='1'THENBZQ<=(OTHERS=>'0');ELSIFBCLK'EVENTANDBCLK='1'THENIFBENA='1'THENBZQ<=BZQ+1;ENDIF;ENDIF;ENDPROCESS;TF:PROCESS(TCLK,CLR,ENA)--待测频率计数器,测频计数器接下页BEGINIFCLR='1'THENTSQ<=(OTHERS=>'0');ELSIFTCLK'EVENTANDTCLK='1'THENIFENA='1'THENTSQ<=TSQ+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(TCLK,CLR)--计数控制使能,CL为预置门控信号,同时兼作正负脉宽测试控制信号BEGINIFCLR='1'THENENA<='0';ELSIFTCLK'EVENTANDTCLK='1'THENENA<=CL;ENDIF;ENDPROCESS;MA<=(TCLKANDCL)ORNOT(TCLKORCL);--测脉宽逻辑CLK1<=NOTMA;CLK2<=MAANDQ1;CLK3<=NOTCLK2;SS<=Q2&Q3;DD1:PROCESS(CLK1,CLR)BEGINIFCLR='1'THENQ1<='0';ELSIFCLK1'EVENTANDCLK1='1'THENQ1<='1';ENDIF;ENDPROCESS;DD2:PROCESS(CLK2,CLR)BEGINIFCLR='1'THENQ2<='0';ELSIFCLK2'EVENTANDCLK2='1'THENQ2<='1';ENDIF;ENDPROCESS;接下页DD3:PROCESS(CLK3,CLR)BEGINIFCLR='1'THENQ3<='0';ELSIFCLK3'EVENTANDCLK3='1'THENQ3<='1';ENDIF;ENDPROCESS;PUL<='1'WHENSS="10"ELSE--当SS="10"时,PUL高电平,允许标准计数器计数,'0';--禁止计数EEND<='1'WHENSS="11"ELSE--EEND为低电平时,表示正在计数,由低电平变到高电平'0';--时,表示计数结束,可以从标准计数器中读数据了BENA<=ENAWHENSPUL='1'ELSE--标准计数器时钟使能控制信号,当SPUL为1时,测频率PULWHENSPUL='0'ELSE--当SPUL为0时,测脉宽和占空比PUL;ENDbehav;例12-1的原理图BCLK=500ns,TCLK=10usBCLK=500ns,TCLK=75us