已阅读5页,还剩96页未读, 继续免费阅读
(计算机应用技术专业论文)usb以太网接口卡的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 u s b 总线接口技术具有即插即用、高可靠性、低成本、低功耗、 自动配置、容易扩充、易于连接、适用于多种设备的广泛适应性等特 点,广泛应用于p c 机的外设设计中,但是以u s b 总线接口代替p c i 、 i s a 总线接口的以太网卡并不多见,虽然市场上有少量u s b 无线网卡 销售,但是由于u s b 无线网卡需要无线接入点、无线路由器等设备, 与以太网工作环境不同,因此不能直接代替普遍使用的p c i 、i s a 总 线接口的以太网卡。本文提出一种采用u s b 总线接口技术设计的以太 网卡,它具有u s b 接口技术的所有优点,可以立即代替目前使用最广 泛的p c i 、i s a 以太网卡工作,并使得添加和删除设备的操作变得简 单,特别适用于外设接口资源有限的笔记本电脑或需要连接很多外设 的台式电脑。 本文设计的u s b 以太网卡采用了目前在嵌入式系统设计中应用 十分广泛的、高性价比的3 2 位a r m 体系结构的嵌入式微控制器芯片 s 3 c 4 4 b o x 、新型通用串行总线接口芯片p d i u s b d l 2 和以太网接口芯片 c s 8 9 0 0 a 。本文详细描述了硬件电路设计、固件设计、设备驱动程序 设计、测试和调试的过程。在硬件设计中,u s b 接口芯片和以太网接 口芯片均采用i o 方式与微控制器连接,配备了4 m bf l a s h 存储器和 8 m bs d r a m 存储器;固件采用模块化的结构,分为初始化、以太网接 口芯片的驱动部分、u s b 接口芯片的驱动和循环队列管理四大模块, 详细介绍了各模块的设计和实现方法,采用循环队列数据结构缓存接 收到的和需要转发的数据帧,充分利用了硬件内存资源,以期提高数 据的吞吐率,固件实现的主要功能是处理以太网帧的接收与发送,并 进行u s b 帧与以太网帧格式之间的转换与控制;设备驱动程序属于基 于u s b 的n d i s - - w d m 微端口设备驱动程序,它与传统的p c i 、i s a 网 卡的设备驱动程序不同,基于u s b 的n d i s - w d m 微端口驱动程序对底 层硬件的控制需要向u s b 栈发送u s b 请求包u r b ,而不是直接调用 n d i s 库中的函数来实现,设备驱动程序采用d r i v e rs t u d i o 辅助开 发工具编写源程序,在v c 6 0 和w i n d o w sx pd d ks p i 环境下编译, 并在w i n d o w s2 0 0 0 平台下进行了安装和测试。 通过实验测试表明,本文设计的u s b 以太网卡的软硬件设计是 合理和有效的,已经可以正常使用,目前它在局域网中支持的数据吞 吐率( 上传和下载) 均可达到约1 7 m b p s ,与电信公司的宽带上网服 务a d s l 到户节点的速度相当,可以满足一般用户上网的需求。 序 关键词u s b ,以太网卡,嵌入式微控制器,固件,设备驱动程 a b s t r a c t u s bi n t e r f a c et e c h n o l o g yh a sm a n ye x c e l l e n tc h a r a c t e r i s t i c ss u c ha s p l u g a n d - p l a y , h i g h - r e l i a b i l i t y , l o w - c o s t ,l o wp o w e r , a u t o m a t i c c o n f i g u r a t i o n 。e a s y t o e x t e n d ,c o n v e n i e n t t oc o n n e c t a n db r o a d a p p l i c a b i l i t y , e t c ,a n di ti sw i d e l yu s e df o rp cp e r i p h e r a l sd e s i g n ,b u t 鼬e m e tn i cd e s i g nw i 廿lu s bi n t e r f a c ei n s t e a do fp c i ,i s ;ab u s i n t e r f a c ei sr a r e l e s su s i bn i cn e e d sd e v i c e ss u c ha sw i r e l e s sr o u t e r , a n di t se n v i r o n m e n ti sd i 脏r e n tf r o mt h a to ft h ee m e r n e tl a nc u r r e n t u s e d 。s oi tc a nn o td i r e c t l yr e p l a c ep c i ,i s ae t h e r n e tn i c 田l eu s b e t l l e m e tn i cm e n t i o n e di nt h i sp a p e ri sak i n do fe t h e m e tn i ca d o p t e d u s bi n t e r f a c et e c h n o l o g y w i t ha l lt h ea d v a n t a g e so fu s bt e c h n o l o g y , i tc a r ld i r e c t l yg e tt ow o r ki np l a c eo fp c i ,i s i ae t h e m e tn i c ,a n dm a k e t h eo p e r a t i o no fa d d i n ga n dr e m o v i n ge q u i p m e n tm u c hs i m p l e r 砀j s ,i t i sp a r t i c u l a r l yf i tf o rn o t e b o o kc o m p u t e r sw i t hl i m i t e di n t e r f a c er e s o u r c e s a n dd e s k t o pc o m p u t e r st h a tn e e dt oc o n n e c tm a n yp e r i p h e r a l s i nt h i s p a p e r au s b e t h e r n e tm ci sd e s i g n e d b yu s i n g h i g h p e r f o r m a n c e c o s t - r a t i o 3 2 b i ta rma r c h i t e c t u r ee m b e d d e d m i c r o - c o n t r o l l e rs 3 c 4 4 b o xa st h ec o r e a n dc o m b i n i n gt h en e wt y p e u m v e r s a ls e r i a lb u si n t e r f a c ec h i pp d i u s b d12a n dw i d e l yu s e d n e t w o r kt e c h n o l o g ye t h e m e ti n t e r f a c e c h i p c $ 8 9 0 0 a ad e t a i l e d d e s c r i p t i o no ft h eh a r d w a r ec i r c u i td e s i g n , f m n w a r ed e s i g na n dd e v i c e d r i v e rd e s i g n t e s t i n g d e b u g g i n gi sg i v e ni nt h i sp a p e r i nt h eh a r d w a r e d e s i g n t h eu s bi n t e r f a c ec h i pa n dt h ee t h e m e ti n t e r f a c ec h i p a r e c o n n e c t e di ni om o d ew i t ht h em i c r oc o n t r o l l e r , a n da4 皿f l a s h m e m o r ya n da n8 皿s d ra mm e m o r ya r ee q u i p p e d 硼1 em a i nf u n c t i o n o ft h ef i r m w a r ei st or e c e i v ea n dt r a n s m i tt h ee t h e m e tf r a m e ,t oc a r r yo u t t h ec o n v e r s i o nb e t w e e nu s bf r a m ef o r m a ta n de t h e r n e tf r a m ef o r m a t , a n dt oc o n t r o lt h e m i nt h ef i r m w a r e c i r c u l a rq u e u ei su s e dt ob u f f e rt h e d a t ar e c e i v e da n dt h o s et ob et r a n s m i t t e d ,a n dh a r d w a r er e s o u r c e sa r e m a d ef u l lu s eo ft oi m p r o v et h es p e e do fd a t at r a n s m i s s i o n t h ed e v i c e d r i v e ri sak i n do fn d i s w d mm i n i p o r td e v i c ed r i v e rb a s e do nu s b 。 d i f f e r e n tf r o mt h ed e v i c ed r i v e ro ft r a d i t i o n a lp c ia n di s am c n d i s w d mm i n i p o r td r i v e rb a s e do nu s bc o n t r o l st h eb o t t o m h a r d w a r eb ys e n d i n gu s br e q u e s tb l o c ku r bt ou s bs t a c k ,o t h e rt h a n b yd i r e c t l yc a l l i n gt h ef u n c t i o n si nt h en d i sl i b r a r y t h es o u r c ef i l eo f t h ed r i v e ri sc o d e db yd r i v e rs t u d i o a n dt h e ni ti sc o m p i l e di nv c 6 0 a n dw i n d o w sx ps p1d d ks e t t i n g a n di si n s t a l l e da n dt e s t e di n w i n d o w s2 0 0 0p l a t f o 肌f i n a l l y , i ti sp r o v e dt h a tb o t ht h eh a r d w a r ea n d s o f t w a r eo fu s be t h e m e tn i ch a sn op r o b l e mi nd e s i g n ,a n dc a l lw o r ki n g o o dc o n d i t i o n t h et r a n s m i s s i o ns p e e di nl a n ( u p l o a da n dd o w n l o a d ) c a nr e a c h1 7 m b p so rs o a l m o s te q u a lt ot h ed a t at r a n s m i s s i o ns p e e do f a d s lu s e r s w h i c hc a l ls a t i s f yt h en e e d so fc o m m o nu s e r s k e yw o r d s :u s b ,e t h e m e tc a r d , e m b e d d e dm i c r o - c o n t r o l l e r , 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均已在在论文中作了明确的说 明。 作者签名:鞋日期: 翠年卫月壹日 关于学位论文使用授权说明 本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文,允许学位论文被查阅和借阅;学校可以公布学位 论文的全部或部分内容,可以采用复印、缩印或其它手段保存学位论 文;学校可根据国家或湖南省有关部门规定送交学位论文。 日期:盟年卫月丝日 硕十学位论文第一章绪论 1 1 课题来源 第一章绪论 课题来源于导师的国家自然科学基金( n o 6 0 5 7 3 1 4 5 ) 和湖南省自然科学基 金( n o 0 5 j j y 3 0 1 2 0 ) 项目。上述基金项目的主要研究内容是智能网络存储的核 心技术、设计并实现智能网络磁盘( i n t e l l i g e n tn e t w o r kd i s k ,玎旧) 存储系统。 在i n d 存储系统中可以采用新型通用串行总线( u n i v e r s a ls e r i a lb u s 。简称为u s b ) 接口实现其固件升级、初始化设置和管理功能,采用以太网接口实现网络数据 传输功能,采用i d e 接口或s a t a 接口将数据存储于硬盘中,从而实现网络存 储的基本功能。本课题研究的内容涉及了u s b 接口、以太网接口和嵌入式微控 制器技术,与导师的课题研究的部分内容相同,作为上述基金项目的子课题。 1 2 课题研究的背景和意义 在计算机应用系统中,传统的外设与主机连接一般需要占用一个由主机提 供的总线扩展槽或串行端口或并行端口,但主机所能提供这类资源的数量是有 限的。然而现在计算机主机的性能越来越强,外设种类和数量日益增多,如何 解决主机与众多的外设之间的连接问题成为计算机专家们关注的焦点。其次, 传统外设的添加或删除操作需要在主机断电的情况下进行,这对那些不允许停 机的主机来说是致命的问题,于是新型通用串行总线接口技术出现了。 新型通用串行总线( u s b ) 接口技术【l 】是针对计算机主机的常规接口具有的 上述缺点而研制的,是2 0 世纪9 0 年代由多家公司共同制定的标准,它具有即 插即用、高可靠性、低成本、低功耗、自动配置、容易扩充、易于连接、适用 于多种设备的广泛适用性等特点。它的容易扩充特性使一个u s b 集线器接口可 以最多支持连接1 2 7 个设备,可以有效地节约主机的接口资源;它的即插即用、 热插拔特性,使得主机不需要断电就可以添加或删除硬件,从而简化了添加或 删除硬件操作。它所具备的这些优良特性使越来越多的设备改用u s b 总线接口 与主机连接。 计算机网络的出现是2 0 世纪最伟大的科学技术成就之一,而计算机网络的 发展速度又超过了世界上任何一种其它科学技术的发展速度。在局域网拓扑结 构中,总线结构是局域网中最常用的结构之一,当前全世界大约7 0 以上的计 算机网络采用总线结构连接。总线结构局域网的代表是以太网( e t h e m e t ) ,它最 硕 :学位论文第+ 章绪论 初是以最大1 0 m b p s 的总线速率进行传输数据分组,后来发展到1 0 0 m b p s 总线 速率的快速以太网( f a s te t h e m e t ) 以及当前的1 0 0 0 m b p s 千兆以太网( g i g a b i t e t h e m e t ) ,以太网已成为当前最流行的局域网络。 由此可知,新型通用串行总线接口技术和以太网接口技术是目前i t 业中的 主流技术,通过设计和实现基于新型通用串行总线接口和以太网接口的应用设 计是掌握这两种主流的接口技术最为直接的方法。本课题研究和设计基于u s b 接口的以太网网卡,并通过此项设计达到掌握这两种接口的软、硬件设计技术。 u s b 以太网卡使用新型主机提供的u s b 集线器接口连接到以太网,它不像 传统的p c i 网卡或i s a 网卡需占用主板上的一个总线扩展槽,为主机连接其它 传统外设节约了资源,特别适用于主机接口资源相对较少的笔记本电脑。同时, u s b 以太网卡的即插即用、热插拔功能简化了添加和删除设备的操作,只需要 将u s b 以太网卡正确连接到主机的u s b 集线器接口,主机的w i n d o w s 2 0 0 0 x p 操作系统会自动检测到硬件,并根据操作系统的提示进行设备驱动程序 的安装和软件参数设置,一般用户可以很容易掌握操作方法。 1 3u s b 接口技术的研究现状 已经存在2 0 年之久的并行端口( p a r a l l e l p o r t ) 与r s - - 2 3 2 串行端口( s e r i a l p o r t ) ,随着计算机与外围设备的发展,其速度越来越成为通信的瓶颈,新型通 用串行总线接口技术突破旧接口的限制,具备快速的通信速度和相当的灵活性, 可以取代各种外围设备所使用的接口【i 】。 u s b 技术是2 0 世纪9 0 年代由多家公司共同制定的标准,是一种新型接口 技术,u s b 标准从1 9 9 4 年的0 7 版发展到2 0 0 0 年的2 0 版,目前的u s b 标准 只是在u s b 2 0 版上作了少许修改,u s b l 1 标准规范的全速方式的理论速度为 1 2 m b p s ,u s b 2 0 标准规范的高速方式的理论速度高达4 8 0 m b p s 。在硬件支援方 面,目前有多家世界知名企业提供u s b l 1 1 0 标准和u s b 2 0 标准的接口芯片或 提供带有u s b 接口的微控制器芯片;在软件支援方面,从1 9 9 8 年7 月的 w i n d o w s9 8 s e 操作系统支持u s b 开始,u s b 外围设备开始陆续出现,同时 u s b 也成为最受欢迎的接口;同时期的w i n d o w sn t4 0 没有提供对u s b 的 支持,但基于n t 架构的w i n d o w s2 0 0 0 提供了对u s b 的支持,并且在 w i n d o w s2 0 0 0 上的u s b 比较稳定;w i n d o w sx p 以w i n d o w s2 0 0 0 为基 础,也支持u s b ;新版的w i n d o w s 操作系统v i s t a 也是支持u s b 的;除了 常用的w i n d o w s 操作系统平台对u s b 提供了良好的支持外,应用广泛的嵌入 2 硕十学位论文 第一章绪论 式操作系统如v x w o r k s 、l i n u x 和w i n c e 等也提供了对u s b 的支持。因此,无 论是桌面型计算机还是嵌入式系统应用,u s b 接口技术有广泛的应用空间。随 着u s b 技术的日益成熟和发展,将会出现更多的基于u s b 技术的应用设计。 1 4u s b 网卡的结构和研究现状 1 4 1u s b 网卡的结构 u s b 网卡是同时具有u s b 接口和网络接口的设备,它的功能是实现u s b 数据包与网络数据包格式之间的转换和实现主机通过u s b 总线管理网络设备, 因此u s b 网卡在功能和结构上应该具有如图1 1 所示的模块结构。 l l l l l u s 啦缆 地址、数据、控制总线 曰i 目三总 地址、数掂、控制总线 回囱 图1 1u s b 两1 卡的功能模块结构 u s b 网卡各模块的功能简述如下: u s b 接口:提供与u s b 主机集线器的物理连接,响应主机对设备的查询和 检测,并且通过此接口与主机交换数据和控制信息。 网络接口:提供与局域网集线器的连接,接收网络中的数据和将数据发送 到网络,并且能够对接收和发送方式进行配置: 嵌入式微处理器:用于控制数据的收发和数据格式的转换; r a m 、r o m 和电源:提供u s b 网卡必要的程序、数据资源存储和电源供 给。 3 硕十学位论文第一章绪论 1 4 2u s b 网卡技术的研究现状 ( 1 ) u s b 无线网卡 近年来u s b 网卡技术的研究主要集中在u s b 无线网卡,随着蓝牙和红外通 信技术的发展,出现了基于u s b 技术的无线蓝牙和u s b 红外网络通信设备。 u s b 无线网络技术具有安装简单,施工快,造价较低等突出优点,但相对 于有线网络技术,它却具有速度慢、误码率高、易受环境干扰、具有电磁辐射、 数据的保密性较差、与现有的以太网局域网的工作环境不相同等缺点,可能是 因为这些特点并没有给人们带来太多好处,真正实用的无线网络方案并不多见。 国内外有几家公司推出了u s b 无线联网方案和相关设备。如同维电子推出 w n 5 4 - u 的u s b 无线网卡【2 】,它通过u s b 2 0 接口与主机连接,兼容u s b l 1 接 口,支持i e e e 8 0 2 1 l g 标准,并兼容i e e e s 0 2 1 l b 标准;国际著名网络设备和解 决方案提供商d l i n k 推出基于8 0 2 1 l g 标准的无线u s b 网卡d w l g 1 3 2 3 ,支 持高达1 0 8 m b p s 无线传输速率;明基电通推出完整的无线上网方案产品,有u s b 无线网卡a w l 3 0 0 ,无线接入点a w l 5 0 0 ,无线网关a w l 7 0 0 ,以及明基a s r 6 8 8 路由器【4 j 。 ( 2 ) u s b 以太网卡( u s b 有线网卡) u s b 以太网卡技术在国内较少有人研究。在嵌入式应用系统中可能有同时 使用u s b 接口和以太网接口的应用产品,但采用通用嵌入式处理器芯片、通用 u s b 接口芯片和以太网接口芯片,实现u s b 以太网止功能的设计还未出现。 u s b 以太网卡与普通p c i 、i s a 网卡使用环境相同,可以很方便地在现有的 局域网网络设备基础上使用,可以直接代替普通p c i 、i s a 网卡工作,特别适合 于总线接口资源非常有限的笔记本电脑。其次,有线网络具有比无线网络传输 速度快,误码率低,电磁辐射少,数据安全性相对较好的优点。 国外有a d m t e k 公司【8 删和r e a l t e k 公司 7 1 开发了专门的单片u s b 转以太网 接口芯片,国内外有采用这种芯片生产的u s b 以太网卡。如x i n g n e t 推出的 n f e 3 2 3 9 u - t x 网卡是一款u s b 以太网卡,它的核心是一颗由a d m t e k 公司生 产的a d m 8 5 1 1 芯片,设备驱动程序也由a d m t e k 公司提供的1 5 1 。a d m t e k 公司 提供了w m 9 8 s e ,w i n m e ,w i n n t 4 ,w i n 2 0 0 0 ,w m x p ,w m 2 0 0 3 ,l i n u x 平台 下的设备驱动程序和主要的应用设计技术,x i n g n e t 公司只需要做简单的外围 设计和包装工作;与x i n g n e t 类似的还有颖高企业推出的u 9 1 9 也是u s b 以 4 硕十学位论文第。章绪论 太网卡1 6 1 ,它也采用了a d m t e k 的芯片和几乎所有的技术。 1 5 网络设备驱动程序 1 5 1w i n d o w s 网络体系结构 w i n d o w s2 0 0 0 及其后版本的m o w s 操作系统的网络体系结构是基 于国际标准化组织( i s o ) 的七层网络模型结构,这是我们所熟知的开放系统互 连参考模型( o s i ) ,该模型结构的底层为物理层,自下而上是依次为数据链路 层、网络层、传输层、会话层、表示层和应用层【1 0 1 。w i n d o w s 的网络设备驱 动程序实现了o s i 参考模型的下面四层:物理层、数据链路层、网络层和传输 层,这四层的主要功能描述如下: 物理层:它是o s i 模型中的最低层,这一层用来传送通过物理介质接收和 发送的原始的没有结构的二进制数据流,它描述了对于物理介质的电光、机械 和功能的接口。物理层为所有的上层传送信号,在w m d o w s2 0 0 0 中,物理层是 通过网络接口卡( n e t w o r ki n t e r f a c ec a r d , 简称n i c ) 来实现的,物理层收发信号是依 附于n i c 介质的。 数据链路层:电气电子工程师协会( i e e e ) 将这一层进一步分成了两个子层: l l c ( l o g i c a ll i n kc o n t r o l ,逻辑链路控制) 子层和m a c ( m e d i a m e d i u ma c c e s s c o n t r o l ,介质访问控制) 子层。l l c 子层用于将数据帧从一个结点无错的传输 到另一个结点,l l c 子层用来建立和终止逻辑链接、控制帧流、对帧排序、接 收帧,并且对没有被接收的帧进行重发;l l c 子层使用帧应答和帧的重发策略 为经过链路层的上层提供了真正的无错传送;m a c 子层控制物理介质的访问, 检查帧的错误,并且管理接收帧的地址认证。在w m d o w s2 0 0 0 网络结构中,l l c 子层在传输驱动程序中实现,而m a c 子层则在网络接口卡中实现,网络接口卡 由一个名为n i c 驱动程序的设备驱动程序软件控制。 网络层:功能是控制子网的运作,它是基于网络状况、服务优先权和其它 因素决定数据的物理路径的,如路由、流量控制、帧的分解和重组、逻辑到物 理地址的映射、用户帐号等。 传输层:功能是确保信息传送的无错传输,连续传输和不丢失或不重复。 它使得上层协议与下层协议之间,或与它同层的协议之间通讯不必关心数据是 如何传输的。传输层所在的协议栈至少应包括一个可靠的网络层,或者在l l c 子层中提供一个虚电路。例如,因为w i n d o w s2 0 0 0n e t b e u i 传输驱动程序中包 硕+ 。何论文第一章绪论 括一个与o s i 兼容的l l c 子层,它的传输层的功能就很小。如果协议栈不包括 l l c 子层,并且网络层不可靠,并且或者支持自带地址信息( 例如t c p i p 的i p 层或n w l i n k 的i p x 层) ,那么传输层应该能够进行帧的顺序控制和帧的响应, 同时要对未响应的帧进行重发。 在w i n d o w s2 0 0 0 网络结构中,逻辑链路层,物理层和传输层都是通过传输 驱动程序实现,它有时也称作协议、协议驱动程序或协议模块。w i n d o w s2 0 0 0 附带了t c p 口,i p x s p x ,n e t b e u i 和a p p l e t a l k 传输驱动程序。 1 5 2 网络驱动接口规范( n d i s ) 微软在w i n d o w sd d k ( d e v i c ed r i v e rk i t ,设备驱动程序工具箱) 中对 网络设备驱动程序制定了专门的规范,称为网络驱动程序接口规范( n e t w o r k d r i v e ri n t e r f a c es p e c i f i c a t i o n ,简称为n d i s ) 。并建立了n d i s 功能库,主要用于 m a c 驱动和更高级的协议驱动( 如t c p 仰) ,利用功能库的各种功能支持,使 得m a c 驱动程序和协议驱动程序的开发过程变得相对简单,同时在某种程度 上,掩盖了平台的依赖特性。此外通过n d i s ,也可以帮助网络驱动程序维护状 态信息和参数,包括联接或其它系统值中涉及的指针功能、句柄及参数块等i l l 】。 n d i s 支持以下三种网络驱动程序类型:微端口驱动程序( m i n i p o r t d r i v e r )、中间层驱动程序( i n t e r m e d i a t ed r i v e r ) 和协议驱动程序( p r o t o c o l d r i v e r ) ,n d i s 驱动程序的层次结构如图l 一2 所示。 n a t k em e d i at y p e 图l - 2n d i s 驱动程序的层次结构 6 硕十学位论文 第一章绪论 这三种类型的网络驱动程序的主要功能描述如下: 1 微端口驱动程序 微端口驱动程序:( 也叫微端口n i c 驱动程序) 有两个基本功能: 1 ) 管理一个网络接口卡( n i c ) ,包括通过n i c 发送和接收数据。 2 )与高层驱动程序相接,例如与中间层驱动程序和传输协议驱动程序相 接。 微端口驱动程序与它的n i c 通信,并且通过n d i s 库与高层驱动程序通信。 n d i s 库对外提供了一整套的函数( n d i s x x x 函数) ,这些函数封装了微端口需要 调用的所有操作系统函数。同时,微端口向外提供一组n ( m i n i p o r t x x x 函数) , 使n d i s 可以为了完成自己或高层驱动程序的任务而访闯微端口。 2 n d i s 中间层驱动程序 中间层驱动程序一般位于微端口驱动程序和传输协议驱动程序之间,因为 它在驱动程序层结构的中间位置,所以既要与上层的协议驱动程序通信又要与 下层的微端口驱动程序通信。 3 n d i s 协议驱动程序 网络协议驱动程序在n d i s 驱动程序层次结构中属于最高层的驱动程序,而 它在实现传输层协议的传输驱动程序中被用作最低层的驱动程序。传输驱动程 序分配包,从应用程序中将数据拷贝到包中,并且通过调用n d i s 函数将这些包 发送到低层驱动程序中;协议驱动程序也为从下层驱动程序中接收包提供了接 口,传输驱动程序将接收到的数据转换成相应的客户应用数据【1 2 1 。 1 5 3u s b 以太网卡驱动程序结构 在w i n d o w s2 0 0 0d d k 帮助文档中列举了以u s b 为底层的网络设备驱动 程序分层结构【1 3 1 ,如图l 一3 所示。 7 硕 :。学何论文 第。章绪论 圉围 图i 一3u s b g t 太网卡的驱动程序 u s b 以太网卡的驱动程序是基于u s b 的n d i s w d m 微端口驱动程序,通 过它的非n d i s 底层,n d i s 微端口设备驱动使用通用串行总线构架来控制总线 上的网卡设备。在它的下层,n d i s 微端口驱动程序使用u s b 类接口,向u s b 驱动栈发送u s b 请求包( o r b s ) 来控制u s b 总线上的网络设备;在它的上层, n d i s 微端口驱动程序提供了标准的n d i s 微端口驱动接口,它使得微端口驱动 程序可以与上层n d i s 驱动程序通信。 1 6 本文研究的主要内容和研究目标 本文的研究目标是设计基于u s b i i i 0 规范的1 0 l v r o p s 以太网接口卡的实 现方案,设计内容包括硬件设计、固件设计和设备驱动程序设计,为了更好地 达到研究目标,本课题分两步进行:首先在具有u s b 接口芯片和以太网接口芯 片硬件电路的实验开发板上进行实验研究,在搞清楚开发板的硬件结构、编写 了固件程序和设备驱动程序的基础上,然后对开发板的硬件进行裁剪,进行产 品设计。 实验研究阶段的主要内容是: 1 研究a r m 体系结构及其编程模型、指令系统,使用a r m 汇编语言和 c c + + 语言对s 3 c 4 4 8 0 x 微控制器编程,编写固件程序。 2 研究u s b i i i 0 规范,重点分析第四章u s b 体系结构、第五章u s b 数 据流模型、第八章协议层和第九章u s b 设备固件的内容,分析并掌握 u s b 接口芯片p d i u s b d l 2 芯片的硬件结构和编程接口,设计出u s b 模块通信测试程序。 8 硕十学位论文 第一章绪论 3 研究以太网通信协议,分析并掌握以太网接1 3 芯片c s 8 9 0 0 a 的硬件结 构和编程接口,设计出以太网模块通信测试程序。 4 参考a d m t e k 公司的a d m 8 5 1 1 1 3 的数据手册,并结合( 1 ) 、( 2 ) 、中 的硬件结构和编程接口,设计出u s b 以太网卡的固件程序。 5 研究呲、税0 0 0 d d k 文档中关于w d m 型内核设备驱动程序设 计、u s b 设备驱动程序设计和n d i s 微端口设备驱动程序设计的技术资 料,同时分析和研究d d k 提供的驱动程序示例。使用d r i v e rs t u d i o 软 件包中的d r i v e rw i z a r d 工具软件设计u s b 以太网卡设备驱动程序框 架,然后在v i s u a ls t u d i o6 0 环境下修改,在w m d o w s2 0 0 0d d k 下编译, 使用s o f t i c e 等工具软件进行设备驱动程序的调试。 产品设计阶段的主要内容是: 1 分析和校对实验板开发商提供的原理图,裁剪出u s b 以太网卡所用到 的硬件电路原理图;重新设计采用u s b 总线供电的电源电路。 2 设计p c b 图,尝试在二层板上进行布线,并进行p c b 板的制作,元件 焊接和硬件测试。 3 烧写固件、软硬件集成测试和调试。 1 7 论文的组织结构安排 在本章绪论的基础上,第二章介绍硬件设计方案,主要内容包括总体结构 设计、硬件的选型、单元电路设计;第三章介绍固件设计,主要内容包括初始 化系统程序设计,u s b 接口芯片驱动程序设计,以太网接口芯片驱动程序设计, 编程实现对数据队列的管理和控制,对u s b 帧与以太网帧格式之间的转换控制 与管理、实现以太网卡应该具有的数据发送与接收功能;第四章介绍设备驱动 程序设计,主要内容包括介绍n d i s 体系结构和t n d i s 微端口驱动程序的结构和 编程接口,u s b 驱动程序接口,并详细介绍了本设计的u s b 设备驱动程序的结 构和部分源程序;第五章介绍系统调试与实现,主要内容包括硬件电路的检测、 单元电路的通信测试、设备驱动程序的编译和安装、软硬件集成测试;最后为 总结,作为本文的归纳并提出了进一步的研究方向。 9 硕十z 位论文 第一:章硬什方窠殴汁 第二章硬件方案设计 从第一章的u s b 网卡的功能结构图中可以得出:u s b 以太网卡是一个网络 接i = i 设备又是一个u s b 总线接口设备,因此分析和设计u s b 以太网卡需要按照 接1 3 电路分析和设计的基本方法进行。本章首先介绍分析与设计接口电路的基 本方法,然后介绍本课题的硬件选型和电路设计。 2 1 分析和设计接口电路的基本方法 2 1 1 两侧分析法 两侧分析法是分析接口电路的基本方法。凡是接口都有两侧,一侧是c p u , 另一侧是外设。对c p u 一侧,就是三总线,情况明确,因此,分析比较容易, 主要搞清是什么类型的c p u ,以及它提供的数据线的宽度,地址线的宽度和控 制线的逻辑定义( 高电平有效、低电平有效、脉冲跳变) ,时序关系有什么特点。 外设一侧的情况很复杂,这是因为被控对象外设种类繁多,型号不一。所提供 的信号线五花a f - j ;其逻辑定义,时序关系,电平高低差异甚大。对这一侧的 分析重点放在两个方面:一是搞清被连接的外设的外部特征,即外设信号线引 脚的功能定义和逻辑定义,这样就可以找出需要接口为它提供哪些控制信号线, 它能反馈给接口哪些状态信号线,以便在接口硬件设计时,提供这些信号线, 满足外设的要求;二是了解被控外设的工作过程,以便在接口硬件设计时,按 照这种过程编写程序。外设的种类甚多,从高容量快速磁存储器到指示灯和扬 声器,不管其复杂程度如何,只要将它们的外部特征和工作过程分析清楚了, 接口电路的硬件设计与软件编程就有了依据【1 4 1 。 2 1 2 硬软结合法 以硬件为基础,硬件与软件相结合是设计接口电路的基本方法。 1 硬件设计方法 主要是使用选择外围接口芯片和有针对性地设计附加电路。 1 ) 合理选用外围接口芯片 由于现代微电子技术的成就和集成电路的发展,目前,各种接口电路都己 1 0 硕十学位论文 第二章硬1 1 :方案 役计 做成集成芯片,由中规模或大规模集成接口芯片代替过去的数字电路。因此, 在接口设计中,通常不需要繁杂的电路参数计算,而需要熟练地掌握和深入了 解各类芯片的功能、特点、工作原理、使用方法及编程技巧,以便根据设计要 求和经济准则,合理选择芯片,把它们与微处理器正确地连接起来,并编写相 应的控制程序。采用集成接口芯片使接口体积小,功能完善,可靠性高,易于 扩充,应用极其灵活、方便。所以,接口芯片在微机接口技术中,起着很重要 的作用,应给以足够的重视。可编程集成接口芯片是接口硬件设计中的首选元 器件,应尽量采用,并且把它们作为各种接口电路的核心芯片来使用。 2 ) 有针对性地设计附加电路 外围接口芯片并非万能,因此,当接口电路中有些功能在不能由接口的核 心芯片完成时,就需用户附加某些电路,予以扩充。如逻辑关系与电平转换、 时序配合以及驱动能力等方面的功能,可以采用反相器、三极管、缓冲器、与 门、或门以及驱动器等芯片,设计一些辅助电路加到接口电路中。 2 软件设计方法 接口的硬件电路只提供了接口工作的基础,要使接口真正发挥作用就要配 备相应的控制软件。 1 ) 采用汇编语言( 或高级语言) 直接对低层硬件编程 对用户应用系统的接口控制程序应直接面向接口编程。由于接口程序对硬 件的依赖性,它与一般的管理程序和数据处理程序不同,是直接与硬件打交道 的,因此,设计者必须对相应的硬件细节十分熟悉。具体地讲,就是对接口芯 片和被控对象外设的外部特性以及接口芯片的编程命令要彻底弄清楚才能着手 编写程序。编程语言可以用汇编语言,也可以用高级语言( 如c 或c h ) ,但从 程序的实时性与代码效率以及充分发挥低层硬件的潜力来看,采用汇编语言更 佳。 2 ) 采用系统功能调用或其它的支持工具 如果在应用程序中,当涉及到使用系统资源( 如键盘、显示器、打印机、 串行口等) 时,可以采用系统功能,而不需作低层编程,在x 8 6 平台下作开发 可以进行d o s 功能调用或b i o s 功能调用。在其它硬件平台下的开发通常会得 到硬件厂商提供的开发板和相应的软件资源,板级支持包等,通过移植这些支 持包来简化设计。 硕 :位论文第二章硬什办案设汁 2 2u s b 以太网卡的设计要求 1 功能要求: 具备u s b 总线接口功能用于与主机连接;具备以太网接口功能用于与以太 网连接;拥有独立的微处理器;具备一定容量的r a m 和r o m 存放数据和程序。 2 速度要求: 数据传输速度达到或接近1 0 m b p s 。 3 硬件选择要求: 采用通用嵌入式处理器、通用u s b 接口芯片和通用嵌入式以太网接口芯片 进行设计。 4 运行环境要求: 应用于安装了w m d o w s2 0 0 0 x p 操作系统的台式电脑或笔记本电脑。 2 3 硬件选型 2 3 1 微控制器的选择与特性 嵌入式系统一般定义为一个具有特定功能或用途的计算机软硬件集合体, u s b 以太网卡是具有将u s b 接口转换成以太网接口的设备,完全符合嵌入式系 统的定义,因此,u s b 以太网卡的设计和开发需要按照嵌入式应用系统的设计 和开发流程进行。因为嵌入式系统通常是一个专门执行某项任务的目标平台, 嵌入式设备完成的任务通常有严格的要求,所以嵌入式系统的设计需要高度优 化。选择处理器芯片是嵌入式系统设计中最重要的步骤,须考虑四个关键约束 条件:是否便于实现、是否能提供足够的性能、是否有合适的操作系统支持和 是否有大量合适的开发工具支持【1 5 1 。u s b 以太网卡的设计从功能结构上来说, 需要选择带有u s b 接口和以太网接口的微控制器,这样才能降低成本、保证产 品质量。从性能要求来说需要具有处理1 0 m b p s 数据流量的能力。由于u s b 网 卡处理的任务数较少,可以不采用操作系统进行任务管理,设计成无操作系统 型的嵌入式应用系统。另外从开发工具的支持方面可以选择目前主流的处理器 类型如x 8 6 、a r m 、m c s 5 1 等。综合考虑上述四方面的约束条件,列出了三种 微控制器选择方案【1 5 1 。 1 微控制器供选方案比较 1 2 硕十学位论文第二章埂f ,l :方案设计 1 ) 专用的u s b 接口转以太网接口微控制器芯片 a d m t e k 公司生产的a d m 8 5 1 1 a d m 8 5 1 3 芯片是专门用于u s b 接口转以太 网接口的单片处理芯片。它遵循u s b l 0 和u s b l 1 协议标准,i e e e 8 0 2 3 u l o o b a s e t x 和i e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玫瑰痤疮 MDT 多学科联合查房|医护药综合教学课件
- 2026年二级消防案例防火分区专项刷题卷含答案及解析
- 2026年辽宁省葫芦岛市中小学编制教师招聘考试模拟试题及答案详解
- 2026年四川省泸州市中小学编制教师招聘考试参考题库及答案详解
- 2026年海口市龙华区中小学编制教师招聘考试参考题库及答案详解
- 2026年四川省中小学编制教师招聘笔试模拟试题及答案详解
- 2026年南京市浦口区中小学编制教师招聘笔试参考试题及答案详解
- 2026年天水市麦积区中小学编制教师招聘笔试参考试题及答案详解
- 2026年日喀则地区日喀则市中小学编制教师招聘笔试参考试题及答案详解
- 2026年益阳市资阳区事业编单位人员招聘笔试备考试题及答案详解
- DB6505-T 088-2020 骆驼疾病综合防治技术规程
- 《大米加工技术》课件
- DBJ50-T-086-2016重庆市城市桥梁工程施工质量验收规范
- 个人车辆抵押合同模板
- JGJ-T+141-2017通风管道技术规程
- 口腔科医疗废物培训
- 最优控制第三章课后习题答案
- 三体系内审检查表样本
- 县乡联系服务群众方案
- 少女乙女的恋爱革命全中文攻略
- 二氧化碳安全标签
评论
0/150
提交评论