基于Nios II步进电机控制器IP核的设计与实现
2.1.3 接口模块
接口模块作为顶层模块,为寄存器文件模块提供了一个标准的Avalon前端,它使用Avalon必需的信号来访问寄存器文件,并且支持任务逻辑的传输类型,负责复位、片选、寻址及对内部寄存器进行读写等,主要完成从。Nios II处理器接收指令和数据。对于步进电机控制器IP核,用到接口模块信号有:clk,reset,chipselect,address,write,writedata信号。
2.2 软件设计
软件设计包括寄存器头文件、驱动软件的设计。
2.2.1 寄存器头文件
寄存器头文件定义了外设的底层硬件访问接口信息,程序员只需使用定义与该头文件的宏来操作外设,其好处在于使应用程序独立于底层硬件。设计首先创建一个寄存器头文件ahera_avalon_stepping_regs.h,它的功能用于描述步进电机控制IP核设备的3个寄存器。
2.2.2 驱动软件
驱动软件包括ahera_avalon_stepping_routines.h和altera_avalon_stepping_routines.c文件。altera_avalon_stepping_routin es.h定义了驱动函数的原型及常量。其函数定义语句为:
int altera_avalon_stepping_init(unsigned int address,unsigned int data1,unsigned int data2,unsigned int data3,int error);
int ltera_avalon_stepping_enable(unsigned int address);
int tera_avalon_stepping_disable(unsigned int address);
3 生成IP核
将软硬件文件编译完毕后,就需要在SOPC Builder软件中利用Component Editor生成工具封装成自定义组件。设置好HDL files、Signa ls、Interface以及SW files选项后,生成的IP核便成功设置在组件框内。利用此IP核即可与其他IP核联合搭建构成一个步进电机嵌入式控制系统。整个系统结构图如图5所示。
4 结束语
提出的基于Nios II的步进电机控制器IP核设计采用的软件平台是Quartus II6.0和Nios II IDE6.0,硬件平台采用康芯公司的SOPC实验系统,步进电机控制IP核的占用资源为20%,它可以移值到所有AItera公司支持SOPC技术的芯片上。采用SOPC技术设计的自定义步进电机控制IP核,在提高效率、缩短开发周期的前提下,可以满足工业控制场合的需要及开源升级。
评论