积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> SOPC >> 应用论文
  相关分类: 相关文章 | 应用论文 | 新产品 | 下载 |
基于SOPC技术的嵌入式以太网网络终端
 
作者:谢兵森, 陈演平   来源:中电网    点击数:218   更新时间:2008-7-21
您可以添加到网摘 让更多人关注此文章:

    

1 引言

近年来随着Internet网络的快速发展,以太网因其宽带、扩展性强、组网灵活而成为应用最广泛的数据接入网络。以太网的网络终端设备是网络的重要组成部分,是网络与网外互访信息的协议界面和工作平台。嵌入式以太网网络终端设备采用嵌入式处理器技术,使用嵌入式操作系统,内嵌网络接口和网络通信协,可直接接入以太网。由于嵌入式网络终端设备具有成本低、体积小、高可靠、微功耗、环境适应能力强等诸多优势,在通信和工业控制等领域正得到日益广泛的应用。本文主要介绍用SOPC技术构建嵌入式以太网网络终端的设计和实践。基于SOPC技术的嵌入式以太网网络终端能够为多种联网应用提供基本的工作平台。

与当前较为流行的嵌入式处理器如基于ARM内核的处理器、PowerPC系列处理器等不同,SOPC技术的解决方案是把处理器作为“内核”嵌入到FPGA芯片中,在可编程芯片上实现系统功能。可嵌入的处理器内核有两种:硬核或软核。其中软核因为成本低、可重构性强、功能灵活、适用的FPGA芯片范围广等特点更适合于应用在中小批量生产的差异化产品中。

FPGA采用硬件技术处理信号,又可以通过软件反复编程使用,能兼顾速度和灵活性,实时性能可以精确预测和仿真。FPGA芯片的一个显著优势是具有强大的硬件并行处理能力,这种能力不受处理器架构的限制而只取决于芯片的物理资源。随着深亚微米半导体技术的进步,目前FPGA单片所含的逻辑门和片上存储器的容量发展很快,百万门级的可编程逻辑芯片已成为寻常产品。因此在一般算法复杂度的多路信号处理(通常语音通信和工业控制均可归入该范围)中,FPGA比DSP更能胜任工作,而且并行处理的路数越多,这个优势越突出。Nios是Altera公司开发的一种软核处理器。应用SOPC技术把Nios配置进FPGA芯片后,网络终端备不再需要外部处理器,用单一FPGA芯片就可以实现以前需要FPGA+CPU才能完成的功能。

2 网络终端的总体设计

基于SOPC技术的嵌入式以太网网络终端的硬件和固件部分由带Nios软核CPU的FPGA芯片、外部数据存储器FlashRAM和SDRAM、带AD和DA变换电路的模拟信号处理模块、RS-232串行通信电路、以太网网络模块及RJ45接口、JTAG接口电路等组成,见图1。此外还有电源电路及配置电路等,从略。



图1 网络终端电路模块示意图

在图1中,FPGA芯片选用Altera公司的Cyclone系列芯片EP1C6Q240C8,该芯片采用0.13μm的全铜1.5V SRAM工艺制作,具有5980个逻辑单元(LE),92160个RAM比特,两个数字锁相环(PLL),240引脚PQFP封装。

程序存储器选用AMD公司的FlashRAM芯片AM29LV017D,存储容量2MByte,擦写次数可达100万次。数据存储器选用Micron公司的SDRAM芯片MT48LC4M32B2,存储容量16MByte,访问速度5.5ns。使用较大容量的数据存储器主要是为今后试验运行各种不同的嵌入式操作系统预留空间。

以太网接口芯片采用CS8900A。该芯片是Cirrus Logic公司生产的一种局域网信号处理芯片,内部集成了片上RAM,其模拟前端包括了曼切斯特编解码器、时钟恢复电路、10BASE-T收发器和滤波器及一个AUI口。CS8900A的MAC(媒体访问控制)引擎负责以太网数据帧的发送和接收,检测和处理冲突,生成和检测帧引导头(Preamble),自动生成和校验CRC(循环冗余校验)码。芯片在网络物理层符合IEEE802.3以太网标准,支持全双工操作。

A/D和D/A变换器采用ADI公司的AD73311L芯片。AD73311L具有一个16bit的AD转换通道和一个16bit的D/A转换通道,A/D和D/A转换通道的增益可分别在38dB和21dB范围内编程控制,每一个通道都在声音频带范围内提供70dB的信噪比。采样频率为8kHz~64kHz,可编程控制,采样字长为16位。选用AD73311L是因为该芯片不但可应用于一般模拟信号的A/D和D/A变换,而且能够满足语音信号的前端处理要求,便于今后试验VoIP功能。

JTAG接口用于从PC机向FPGA芯片下载配置文件以及调试系统,串口用于连接PC机进行系统的软件调试及在联网应用中传送信息到外部设备。

终端的软件部分主要由嵌入式操作系统μC/OSⅡ、网络协议LWIP及应用软件组成。嵌入式操作系统是一种实时的、支持嵌入式应用的操作系统,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议等。与PC操作系统相比较,嵌入式操作系统在系统的实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。

当前各种主要的嵌入式操作系统(如WindowsCE、VxWorks、μC-Linux、μC/OSII等)均在不同程度上支持多种类型的外围硬件设备和多种通信协议,可以有较多的手段实现外围硬件的驱动。完备的操作系统支持很多通信协议,采用操作系统后,可直接调用这些协议实现通信,避免过多的底层编程耗费时间精力,减少出错。

在本网络终端中选择μC/OSⅡ作为嵌入式操作系统。μC/OSⅡ是一个相对成熟而且是免费的嵌入式操作系统,适合小型控制系统,具有执行效率高、占用空间小、实时性能优良等特点。其缺点是对于文件系统及网络的复杂应用等方面的支持逊于商业性的嵌入式操作系统。

在网络通信软件方面,选择了LWIP来实现TCP/IP通信。LWIP是瑞士计算机科学院的Adam Dunkels等学者开发的源代码开放的免费TCP/IP协议栈。LWIP既可运行于操作系统上,也可以独立运行。LWIP可以提供类似于Berkeley Socket套接字的应用程序接口,使用它编写出来的代码兼容性很好,只要稍微修改就可以移植到别的常用操作系统上。因为μC/OSⅡ操作系统没有自带的TCP/IP协议栈,本网络终端把lwIP移植到μC/OSⅡ操作系统上,使其成为操作系统的网络模块,这样网络通信就可以置于μC/OSⅡ的控制之下。

3 SOPC的开发流程

使用软核处理器开发系统有其独特的开发流程。本文所述工作以采用美国Altera公司的软核处理器Nios CPU为例来进行开发,使用的工具主要是Altera公司的设计软件。这些软件工具包括QuartusⅡ、SOPCBuilder、GNUProToolkit等。

QuartusⅡ是Altera公司的FPGA设计软件,具有设计输入、综合、仿真、延时分析、编译、下载文件以及配置器件等功能。SOPC Builder用于在QuartusⅡ设计平台上进行系统模块的逻辑设计。用SOPC Builder可以进行系统模块硬件设计和底层软件生成。进行硬件模块设计时,SOPC Builder提供图形化配置界面,备有一些常用外设的IP模块,如SDRAM、FlashRAM、UART、Ethernet Interface、Intervaltimer、ParallelI/O等。这些已开发好并已经引入到SOPC Builder环境中的功能模块被称为部件,打开SOPC Builder的图形界面时可以在左边看到这些功能部件。用户还可以用“Interfaceto User Logic”加入自己的外设设计文件,或直接加外设接口。可以采用的外设设计文件是用VHDL或Verilog HDL等描述语言写的.vhd或.v文件、由MAX+plusII生成的EDIF文件、或用QuartusⅡ输入的电原理图。SOPC Builder可以进行系统配置以及生成,系统配置除了对外设设置外还包括启动程序、中断向量表、系统启动地址等的设置。应用软件的设计在Cygwin环境中使用GNUPro工具包进行,该工具包含有编译、下载软件、以及常用文件的操作命令等,熟悉Cygwin和Linux的开发者很容易使用。SOPC开发的整个流程如图2所示。



图2 SOPC开发流程

进行系统设计时,先在QuartusⅡ中新建一个工程,然后按图2流程进行设计。图中,第一步是确定CPU,设置CPU是16位还是32位、要不要加硬件乘法指令等,这一步在“Configure  Processor”中进行。第二步是选择外围设备比如UART、SDRAM、FlashRAM、Timer以及通用I/O等,加入用户电路模块到系统中也是在这一步。

第三步是生成,即生成用HDL语言描述的硬件组件以及用于软件开发的SDK。至此的三步都在SOPC Builder中进行。接下来分为硬件设计和软件设计两路。在硬件设计方面,按图2左边所示流程进行片上系统设计、添加用户电路,包括电路联线、芯片选型、管脚设置等,通过系统综合后编译生成.sof文件,并可根据需要对系统硬件进行功能模拟和时序仿真分析。在软件设计方面,按图2右边所示流程进行软件设计、编译、链接,这一步的工作环境主要为SOPC Builder的软件开发环境,也被称为Cygnus。编译软件代码用nios-build,简写为nb,用srec-flash来产生从FlashRAM启动的代码,下载软件到系统中用nios-run,简写为nr。软硬件的设计流程在最后又汇总在一起,将设计好的电路配置文件.sof通过JTAG下载到Altera FPGA中进行调试。


[1] [2]  下一页



相关文章
· 基于嵌入式多核SoPC平台的说话人识别系统应用研究[140]
· 基于Linux的SoPC应用系统设计[130]
· 基于Linux的SoPC应用系统设计[157]
· SOPC小结[94]
· 基于NIOS II内核的嵌入式SOPC开发板的实现[128]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM嵌入式系统基础教程(N

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
赛普拉斯为用于机器视觉与运动分析应用
赛普拉斯针对机器视觉与全息数据存储应
金融危机来袭 台湾LED产
半导体市场环境恶化 安森美
Vishay 的新型&nb
Intersil推出采用小尺寸QFN
富士通微电子携手西安电子科技大学成立
纤巧和高压的 LDO&nb
华为计划收购北电业务 华为
华为计划收购北电业务 华为
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
四折批发各种数码相机,摄相机等...
最低价销售各种品牌手机...
震撼出售各种品牌笔记本电脑等!...
IC design 的流程...
电子工程师,别拿一分钱不当回事...
新款安全多用途非接触式芯片(T...
关于ARM启动的一篇文章!...
Linux网络设备驱动编程...
linux文件系统基础知识...
求奇想达QXD-DM642开发...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网