用户工具

站点工具


icore3l_fpga_10

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
icore3l_fpga_10 [2020/11/23 09:12]
zgf [三、 实验原理]
icore3l_fpga_10 [2022/03/19 15:27] (当前版本)
sean
行 2: 行 2:
 |技术支持电话|**0379-69926675-801**||| |技术支持电话|**0379-69926675-801**|||
 |技术支持邮件|Gingko@vip.163.com||| |技术支持邮件|Gingko@vip.163.com|||
-|技术论坛|http://​www.eeschool.org||| 
 ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^
 |  V1.0  |  2020-11-23 |  zgf  |  初次建立 ​ |  |  V1.0  |  2020-11-23 |  zgf  |  初次建立 ​ | 
行 30: 行 29:
  
   * 通过上面两个图示的理解,那么实现PWM信号的输出,可以采用对系统时钟周期进行计数的方式实现。iCore3L的系统时钟是25MHz,以系统时钟周期上升沿作为触发条件,进行累加计数。如果要得到一个频率为500KHz的信号,那么其周期是系统时钟周期的   * 通过上面两个图示的理解,那么实现PWM信号的输出,可以采用对系统时钟周期进行计数的方式实现。iCore3L的系统时钟是25MHz,以系统时钟周期上升沿作为触发条件,进行累加计数。如果要得到一个频率为500KHz的信号,那么其周期是系统时钟周期的
-      ​25000000Hz/​500 000Hz =50(倍) +    * **25000000Hz/​500 000Hz =50(倍)**
   * 即计数器从0计到49所用的时间,是500KHz信号的一个周期。如果使500KHz信号在计数器从0计数到29的时候是高电平,30计数到49的时候是低电平,那么,就可以得到1个占空比为60%的500KHz PWM信号。   * 即计数器从0计到49所用的时间,是500KHz信号的一个周期。如果使500KHz信号在计数器从0计数到29的时候是高电平,30计数到49的时候是低电平,那么,就可以得到1个占空比为60%的500KHz PWM信号。
 ==== 四、 代码讲解 ==== ==== 四、 代码讲解 ====
   * 本实验中参考时钟为clk_fpga(25MHz),频率控制参数为cycle,占空比参数为puty_50和puty_20。频率为500KHz的波形计算公式为:   * 本实验中参考时钟为clk_fpga(25MHz),频率控制参数为cycle,占空比参数为puty_50和puty_20。频率为500KHz的波形计算公式为:
-          ​25MHz/​(cycle-1)=500K Hz; +    * **25MHz/​(cycle-1)=500K Hz;**
-          ​+
   * 占空比为20%的周期参数计算公式为:   * 占空比为20%的周期参数计算公式为:
-          ​puty_20/​cycle;​ +    * **puty_20/​cycle;​**
-          ​+
   * 占空比为50%的周期参数计算公式为:   * 占空比为50%的周期参数计算公式为:
-          ​puty_50/​cycle。 +    * ** puty_50/​cycle。**
-          ​+
   * 则输出信号的Verilog代码实现如下:   * 则输出信号的Verilog代码实现如下:
 <code verilog> <code verilog>
icore3l_fpga_10.1606093977.txt.gz · 最后更改: 2020/11/23 09:12 由 zgf