Profile - CN287


CN287

基于Nios的羽毛球步法训练系统的设计与实现

华南师范大学
物理与电信工程学院






Advisor

Name: 周卫星

Members

No. Name English Name
1 陈炳锐 chenbingrui
2 梁艺 liangyi
3 吕锡钊 luxizhao

Project Paper

1. 设计概述 (Preliminary Paper)

1.1研究背景

羽毛球比赛双打每半场区有40m2,单打超过34m2,运动员必须将对方击来落在区内任何地方的球在落地前回击.所以准确判断,迅速移动到位的步法训练,是羽毛球训练的重要内容。

传统的羽毛球步法训练方法是运动员根据在教练员的指示,尽可能快速跑到相应的位置。这些方法的缺点是训练的随意性较大,对运动员跑位的反应速度缺乏定量的评价,而且训练结束后无法对训练效果进行技术的统计。

为了解决传统羽毛球步法训练的缺点,我们结合承担的国家体育总局的奥运会科技攻关项目,开发了一个携带方便,使用简单的羽毛球步法训练系统,它不但可以根据运动员的特点由教练员事先编排训练方案,而且可对训练中运动员对每一个位置的反应时间进行记录、统计,为评价训练结果,制订下一步训练方案提供了科学的依据。

1.2针对用户群

本系统适用于各阶层的羽毛球培训、训练机构。目前主要为国家羽毛球队研制。由于本系统采用集成度非常高的FPGA器件,这样大部分功能可由一片EP2C20完成,都具有携带方便,使用简单等特点,因此可推广到各省级羽毛球队,各种具有羽毛球培训体育院校,甚至适用于各种自组织的羽毛球协会。

1.3应用Nios II的优势

首先,SOPCAltera公司提出的一个灵活、高效的SOC解决方案。它将Nios II 处理器、存储器、I/O口等系统设计需要的功能模块集成到一个FPGA上,构件成一个可编程的片上系统。具有灵活的设计方式,提供了许多可用的IP核,可裁减、可扩充、可升级的功能。

其次,Nios II属于软核嵌入式开发,具有灵活性、高性能、低成本、生命周期长等特点,并提供了大量的开发技术文档和实例,只要有能力,结合FPGA可以做出来任何想象的到的东西,其创造能力是强大的,这就是Nios II乃至其他所有软核CPU的最大的意义所在。Nios II支持MicroC/OS-IIuClinux等多种实时操作系统,Nios II处理器允许用户增加自定义指令和自定义硬件加速单元,无缝移植自定义外设和接口逻辑,在性能提升的同时,方便了用户的设计。

 

(Revision: 3 / 2008-09-14 13:43:15)

2. 功能描述 (Final Project Paper)

图1

图1 系统功能框架图

本系统硬件方面包括两大部分:主控制台和六个位置传感装置。

1)位置传感装置由无线收发模块和红外收发一体化传感器构成。位置传感装置实现与主控制台的无线数字通信和羽毛球场地位置标记的功能。实现稳定可靠的无线通信是本系统的核心所在。

2)主控制台主要由DE1开发平台、无线收发模块、激光图像产生器模块、USB接口模块和LED显示器交互界面构成。

         a)        无线收发模块:主要负责与位置传感器进行可靠、稳定的通信。

         b)        激光图像产生器模块:激光图像产生器模块主要是用来在屏幕或墙壁上投影各种图像标记。运动员根据投影的图像标记做出判断,然后跑到对应的位置,并触发对应的位置传感器。

       c)        LED显示器交互界面:用来显示系统的功能提示,系统状态,和运动员每完成一次训练所用的时间。由于一般的羽毛球场馆都比较大,而且灯光很亮,我们采用了高亮度LED来作为显示器,用无线的遥控作为人机交互的控制。

        d)       USB接口模块:采用USB接口,实现与计算机的数据交互。用户在计算机上编排好各种训练方案,并把训练方案存在U盘上。把U盘插在本系统的USB接口上,系统就可通过USB接口读取训练方案,然后按照方案工作,并在训练方案结束后把运动员的所用训练时间写回U盘中,用户就可根据写回的数据进行技术统计。

(Revision: 4 / 2008-09-14 13:45:15)

3. 性能参数 (Final Project Paper)

    本系统采用DE1平台开发,最后采用EP2C20核心板完成设计。系统的关键是激光图形发生器的控制,通过对控制效果和控制成本的综合考虑,我们对激光振镜采用了步进电机方式,振镜频率可达5KHz,实践证明可以满足实际使用的要求,下图为投射的激光图案示例。

 

图2 激光图案示例图

本系统的最大特点是用激光投射指示运动员的跑位。由于激光的亮度高,聚焦性好,对投射面及场地环境没有特别的要求,可以不要幕布直接投射到室内或室外的墙壁上,不但节约了使用成本,而且使用也极为方便。

考虑到方便教练员对训练过程的控制,系统的所有操作,如训练方案的选择、训练的开始和结束等都采用无线遥控方式。无线传输模块的载波频率为433MHz在传输速率为9600波特的情况下,可靠传输距离大于50m

(Revision: 4 / 2008-09-14 13:47:58)

4. 设计结构 (Preliminary Paper)

4.1硬件平台

 

图3 硬件平台框架图

 

4.2软件层和系统软件设计框图

 

 

 

 

图4 软件层结构图

 

 

图5 系统软件流程图

 

(Revision: 7 / 2008-09-14 13:49:09)

5. 设计方法 (Final Project Paper)

本系统采模块化的设计方法,主要由前端的无线收发模块电路、主控制器(DE1硬件平台)和激光图像产生器模块电路构成。

5.1无线收发模块电路设计

 

 

图6 无线收发模块电路图

    无线收发模块采用的无线收发芯片TI公司的CC1100。该芯片采用SPI接口,仅用三条线即可实现寄存器的配置和数据传输。CC1100电路主要工作在ISM(工业,科学和医学)和SRD(短距离设备)频率波段。CC1100提供了数据包处理、数据缓冲、突发数据传输、清晰信道评估、连接质量指示和电磁波激发的硬件支持。

 

5.2激光图像产生器的原理与硬件设计

5.2.1激光图像产生器的原理

激光图像产生器由激光器、光学系统、步进电机、控制电路等部分组成。激光图像产生器在控制电路的控制下,将激光器产生的光束,通过光学系统反射,在墙面投射出不同的图案。激光图像产生器框图如图所示。

 

X向、Y向步进电机上分别装有两面全反射镜,控制电路通过控制X向和Y向步进电机,改变安装在步进电机转轴上的反射镜的倾角,先后反射高亮度的激光光束,当两反射镜按一定的转向组合并达到一定的转速时,可以实现激光光束的动态组合,从而投射出一系列的图形。

5.2.2激光图像产生器的硬件设计

激光器与光学系统:控制电路框图如图所示。控制电路由光电隔离器、步进电机组成。

 

步进电机的控制电压为12V,而FPGAI/ O 口输出的控制信号电压为5V,采用光电隔离器后,5V 的控制信号通过光电耦合转变为12V 的控制信号,既放大了控制信号的功率,又防止了工作在12V 的电机影响FPGA的正常工作。

步进电机采用三相反应式步进电机,这种电机有力矩/惯性比高、步进频率高、频率响应快、不通电时可自由转动、可双向旋转、结构简单和寿命长等特点。步进电机的工作电压为12V,步距角为1.8°。由于步进控制的要求不是很精确,没有采用专用的步进电机驱动模块,控制信号直接由FPGA提供。

5.3硬件SPOC平台的设计

5.3.1 激光图像产生器IP核的设计

激光图像产生器由于电机的旋转速度的限制,使得屏幕上投射的图形不能太复杂,否则图形显示太过于闪烁。因此,本系统根据需要设计了一些相对简单的标记图形,并把标记的图形的数据分别存储激光图像产生器的模块里。在显示图像时,输入图像对应的地址,就可以显示需要的图形。激光图像产生器IP核的框图如下:

各引脚功能如下:

addr[5~0] 模块内部存储了各种图像,此接口用于选择需要显示的图像;

speed[15~0] 转速控制,用于分频;

cs 片选信号,低电平有效;

wr 写信号,低电平有效;

reset 复位信号,低电平有效;

clk 待分频的时钟,驱动控制模块;

ABC[2~0] 三相位输出,控制电机;

仿真波形如下:

 

 

5.3.2 SOPC 构建

ALTERA提出的SOPC将硬件系统在FPGA实现,包括CPU,存储器、接口IP、定时器及AVALON 总线等都用硬件描述语言来写,以IP的形式给出。针对DE1开发板和我们作品的功能,对SOPC系统进行了裁减和选择。

CPU设置图如下:

 

 

 

 

SOPC Builder设置如下图

 

 

5.4软件平台的设计

  5.4.1 uClinux的移植

要提高NIOS的执行效率,增加整个系统的执行能力就需要在硬件系统的基础上移植嵌入式操作系统。uClinux应用于没有内存管理单元MMU的微处理器的Linux的衍生操作系统,支持多任务。由于它的很多核心代码都为没有被MMU的处理器重新编写过,所以它的内核要比常规的Linux内核小很多;它同时保留了常规Linux操作系统绝大多数的优点,很适合移植到NIOS上。移植操作系统之后,NIOS就可以用来同时执行多任务,满足本系统对输入设备、显示、数据无线处理等任务同时处理的要求。

    移植uClinux的主要步骤:

 

2、其次要对uClinux进行内核配置。利用make menuconfig可以进行内核配置。要根据我们的系统将必要的选项选中,将没有必要的选项去除。主要需要配置:

1)系统类型的配置在System Type中,选定NIOS system type,然后设置SDRAM/Flash的地址。因为每个SOPC系统中前两者的地址都不相同,需要按照我们系统的设计进行更改;

2)块设备Block devices的选择和配置我们选定RAM disk support并且设置RAMDISK的大小(Default RAM disk size)1024KB,同时将它设置为Initial RAM disk (initrd) support。这样它可以作为根文件系统的块设备。引导程序U-boot提供了RAM DISK的支持,使得使用和调试RAMDISK更加方便容易。

3)选择字符设备驱动Character devices中选择串行口驱动,在Serial drivers选项,然后选定NIOS serial port support ,这样在内核中加入了对NIOS的串行口的支持,就可以通过串口查看内核打印的信息。

3、配置uClinux的文件系统。在内核启动之后,就会将Romfs文件系统作为根文件系统,另外还需要移植ext2文件系统接受USB接口传输的数据。

 

5.4.2无线通信可靠性的策略

在无线通信中有很多影响其通信距离、通信质量的因素。总结起来,影响无线通信的主要几项因素可归纳为:环境因素、磁场因素、天气因素、输出功率、接收灵敏度、系统抗干扰能力、软件纠错、天线类型及其增益、天线有效高度等。在实际的应用中,尽量减小这些影响,使系统的无线通信能够可靠、稳定的工作。

本系统无线通信模块的通信处理流程如图所示:

 

 

发送缓冲与接收缓冲是为了匹配用户接口和无线接口速率而设计,采用FIFO方式,支持大批量连续数据传输,安全可靠;

       纠错编解码采用成熟的卷积码纠错技术,可以将误码率由10-3减小到10-6,并且有3dB左右软件编码增益,进一步提高了传输的可靠性;

       交织的目的是为了将连续的错误离散成不连续的单比特错误,提高抗连续干扰的能力。

       信号编解码的目的是将信号辐射功率谱集中,并有利于接收机信号解码;

另外为了确保系统能够可靠的工作,本系统使用多发、重发和应答的机制。通信协议如图所示。

 

 

通过实际测试,在这个通信协议的基础上,系统的无线通信达到了稳定、可靠的效果。

5.4.3激光图像产生器软件设计

    三相反应式步进电机有ABC 三根控制线,分别控制步进电机的三相。步进电机和FPGA的硬件接法,分别是采用FPGA的三个I/ O 来控制步进电机的ABC 三相,控制信号经过光电耦合后直接控制步进电机。

    要在投射面上得到几何图形,关键在于两个步进电机的转速和转向的组合,实现对激光束的空间动态组合。由于光的连续性,当在反射镜转动时,必然在两个点之间连成一条线,所以要在屏幕上投射出图形,就可以把图形分割为一段段直线段,只要控制反射镜把激光束在每个端点之间按顺序快速移动就可以了。在屏幕上作一坐标轴,通过反射镜的光路分析,可以认为X向步进电机控制的反射镜1 Y向步进电机控制的反射镜2 分别控制投射图形的X方向和Y方向。以正方形为例,如图4 所示,取正方形的中心为坐标原点(也就是光路的起始点) ,正方形的四个顶点分别为ABCD。要在屏幕上投射出这样的正方形,两个步进电机的转动方向和顺序为:先将屏幕上的投影点移到E 点,即步进Y向电机正转3 步;然后X向步进电机正向转动3 (A ) Y向步进电机反向转动6 (B ) X 向步进电机反向转动6 (C)Y向步进电机正向转动6 (D ) X向步进电机正向转动3 (E ) 。由此可见,要在屏幕上得到某种图形,只需将图形在xy 平面上分割成一段段相互连接的直线段,再计算出各端点的位置,就可以编程控制电机了。但是,由于电机的旋转速度的限制,要使屏幕上投射的图形没有闪烁,则图形就不能太复杂。

   

5.5 系统整合与效果

本系统涉及光、机、电,所以模块较多,系统比较大。在设计的过程中,调试起来问题比较多,因此,在设计的过程,分模块的进行调试,在确定各模块能够正常工作后,再逐个模块整合到系统中。不过在设计的过程碰到了很多问题,但最终经过努力都克服了。以下是本系统在国家训练基地测试时拍下的图片。 

 

 

 系统标记图和效果图

1、首先要将引导程序移植到板子上,Bootloader引导加载程序是系统加电后运行的第一段软件代码。通过这段程序,我们可以初始化硬件设备、建立内存空间映射表,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。这里采用了U-boot引导程序进行移植。U-boot广泛应用与PowerPCARM9等系统中,对Linux有特别的引导功能。最重要的是移植性非常强,适合移植到NIOS中。移植U-boot需要建立起交叉编译环境,并对U-boot文件夹中依赖硬件部分的源文件进行修改。典型的有start.S系统加电后最开始运行部分的文件、serial.C相关串口文件等等。

(Revision: 9 / 2008-09-14 13:51:51)

6. 设计特点 (Preliminary Paper)

 

 

本系统的最大特点是用激光投射指示运动员的跑位。由于激光的亮度高,聚焦性好,对投射面及场地环境没有特别的要求,可以不要幕布直接投射到室内或室外的墙壁上,不但节约了使用成本,而且使用也极为方便。

本系统是一个光机电一体化的系统,但大部分模块都工作在数字化模式下,所以可以充分利用Altera器件的资源,使系统高度集成化。从降低成本和易于实现的角度出发,我们对振镜的控制采用了步进电机的方法,所以电机控制部分并没有占用多少逻辑资源。

下一步我们将拓展该系统在网球训练中的应用,并考虑采用伺服电机对振镜进行控制,以求得到更好的控制效果。由于Altera器件的灵活性,系统的硬件结构并不需要太大的改动,为我们对系统的升级换代提供了极大的便利。

 

(Revision: 4 / 2008-09-14 13:53:05)

7. 总结 (Final Project Paper)

Nios Ⅱ软核系统的性能是可以根据应用来进行裁减的,定制用户自己的系统,与固定的处理器相比,具有很强的优势。Nios II的用户逻辑功能和用户指令突现Nios II处理器的技术亮点,提供了系统实现的多样化特点。

通过这次学习,进一步加深了对SOPC的了解,对运用Nios II CPU 进行嵌入式开发有了一定的心得。Altera SOPC给了我们强大的设计平台,让我们能从硬件开发,驱动编写到应用程序的开发都能涉及,并且在系统级的开发上能更加快速和得心应手。

对于学生来说,SOPC设计理念带来的就是创新的设计思想。有利于激发我们的创新性。

感谢Altera公司为我们提供了非常好的理论与实现相结合的时间机会,通过大赛,验证了我们设计的算法硬件实现可行性!对于我们的理论研究也具有相当的促进作用.

 

(Revision: 3 / 2008-09-14 13:53:48)