当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于Nios软核的嵌入式Internet系统设计

摘要:介绍如何在Altera开发平台上,使用Nios软核CPU来构建嵌入式Internet系统;并结合以太网远程数据采集系统的实例,介绍此类系统硬件,软件的设计方法。

    关键词:嵌入式Internet Nios μCOS

引言

自上个世纪末开始的网络化浪潮,在很多领域都引发了技术进步和革新,嵌入式Internet便是嵌入式技术与网络技术结合的产物。简单来说,嵌入式Internet是指在一个嵌入式设备上配备网络接口,通过网络可以与远程设备进行信息的交互。从管理的角度上来讲,嵌入式Internet经历了三个发展阶段:集中管理阶段、分散管理阶段、智能管理阶段。前两个阶段主要是致力于解决如何把一个具体的设备真实地嵌入到Internet中,第三阶段人们考虑更多的是如何利用现有的技术来更好地进行远程控制,更加丰富控制功能。

Altera公司的Nios软核嵌入式处理器是一种可特许的通用RISC CPU,也就是说,Altera公司以IP核的方式将它提供给设计者。它可以与各种各样的外设、定制指令和硬件加速单元相结合,构成一个定制的SOPC。该处理顺具有可由用户配置的L1(第一层)指令与数据超高速缓存。Nios处理器还具有一种基于JTAG的OCI(片上仪器)芯核,使软件开发人员在实时调试方面具有更明显的优势。该处理器的软件支持可扩展到对APR、IP、ICMP、TCP、UDP和以太网的网络协议支持。

本文介绍的以太网远程数据采集模块的设计,充分利用了前述两种技术。主要功能是进行数据采集、数据远程传输以及可接受远程控制。该模块具有成本低廉、结构简单、可靠性高、可扩展性强等特点。

1 设计实例分析

通过对以太网远程数据采集模块设计实例,介绍如何利用前面提到的技术来实现一个嵌入式Internet系统。

1.1 硬件设计

(1)系统整体结构

根据以太网远程数据采集模块的功能要求,考虑到系统的稳定性和可扩展性,本系统主要包括以下部分:

*Cyclone FPGA,包括Nios软核CPU、操作系统使用的定时器、网络协议栈使用的定时器、CPU同外围设备的接口;

*EPCS4,用来在上电时对FPGA进行配置;

*Flash,主要用来存放软件代码以及一些需要保存的参数;

*SRAM,用来在系统运行时的代码和数据存储;

*8位A/D,用来采集输入信号;

*网络接口芯片;

*LED(3个),用来指示系统运行状态。

整个系统的结构如图1所示。

对于一个嵌入式Internet系统来说,网络接口是硬件设计的关键,本系统中采用Smsc公司的LAN91C111芯片作为网络接口。该器件是一个以太网控制器,实现了网络七层协议栈中的传输层和MAC层的功能。另外,它具有10/100M自适应、双工/半工自适应等功能,有很好的网络兼容性。

(2)CPU同A/D接口的设计

CPU同A/D接口设计使用的是QuartusII软件。它是Altera公司的第4代可编程逻辑器件集成开发环境,提供从设计输入到器件编程的全部功能。

需要指出的是,从开发的周期和系统的稳定性考虑,在本设计中除了A/D之外的其余器件均采用Altera公司推荐使用的器件。在SOPC Builder中包含了这些器件间Nios CPU的接口,所以只需要对CPU同A/D的接口进行设计。

为了实现数据采集频率的动态控制,以及使网络部分有更多的CPU使用时间,在CPU同A/D的接口部分,除了必要的与CPU进行交互的部分外,还包括用可控制计数器实现的整数倍分频电路两个轮换使用的数据缓存RAM。

该部分的结构如图2所示,分频电路的输出时钟信号频率范围是1MHz~1Hz。双RAM缓冲有两个输入时钟:读时钟和写时钟。读时钟信号为50MHz,远高于写时钟信号。这种缓存RAM读写频率不同的设计,可以显著减小低速外围设备对CPU的占用时间。CPU通过对状态和控制寄存器的读写,实现对本部分的控制。考虑到系统的可扩展性,同A/D相连的数据线宽度为32位,方便今后扩展,最多可以4个8位A/D并行工作。另外,本部分在单个RAM缓存存满时,是以中断的方式通知CPU。

     (3)定制CPU和接口

这部分设计使用到的开发工具是Altera公司的SOPC Builder,该工具会自动进行系统定义,完成SOPC开发的集成过程。设计者采用SOPC Builder能够在图形化界面内定餐一个从硬件到软件的完整系统。

首先,根据设计需要使用SOPC Builder来对Nios CPU进行定制,包括CPU是不吸数据和代码缓冲、CPU寄存器数量(Nios CPU最多可以有512个寄存器)等。本设计中的Nios CPU有256个寄存器,未使用数据和代码缓冲。除了Nios CPU之外,还需要用SOPC Builder将CPU同外围设备的接口添加进来。对于本设计来说,就是将在前面提到的A/D接口以用户自定义接口的方式添加进来,其余器件同CPU的接口只需在SOPC Builder中将对应的接口模块添加进来即可。

然后,用SOPC Builder将定制转换为VHDL等具体的设计文件。除此之外,SOPC Builder还根据定制的结果,自动的生成针对特定硬件环境的C语言和汇编语言的头文件以及函数库,这在软件设计中会极大的减少软件开发人员的工作量。

1.2 软件设计

软件设计包括嵌入式操作系统的移植、网络协议栈设计、应用级代码编写等部分,其中操作系统的移植、网络协议栈设计的关键是软件设计。下面就对这两部分作简单介绍。

(1)μC/OS操作系统移植

μC/OS操作系统是美国人Jean Labrosse于1992年开始编写的,它是一种适合于小型、微控制器的可剥夺实时操作系统。ΜC/OS的内核除了没有网络协议栈之外,也没有文件系统,但是本设计中的设备本身并不需要对采集数据按文件方式保存,因而使用μC/OS可以满足需要。

ΜC/OS设计时就充分考虑到在不同平台上移值的需求,将同平台相关的部分局限在一个很小范围内,对于不同的平台只需对下面一些函数和宏进行重写。

*OS_ENTER_CRITICAL和OS_ENTER_CRITICAL:这是两个宏,用来进行临界段保护。在本设计中使用汇编代码关中断来实现。

*OS_TASK_SW:这是一个用于进行任务切换的宏。本设计中利用CPU的软件中断方式实现。也就是说调用此宏产生软件中断,然后由相应的中断处理程序来具体实现任务上下文保护和任务切换。

*OSIntCtxSw:实现中断级任务切换,用纯汇编实现。

*OSCtxSw:实现用户级上下文切换,用纯汇编实现。

*OSTickISR:为系统定时器中断的处理函数,用纯汇编实现。

*OSTaskStkInit:用来创建任务时,对任务堆栈进行初始化。

(2)网络协议栈

本系统采用的是SOPC Builder中包含针对Nios的网络协议栈,该栈以名为Plugs的函数库的形式提供给设计者,该库向软件编写都隐藏了低层硬件细节,以类似于unix套接字的方式实现了一个精简的网络协议栈。它支持以下一些网络协议:IP、ARP、ICMP、UDP、TCP。

使用该库在硬件上有四个要求:必须使用Nios CPU,需要20KB的代码存储空间,需要4KB的数据存储空间,系统中需要有一个专供其使用的定时器。

2 结论

可以看出,采用Nios软核CPU进行嵌入式Intenet系统硬件设计相当快速。由于SOPC Builder开发环境的完备功能,可以把注意力集中在系统整体构架和功能上来,而无需过多的考虑细节性的电路设计,同时还可以得到比较好的系统稳定性和可靠性。

基于Nios进行嵌入式Internet系统设计者两个突出优点。首先,硬件设计的难度,缩短了硬件开发周期,提出了设计的可靠性。CPU本身是以软核的方式实现,其功能可根据需要进行定制。其次,软件开发容易。SOPC Builder不但在硬件设计上提供了支持,在软件上也为设计者提供了较好的支持,提供了现成的网络协议栈。

本文中的以太网远程数据采集系统已经进行了初步的仿真试验,能够达到预期的效果,被证实是切实可行的。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭