这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 等精度频率计

共8条 1/1 1 跳转至

等精度频率计

菜鸟
2011-03-02 22:54:25     打赏
等精度测频,很多人都做过,但大部分都是和单片机搭配,或者在FPGA里面放了个51的核,这样浪费了很多资源(尤其是在FPGA里面植入51核的),本人觉得,这些完全可以就用FPGA解决,而且占用的资源很少,FPGA可以完成单片机所有的功能,大部分人是用单片机做闸门选取信号,和人机交互接口的(这里只是显示)。但这中间就要多涉及了一个单片机和FPGA的通讯问题,而且单片机的闸门选择都是手动的,精度也不够高,中间还有信号之间的传输引起的延时问题(当闸门信号比较短时),导致频率测量不准等。 小弟的想法是,用(0.1s,1s,10s)的闸门,通过粗测输入信号的频率,然后来自动选择闸门的宽度,然后发出使能信号,来终止和启动计数器的计数,在通过一个数据计算模块,处理计数值,将其转换成液晶(12864)能显示的格式,在最后用一个数据缓冲模块,来搭配高速的FPGA和要求低速的液晶。这里硬件电路是我的搭档做好了的,要求芯片性能和电路设计的不错,因为测量频率范围是0.1Hz~100MHz(可以用PLL倍频吧,就更高了,呵呵)。我用的是原理图做顶层模块,然后细化每个模块,搭配好他们之间的连接线及信号使能,原理图的方式比例化模块直观明了一些,下面贴出部分代码。 12864液晶显示模块 module lcd(clk,rs,rw,en,data,cnt_fre);//液晶显示子模块 input clk; output rs,rw,en; output[7:0] data; reg[7:0] data; reg[7:0] current,next; reg[13:0] count; reg clkr; reg rs,e; input[71:0] cnt_fre; reg[71:0] var_data; parameter set0=8'h0; //定义了很多状态机 parameter set1=8'h1; parameter set2=8'h2; parameter set3=8'h3; parameter set4=8'h4; parameter set5=8'h5; parameter set6=8'h6; parameter data0=8'h7; parameter data1=8'h8; parameter data2=8'h9; parameter data3=8'hA; //from "datav" to "data14" parameter data4=8'h18; parameter data5=8'h19; parameter data6=8'h1A; parameter data7=8'h1B; parameter data8=8'h1C; parameter data9=8'h1D; parameter data10=8'h1E; parameter data11=8'h1F; parameter data12=8'h20; parameter data13=8'h21; parameter data14=8'h22; parameter dataK=8'h23; parameter dataM=8'h24; parameter datav=8'h25; parameter nul=8'h26; always @(posedge clk) begin count[13:0]



关键词: 精度     频率计     parameter    

院士
2011-03-03 08:24:54     打赏
2楼
不错,就是看着有点乱~~~~

菜鸟
2011-03-06 16:30:02     打赏
3楼
没贴好,呵呵

高工
2011-03-06 18:43:26     打赏
4楼
我08年参加TI比赛的时候,就用DSP做了一个等精度频率计,更是浪费。

工程师
2011-03-07 13:47:16     打赏
5楼
是否有模擬的波形可供參考?

菜鸟
2011-03-07 17:50:41     打赏
6楼
你是说在TFT彩屏或者液晶上模拟波形么?那就成示波器了。

菜鸟
2011-03-07 17:51:50     打赏
7楼
反正也是TI给的DSP吧,不用白不用。

工程师
2011-03-07 19:02:21     打赏
8楼
我是說要給什麼 Input 波形
然後…要得到什麼 Output 波形?

共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]