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。
更多关于Interval Timer核的详细说明和用法可参考Embedded Peripherals IP User Guide中的23. Interval Timer Core这一节。