新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于NiosII的嵌入式网络通信系统

基于NiosII的嵌入式网络通信系统

作者:时间:2009-03-19来源:网络收藏

1 引言
随着internet技术的发展,在许多领域都引起了飞跃性的变化。应用领域中一个新的趋势就是开始在设备上集成功能,比如网络监控、网络数据采集等,以便于通过网络与远程设备进行信息的交互和增强的互连性,仅仅需要一根网线就可以轻轻松松完成系统的互连。
目前市场上的处理器的种类很多。altera公司推出了第二代片上可编程嵌入式软核处理器nios ii,再配上其低成本、高性价比的fpga器件,使得嵌入式系统的开发变得越发方便。再者由于nios ii可配置和fpga器件可编程的特点,与专用硬件相比灵活性得有很大的优势,从而使得fpga器件在现代电子设计中得到广泛的应用。

本文引用地址:http://www.eepw.com.cn/article/152573.htm

2 系统设计
2.1 nios ii简介
nios ii嵌入式软核处理器是altera公司推出的第二代片上可编程的软核处理器,nios ii是可配置的,用户可以根据自己的实际需要进行处理器的配置,以达到资源的合理使用,其性能可以超过200dmips。nios ii采用哈佛结构,具有32位指令集,32位数据通道和可配置的指令及数据缓冲,而且支持用户自定义指令(最多256个)以扩展cpu指令集,提升系统的性能,为可编程片上系统(sopc)设计提供了一套完整的解决方案。nios ii提供了三种内核:nios ii/f是一种高性能的内核,速度最快但消耗的资源最多;nios ii/e是低成本内核,速度最慢消耗的资源最少;nios ii/s是一种性能和成本折中的内核。本设计采用的是nios ii/s内核。
nios ii的优势就在于其灵活性,可以根据用户的需求进行灵活的配置和裁剪。nios ii软核的系统设计利用altera公司提供的系统设计工具sopc builder和集成开发环境niosii ide可以进行软硬件协同设计,很大程度上缩短开发周期,在系统开发的任何阶段要都可以很方便的对系统进行修改。fpga器件丰富的逻辑资源,结合nios ii强大的处理能力,将为嵌入式系统设计提供有效的解决方案。
2.2 系统设计

图 1 系统模块图

系统模块图如图1所示。设计采用了altera公司的cyclone ii系列芯片。在其中配置niosii软核处理器控制外围设备和协议栈的运行。而且添加了一个计算校验和的用户指令(cal_checksum)。
片上ram用作内存运行程序;flash使用了sharp公司的lh28f160s3t-l13a,用来存储程序和配置信息,系统上电后,先将程序从flash中拷贝到片上ram运行;网络接口芯片使用smsc公司的10/100m以太网接口控制芯片lan9c111,所以在sopc builder中配置系统时,需要加上altera免费提供的lan9c111接口控制器,嵌入式设备通过lan9c111就可以接入以太网,与网络上的其他设备进行;sdram选用micron公司的mt48lc8m16a2,用来缓存网络数据,其中sdram控制器使用altera免费提供的sdram控制器。
要提高系统的性能,一方面是提高处理器的处理能力;另一方面就是将用软件处理比较费时间的模块使用硬件模块来实现。经过分析发现,在网络协议栈的运行过程中,最耗费时间的是校验和的计算,尤其是当数据量非常大的时候。为此,专门用硬件定制了一个用户指令校验和计算指令(cal_checksum),对数据校验和的计算实现硬件加速,作为一个指令添加到niosii系统中,在协议栈程序中调用来缩短计算校验和的时间,提高处理速度,达到提升系统性能的目的。
2.3 校验和计算指令(cal_chkusm)
在上面的分析中已经提到过,在整个协议栈的处理中,最耗时间的就是数据校验和的计算,特别是当数据长度很大时。所以在设计中将数据校验和的计算采用硬件模块来实现,作为niosii的一个用户自定义指令,以提高校验和计算的速度。在协议栈的移植过程中,将数据的宽度修改为16位,方便最后将16位校验和的计算结果添加到相应的域。 linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭