基于NIOS II的PWM 控制器设计
按照软硬件协同设计的思想,在SOPC设计中分硬件设计(主要用硬件描述语言 Verilog HDL等实现)和软件设计。
1. PWM逻辑的硬件设计
PWM由以下几个功能模块组成:(1)任务逻辑。任务逻辑完成该PWM元件的基本功能,是系统最关键的部分。(2)寄存器定义。寄存器提供任务逻辑与外界交换信息的途径。通过访问控制寄存器的值,用户可以对Avalon接口的外设进行控制。(3)Avalon 接口。Avalon接口是为SOPC集成提供标准的连接关系,使系统通过Avalon总线来访问寄存器,从而外设与Avalon总线的元件进行通信。
2. PWM 任务逻辑的设计
PWM 任务逻辑结构如图所示,由时钟(CLK)、输出信号(PWM_OUTPUT)、使能寄存器、32位计数器以及32位的比较威廉希尔官方网站
等组成。CLK作为32位计数器的时钟信号,32位比较威廉希尔官方网站
比较 32位计数器当前值与占空比设定寄存器(Duty Value Register)中的值来决定 PWM输出信号输出高或低电平。当当前计数器的值小于或等于占空比寄存器时,PWM_OUTPUT输出低电平,否则输出为高电平。考虑到PWM的周期的控制,需要产生一个基准的可控制周期的时钟信号,用 PWM周期设定寄存器(Period Value Register)来设置PWM_OUTPUT的信号周期。当当前计数器的值等于Period Value Register中的设定值时,产生复位信号来清除计数器中的值。使能控制寄存器(Enable Control Register)控制时钟信号CLK有效或无效,即控制计数器记数与否,从而控制PWM_OUTPUT的输出。
3. PWM 寄存器逻辑设计
在设计的PWM内部包括:使能控制寄存器(Enable Control Register)、周期设定寄存器(Period Value Register)以及占空比设置寄存器(Duty Value Register)。将3个寄存器映射到Avalon端口地址空间内的单独的偏移地址。每个寄存器都能被读写,为了能访问这些寄存器,需要设计两位地址,从而产生4个地址空间。PWM 寄存器逻辑设计如表所示。
4. PWM Avalon接口逻辑的设计
在SOPC Builder工具中,由于外设逻辑连接采用Avalon总线方式通信,所以必须设计Avalon接口,PWM作为外设,它在系统中是从外设受处理器的控制,按照Avalon接口规范来设计Avalon Slave信号来对PWM寄存器进行读写操作。其中,PWM的Avalon Slave端口与总线Avalon Slave端口的时钟信号同步,读写时间和保持时间为 0,因为读、写寄存器仅需要一个时钟周期,所以端口读写时为零等待操作且不需要延迟。因为Avalon Slave端口直接连接到寄存器,所以是静态地址对齐。当Avalon Slave端口不是连接到寄存器而是采用动态地址对齐时,操作时序要做相应的改变。
5. PWM的软件设计
由于在硬件开发中 NIOS II CPU及其外设构成的系统是自定制的,片外存储器、外设地址的映射等各不相同,因此需要相应的软件开发环境,从而将SOPC Builder 中生成的系统硬件结构转化成软件编写的系统头文件。
在开发过程中使用的是NIOS II集成开发环境(IDE)。NIOS IDE是NIOS II嵌入式处理器的基本软件开发工具,它采用了开放式、可扩展的Eclipse工程,所有软件的开发任务都可以在NIOS IDE下完成,包括编辑、编译和调试程序。PWM软件的实现是一个应用程序的编写,其功能是读出和写入PWM的3个寄存器中的值,从而来控制PWM的输出。这部分需要考虑的主要问题是访问连到NIOS II Avalon 总线上的用户逻辑。通过前面Avalon接口信号的定义,SOPC Builder 会自动给这个用户逻辑一个地址,因此对此用户逻辑的访问控制就是对分配给这个用户逻辑的地址的访问。PWM控制的软件主要包括:PWM初始化,参数设定、输出控制等。
综上所述,结合当前大型集成数字威廉希尔官方网站
的设计及应用现状来看,NIOS II是一个高性价比的嵌入式处理器,将它与SOPC技术结合,能够为外设接口设计提供一种高效、灵活、低成本的解决方法。
来源:赛迪网
基于NIOS II的PWM 控制器设计
按照软硬件协同设计的思想,在SOPC设计中分硬件设计(主要用硬件描述语言 Verilog HDL等实现)和软件设计。
1. PWM逻辑的硬件设计
PWM由以下几个功能模块组成:(1)任务逻辑。任务逻辑完成该PWM元件的基本功能,是系统最关键的部分。(2)寄存器定义。寄存器提供任务逻辑与外界交换信息的途径。通过访问控制寄存器的值,用户可以对Avalon接口的外设进行控制。(3)Avalon 接口。Avalon接口是为SOPC集成提供标准的连接关系,使系统通过Avalon总线来访问寄存器,从而外设与Avalon总线的元件进行通信。
2. PWM 任务逻辑的设计
PWM 任务逻辑结构如图所示,由时钟(CLK)、输出信号(PWM_OUTPUT)、使能寄存器、32位计数器以及32位的比较威廉希尔官方网站
等组成。CLK作为32位计数器的时钟信号,32位比较威廉希尔官方网站
比较 32位计数器当前值与占空比设定寄存器(Duty Value Register)中的值来决定 PWM输出信号输出高或低电平。当当前计数器的值小于或等于占空比寄存器时,PWM_OUTPUT输出低电平,否则输出为高电平。考虑到PWM的周期的控制,需要产生一个基准的可控制周期的时钟信号,用 PWM周期设定寄存器(Period Value Register)来设置PWM_OUTPUT的信号周期。当当前计数器的值等于Period Value Register中的设定值时,产生复位信号来清除计数器中的值。使能控制寄存器(Enable Control Register)控制时钟信号CLK有效或无效,即控制计数器记数与否,从而控制PWM_OUTPUT的输出。
3. PWM 寄存器逻辑设计
在设计的PWM内部包括:使能控制寄存器(Enable Control Register)、周期设定寄存器(Period Value Register)以及占空比设置寄存器(Duty Value Register)。将3个寄存器映射到Avalon端口地址空间内的单独的偏移地址。每个寄存器都能被读写,为了能访问这些寄存器,需要设计两位地址,从而产生4个地址空间。PWM 寄存器逻辑设计如表所示。
4. PWM Avalon接口逻辑的设计
在SOPC Builder工具中,由于外设逻辑连接采用Avalon总线方式通信,所以必须设计Avalon接口,PWM作为外设,它在系统中是从外设受处理器的控制,按照Avalon接口规范来设计Avalon Slave信号来对PWM寄存器进行读写操作。其中,PWM的Avalon Slave端口与总线Avalon Slave端口的时钟信号同步,读写时间和保持时间为 0,因为读、写寄存器仅需要一个时钟周期,所以端口读写时为零等待操作且不需要延迟。因为Avalon Slave端口直接连接到寄存器,所以是静态地址对齐。当Avalon Slave端口不是连接到寄存器而是采用动态地址对齐时,操作时序要做相应的改变。
5. PWM的软件设计
由于在硬件开发中 NIOS II CPU及其外设构成的系统是自定制的,片外存储器、外设地址的映射等各不相同,因此需要相应的软件开发环境,从而将SOPC Builder 中生成的系统硬件结构转化成软件编写的系统头文件。
在开发过程中使用的是NIOS II集成开发环境(IDE)。NIOS IDE是NIOS II嵌入式处理器的基本软件开发工具,它采用了开放式、可扩展的Eclipse工程,所有软件的开发任务都可以在NIOS IDE下完成,包括编辑、编译和调试程序。PWM软件的实现是一个应用程序的编写,其功能是读出和写入PWM的3个寄存器中的值,从而来控制PWM的输出。这部分需要考虑的主要问题是访问连到NIOS II Avalon 总线上的用户逻辑。通过前面Avalon接口信号的定义,SOPC Builder 会自动给这个用户逻辑一个地址,因此对此用户逻辑的访问控制就是对分配给这个用户逻辑的地址的访问。PWM控制的软件主要包括:PWM初始化,参数设定、输出控制等。
综上所述,结合当前大型集成数字威廉希尔官方网站
的设计及应用现状来看,NIOS II是一个高性价比的嵌入式处理器,将它与SOPC技术结合,能够为外设接口设计提供一种高效、灵活、低成本的解决方法。
来源:赛迪网
举报