基于nios的嵌入式采集系统的制作方法

文档序号:6333409阅读:244来源:国知局

专利名称::基于nios的嵌入式采集系统的制作方法
技术领域
:本发明涉及数字化测试测量领域,具体涉及智能化采集系统。
背景技术
:随着半导体技术的发展,越来越多的设备具备“智能化”,目前的采集系统已经是采集器、仪表与处理器融为一体的智能采集系统,超过了传统的自动检测仪表和专用数据采集系统,因此,获得了高速的发展。而嵌入式系统正是这种“智能”的实现手段。嵌入式系统一般指非PC系统,它是与常见的微型机系统和专用的大型、小型机系统相对而言的。它是以应用为中心、以计算机技术为基础,软硬件可裁减、适应应用系统对功能、可靠性、成本、体积和功耗等综合性要求的专用计算机系统,是硬件和软件的有机结合体,并以硬件的形式表现。随着嵌入式采集系统向高速度、低功耗、低电压和网络化的发展,系统对电路的要求越来越高,同时,由于IC设计与工艺技术水平的提高,集成电路规模越来越大,复杂程度越来越高,整个系统已经可以集成在一个芯片上,由此,S0C(SyStemOnChip片上系统)的概念孕育而生。采用SOC(SystemOnChip片上系统)技术的嵌入式采集系统的已经成为当前国内外各采集系统研制单位的重点研究方向。
发明内容本发明的目的是提供一种基于NIOS的嵌入式采集系统。本发明是一种可以提高采集系统可靠性、降低功耗、节省成本的智能化仪器,本发明是采集系统领域中成功应用SOC技术的先进设备。本发明的基于NIOS的嵌入式采集系统,通过以下步骤实现嵌入式数据采集系统的功能(一)基于SOC技术,利用FPGA的可编程特性,采用在FPGA中内嵌一颗NIOS嵌入式处理器替代专用嵌入式处理器芯片;(二)在同一片FPGA中实现采集控制、数据存储、LAN/USB/RS232通信接口以及外围控制电路的功能;(三)将NIOS嵌入式处理器与采集控制、数据存储、LAN/USB/RS232通信接口以及外围控制电路整合到一起,成为一个独立、专用的、可编程的嵌入式采集系统芯片,形成最终的SOPC系统;(四)采用大容量非易失性存储介质一NANDFLASH进行采集数据的存储,实现快速数据访问。本发明的技术方案要点本发明是基于SOC技术,利用FPGA的可编程特性,采用在FPGA中内嵌一颗嵌入式处理器NI0S,同时,将该嵌入式处理器与采集控制、数据存储、LAN/USB/RS232通信接口以及外围控制电路整合到一起,成为一个独立、专用的、可编程的嵌入式采集系统芯片,形成最终的SOPC系统。与传统的采用多个控制芯片组成的嵌入式采集系统相比,该系统在成本、功耗、体积、可靠性等方面均有较大的优势。目前先进的智能化数据采集设备一般都采用了嵌入式处理器技术,即采用嵌入式处理器与传统采集器、数据存储管理技术相结合的采集系统设计方案。传统的采集器完成数据采集、数据存储等功能,专用的嵌入式处理器作为采集系统的控制核心,完成对采集器的控制、数据分析以及数据发送等多种任务,系统具有一定的自检测、自矫正能力,便于维护。嵌入式处理器是设计的关键环节,是整个系统的“大脑”,往往决定了系统能够实现怎样的功能,以及整个系统的可靠性与稳定性。目前市场上已经有大量采用这种架构的采集系统,在数据采集的各个领域内都得到了广泛的应用,其技术成熟度和可靠性已经得到了市场的验证。但是,技术的发展是无止境的,随着芯片技术的不断发展,特别是SOC(SystemC)nChip片上系统)的提出,将专用的嵌入式处理器与传统的采集控制系统集成到一个芯片内,从而进一步减少设备体积、节省成本、降低功耗、提高系统可靠性等愿望已经不再是空想。本发明基于NIOS的嵌入式采集系统,整个系统仅用一片FPGA即可实现传统设备需要多个专用控制芯片完成的复杂工作,该FPGA内嵌一颗OTOS嵌入式处理器,替代传统嵌入式采集系统中嵌入式处理器的所有功能,另外,利用FPGA的可编程特性,其还能实现采集控制、数据存储接口、通信接口等诸多外围功能,从而实现S0PC(SyStemOnaProgrammableChip)系统。采用该技术设计的产品,在设备体积、成本、功耗、可靠性等方面均有优异的表现,可以预见,这种通过采用SOPC技术实现高性能、高集成度、超小型化、高可靠性以及可编程性的产品将是今后嵌入式采集系统未来的发展方向。SOC从整个系统的角度出发,把处理机制、模型算法、芯片结构、各层次电路,直至器件的设计紧密结合起来,在单个(或少数几个)芯片上完成整个系统的功能。SOC的设计以IP核为基础,以分层次的硬件描述语言为系统功能和结构的主要描述手段,借助于以计算机为平台的EDA工具进行。研究表明,与IC组成的系统相比,由于SOC设计能够综合并全盘考虑整个系统的各种情况,因而可以在同样的工艺技术条件下,实现更高性能的系统指标。SOC技术也大大促进了软硬件协调设计及计算机系统设计自动化的发展。SOPC是ALTERA公司提出来的一种灵活、高效的SOC解决方案。它将处理器、存储器、I/O口、LVDS、⑶R等系统设计需要的功能模块集成到一个PLD器件上,构造成一个可编程的片上系统。它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级、并具备软硬件在系统可编程的功能。可编程器件内,还具有高速RAM资源,利用市场上丰富的IPCore资源,用户可以构成各种不同的系统。ALTERA将一个嵌入式处理器软核放入PLD,这个软核就是NI0S,它只占芯片内部很少的一部分逻辑单元,成本很低,大规模的PLD拥有丰富的逻辑资源,除了NIOS嵌入式系统使用的资源外,还有足够的资源用于实现其他的附加逻辑,形成集成度更高、功能更复杂的S0C。Nios嵌入式处理器具有32位的指令集,每个周期可以执行一条指令,最高执行速度可达200MIPS。Nios处理器还具有一些可配置的周边接口,它们包括UART、并行I/O、Timer、SPI、片上SRAM和ROM、与片外SRAM和FLASH的接口控制。NIOS处理器具有完善的软件开发套件,包括编译器、集成开发环境、JTAG调试器、实时操作系统(RTOS)和TCP/IP协议栈。设计者能够用AlteraQuartusII开发软件中的SOPCBuilder系统开发工具很容易地创建专用的处理器系统,并能够根据系统的需求添加NiosII处理器核的数量。使用NiosII软件开发工具能够为NiosII系统构建软件,即一键式自动生成适用于系统硬件的专用C/C++运行环境。NiosII集成开发环境(IDE)提供了许多软件模板,简化了项目设置。此外,NiosII开发套件包括两个第三方实时操作系统(RT0S)——MicroC/OS-II(Micrium),NucleusPlus(ATI/Mentor)以及供网络应用使用的TCP/IP协议栈。采用这种S0PC技术实现的基于NI0S的嵌入式采集系统,设计者可以根据系统需求的变化更改CPU,选择满足性能和成本的最佳方案,而不会影响已有的软件投入。另外,本发明的特点和先进性还体现在以下几个方面超大容量存储新型的智能采集系统需要有长时间不间断的采集能力,这就要求设备具有大容量的存储空间,并且存储的数据在掉电后也不丢失,以实现对历史数据的重现。Nand-flash存储器是flash内存的-种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。Nand-flash存储器具有容量大,写入速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,目前,已经广泛应用在诸如U盘、SD卡等产品中。我公司设计的基于NI0S的嵌入式采集系统采用Nand-flash作为存储介质,其容量最大支持8GB,段数支持最多2048段,从单段的存储容量和总段数等指标都大大超过其他同类产品。网络化设计LAN是最常用的组网方式。以太网使用双绞线作为传输媒介。在没有中继的情况下,最远可以覆盖200米的范围。最普及的以太网类型数据传输速率为100Mb/S,更新的标准则支持1000Mb/S和10000Mb/S的速率。LAN的这些特性,使得其在连接速度、连接距离以及组网方式等方面都处于领先。本发明研制的新型智能采集系统,在支持USB、RS232、RS485接口的同时,还支持LAN接口,使其不仅仅是一台只能和PC近距离连接的采集设备,通过目前广泛使用的以太网,可以连接至网络中的任意一台PC终端。进而,通过INTERNET,可以在世界的任何一个地方对其进行有效的控制,真正的做到物联世界。物联网的提出,也使得支持LAN接口的新型智能采集系统在未来发展中,有着更广阔的应用前景。图1是本发明系统结构示意图。具体实施例方式下面结合附图并用最佳的实施例对本发明作详细的说明。参阅图1,基于NI0S的嵌入式采集系统,通过以下步骤实现嵌入式数据采集系统的功能(一)基于S0C技术,利用FPGA的可编程特性,采用在FPGA中内嵌一颗NI0S嵌入式处理器替代专用嵌入式处理器芯片;(二)在同一片FPGA中实现采集控制、数据存储、LAN/USB/RS232通信接口以及外围控制电路的功能;(三)将NI0S嵌入式处理器与采集控制、数据存储、LAN/USB/RS232通信接口以及外围控制电路整合到一起,成为一个独立、专用的、可编程的嵌入式采集系统芯片,形成最终的S0PC系统;(四)采用大容量非易失性存储介质——NANDFLASH进行采集数据的存储,实现快速数据访问。在第(一)步骤所述的S0C技术,是在设计过程中,从整个系统的角度出发,把处理机制、模型算法、芯片结构、各层次电路,直至器件的设计紧密结合起来,在单个或至少两个芯片上完成整个系统的功能。在第(一)步骤中利用FPGA的可编程特性,构造成一个可编程的片上系统,该系统是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级、并具备软硬件在系统可编程的功能。在第(二)步骤中数据存储采用新型非易失性存储器作为数据存储介质,具备高速大容量数据存储能力。本发明集成多种通信接口,满足各种条件下主机连接的需求。QuartusII是进行S0PC系统设计的高效工具,使用它可以快速设计整个应用系统。它提供了利用PLD进行百万门逻辑设计的能力,其中集成了用于在Altera器件上进行设计、综合、编译、验证的所有工具。我们使用集成在QuartusII中的SOPCBuilder工具来配置生成“片上系统”。S0PCBuilder是一个功能强大的基于图形界面的“片上”系统的定义和定制工具,它可以在短时间内完成用户定制的S0PC设计。我们根据应用的需要从SOPCBuilder库中选择IP模块、memories、外围接口和处理器,并且配置生成一个高集成度的S0PC系统。根据本发明的需要,我们选取以下一些模块组成片上系统Nios32-bitCPU、EPCSCONTROLLER、LANINTERFACE、CommunicationUART、debuggingUART、DDR2C0NTR0LLER、Timer、ButtonPI0、UserPICKLEDPI0、DMA、SPI、AvalonTri-StateBridge。另外,还需要自行设计的IP核有AD采集控制模块、NANDFLASH控制o同时SOPCBuilder自动产生一些必需的仲裁逻辑来协调系统中以上各个部件的工作,我们将系统的工作频率设为80Mhz。定制完“片上”系统的硬件后,SOPCBuilder还为我们编写操控这些“片上”硬件的软件代码提供了一个软件开发环境——NIOSIDE,这个软件环境包括语言头文件、外围接口的驱动以及实时操作系统的内核。这一环境极大地方便了软件的开发。每个NiosII程序包括一个应用工程,可选的库工程和一个板支持包工程。将NiosII程序编译成一个能在MosII处理上运行的可执行和连接的格式(ExecutableAndLinkedFormatFile-.elf)的文件。NiosIIC/C++应用工程包括组成一个可执行的.elf文件的源代码的集合。一个典型的应用的特征是一个源文件包含main()——主函数。应用工程包括libraries和BSP中被调用的函数的源代码。库工程是一个库文件(.a)中的源代码的集合。库文件中通常包含可重用的,通用的函数,这些函数可被多个应用工程所共享。比如,数学函数库。库工程没有main()函数。NiosIIBSP工程是包含特定系统支持代码的特殊的库。BSP为SOPCBuilder系统的处理器提供定制的软件运行环境。NiosIIEDS提供相应的工具可以修改设置以控制BSP的行为。NiosIIIDE和NiosIIIDE开发流程文档中使用〃systemlibrary"来指代BSP。BSP包括如下的组成部分硬件抽象层(HAL)、NewlibC标准库、设备驱动、可选的软件包、可选的实时操作系统(RT0S)。HAL提供一个非线程的,类UNIX的C/C++运行环境。HAL可以提供通用的1/0设备,允许用户newlibC标准库的函数编程来访问硬件,如printf()。使用HAL可以最小化(或消除)通过直接访问硬件的寄存器来控制外设和与外设通信。Newlib是为了嵌入式系统的应用,而对C的标准库进行精简的开源实现。包括一些常用的函数的集合,如printfO.mallocO和open()等。每个设备驱动管理一个硬件设备。HAL为S0PCBuilder系统中的每一个需要驱动程序的设备实例化一个驱动程序。在MosII软件开发环境中,设备驱动具有如下的属性一个设备驱动是和一个特定的S0PCBuilder设备相关联的。驱动程序可能有一些设置可以影响驱动程序的编译,这些设置包含在BSP的设置中。软件包是用户可以选择加入到BSP工程中,提供附加的功能的源代码。比如本发明中使用的NichStackTCP/IP协议栈。NiosIIIDE和NiosIIIDE设计流程文档使用〃软件组件〃来指代软件包。在NiosII软件开发环境中,软件包和特定的硬件没有关联。软件包有一些设置会影响它的编译,这些设置.包含在BSP的设置中。在NiosII软件开发环境中,软件包和库工程是不同的,软件包是BSP工程的一部分,不是一个单独的库工程。NiosIIEDS包含第三方的uC/0S-II,基于HAL,实现了一个简单的实时操作系统,在本发明中,我们选择加入到BSP中。如果需要其它的操作系统,可从第三方的软件厂商获得。系统实现以下我们给出本系统的一些具体实现。我们将分成两部分来分析和介绍,这两部分分别是1.使用VHDL编写的采集控制模块,用于控制ADC的采集时序,同时,该模块通过AVAL0N总线接口与NI0S嵌入式处理器通信。在采集过程中,通过DMA方式将采集数据直接传输到内存,再写入到NANDFLASH中。2.使用c语言编写程序通过S0PCBuilder配置的SPI接口读取E2PR0M中的参数。1.采集控制模块使用VHDL编写的采集控制模块,用于产生ADC时序控制信号。同时,将获取到的采集数据存入FIFO。通过模块内部的AVAL0N总线接口,嵌入式处理器可以读取到FIFO中的采集数据。在实际采集过程中,为了降低NI0S的软件开销,提高数据传输速度,采用DMA方式将采集控制模块FIFO中的采集数据直接发送到内存,然后再转存到NANDFLASH中。2.SPI接口的编程采集系统的各种参数均存放在外部的EEPR0M中,Nios通过SPI接口访问EEPR0M。我们通过QuartusII中的S0PCBuilder为Nios核配置SPI接口。SPI是一种简单、标准的总线接口,广泛地应用于嵌入式系统中。通过SOPCBuilder配置SPI接口,我们可以将其设为主设备也可以设为从设备,在我们的应用中,将其设置为从设备。以上实施例是本发明较优选具体实施方式的一种,本领域技术人员在本技术方案范围内进行的通常变化和替换应包含在本发明的保护范围内。权利要求基于NIOS的嵌入式采集系统,其特征在于,通过以下步骤实现嵌入式数据采集系统的功能(一)基于SOC技术,利用FPGA的可编程特性,采用在FPGA中内嵌一颗NIOS嵌入式处理器替代专用嵌入式处理器芯片;(二)在同一片FPGA中实现采集控制、数据存储、LAN/USB/RS232通信接口以及外围控制电路的功能;(三)将NIOS嵌入式处理器与采集控制、数据存储、LAN/USB/RS232通信接口以及外围控制电路整合到一起,成为一个独立、专用的、可编程的嵌入式采集系统芯片,形成最终的SOPC系统;(四)采用大容量非易失性存储介质——NANDFLASH进行采集数据的存储,实现快速数据访问。2.如权利要求1所述的基于NIOS的嵌入式采集系统,其特征在于,在第(一)步骤所述的SOC技术,是在设计过程中,从整个系统的角度出发,把处理机制、模型算法、芯片结构、各层次电路,直至器件的设计紧密结合起来,在单个或至少两个芯片上完成整个系统的功能。3.如权利要求1所述的基于NIOS的嵌入式采集系统,其特征在于,在第(一)步骤中利用FPGA的可编程特性,构造成一个可编程的片上系统。4.如权利要求1所述的基于NIOS的嵌入式采集系统,其特征在于,在第(二)步骤中数据存储采用新型非易失性存储器作为数据存储介质。全文摘要基于NIOS的嵌入式采集系统,涉及智能化采集系统。通过以下步骤实现嵌入式数据采集系统的功能(一)基于SOC技术,利用FPGA的可编程特性,采用在FPGA中内嵌一颗NIOS嵌入式处理器替代专用嵌入式处理器芯片;(二)在同一片FPGA中实现采集控制、数据存储、LAN/USB/RS232通信接口以及外围控制电路的功能;(三)将NIOS嵌入式处理器与采集控制、数据存储、LAN/USB/RS232通信接口以及外围控制电路整合到一起,形成最终的SOPC系统;(四)采用大容量非易失性存储介质——NANDFLASH进行采集数据的存储,实现快速数据访问。本发明是一种可以提高采集系统可靠性、降低功耗、节省成本的智能化仪器。文档编号G06F1/16GK101976098SQ20101050237公开日2011年2月16日申请日期2010年10月11日优先权日2010年10月11日发明者杨旻,葛承鑫申请人:四川拓普测控科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1