打印

只用1片cpld能完成对于脉冲的计数么,哪款可以

[复制链接]
2252|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wdoos|  楼主 | 2011-10-23 19:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
wdoos|  楼主 | 2011-10-24 12:25 | 只看该作者
没人知道么

使用特权

评论回复
板凳
gxs64| | 2011-10-24 13:12 | 只看该作者
//reg0 = in_frequence;
//if(in_frequence && !reg0)
//error_out=1 表示in_frequence一直为h,即有错。
//out_signal =1,表示in_frequence一直为100k的方波,
//out_signal =0,表示in_frequence一直为L,即信号被遮断
module test_frequence(clk1 , reset1 , door_control , in_frequence , error_out , out_signal);
parameter min_data = 5 , max_data = 48;//36;//12;        //8;
input clk1;
input reset1,door_control,in_frequence;
output error_out,out_signal;
//output [31:0] count;
reg flag_high;
reg reg0;
reg error_out,out_signal;
reg [31:0] count;
always @ (posedge clk1)
        begin
                if(!reset1)
                        begin
                                error_out <= 0;                //
                                out_signal <= 1;        //
                                count <= 0;                        // clear 0
                                reg0 <= 0;
                                flag_high <= 0;               
                        end
                else                                                                        //完成复位
                        begin
                                if(door_control == 1)                //门控信号为H
                                        begin
                                                //reg0 <= in_frequence;                        //
                                                //flag_high <= 1;                                        //
                                                if(in_frequence && !reg0)
                                                        begin
                                                                count <= count + 1;
                                                        end
                                                else
                                                        begin
                                                                //nc
                                                        end
                                                reg0 <= in_frequence;                        //
                                                flag_high <= 1;                                        //
                                        end
                                else                        //门控信号为L,开始计算频率
                                        if(flag_high == 1)
                                                begin
                                                        if((count < max_data) && (count > min_data))
                                                                begin
                                                                        error_out <= 0;                                //
                                                                        out_signal <= 1;                        //表示in_frequence一直为100k的方波,
                                                                end
                                                        else
                                                                begin
                                                                        error_out <= 1;
                                                                        out_signal <= 0;                                                                
                                                                end
                                                        count <= 0;                                //clear 0
                                                        flag_high <=0;                        //clear 0       
                                                end
                                        else                        //flag_high =0
                                                begin
                                                        //nc
                                                end
                        end
        end
endmodule

使用特权

评论回复
地板
wdoos|  楼主 | 2011-10-31 09:10 | 只看该作者
哪位大侠给点建议

使用特权

评论回复
5
majipeng1986| | 2011-11-5 23:32 | 只看该作者
CPLD完全可以做到的。
具体怎么实现你要好好想了。。

使用特权

评论回复
6
可木| | 2011-11-17 23:16 | 只看该作者
这个很容易做到吧。。。。。编写一个计数器呗,至于计数器容量就看你的要求了,然后进入比较器已知的数值相比较,等于的话输出高否则输出低!不知道我是否理解正确。。。。

使用特权

评论回复
7
Hi-board| | 2011-11-18 08:45 | 只看该作者
借宝地一用,谢谢!打扰之处请多多谅解!此开发板有大量的程序,完全能实现您的要求!

Hi-board Xilinx XC95144XL-10TQG100开发板是针对广大Xilinx CPLD/FPGA初学者开发的学习板,开发板设计了大量的实验资源,对于实验验证和开发测试都非常有用,配合丰富的实验例程和详细的实验指导,用户可以在尽可能短的时间内掌握基本的CPLD和FPGA设计方法和思路,所有配套实验均提供源代码和工程文件,用户可以直接使用该代码或者修改后用于自己的设计开发中。
    针对CPLD/FPGA入门较难的特点,实验代码在设计上由浅入深,从最基本的基础逻辑门开始,尽量避免一开始就罗列一堆代码,代码设计注重思路与基础,每个实验源码均有功能说明、管脚分配和验证说明,部分综合性实验例程有设计思路分析。该开发板采用Xilinx公司的XC9500XL系列CPLD——XC95144,它具有3.3V先进ISP,144个宏单元,先进高速I/O标准,100-PIN TQFP封装,81个可用I/O口,足以满足一般的开发实验的需要。
硬件资源:
1、 主芯片XC95144XL
2、 40MHz有源晶振
3、 实现串口通信的1.8432MHz的有源晶振
4、 提供JTAG下载模式
5、 1路直流电机驱动电路,可驱动+5V直流电机
6、 LCD1602显示接口,可驱动LCD1602字符液晶
7、 4*8位数码管
8、 RS232串口通信接口
9、 1个8位拨码开关
10、8个独立按键
11、8个独立LED灯
11、1个复位按键以及专用复位芯片
12、1个蜂鸣器
13、内正外负5V电源接口,包括1个双位波动开关
14、1个过流自恢复保险丝,保证用户安全使用开发板
15、扩展接口 【主芯片剩余I/O资源均连到扩展接口上】
    另外配套了大量的试验,使用户方便掌握Xilinx的CPLD/FPGA的编程设计。
实验程序如下:
1、串口收发数据实验
2、LCD1602显示实验
3、4*8位数码管显示实验
4、按键扫描实验
5、蜂鸣器实验
6、8个LED显示实验
7、利用PWM波形驱动直流电机实验
8、8位拨码开关实验
9、流水灯实验
10、其他实验程序
附件包括:XC95144XL开发板一块,串口延长线一条,Xilinx并口下载线一条,LCD1602显示屏一个,+5V直流电机一个,+5V直流电源一个,光盘(Xilinx ISE软件安装盘,另外一张包含电路原理图,印刷电路板图,使用说明书,串口调试软件,Verilog相关设计教程,DEMO程序以及相关芯片资料)

    有需求的朋友可以联系本人,价格优惠!联系方法:msn:Hi-board@hotmail.com 或者QQ:2359599938

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

46

帖子

1

粉丝