论文摘要
本课题主要研究基于EM8623平台的DM9103EP网络芯片驱动开发。该平台采用Linux的嵌入式操作系统uClinux。网卡芯片DM9103挂接在硬件平台的PCI总线,本课题将论述系统通过内核控制PCI网卡芯片的网络传输工作。其中涉及到uClinux对外设的寄存器操作、DMA映射以及中断处理。核心处理器EM8623是没有MMU (Memory Manage Unit)的ARM7 (200M)处理单元,所以操作系统不能使用处理器的虚拟内存管理技术,而使用分页管理技术,即实内存管理策略。处理器EM8623高度集成了HDTV, IPTV, DVD, MPEG-4.10 (H.264)和WMV9/VC-1的解码处理模块,并且该芯片具有复杂并且高效的音视频处理能力。EM8623有32bit的G-BUS连接到核心RISK的ARM处理器单元。G-BUS同时支持由PCI总线的DMA内存映射。网卡芯片DM9103EP高度集成了以太网交换控制器。它具有一个通用PCI总线接口,两个10/100Mbps物理接口收发器(PHY),一个MIl或RMII接口。其PCI总线接口直接连接到媒体接口控制器(MAC)和内部存储器。主机MAC具有32-bit数据寄存器,具有其他10/100Mbps PHY或Mil相同的功能,这使得该网卡具有四口网络交换能力,并且缩短了PCI接口到目标端口的网络响应时间。DM9103EP芯片同时支持1K的组播MAC地址表。并且提供三个PHY端口和一个PCI端口的收发缓冲。每个端口都具有四个传输优先级队列,在基于端口的802.1p VLAN和IP包头的ToS域都会自动定义这四个传输优先级队列。DM9103EP网卡芯片有校验和生成TCP/UDP/IPv4校验和的功能,以此可以降低网络传输中对CPU的消耗。在本课题的平台中,PCI总线设备的配置空间全部交由总线控制器管理,内核无法直接控制。而PCI总线上的寄存器空间将被通过DMA方式影射到内存,以便CPU通过访问该内存来控制PCI设备。在驱动程序的具体实现过程中,DMA映射方式也被用在数据收发过程中。数据发送时,应用程序通过内核协议栈将数据包放入DMA映射缓冲区,然后调用驱动程序操作网卡芯片发送数据包。在发送完成后网卡芯片向CPU发送中断,继续下一步的发送操作。在接收数据的状态下,一旦有数据到达网络接口,网卡芯片便向CPU发出中断。CPU通过中断函数将DMA缓冲区的数据放入套接字结构中。DM9103EP网卡芯片在数据发送完成、数据到达网络接口、总线错误等情况下会产生中断。为了防止数据收发时频繁产生中断,在驱动程序设计上尽量简化中断函数,也可以通过配置DM9103EP的控制寄存器可以屏蔽一些不必要的中断。其中网络交换功能并不会参与到中断中,它不会产生中断,驱动程序只需要配置过滤表和VLAN寄存器便可控制芯片的网络交换功能。本课题针对Linux平台的网络芯片的驱动程序开发进行了详细论述,并且成功开发了具有网络交换功能的双网口网卡DM9103EP的驱动程序。在该驱动的支持下,EM8623平台上的uClinux系统具有稳定的以太网连接,并且还支持四端口网络交换功能。通过内核的协议栈与驱动程序配合,系统可以支持TCP/IP、FTP、RTSP、VPN等网络协议。
论文目录
相关论文文献
- [1].国内首款自主可控25G网卡芯片发布[J]. 中国集成电路 2020(Z4)
- [2].USB故障又一原因[J]. 网络与信息 2009(07)
- [3].嵌入式远程监控系统的设计与开发[J]. 唐山学院学报 2011(03)
- [4].基于PXA270与LAN91C111的系统引导程序移植与实现[J]. 计算机技术与发展 2011(09)
- [5].RTL8019AS网卡芯片在以太网通信中的应用[J]. 现代仪器 2009(04)
- [6].以太网卡控制器与ARM7的接口设计及编程[J]. 通信技术 2009(01)
- [7].基于DSP和AX88796B的以太网络接口模块的设计与实现[J]. 火控雷达技术 2010(04)