论文部分内容阅读
USB总线接口技术具有即插即用、高可靠性、低成本、低功耗、自动配置、容易扩充、易于连接、适用于多种设备的广泛适应性等特点,广泛应用于PC机的外设设计中,但是以USB总线接口代替PCI、ISA总线接口的以太网卡并不多见,虽然市场上有少量USB无线网卡销售,但是由于USB无线网卡需要无线接入点、无线路由器等设备,与以太网工作环境不同,因此不能直接代替普遍使用的PCI、ISA总线接口的以太网卡。本文提出一种采用USB总线接口技术设计的以太网卡,它具有USB接口技术的所有优点,可以立即代替目前使用最广泛的PCI、ISA以太网卡工作,并使得添加和删除设备的操作变得简单,特别适用于外设接口资源有限的笔记本电脑或需要连接很多外设的台式电脑。
本文设计的USB以太网卡采用了目前在嵌入式系统设计中应用十分广泛的、高性价比的32位ARM体系结构的嵌入式微控制器芯片S3C44BOX、新型通用串行总线接口芯片PDIUSBD12和以太网接口芯片CS8900A。本文详细描述了硬件电路设计、固件设计、设备驱动程序设计、测试和调试的过程。在硬件设计中,USB接口芯片和以太网接口芯片均采用I/O方式与微控制器连接,配备了4MBFlash存储器和8MB SDRAM存储器;固件采用模块化的结构,分为初始化、以太网接口芯片的驱动部分、USB接口芯片的驱动和循环队列管理四大模块,详细介绍了各模块的设计和实现方法,采用循环队列数据结构缓存接收到的和需要转发的数据帧,充分利用了硬件内存资源,以期提高数据的吞吐率,固件实现的主要功能是处理以太网帧的接收与发送,并进行USB帧与以太网帧格式之间的转换与控制;设备驱动程序属于基于USB的NDIS一WDM微端口设备驱动程序,它与传统的PCI、ISA网卡的设备驱动程序不同,基于USB的NDIS-WDM微端口驱动程序对底层硬件的控制需要向USB栈发送USB请求包URB,而不是直接调用NDIS库中的函数来实现,设备驱动程序采用Driver Studio辅助开发工具编写源程序,在VC6.0和Windows XP DDK SP1环境下编译,并在Windows 2000平台下进行了安装和测试。
通过实验测试表明,本文设计的USB以太网卡的软/硬件设计是合理和有效的,已经可以正常使用,目前它在局域网中支持的数据吞吐率(上传和下载)均可达到约1.7Mbps,与电信公司的宽带上网服务ADSL到户节点的速度相当,可以满足一般用户上网的需求。