




已阅读5页,还剩62页未读, 继续免费阅读
(微电子学与固体电子学专业论文)以太网控制器芯片设计技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 本文主要阐述以太网控制器芯片数字部分的功能的设计 本文首先介绍了课题来源 然后详细介绍了i e e e 8 0 2 3 以太网m a c 层协议 并阐述了与以太网控制器有关的算法 之后描述了整个芯片的内部结构 模块划 分 重点描述了各个模块的具体设计 最后搭建了测试平台 给出了系统主要子 功能模块的功能仿真波形 本文对m a c 层的主要功能模块有 f i f o 模块 d m a 模块 p n p p l u g a n d p l a y 即插即用 模块 与主机进行通信的i s a 总线模块 完成i e e e 8 0 2 3 协议m a c 层 功能的m a c 模块 完成整个芯片复位的复位模块 本文详细介绍了c s m a c d 算 法 c r c 算法 h a s h 算法和p n p 协议 并完成了这些算法与协议的实现过程 详细给出芯片主要功能模块的设计思想和设计过程 在整个芯片的设计过程中 对模块如何合理划分以及各个模块之间如何协同工作 做了详细的设计 按照 t o p d o w n 的设计思路将各个功能模块逐一细化 各个模块之间通过接口信号进 行连接进行通信 功能模块内部则由状态机控制时序 在编写代码时 尽量考虑 硬件的实现方法 充分考虑了芯片内部的资源合理开销和v e r i l o g 硬件描述语言的 可并发执行理念 力求做到芯片资源消耗少 以满足产品的成本 性能和实用等 要求 在底层电路设计过程中 选用v e r i l o gh d l t l 2 进行描述 最后搭建测试功 能验证平台 对各个功能模块进行验证 项目最终的目的是设计出一块完整的以 太网控制器芯片 关键词 以太网控制器 m a c p n p v e r i l o gh d l i e e e8 0 2 3 a b s t r a c t a b s t r a c t t h ed e s i g no fe t h e m e tc o n t r o l l e rc h i pb a s e do ni e e e 8 0 2 3i sm a i n l yd e s c r i b e di n t h i sd i s s e r t a t i o n i nt h i st h e s i s t h eb a c k g r o u n do ft h i sp r o j e c t t h ep r o t o c o lo fe t h e r n e t i e e e 8 0 2 3 a r i t h m e t i cf o rc r c c s m a c da n dh a s ha r ei n t r o d u c e df i r s t l y t h em a s t e rp l a n i n c l u d i n gt h ea r c h i t e c t u r eo ft h es y s t e m t h em o d u l ed i v i d i n g t h ed e s i g nm e t h o da n d t h e c o d i n gs t y l ei se x p a t i a t e ds c o n d l y f i n a l l y t h ed e t a i lo fe a c hm o d u l ei se x p l a i n e d s o l u t i o n st ot h e k e yf u n c t i o n a lm o d u l e s o ft h ec h i pa l eg i v e n s u c ha s r e c e i v e m o d u l e t r a n s m i t m o d u l e r e g i s t e r s f i f o d m a m o d u l e p n p m o d u l e a n d i s a m o d u l e t h em o s ti m p o r t a n tp r o c e s si nc h i p d e s i g n i n gi s h o wt od e f i n ee a c h m o d u l ea n dh o wt oc o o r d i n a t ea n di n t e r c o n n e c tt h e s em o d u l e s a c c o r d i n gt ot h e t o p d o w nm e t h o d i n t e r c o n n e c t i o no fe a c hm o d u l ea n dt h ei n t e r f a c es i g n a l sa r ea l s o d e f m e dt oc o m m u n i c a t e b e t w e e ne a c ho t h e r w h i l et h ei n t e r n a lt i m i n go ft h em o d u l ei s c o n t r o l l e db yf i n i t es t a t em a c h i n e f s m i nt h ed o w nl e v e lo ft h ed e s i g n v e r i l o g h a r d w a r ed e s c r i p t i o nl a n g u a g ei su s e dt od e s c r i b et h ec i r c u i t s t h el a y o u to ft h e e t h e r n e tc o n t r o l l e rc h i pi sp r e s e n ti nt h ee n do ft h i st h e s i s i nc o n c l u s i o n t h ef i n a lg o a lo ft h i sp r o j e c ti st os u c c e s s f u l l ys c h e m eo u ta n e t h e m e tc o n t r o l l e rc h i p k e y w o r d s e t h e r n e tc o n t r o l l e r m a c p n p v e r i l o gh d l i e e e8 0 2 3 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果 据我所知 除了文中特别加以标注和致谢的地 方外 论文中不包含其他人已经发表或撰写过的研究成果 也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意 签名 臼啦日期 7 年f 月 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留 使用学位论文 的规定 有权保留并向国家有关部门或机构送交论文的复印件和磁 盘 允许论文被查阅和借阅 本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索 可以采用影印 缩印或 扫描等复制手段保存 汇编学位论文 保密的学位论文在解密后应遵守此规定 签名 鹏导师签名 日期 z 0 第一章绪论 第一章绪论 以太网是x e r o x 公司发明的基带l a n 标准 它采用带冲突检测的载波监听多 路访问协议 c s m a c d 速率为1 0 m b p s 传输介质为同轴电缆或者双绞线 以太网是在2 0 世纪7 0 年代为解决网络中零散的和偶然的堵塞而开发的 而 i e e e s 0 2 3 标准是在最初的以太网技术基础上于1 9 8 0 年开发成功的 现在 以太 网一词泛指所有采用c s m a c d 协议的局域网 以太网2 o 版由数字设备公司 i n t e l 公司和x e r o x 公司联合开发 它与i e e e 8 0 2 3 兼容 3 1 本章将简要介绍项目背景及其意义 随后总结了以太网发展概况及其组成 最后给出了设计的目标以及主要的设计内容 1 1 项目背景及其意义 计算机网络快速的发展了几十年 涌现了很多的网络技术 比如 以太网 令牌环网 t o k e nr i n g 光纤分布式接口网络 f d d i 异步传输模式网 a t m 等等 以太网技术是其中最具影响力的一种技术 目前 很多高校都对以太网卡控制器芯片做了相关的研究和探索甚至是实践 工作 比如电子科技大学通信学院已经在f p g a 上实现了i e e e 8 0 2 3 的m a c 层 然而 市场上还不能见到大陆生产的以太网控制器芯片 本课题来源于 以太网 控制器的设计与实现 项目 目前 本项目现在做到了出带状态 下一步就是对 芯片进行封装测试 1 2 以太网的发展概况及其基本组成 1 2 1 以太网的发展概况 以太网的发明是建立在使用共享的公共传输信道的核心思想上的 共享数据 传输信道的思想 来源于a l o h a 网络系统 6 0 年代未 n o r m a na b r a m s o n 及其 同事在夏威夷大学研制了该系统 我们今天看到的以太网 是1 9 7 2 年底由b o bm e t c a l f e 在x e r o x 公司开创的 电子科技大学硕士学位论文 b o bm e t c a l f e 将a l o h a 网络系统改进 并命名为e t h e m e t 以太网 b o bm e t c a l f e 最初的试验网络是2 9 4 m b p s 的速度运行 上个世纪7 0 年代末 d e c i n t e i 和x e r o x 开始将以太网标准化 在d e c i n t e l x e r o x 的工程师们仍在为以太网规范进行最后加工时 3 c o m 公司开始将以 太网产品化 1 9 8 4 年 3 c o m i c l 国际计算机有限公司 h p 将细缆以太网的概 念提交给i e e e 电气与电子工程师学会 不久i e e e 就承认它为官方标准 1 9 8 6 年 1 0 b a s e t 被批准为i e e e 标准 1 9 9 3 年 k a l p a n a 创造了一项突破 那就是全双工以太网 常规的共享介质以 太网只以半双工模式工作 网络在同一时间要么发送数据 要么接收数据 而不 能同时发送和接收数据 对所有的用户 共享以太网都依赖单条共享介质 因此 在技术上不可能同时发送和接收 全双工的优点是很明显的一同时发送和接收 这 在理论上可以使传输速度翻一番 在以太网技术引入全双工技术以前 统统都采用的是建立在共享的公共传输 信道的核心思想的基础上的 实现共享介质的具体方法就是采用c s m a c d 算法 在引入全双工以太网以后 以太网的组网不再使用c s m a c d 算法 而是采用交 换技术来解决这个问题 以太网络中要使用集线器或者交换机 目前的以太网络 都支持全双工技术 1 9 9 2 年 g r a n dj u n c t i o n 公司成立后立即率先投入1 0 0 m b p s 以太网的研制工作 与此同时 i e e e8 0 2 31 0 0 m b p s 标准开始制定 1 9 9 5 年3 月 i e e e 8 0 2 3 u 规范被 它的成员和执委会所通过 于是快速以太网的时代宣布来临11 9 9 6 年3 月 i e e e 组建了新的8 0 2 3 z 工作组 负责研究千兆位以太网 制订相应的标准 2 0 0 1 年 i e e e 委员会开始起草8 0 2 3 a e 1 0 g 以太网 标准 上世纪末 在以太网速提升到千兆的时候 以太网技术向着更加高速的发展 方向发展 在新世纪 以太网技术呈现了另外一个发展趋势 那就是是向着城域 网和广域网进军 以太网技术原来只是一种局域网技术 而从2 0 0 2 年开始 其发 展速度惊人 并开始突破局域网的限制 走向了城域网 呈现出向广域网络扩张 的态势 以太网交换技术的发展 城域网建设需求的高涨 带来了以太网发展的 春天 专家认为 未来基于i p 的以太网 将是未来宽带网络的主要架构 而且传 统的电信业务也将向这一网络迁移 在广域网方面 业界新传输设备已经同时支 持1 0 g 以太网和s d h s y n c h r o n o u sd i g i t a lh i e r a r c h y m 步数字体系 接入网以太网 化也已是大势所趋 有线电视 无线局域网和v d s l v e r y h i g h b i t r a t ed i g i t a l s u b s c r i b e rl o o p 甚高速数字用户环路 等都是以太网的应用领域 2 第一章绪论 目前 9 0 以上数据接入是以太网 全部局域网是以太网 城域网是s d h 和 以太网双雄并举 广域网中1 0 g 以太网跃跃欲试 我们眼前出现了一个 端到端以 太网 的情形 1 2 2 以太网的基本组成 以太网络的基本组成部分有 网络站 i e e e 标准中称为d t e 即数据终端设 备 中继器 网桥以及网络互联介质 网络站 d t e 通常指的是个人计算机 工作站 打印机或者存储设备等网 络服务器 一个网络中最多可以有1 0 2 4 个d t e 中继器 r e p e a t e r 中继器允许网络的长度和拓扑结构扩展超出链路段的极 限 中继器是局域网 l a n 链路段间的有源部件 负责以太网c s m a c d 协议 中的两项任务 即载波监听和冲突检测 网桥 b r i d g e 用来连接两个不同的局域网 并能完成不同网络不同网速的 变换 互联介质 互联介质又称为总线和链路 b u sa n dl i n k 在以太网络中连接 d t e 中继器和网桥 目前的介质类型包括同轴电缆 双绞线和光缆 1 3 设计目标及主要设计内容 本次项目的最终目标是设计出一款以太网控制器芯片 设计的首要目标是实 现i e e e 8 0 2 3m a c 层协议 为了完成主机与网络的数据交换 f i f o 模块和d m a 功能也是本次设计的重点 芯片支持跳线模式 为了给用户带来方便 嵌入了即 插即用功能 本次设计的是1 0 m b s 的以太网控制器芯片 论文内容的安排如下 第一章 绪论 介绍本论文的课题来源 以太网的发展及组成和论文的安排 第二章 8 0 2 3m a c 层协议及相关算法 论述8 0 2 3m a c 层协议 c r c 算 法 发送模块帧校验码f c s 及接收模块的c r c 校验和h a s h 算法 与组播地址识别 第三章 以太网控制器芯片m a c 层的设计 本章首先给出了集成电路设计 的流程 然后是对i e e e 8 0 2 3 协议的具体实现 并给出了m a c 层 的完整设计方案 第四章 i s a 接口及其他功能的设计 本章是实现的是芯片如主机的接口模 电子科技大学硕士学位论文 块 即插即用模块和p n p 模块 第五章 系统模块的功能验证 本章是对主要的子模块进行功能验证 第六章 总结与展望 4 第二章8 0 2 3 m a c 层协议及相关算法 第二章8 0 2 3m a c 层协议及相关算法 m a c m e d i a a c c e s sc o n t r o l 介质访问控制 就是挂在通信子网上的站点向通 信介质上传信息或者从通信介质上取信息的控制规范 m a c 是局域网中通信的核 心内容 各种局域网的性能很大程度上取决于所采用的介质访问控制方法 m a c 直接影响网络的响应时间 网络实时性 网络的吞吐量和有效利用率等 2 1i e e e8 0 2 3m a c 层协议 介质访问控制技术可以分为两大类 有冲突的介质访问控制技术与无冲突的 介质访问控制技术 前者是指站点访问介质时 可能会由于有多个站点同时访问 介质而产生冲突 c s m a c d c a r d e rs e n s em u l t i p l ea c c e s sw i t hc o l l i s i o nd e t e c t i o n 就是一种有冲突的介质访问控制技术 后者是指站点在访问介质时 不会发生站 点同时访问传输介质的情况 就不会引起冲突 网络上的站点平等的访问传输介 质 令牌环就属于这类技术 c s 龇d 是一种争用型随机访问协议 这种协议的工作过程完全是随机的 既不预先规定时间 也不预先建立每个节点传送信息的先后顺序 总线监听算法 c s m a 是c s m a c d 的核心 是一种 先听后讲 的算法 一个准备发送数据包的站点首先监听总线 以确定总线上是否有其他站点在发送 数据包 即监听总线是否空闲 4 当在侦听中发现线路空闲时 则可以向网络发送 数据 反之 则要等待一个随机时间间隔后重试 退避 按照退避算法的规则 c s m a 有三种具体形式p 1 1 非坚持c s m a 1 假如网络空闲 则可以发送数据 2 假如网络忙 则 等待一个随机时间 重复第一步 2 1 坚持c s m a 1 假如网络空闲 则可以发送数据 2 假如网络忙 继 续监听 直到网络空闲 可立即向网络发送数据 3 假如发生冲突 则等待一个 随机时间 重复第一步 3 p 坚持c s m a 1 假如网络空闲 则以概率p 向网络发送数据 或者以 电子科技大学硕士学位论文 1 p 的概率延迟一个时间单位 2 假如介质忙 继续监听 直到介质空闲为止 重复第一步 3 如果被延迟一个时间单位 重复第一步 4 假如发生冲突 等 待一个随机时间间隔后重试 以太网控制器芯片的设计采用的是1 坚持退避c s m a c d 算法 当希望发送 数据时 就等待到网络空闲为止 否则立即发送数据 采用上述的算法 可能会有两个或两个以上的设备在同一瞬间向总线上发送 数据 这就造成了信道上的数据相互叠加 从而出现错误 这种现象就称为冲突 冲突产生的原因是 在c s m a 中 当一个站点a 监听到总线空闲而发送m a c 帧 时 由于信道有传播延时 站点a 发送的信号还没有到达的那些站点监听到总线 的状态仍然是空闲状态 如果这些站点要发送数据 同样送到总线上 冲突就产 生了 从发送站点发送信息开始 到信息到达总线的最远点为止 信息传输消耗的 这段时间称为冲突窗口 i e e e 8 0 2 3 协议规定 冲突窗口的大小传输最小帧 6 4 个字节 所消耗的时间 i e e e s 0 2 3 称这个时间为为s l o t t i m e 某个站点信息一旦 通过了冲突窗口 就可以认为次站点取得了总线的通信权 以后就不会发送冲突 了 上述的这种冲突称为l o c a lc o l l i s i o n 亦称为e e a r l yc o l l i s t i o n 由发送方在帧的 前6 4 个字节进入线路之前检测到的冲突 e a r l yc o l l i s i o n 通常导致小的被中断的帧 或称为r u n t 事实上 还有另外一种冲突存在 那就是l a t ec o l l i s i o n l a t ec o l l i s i o n 是指在发送站发送了6 4 个字节之后的冲突 m a c 帧发送了6 4 字节没有出现冲突 的话 正常的和合法的冲突就不可能发生 但是如果电缆违反了距离规则 线路 过长的话 会在前6 4 个字节完成后发生冲突 产生l a t ec o l l i s i o n 的原因包括 1 电缆违反了距离规则 2 发生故障的n i c 卡不正确地监听线路 以太网络中 冲 突一般都是l o e a lc o l l i s i o n 很少有l a t ec o l l i s i o n 发生 以太网控制器对l o c a l c o l l i s i o n 与l a t ec o l l i s i o n 的处理方法完全不同 对前者而言 c s m 刖c d 会按照退 避算法进行重新发送冲突的数据包 对后者 发送模块会丢弃该帧数据 不再进 行发送 为了提高信道的利用率 及时的检测出冲突 在c s m a c d 中 采用了在发 送数据包的时候仍然监听总线 站点发送数据包的时候 只要监听到的数据包与 本站发送的信号不同 就标明发生了冲突 立即停止数据包的发送 并向总线发 送一阻塞信号j a m j a m 信号是4 个字节的数据 使得总线上的各个站点都知道 已经发生了冲突 然后停止发送数据包 为了降低冲突后重新发送数据包时再出现冲突的概率 冲突后需要等待一个 6 第二章8 0 2 3 m a c 层协议及相关算法 随机的时间然后再用c s m a 的方法进行数据发送 这就是退避 c s m a c d 中采 用的退避算法描述如下 当发生了一个冲突 就退避一个随机整数n 1 n l 个时 间单位 第一次冲突时l 取2 该数据包的冲突次数增加一次 则l 加倍一次 一个m a c 帧若发生了1 6 次冲突 则丢弃该帧 并且报告出错 2 1 2 全双工以太网技术 在以太网技术的初始阶段 底层信道是共享的同轴介质 不支持全双工操作 以太网技术中实现全双工操作需要两种因素 1 结构化的布线系统 底层实现使 用专用介质 2 使用交换机 建立微分段专用的局域网 对于发送操作 全双工以太网控制器可以做到一旦发送队列有m a c 帧 就进 行数据发送 但要遵循以下两个规则 1 站点每次操作一个m a c 帧 即在开始发送下一个m a c 帧之前 已经完 成了上一帧的发送操作 2 以太网控制器在连续发送两个m a c 帧之间加入很短的时间间隔 这个帧 间隙时间使得接收方有时间来处理必要的内部事务 这个帧间隙时间与网络传输 速度有关 1 0 m b s 对应9 6 u s 1 0 0 m b s 对应0 9 6 u s 以此类推 对于接收操作 全双工的工作流程与半双工的工作流程是一样的 全双工模式下 网络不会产生冲突 所以不需要最小帧长度的限制 但是全 双工模式的帧结构依然保留了最小帧长度的限制 保留这个限制 可以使设备驱 动器和高层应用软件能同样的对待全双工和半双工的以太网 全双工以太网可以广泛的用在交换机之间的连接 服务器之间的连接 长距 离连接等方面 其优点如下 1 消除了c s m a c d 对链路长度的限制 2 增加 了信道的容量 2 1 3 以太网8 0 2 3m a c 层帧结构 6 1 高层协议和应用程序完全不知道m a c 层使用的是c s m a c d 算法还是全双工 技术 也就是说应用程序或协议使用以太网的能力与m a c 层是采用单双工或者全 双工技术毫无关系 而只与以太网的帧格式有关 帧是以太网络通信的基本单元 以太网的任何节点间发送任何信息 都要用m a c 为单位 帧需要进行封装 信息 通过一个或者多个帧进行传输 帧的基本结构开始是由d e c i n t e l x e r o x d i x 最先定义的 最终的官方标 7 电子科技大学硕士学位论文 准是由i e e e 8 0 2 3 提出 从以太网技术产生到现在 以太网的数据帧格式没有大的 变化 包括前导码 帧起始界定符 目的地址 源地址 长度 类型 数据 帧校 验码 扩展域 所有帧格式都要经过物理层的进一步封装 包括数据流开始和结 束的定界符 空闲信号等等 i e e e8 0 2 3 m a c 层帧结构如下图所示 前导码p r e a m b l e 7 b y t e s 帧起始界定符s f d 1 b y t e s 目的地址d a 6 b y t e s 源地址s a 6 b y t e s 长度 类型l t 2 b y t e s 数据d a t a 4 6 15 0 0 b y t e s 帧校验码c r c 4 b y t e s 扩展域e f 0 6 4 b y t e s i 一一一 一 姗 工口 b 图2 1i e e e8 0 2 3 m a c 层帧结构 1 前导码 内容为7 个字节的0 x 5 5 表示以太网数据链路层帧的开始 主要 的作用就是 用于收发双方的时钟同步 2 帧起始界定符 内容为1 个字节的0 x d 5 最后两个比特是连续的1 主要 作用是 分隔前导码和有效数据 表示紧跟着的是有效数据 3 目的地址 共6 个字节 接收端的m a c 地址 目的地址可以是单播地址 组播地址或广播地址 4 源地址s a 共6 个字节 标识了发送端的站点 源地址通常是单播地址 5 长度 类型域 包含2 个字节的数据 标识了该帧数据是什么类型 第一个 字节是这个域的最高字节 当长度 类型域的值小于或等于最大帧长度 这个域的 值就表示接下来数据区包含了多少字节的数据 当此域的数值大于或等于1 5 3 6 8 第二章8 0 2 3 m a c 层协议及相关算法 用来标识m a c 层协议 6 数据域 包含4 6 1 5 0 0 字节个数据 受c s m a c d 算法的限制 数据域的 最小长度是4 6 字节 若传输的数据小于4 6 字节 则必须由高层协议进行填充 数据区的最大长度为1 5 0 0 字节 7 帧校验序列 f c s 包含4 个字节的数据 f c s 对从目的地址到数据结束 的这段数据进行c r c c y c l i cr e d u n d a n c yc h e c k 循环冗余校验 计算 发送和接 收帧都是用相同的c r c 多项式进行校验 8 扩展域 长度在0 到最小帧长度6 4 字节之间 紧跟着帧校验序列 f c s 出现 这一段数据不被f c s 进行校验 扩展域出现在网速大于1 0 0 0 m b s 的半双工 情况下 当网速小于1 0 0 0 m b s 时 是不会有扩展的 扩展的作用是为了不增大最 小帧长度的情况下 加大冲突阈值的 也就是s l o t t i m e 和大多数数字通信系统一样 以太网是以小端格式数据进行传输的 字节中 的位的传输顺序为从低到高 譬如前导码的传输顺序为 1 0 1 01 0 1 0 1 0 1 01 0 1 0 而非 0 1 0 10 1 0 1 0 1 0 10 1 0 1 帧起始界定符0 x d 5 在网络的传输顺序为 1 0 1 01 0 1 1 2 1 4 以太网流量控制 以太网帧传输的可靠性是没有什么保障的 以太网接收器在很多情况下会简 单的丢弃接收到的帧 而不作出任何提示 譬如 以太网帧在传输的过程中 若 受到外界条件的影响 帧的某位出错 当接收器的接收缓冲区发生拥塞 或者其 他的异常情况 缓冲区拥塞造成丢帧的可能性远远大于传输位出错的情况 特别 是在高速率情况或者网络互联设备中 如交换机 流量控制协议就是用来解决网 络拥塞问题的 2 1 4 1 半双工的后退压力n 1 当站点连接到共享式l a n 半双工网络 上时 有可能会出现本地接收缓冲 区的溢出 那么就可能通过抢在将要到来的数据之前采取某种动作 来阻止发送 方的发送动作 这就是后退压力 b a c k p t e s s 在c s m a c d 局域网中 有两种方 法可用来防止接收机的输入缓冲区溢出 1 强行与将要到达的帧发生冲突 这样做会产生不利的影响 如果接收方的 接收区连续拥塞一段比较长的时间 发送方待发帧可能经历了连续1 6 次的冲突与 重发 按照c s m a c d 算法 发送方将丢弃该帧 不再发送 这与接收方的缓冲 9 电子科技大学硕士学位论文 区拥塞造成的效果是一样的 2 使信道看起来处于忙状态 这种方法实用 拖延 策略而不是以太网m a c 的冲突后退策略 只有站点侦测到信道忙 它就延迟传输 并且要发送的帧保留 在队内 不管多长时间 都不会被丢弃 这种 拖延 策略是这样实现的 在接 收方遭遇拥塞时 生成一段前导码 把这段前导码发送到共享端口 让局域网的 载波侦听作出 信道忙 的判断 但是 这段前导码的结尾绝对不能是帧起始定 界符 s f d 这样做的目的是保证接收方不把这个前导码解释成一个真正的帧 2 1 4 2 全双工网络的m a c 控制算法哺1 在全双工以太网络中 在单双工提到的两种解决接收方缓冲区拥塞的问题的 方法都不能起作用 因为全双工以太网络不像单双工技术那样采用共享介质结构 因此接口不能检测冲突 i e e e 8 0 2 3 指定了一可选的m a c 控制子层 m a c 控制 与c s m c d 配合 一起来解决全双工缓冲区拥塞问题 m a c 控制子层 m a c 层以及逻辑链路控制 l o g i cl i n kc o n t r 0 1 子层同属于数据链路层 d a t al i n kl a y e r m a c 控制子层通过发送控制帧 为m a c 子层提供一些实时的控制操作 所 有m a c 控制帧的长度都是以太网帧的最小长度6 4 字节 通过唯一的长度 类型标 识符0 x 8 8 0 8 标识出 在控制帧的数据域内 前两个字节标识了m a c 控制的操作 代码 操作代码后面就是该操作所需要的参数 如果这些参数不能用完剩下的4 4 字节 则用o 填充 控制帧的p a u s e 功能就是用来解决全双工以太网络拥塞问题 实现流量控制 p a u s e 操作实现了一种简单的 停 启 形式的流量控制操作 当全双工以太网络 中的某个站点a 想阻止帧的到来 减小接收帧的速度 就向发送的站点b 发送一 p a u s e 帧 b 接收到p a u s e 帧后 将在p a u s e 帧指定的时间内 停止继续发帧 操作 当这个指定的时间过后 b 将从暂停的地方继续发帧 p a u s e 帧只带一个 称为暂停时间 p a u s et i m e 的参数 是2 个字节的无符号整形数据 就是请求发 送方暂停发送数据帧的时间长度 时间度量是一5 1 2 比特为增量的 p a u s e 帧能 让发送方暂停数据帧的发送 但是不影响m a c 控制帧的发送 这样就解决了全双 工网络中 两个站点同时想阻止帧的到来 m a c 控制帧与m a c 数据帧的交互过 程如下图所示 1 0 第二章8 0 2 3 m a c 层协议及相关算法 m a c 控制客户端 客户端数据帧 接收 客户端数据帧 发送 控制请求 jl m a c 控制子层 m a c 控制操作 1r m a c 控铝l 帧 发送 t m a c 控制帧 接收 j l m a c 层1r im a r 崎 辖悔 l im a r 帖 枯i 关1 l i v 恍 职伏7 广l 小 恍 从尬7r 2 2 相关算法 2 2 1c r c 算法与帧校验 图2 2 控制帧与数据帧 数字通信要求传输过程中所造成的数码差错足够低 引起传输误差的根本原 因是信道内存在噪声及信道传输特性不理想造成的码间串扰 为了尽可能的提高 通信的可靠性 需要采用信道编码技术 又称抗干扰编码 对可能或已经出现的 差错进行控制 c r c 循环冗余校验 c y c l i cr e d u n d a n c yc h e c k 码就是其中的一 种很有效的编码技术 在以太网技术 移动通信 u s b 接口 测控领域和存储领 域有着广泛的应用瞪j c r c 是一种检错能力很强 且使用非常广泛的数据传输差错检测方法 c r c 是采用在要发送的有用码后面附加一个称为循环冗余校验的比特串来实现数据传 输差错检测 这种码的编码和解码设备都不太复杂 并且检错能力很强 循环冗 余校验是分组线性码的一个分支 建立在严格的代数理论基础上 它除了具有一 般线性码的性质外 还具有循环性 即循环码中任意一码组循环一位 将最右端 的码移至最左端 或反之 以后 仍为该码中的一个码组 任何一个r f l 位的消息数据均可以被看成是一个m 1 次的多项式m x 例如 数据 1 0 1 0 0 1 对应多项式x x l 一个 n m 循环码指码长为1 1 有效消息 码长为m 冗余码长为n m 的线性码 收发双方约定一个生成多项式g x 发送 电子科技大学硕士学位论文 方根据消息数据和g x 生成一个产 n m 位的冗余码 1 0 1 生成多项式的最高项和最低项的系数必须是1 m x 为有效信息多项式 的阶次比g x 阶次高 产生3 2 位c r c 数学表达式为 9 m x x 3 2 以x 塑 g x 一7 g x 加在有效数据末尾一起发送 一般情况下 r 接 一 iy 口 状态信号 收 1 模 从p h y p n p 模块 伏芯旧弓 块 接收 l 羔乎卢 沙 图3 2 以太网控制器芯片的整体框图 1 p h y 部分执行i e e e 8 0 2 3 物理层协议 主要由模拟电路实现 p h y 部分不 是本设计完成的内容 p h y 部分完成的功能有 曼彻斯特编解码 接收信号放大 发送脉冲整形 j a b b e r 信号 接收到过长帧时产生这种信号 的产生 连接完整性 测试和翻转极性检测与纠正 p h y 部分与m a c 层的接收模块的连接是通过以下信号 接收时钟 r c l k 信号 接收数据 i b 信号 载波检测 c d 信号和冲突 c d 信号 p h y 部分与发送模块的连接信号有 发送使能 n n 信号 发送时钟 t c l k 信号 和发送数据 仍 信号 p h y 部分与网络间的接口信号 若采用数据线进行网 络数据的传输 则这些信号是 双绞线差分对输出信号 t p o p t p o n 和双绞线 输入差分对信号 t p 烈 t p 口 2 为了同步本地数据与m a c 层数据的异步传输 设计中用到两个异步f i f o 接收f i f o 和发送f i f o 3 设计中用到两个d m a 通道 本地d m a 和远程d m a 本地d m a 控制两 个异步f i f o 与缓冲区之间的数据交换 远程d m a 负责主机与本地之间的数据交 换 1 9 电子科技大学硕士学位论文 4 缓冲区是1 6 kb y t e s 的s r a m 用的是从华虹n e c 公司购买的i pc o r e 缓 冲区从逻辑上被划分为接收缓冲区和发送缓冲区 分别存储接收的帧和要发送的 帧 5 p n p 模块的功能是完成p n p 协议 让主机能用软件自动配置芯片资源 6 i s a 接口模块用来完成与主机进行通信的任务 7 寄存器模块完成的功能是为了实现主机对芯片进行功能设置和存储当前 芯片的工作状态 3 4 以太网控制器核心模块的设计 3 4 1 寄存器组模块的设计 芯片中的寄存器都是8 未的 共有两组寄存器堆 一组是n e 2 0 0 0 软件兼容的 另一组是p n p 寄存器堆 对n e 2 0 0 0 软件兼容的寄存器的访问 需要等到芯片被 激活并配置基地址等资源以后 这组寄存器堆的设计过程 将在这里论述 在芯 片被激活之前 主机只能访问p n p 寄存器堆 通过访问a d d r e s s 端口寄存器 w r i t e 端口寄存器和r e a d 端口寄存器来完成对p n p 寄存器的读写 具体设计 在p n p 模块中说明 这组寄存器包含4 页内容 页的选择有命令寄存器c r 的p s 0 p s l 进行选择 每页包含1 6 个寄存器 除了主要的n e 2 0 0 0 兼容寄存器 还有一页是芯片自定义 的寄存器 寄存器列表如下 表3 1 寄存器列表 地址 p a g e 0 p a g e l p a g e 2p a g e 3 rw删rrw 0 x 0 0c r 0 x 0 1c l d a op s t a r tp a r 0p s t a r t9 3 4 6 c r9 3 4 6 c r 0 x 0 2c l d a lp s t o pp a r lp s t o p 0 x 0 3b n i yb 小 i i yp a r 2c o n f i g o 0 x 0 4t s rt s rp a i ut p s rc o n f l g lc o n l g l 0 x 0 5n c rt b c r 0r 6 d hc o n f i g 2 c o n f i g 2 0 x 0 6f i f ot b c r lr 埘c o n f l g 3c o n f l g 3 o x 0 7 i s r i s rc u r r 第三章以太网控制器芯片核心模块的设计 0 x 0 8c r d a 0r s a r 0m a r 0 0 x 0 9c r d a lr s a r ln 队r 1 0 x 0 al 氇c r 0 l a j 匕 0 x 0 br b c r l 队i b i n t r 0 x 0 cr s rr c rk l 状4 r c r 0 x 0 dc n t r 0t c rm a r 5t c rc o n f i g 4 0 x 0 ec n t r ld c rm a r 6d c r 0 x 0 fc n t i 也i m rm a r 7i m r 0 x 1 0 0 x 1 7远程d m a 端口 0 x 1 8 0 x l f复位端口 注 表示保留 加粗表示芯片自定义寄存器 其他为n e 2 0 0 0 兼容寄存器 r 表示可读 w 表示可写 寄存器的功能描述如下 表3 2 命令寄存器c r 地址为0 x 0 0 可读可写 位标识符功能描述 7 6p s l p s 0 p s lp s 0 功能 o0 选择p a g e 0 o1 选择p a g e1 10 选择p a g e2 l1 选择p a g e3 5 4 3 r d 2 0 r d 2r d lr d 0 功能 000 无作用 001 远程d m a 读 0 1 0 远程d m a 写 o11 发包命令 s e n dp a c k e t 1 木 中止 完成远程d m a 2田 若要发送m a c 帧 要置该位为1 帧发送完成后自动复位 1 0s t a s t ps t a s t p 功能 10 开始命令 开始发送m a c 帧 01 停止命令 停止发送m a c 帧 2 1 电子科技大学硕士学位论文 7r s t 当芯片被复位 r s t 置为1 当主机写了开始命令到c r 寄存器中 该位清零 另外 当接受缓冲区发生溢出时该位置为 当从缓冲区 读出一些数据使缓冲区不再处于溢出状态时该位复位 6r d c 远程d m a 操作完成时置位 5c n t 当发送m a c 帧遇到冲突大于1 6 时置位 4o v w 接收缓冲区溢出时置位 3t x e 发送失败时置位 2r e x 帧接收错误时置位 1p t x 帧发送正确 0p r x 帧接收正确 中断屏蔽寄存器i m r n n0 x 0 f 在p a g e 2 中 只读 中断屏蔽寄存器中所 有位与中断状态寄存器i s r 中的位相对应 将其中某一位设置为0 将禁止相应的 中断 设为1 则允许 上电复位后除了r s t 位外 该位始终为1 其他位都为0 位 标识符功能描述 7 始终为1 6 5f t l f t 0 f t lf t 0 f i f o 的阈值 o0 2 字节 ol 4 字节 1o 8 字节 11 1 2 字节 4a i 泓 0 不执行发包命令 1 执行发包命令 3 始终为1 2 始终为0 1b o s 字节顺序选择 为0 表示高字节 m sb y t e 放在1 5 8 位 低字节 l sb y t e 放在7 0 位 为1 表示高字节放在7 0 位 低字节放在1 5 8 位 0w t s 字节传输选择 为0 表示d m a 传输以字节为单位 为1 表示d m a 传输以字为单位 位标识符 功能描述 7o w c 为1 表示出现了l a t ec o l l i s i o n 6 始终为0 5 始终为1 4 c r s 为1 表示载波侦听丢失 第三章以太网控制器芯片核心模块的设计 3 a b t 为1 时表示出现了多余1 6 次的冲突 放弃本次数据帧的发 送 2c o l 传输中出现冲突 冲突的次数记录在冲突计数寄存器里面 n c r 1 始终为1 0p r x 数据包成功传输 位标识符功能描述 7 6 始终为1 5m o n 为1 时表示芯片工作在监视模式 不会把接收数据写到接 收f i f o 为0 表示工作在普通模式 4 p r o 为1 表示接收任何目的地址的帧 否则要进行目的地址匹 配才接收 3a m 0 表不1 i 允许接收组播 1 表示允许接收组播 2 a b 0 表不 1 允许接收广播 1 表示允许接收广播 1a r 0 表允许接收小于6 4 字节的帧 否则不允许 o 始终为0 位标识符功能描述 7d f r 当侦听到网络的载波或者冲突时置位 6d i s 芯片工作在监视模式时置位 退出时清零 5p h y 收到了组播或者广播帧时置位 否则清零 4m p a 接收缓冲区溢出或者芯片工作在监视模式时置位 这种情 况丢失一个数据包 则c n t r 2 自动加1 3 始终为1 2f a e 为1 表不发生接收到的帧不是整数字节错误 1c r c 为1 表示c r c 校验错误 c n t r l 自动加1 0p r x 为1 表不数据包正确接收 c l d a 0 c l d a l 地址为o x 0 1 和0 x 0 2 在p a g e 0 中 只读 当前本地d m a 寄存器读这两个寄存器来得到当前本地d m a 的地址 p a t r a t p s t o p 地址0 x 0 1 和0 x 0 2 在p a g e2 中为只读 在p a g e0 中为只 写 这两个寄存器用来设置接收缓冲区的开始页面地址和缓冲区停止页面地址 边界寄存器b n r y 地址为0 x 0 3 在p a g e 0 中 可读可写 远程d m a 还没 电子科技大学硕士学位论文 有读走数据的首页地址 当前页面指针寄存器c u r r 地址为0 x 0 7 指向接收当前帧的首页地址 传送页面开始寄存器t p s r 地址为0 x 0 4 的首页地址 在p a g e l 中 可读可写 该指针 在p a g e 0 中 只写 待发送数据 传输字节计数寄存器t b c r 0 t b c r l 地址为0 x 0 5 0 x 0 6 在p a g e 0 中 只写 记录待发数据的字节数 远程d m a 地址寄存器c r d a 0 c r d a l 地址为0 8 h 0 9 h 在p a g e 0 中 只读 当前远程d m a 的地址 远程d m a 起始地址寄存器r s a r 0 r s a r l 地址为0 8 h 0 9 h 在p a g e 0 中 只写 通过这两个寄存器可以设置远程d m a 的起始地址 远程d m a 字节数寄存器r b c r 0 r b c r l 地址为0 a h 0 b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司电脑安全培训课件
- 汽车市场专员年终总结
- 公司用电安全培训心得课件
- 电解质紊乱病人的护理措施
- 湖北2025年初级招采人员考试(招标采购专业实务)试题库及答案
- 胰岛素C肽结果解读
- 生产部负责人工作总结
- 护士出科总结汇报
- 敦煌开店总结汇报
- 残疾人用工合同范本5篇
- 抑郁病诊断证明书
- 制定合同价格与结算条款的正确方法
- 零售药店医保培训试题及答案,零售药店医保培
- 江苏历年语文高考真题答案
- 外科学-第十一章-外科感染(含案例分析)课件
- 《ch棘皮动物》课件
- 中国服用过兴奋剂运动员名单 兴奋剂真的是毒品吗
- 小学英语语法时态讲解与归纳
- 《生存与修炼》熊厚音讲《道德经》教学文案
- 淘宝新店运营计划书文献
- 产教融合校企合作[可修改版ppt]课件
评论
0/150
提交评论