��收稿日期:2008-11��基本项目:上海市重点学科建设资助项目(T0103)��作者简介:范海艇(1984�),男,硕士,研究方向为基于FPGA的嵌入式系统开发。用NiosII嵌入式软核实现RoboCup中型组足球机器人的底层控制范海艇,项宗杰,陈万米,林骁元,林立奇(上海大学自动化系,上海200072)��摘要:介绍基于NiosII嵌入式软核处理器的RoboCup中型组足球机器人的底层控制的设计方案,详细论述了系统设计的各个步骤。该控制方案在一块基于AlteraCycloneIIFPGA上实现,完全满足设计之初提出的接口统一、控制精确、便于升级的要求。文章对基于NiosII进行SOPC系统设计具有参考价值。关键词:NiosII;FPGA;SOPC;底层控制系统中图分类号:TM930��������文献标识码:B��������文章编号:1006-2394(2009)05-0033-04ImplementationofOn�boardControlSystemUsedinRoboCupSoccerMiddleSizeCompetitionBasedonNiosIIFANHai�ting,XIANGZong�jie,CHENWan�m,iLINLi�qi(DepartmentofAutomation,ShanghaiUniversity,Shanghai200072,China)Abstract:OnemethodofutilizingNiosIIsoftcoretodesignanon�boardcontrolsystemwhichisusedinRoboCupSoccerMiddleSizeCompetitionisintroducedinthispaper.Moredetailsduringtheimplementofeachfunctionareinvolved.ThedesignhasbeenimplementedonanAlteraCycloneIIFPGA,whichissatisfiedwiththedemandofstand�ardinterface,accuratecontrolandeasyupdating.ThepaperhasuniversalguidanceforNiosIIandSOPCdesigners.Keywords:NiosII;FPGA;SOPC;on�boardcontrolsystem1�机器人底层系统介绍足球机器人是一个典型的智能机器人系统,其底层控制系统的基本任务是:与决策上位机保持数据通讯,并将上位机下发的指令转为对机器人驱动电机、传感器以及踢球机构的控制,实现机器人在场地上移动和射门的动作。按功能模块可分为:与上位机建立通信连接;全向轮的驱动及精确控制;气动踢球的控制以及各传感器的输入与融合等。机器人足球赛的胜负除了取决于决策子系统水平的高低外,在很大程度上决定于硬件系统机器人性能的好坏。机器人的性能主要由底层控制系统决定,研究与开发集成度好、可靠性和控制精度高的控制系统具有重要的意义。定制统一标准的上位机通讯接口,提高机器人运动的快速性与控制精度,及在功能上能根据实际要求快速改变和扩展将是本研究的重点。2�NiosII的核心地位NiosII系列32位RISC(精简指令集架构)嵌入式处理器是Altera公司提出的第二代嵌入式软核处理器,是Altera公司特有的基于通用FPGA架构的软CPU内核,其性能超过200DMIPS,大部分指令都能在5ns的周期内完成。用户可将一个或多个可配置NiosII软核处理器、存储器、IO接口、各种外围设备等系统设计需要的部件集成到一块FPGA芯片上,构建成一个SOPC(片上可编程系统),并从无限的系统配置组合中选择满足性能和成本达到最优组合的方案,而不必为系统级设计采用ASIC(专用集成电路)。鉴于NiosII处理器集成度高、灵活性强、运算速度快的特点,完全符合中型组机器人底层控制高效、简单、灵活以及开发周期短的要求。3�底层控制的实现足球机器人底层控制系统主要包括:处理器单元、�33�2009年第5期��仪表技术存储单元、USB通信单元、运动控制单元、电机驱动单元、速度检测单元以及踢球等功能模块。其结构组成如图1所示。图1�系统结构框图3.1�USB通信的实现机器人本体一方面要及时、准确地接收上层决策机下发的控制指令,另一方面要定时向上层决策机传送大量代表机器人当前运行状态的数据。对于中型组机器人而言,目前决策指令的刷新频率可以达到50帧。传统的RS-232串口无法满足大量数据的传输,因此采用FTDI公司的FT245RL芯片,实现上位PC与底层控制板之间USB接口的连接。该芯片主要功能是进行USB和并行I/O口之间的协议转换。一方面可从上位PC接收USB数据,并将其转换为并行I/O口的数据流格式发送给FPGA;另一方面可通过并行口将数据转换为USB的数据格式传回上位PC。中间的协议栈全部由芯片自动完成,开发者无须考虑固件代码的设计。最大传输率可以达到1Mbyte/s。在上位机端有标准函数接口,方便程序开发者进行二次开发。在下...