为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

第三代快速以太网控制器及其应用

2013-01-19 6页 pdf 240KB 8阅读

用户头像

is_592957

暂无简介

举报
第三代快速以太网控制器及其应用 第23卷第3期 2002年5月 微计算机应用 MICROCOMPUTERAPPLICATIONS VoI.23.No.3 May.2002 第三代快速以太网控制器及其应用 魏志东 徐佳 冯登国评珂5 6 (中国科学院研究生院信息安全国家重点实验室北京100039)。 擒要:介绍了SMSC公司最新推出的第三代快速以太同控制器LANglClll的特性,结构及 其在一个基于IPScc的加密系统中的应甩。 关t词:快遗以太网以太网控制器网络安全 当前,随着以太网宽带接入技术的兴起和快速以太网的发展.以太网技术又迎来...
第三代快速以太网控制器及其应用
第23卷第3期 2002年5月 微计算机应用 MICROCOMPUTERAPPLICATIONS VoI.23.No.3 May.2002 第三代快速以太网控制器及其应用 魏志东 徐佳 冯登国评珂5 6 (中国科学院研究生院信息安全国家重点实验室北京100039)。 擒要:介绍了SMSC公司最新推出的第三代快速以太同控制器LANglClll的特性,结构及 其在一个基于IPScc的加密系统中的应甩。 关t词:快遗以太网以太网控制器网络安全 当前,随着以太网宽带接入技术的兴起和快速以太网的发展.以太网技术又迎来丁另一 个发展高潮,各类技术应用层出不穷。为了利用以太网快速、可靠、廉价的特点,各类终端 可靠地接入以太网是其中最基本的一个环节。目前终端接入以太网主要有两种方法:一种是 基于微机环境,通过在总线槽内插入各类网卡而实现。该方法快捷、可靠,缺点是须有微机 环境的支持,限制了其使用范围;另一种是从物理层和MAC层进行设计以实现各类嵌入式系 统的接入,在该方法中,有许多以太网接入芯片一以太网控制器(Ec)可供选择。本文介绍了 SMSC公司最新推出的第三代快速以太网控制器LAN91Clll的特性、结构及其在一个基于 IPSec的加密系统中的应用。 1 LANglClll以太网控制器简介 LANglClll是SMSC公司最新推出的第三代快速以太网控制器,是为嵌入式应用系统 设计的非PCI接口控制器,在软件上与LAN9000系列芯片兼容,高灵活性和集成度是其设计 要求。在LAN91C111芯片上集成了CSMA/CD的媒体访问控铷层MAC和物理层 PHY,符合IEEE802.3/802.3u一100Base—TX/10Base—T。具有两种网络接口:一种是标 准的磁发送/接收对,它利用芯片内部的物理层模块PHY与10/100Base—T连接;另一种接口 遵循MII(it质无关接口)规范,可与外部的PHY接口,应用于10Mbit/s以太网或 100Mbit/s高速以太网。其系统结构如图1所示。 LAN91C111芯片可自适应工作于100/10Mbit/s和金双工/半双工模式,非常适合于嵌 入式系统、100Base—TX/10Base—T网卡、主板、中继器、交换式集线器等的快速以太网接入 应用。芯片工作电压为3.3V,其输入、输出管脚可与5V器件直接相连。其功能模块包括: (1)csMA/cD模块这是一个16位宽度、收发分离的逻辑块,完成载波侦听多路访 问/冲突检测功能。进出该模块的数据由两个与DMA模块相连的16位宽度的单向FIFO完 成,其功能控制通过一组寄存器完成。 (2)DMA模块DMA模块依据csMA/cD模块的状态对数据包进行访问,取发送数 据和存接收数据。该模块一边与CSMA/CD模块的收发FIFO接口,另一边与仲裁器模块接 口。为提高带宽使用了50MHz的时钟频率、32位宽度的数据总线,支持全双工操作。 本文于2001—09—18收到,2002—01—07收到修改穑 万方数据 130 微计算机应用 2002正 数据总线 地址总线 控制总线 图1 LAN91C111系统结构 可选的 外韶PHY RJ_45 (3)仲裁器模块Arbiter在BIU和DMA访问内部RAM的请求之间进行仲裁。BIU 请求代表了CPU对数据寄存器的访问,CPU可以以字节、字、双字的方式进行访问。 (4)内存管理单元模块MMuMMu用来分配内存和收发包队列,页面大小为 2048B,最大内存8KB。 (5)总线接口单元模块BIU支持同步或异步的总线接口,如ISA、EISAburst、同步 的vLBus、直接32位访同等,以及透明的地址锁存功能。 (6)MAC—PHY接口芯片内部的MAC层通过MII接口可与内部的PHY层相连,也 可和外部的PHY相连。 (7)串行EEPROM接口某些关键寄存器的缺省值可以保存在外部的串行EEPROM 中,在重启时自动加载。 (8)内部物理层的PHY芯片内部集成了IEEE802.3物理层(PHY),可配置工作于 lOOMbit/s(100Base—TX)或lOMbit/s(10Base—T)以太网。PHY模块主要包括485B/Manch ester编码/解码器、扰频/去扰频器、带有波形整形和输出驱动的发送器、带有均衡和基线漂 移校正的接收器、时钟和数据恢复、自动协商、控制器接口(MII)、串行接口(MI)等。 2应用LAN91Clll的硬件环境 在一个基于IPSee的加密系统中,本设计使用了两片LAN91C111作为与以太网的接口, 其硬件框图如图2所示。 IPSee是为Internet通信提供安全服务的一组标准协议,它以“端到端”方式来保护整个 IP数据包。系统采用“Bump—in—the—wire”(BITW)模式实现IPSec,该实现可看作一个 连接在网络上的黑盒子,未加密的数据从一个网络接口(trusted)流入,加密的数据从另一个 网络接口(untrusted)流出,解密的过程则反之。该方案既可用于一台主机,也可用在一个局 域嗣的网关处,充当安全网关或安全路由器的角色。 硬件实现上采用32位高性能DSP做主控及加解密处理,它能进行32位的定点运算和40 位的浮点运算,其强大的浮点运算能力对于实现诸如椭圆曲线算法具有重要意义。采用两片 万方数据 第3期 微计算机应用 131 LAN91C111实现和高速以太网的连接:数 据从一个嘲络接口流入.经处理后从另一 个网络接口流出。串口与土机连接可实现 人机交互,完成管理员的管理和界面,主要 包括安全策略、密钥管理、忙q络配置、telr-el 和http的管理界面等功能。噪声源产生系 统所需的随机乱数。 LAN91C111芯片提供的总线接口单 元BIU可以方便地与工业标准总线进行连 懈L A[0,23 A11.15】 D【o·31 D10.31】 l按健I R【 RD l存储单元r DSPWl WR ADSP.21065I LAN9lC儿I-I咽 MS:—D一AEN l噪声源I- IRo—————:L—一lNTR0 ACl博 ARDYH计 必高焉焉高_ 图2一种基丁IPSec的保密系统硬件框图 接.可以同步或异步方式工作,可进行灵活的32位、16位或8位的总线接口设计。在本例中, LAN91C111使用32位异步总线接El与DSP连接,极大地提高r整个系统的吞吐量。其中, DSP使用内存阵列选择信号MS2驱动I,AN9]C1111的使能信号AEN,高速产生片选信号。 在二者的交互过程中+LAN91C111—1通过异步等待信号ARDY来协调DSP对其的读写速 度.通过硬件中断信号INTR0来通知DSP发送或接收IP数据包。 LAN91C111芯片内部有8KBFIFO,用于发送和接收数据的缓冲。使用32位内部数据总 线和内存管理单元MMu架构来进行内存管理。这种基于I/o映射的架构具有较高的数据吞 吐率和极佳的性能;也可以高效地动态分配内存.减少了DSP处理此类事务的开销。 3软件驱动的实现 在IPSec协议的实现中,IKE、AH&ESPTransformation以及SAD和SPD是其核心.在 上程实施过程中需完成加密、数字签名、认证、密钥和SA管理、x.509证的支持等多种功 能,而对LAN91C111的正确编程使用是实现上述功能的基础。LANglClll的编程主要包括 初始化、发送数据包、接收数据包三部分,其软件流程如下。 3.I初始化 上电后,LAN91C11l内部的寄存器的值设置为缺省值,CPU根据需要设置它里面的 Configuration、Base和IndividualAddress寄存器,以保证它正确工作。 3.2发送数据包流程 (1)DSP向控制器发送ALLOCATEMEMORY命令(设置MMUCOM寄存器,通常设 置0x0020)。MMU为待发送的包在控制器内部的packetbuffer中分配存储空间。 (2)DSP查询InterruptStatus寄存器中的ALLOCINT位,直到该位被置成1,也可以 设置InterruptMask中的ALLOCINT位.然后等待硬件中断,这时MMu已经分配好存储 空间。而EtTXpacketnumber放在AllocationResult寄存器中。 (3)将AllocationResult寄存器中的packetnumber拷贝到PacketNumber寄存器中,设 置Poimer寄存器(设置为Tx,wR,AUTOINC,即0x4000)。然后将包的数据从upperlayer 发送队列传送到控制器的DataRegister。要求依次写入StatusWord,ByteCount,destination address,sourceaddress.packetsize,packetdata,controlword。 (4)DSP向控制器发送“ENQUEUEPACKETNUMBERTOTXFIF0”命令(设置 MMUCOM寄存器,通常设置OxOOCO),这个命令将PacketNumber寄存器中的packetnum bet拷贝到TXFIFO.说明发送的包已经放入队列中。同时设置Transmitcontrol寄存器中的 万方数据 132 微计算机应用 2002正 TXENA位.启动transmitter。到目前为止,DSP的设置工作完成,它可以IDLE,直到接收 到一个控制器产生的发送中断。 (5)当控制器传送完包以后,memory中的第一个字(16bit)被CSMA/CD写入相应的sta— tusWord,然后将TXFIFO中的packetnumber移到TXcompletionFIFO,当TXcompletion FIFO不为空时产生中断。 (6)DSP接收到中断后,开始执行中断处理程序,它读入InterruptStatus寄存器,如果 产生发送中断,则从FIFOports寄存器读入发送的包的PacketNumber,并将它写到Packet Number寄存器。然后从memory中读入StatusWord(包括设置Pointer寄存器为TX,RD, AUTOINC,即0x6000,然后从数据寄存器中读入包的statusword),它是EPH寄存器的镜 像,根据statusword判断包发进是否成功。如果成功则DSP向控制器发布RELEASE命令 (设置MMUCOM寄存器,设置为0x00A0),控制器将释放发送包所使用的存储空间.同时设 置TXINTAeknowledge寄存器,它将TxcompletionFIFO中的packetnumber清除。 有两种产生发送中断的方案:①每发送一个包产生一个中断。②每发送一个序列的包产 生一个中断。通过Control寄存器的AutoRelease位来选择这两种方案,而且这两种方案所使 用的发送中断位也有所不同: TXINT:当TXcompletionFIFO不为空时置1。 TXEMPTYINT:当TxFIFO为空时置I。 AUTORELEASE:如果置为1,发送包成功后,packetnumber不写到TXcompletion FIFO中,而且它所使用的存储空间被自动释放。 (7)如果使用“每发送一个包产生一个中断”方案:允许TXINT中断,AuTORELEASE 一0,这种方案的流程如上所示。 (8)如果使用“每发送一个序列的包产生一个中断”方案:允许TXEMPTYINT和TX INT,AuT()RELEASE=1,当发送完FIFO中的最后一个包后,产生TXEMPTYINT中 断。当发生严重的发送错误时,产生Tx1NT中断,同时将发送失败的包的packetnumber保 存到FIFOPorts寄存器,这样DSP就可以知道发送过程停止了。这种方案可以减少DSP的 负担,而且存储空间的释放也更迅速。当AUTORELEASE=l,DSP不能得到成功发送包的 packetnumber。 3.3接收数据包流程 (1)DSP设置receivecontrol寄存器中的RXEN位,允许接收包。 (2)含有正确地址的包被接收到,从MMu请求存储空间,并分派一个packetnumber, 内部的DMA逻辑产生连续的地址,并将接收到的字写到memory中,如果超界,包被丢弃, 存储空间被释放。当检测到包的结束,statusword被写到接收包的最前面,bytecount写到 第二个字。如果CRC校验正确,packetnumber被写到RxFIFO,由于RXFIFO非空,产 生RCVINT中断;如果CRC校验不正确,存储空间被释放,而且不产生中断。 (3)DSP接收到中断后开始执行中断处理程序,它读入InterruptStatus寄存器,如果产 生接收中断(RCVINT位为1),则可以从FIFOports寄存器得到接收的包的packetnumber, 而且可以从dataregister将接收包传送到DSP的内存或外存中。当处理结束,DSP向处理器 发布REMOVEANDRELEASEFROMTOPOFRX命令(即设置寄存器MMUCOM,即 0x0060),释放使用的存储空间和packetnumber。 万方数据 第3期 微计算机应用 l33 4协议缓冲区的设计 一般而言,设计协议数据缓冲区时,思路不外乎定长和不定长两种。由于lP数据报的长 度可能从20B到64KB,用定长的方法分配,会造成空间的极大浪费,用不定长的方法分配, 则会带来相当的复杂度。本系统选择了一种在定长和不定长之间折中的方案。 协议数据缓冲区的最小存储单位为一个pbuf,其大小为一个逻辑页,即2KB。可能有两 种格式,一种含有协议头部,一种只含数据,其结构分别如图3所示。 多个这样的结构可以链接起来,组成一个很大 的包,这应用于很大的IPdatagram。总的来说,一 个pbuf结构分成两个部分。 (1)buf的头结构(bufferheadel-): hB。uadffeer,i ①链表结构由一个指向下一个pbuf的指针 next和一个指向第一个pbuf的指针head来组织, 如果只是一个单独的pbuf,这两个指针的值都为 L NULL。 一 ②type表明所存储数据的类型。 ③size是此pbuf结构的大小.恒定为一个逻 辑页的大小5l2字。 图3数据缓冲区数据结构图 ④databegin是此pbuf中所存数据内容的起始偏移地址(相对地址)。 (④dataend是此pbuf中所存数据内容的结尾偏移地址+1,同时表示了此pbuf结构中有 效数据的长度。 ⑥如果所存储数据含协议头,则dataend后两个字的内容为pktdev和pktlen。 ⑦pktdev表示此包由哪个EC接收而来或者将由哪个EC发送。 ⑧pktlen是这个链表所存数据的总长度,即包的总长度,用字节来计量。 (2)数据区域(Data):所存储的数据类型可能为ECPACKET(EC处理的包格式).ETH— FRAME(以太网帧),IPDATAGRAM(1P数据报),RAWDATA(不含协议头的纯数据),为 了封装的方便,当类型为ECPACKET,ETHFRAM或者IPDATAGRAM时,分配的空间中 必须预留eehdr、ethhdr的空间。 5实验结论 实验表明,本设计系统能够正确地接入快速以太网,具备100/10Mbit/s、全双工/半双工 自适应等多种功能,符合IEEE802.3/802.3u一100Base—Tx/10Ba8e—T规范,达到了设计目标。 对以太网和快速以太网韵自动协商模式使LANglClll具有很高的性价比,应用领域广泛。 参 考 文 献 l SMSCGo LAN91C111DataSheet2001. 2 SMSCCo..LAN91C111TeehnicalReferenceManual.2001. 3 SecurityArchitectureForTheInternetProtocol,I口FRFC2401 4 SSHCo.SSHIPSecExpressToolkitWhitePaperV4.0. 万方数据 第三代快速以太网控制器及其应用 作者: 魏志东, 徐佳, 冯登国 作者单位: 中国科学院研究生院信息安全国家重点实验室,北京,100039 刊名: 微计算机应用 英文刊名: MICROCOMPUTER APPLICATIONS 年,卷(期): 2002,23(3) 被引用次数: 3次 参考文献(4条) 1.SSH Co..SSH IPSec Express Toolkit White Paper V4.0 2.Security Architecture For The Internet Protocol.IETF RFC 2401 3.SMSC Co LAN91C111 Technical Reference Manual 2001 4.SMSC Co..LAN91C111 Data Sheet 2001 引证文献(3条) 1.罗隆.谢光汉.杨新盛.章云 基于ATmega128的LAN91C111以太网接口设计[期刊论文]-机电工程技术 2006(11) 2.罗隆.谢光汉 基于Ethernut的LonWorks与以太网互联[期刊论文]-单片机与嵌入式系统应用 2006(9) 3.付晓军 以太网控制器LAN91C111在基于DSP的嵌入式系统中的应用[学位论文]硕士 2006 本文链接:http://d.g.wanfangdata.com.cn/Periodical_wjsjyy200203001.aspx
/
本文档为【第三代快速以太网控制器及其应用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索