现在的位置: 首页 > 实战项目 > 实训日志 > 正文
基于小脚丫FPGA开发板分频计数器设计
2016年06月03日
浏览 1,183 次
硬禾实战营

1、设计要求

基于小脚丫FPGA开发板分频计数器设计,要求:
1)采用FPGA+LED+拨动开关实现拨动开关设置分频系数使得LED闪烁变化的功能;
2)LED闪烁变化:以开发板晶振25Mhz为基准,采用分频器生成1Hz和10Hz;
3)拨动开关控制,分频器频率,处于不同频率触发的LED会产生不同的闪烁效果;

2、硬件连接

FPGA的系统时钟来自于小脚丫FPGA开发板配置的25MHz时钟晶振,连接FPGA的C1引脚。
本设计用到1个拨动开关SW1,硬件设计如图1所示,拨动开关连接到FPGA的M13引脚。

1

图1、按键硬件设计

3、工作原理

1) 使用计数器做分频处理,得到周期为1秒和100MS的脉冲信号Fre_1hz、Fre_10hz;
2) 在程序中我们用了两个计数器,一个是计1hz的25’d1250_0000的Fre_1hz,另外一个是计数25’d125_0000的Fre_10hz。
3) 主时钟为50MHz(周期就是40ns),所以40ns一个计数周期。
4) LED就以1秒的频率翻转或者以100ms翻转。
(NOTE:如果我们需要用改变翻转的频率改变计数器的值即可)

4、代码设计

为了实现所需要的功能,我们将整个设计划分不同的模块,如图2所示。

2

图3、数字时钟程序设计框架

4.1 clock_count模块

Clock_count模块主要实现数字分频,本设计共有2种频率(Fre_1hz、Fre_10hz)当拨动开关为高(频率为1hz),拨动开关为低的时候,频率为10hz。如图3所示。

3

图3、分频器设计

5、资源报告

4

6、知识点

  • 计数分频器
  • 拨动开关

7、参考文档

Lattice MachXO2数据手册