摘要:文中在HEROS操作系统中,利用开放源代码的TCP/IP协议栈,在芯片组成的网卡架构的基础上,详细描述了添加网卡底层驱动程序的步骤,探讨并实现了驱动程序的开发。 关键词:;操作系统;
目前随着互联网的发展,越来越多的电子设备已经将网络接入功能作为其默认配置,以实现设备的远程监控和信息分布式处理。TCP/IP协议栈在很多应用中已经证明了其稳定性,所以在实际应用中主要解决移植和编写网卡的底层驱动程序的问题,本文讨论的是在HEROS系统中的实现,该款芯片为8851,有两个完全独立的网卡电路实现。
1 网卡与HEROS概述 完成的工作是正常发送以及接收网络数据包。Micrel网卡驱动程序对于操作系统而言是一组子程序,它屏蔽了底层的硬件处理细节,同时向上层软件提供接口。驱动程序将要发送的数据包按指定格式写入芯片并启动发送命令,然后Micrel网卡内部处理单元会自动把数据包转换成物理帧格式在物理信道上传输。反之,Micrel网卡收到物理信号后将其还原成数据,按指定格式存放在芯片缓冲区中以便主机程序取用。 由于Micrel网卡在HEROS系统中的采用的是外扩,所以图1中Micrel网卡模块的位置相应地就位于HEROS操作系统以外,以体现其外扩特性。
2 硬件 2.1 网卡硬件特点 KSZ8851整合了一个快速以太网MAC/PHY与一个8/16/32位的普通主机处理器接口和SPI接口。该设备拥有在RXQ和TXQ之间进行共享的18KB内部缓冲存储器。该缓冲存储器在接收队列的缓存容量是12KB,而在发送队列则是6KB。凭借引脚与麦瑞半导体现有的KSZ8841MQL和KSZ8842MQL系列兼容,该设备可提供80Mbps或更高的性能。该解决方案支持大端(Big—Endian)和小端(Little—Endian)处理器,还支持IPv4/IPv6 checksum生成与校验。这些功能大大减少了对CPU的使用,并提高了系统整体性能。通过能量检测模式、可编程的3.3V/2.5V/1.8V IO选项以及一个零下40摄氏度至85摄氏度的工作温度范围,KSZ8851还为设计师提供了更强的功率管理功能。最后,该设备以多种封装形式推出,包括128引脚PQFP封装、48引脚LQFP封装和32引脚QFN封装。 (责任编辑:admin)
|