一种基于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中将对应的接口
嵌入式Internet Nios μCOS 相关文章:
- 基于ATmega128单片机多任务嵌入式Internet系统设计(01-03)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- 妤傛ḿ楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閸忋劍鏌熸担宥咁劅娑旂姴鐨犳0鎴滅瑩娑撴氨鐓$拠鍡礉閹绘劕宕岄惍鏂垮絺瀹搞儰缍旈懗钘夊閿涘苯濮幃銊ユ彥闁喐鍨氶梹澶歌礋娴兼ḿ顫呴惃鍕殸妫版垵浼愮粙瀣瑎...
- 娑擃厾楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
缁箖鈧拷30婢舵岸妫亸鍕暥閸╃顔勭拠鍓р柤閿涘奔绗撶€硅埖宸跨拠鎾呯礉閸斺晛顒熼崨妯烘彥闁喕鎻崚棰佺娑擃亜鎮庨弽鐓庣殸妫版垵浼愮粙瀣瑎閻ㄥ嫯顩﹀Ч锟�...
- Agilent ADS 閺佹瑥顒熼崺纭咁唲鐠囧墽鈻兼總妤勵棅
娑撴挸顔嶉幒鍫n嚦閿涘苯鍙忛棃銏n唹鐟欘枃DS閸氬嫮顫掗崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱遍崝鈺傚亶閻€劍娓堕惌顓犳畱閺冨爼妫跨€涳缚绱癆DS...
- HFSS鐎涳缚绡勯崺纭咁唲鐠囧墽鈻兼總妤勵棅
鐠у嫭绻佹稉鎾愁啀閹哄牐顕抽敍灞藉弿闂堛垼顔夐幒鍦欶SS閻ㄥ嫬濮涢懗钘夋嫲鎼存梻鏁ら敍灞藉簻閸斺晜鍋嶉崗銊╂桨缁崵绮洪崷鏉款劅娑旂姵甯夐幓顡嶧SS...
- CST瀵邦喗灏濆銉ょ稊鐎广倕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閺夊孩妲戝ú瀣╁瘜鐠佽绱濋崗銊╂桨鐠佸弶宸緾ST閸氬嫰銆嶉崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱濋崝鈺傚亶韫囶偊鈧喕鍤滅€涳附甯夐幓顡塖T鐠佹崘顓告惔鏃傛暏...
- 鐏忓嫰顣堕崺铏诡攨閸╃顔勭拠鍓р柤
娑撳洣绗€妤傛ɑ銈奸獮鍐叉勾鐠у嚖绱濇潻娆庣昂鐠囧墽鈻兼稉杞扮稑閸︺劌鐨犳0鎴炲Η閺堫垶顣崺鐔枫亣鐏炴洘瀚甸懘姘剧礉閹垫挷绗呴崸姘杽閻ㄥ嫪绗撴稉姘唨绾偓...
- 瀵邦喗灏濈亸鍕暥濞村鍣洪幙宥勭稊閸╃顔勭拠鍓р柤閸氬牓娉�
鐠愵厺鎷遍崥鍫ユ肠閺囨潙鐤勯幆鐙呯礉缂冩垵鍨庨妴渚€顣剁拫鍙樺崕閵嗕胶銇氬▔銏犳珤閵嗕椒淇婇崣閿嬬爱閿涘本鍨滅憰浣圭壉閺嶉绨块柅锟�...