学习过nios的小伙伴应该知道nios可以添加自定义外设,下面将以为软核SCore430添加PWM外设为例,讲解如何为SCore430添加外设。
添加外设应该了解以下几点知识:
1.SCore430外设接口时序
2.SCore430的memory map
3.外设控制器ExphCtrl源码的添加新增外设接口
SCore430的外设接口时序
主机接口
名称 |
说明 |
out_writeexphaddr[15:0] |
写外设地址 |
out_writeexphdata[15:0] |
写外设数据 |
out_writeexphbyten[1:0](可选) |
16bit数据分为两个字节,对应out_writebyten的两个bit位,当对应位置位时,对应字节有效。有这个信号的原因是430指令集中大部分指令有16bit和8bit两种操作模式 |
out_writeexphen |
写数据使能,当时钟上升沿到来,且此信号为高电平时,数据被写入。 |
out_readexphaddr[15:0] |
读外设寄存器地址,用作数据选择器的输入参数,从而输出指定寄存器数据。 |
外设接口
名称 |
说明 |
in_clk |
系统时钟 |
in_rst |
系统复位 |
in_writeaddr[15:0] |
写数据地址 |
in_writeen |
写数据使能 |
In_writebyten[1:0] (可选) |
数据的字节使能 |
in_writedata[15:0] |
写入的数据 |
in_readaddr[15:0] |
读数据地址 |
out_readdata[15:0] |
读取数据输出 |