第12篇:Interval Timer(间隔计时器)IP应用--控制LED<一>

Q:Interval Timer IP的基本原理是什么?如何用Interval Timer IP控制LED?

A:Interval Timer核是Avalon架构处理器系统如Nios II处理器的间隔计时器。Nios II处理器通过对Interval Timer IP的control寄存器进行写操作,从而控制计时器的启动、停止和重置,并且当计时器达到0时启用或禁用中断请求(IRQ),指定一次性倒计时或连续倒计时模式。

Interval Timer的寄存器文件位于Quartus软件安装路径下如...\intelFPGA\18.1\ip\altera\sopc_builder_ip\altera_avalon_timer\inc。本次实验我们主要用计时器状态寄存器中定义的IOWR(base, ALTERA_AVALON_TIMER_STATUS_REG, data)函数,在Nios II软件工程的main.c中为IOWR(TIMER1_BASE, 0, 0x00),以及控制寄存器中的IOWR(base, ALTERA_AVALON_TIMER_CONTROL_REG, data)函数,在Nios II软件工程的main.c中为IOWR(TIMER1_BASE, 1, 0x07),作为使能中断语句。

本次实验我们添加一个1s计时器,使DE2-115上的18个LEDR 点亮1s后熄灭1s,如此循环。硬件系统通过Quartus软件中的Platform Designer创建,包括其他所IP核模块如LED的PIO,Nios II处理器执行数据读取和写入来控制LEDR。

image-20240219113012077

更多关于Interval Timer核的详细说明和用法可参考Embedded Peripherals IP User Guide中的23. Interval Timer Core这一节。

相关推荐

  1. Qt应用软件【协议】GPIO控制LED

    2024-05-14 13:30:02       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-14 13:30:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-14 13:30:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-14 13:30:02       82 阅读
  4. Python语言-面向对象

    2024-05-14 13:30:02       91 阅读

热门阅读

  1. vue2 el-tree树形下拉框

    2024-05-14 13:30:02       26 阅读
  2. RateLimiter 限流算法使用

    2024-05-14 13:30:02       27 阅读
  3. Python学习-Numpy-2

    2024-05-14 13:30:02       32 阅读
  4. Android自由控制阴影位置

    2024-05-14 13:30:02       31 阅读
  5. Vue setup函数

    2024-05-14 13:30:02       33 阅读