首页> 中文学位 >基于PCI总线的嵌入式Linux设备驱动程序的研究与实现
【6h】

基于PCI总线的嵌入式Linux设备驱动程序的研究与实现

代理获取

摘要

随着通用处理器和嵌入式技术的迅猛发展,越来越多的电子设备需要由处理器来进行控制。而目前大多数的 CPU 和外部设备都会提供 PCI 总线的接口,PCI 总线已成为计算机系统中一种应用广泛、通用的总线标准。 Linux 因其开放源代码以及稳定的性能,越来越受到广大用户所青睐。同时,基于 Linux 内核的嵌入式操作系统应用势头强劲,开发基于 Linux 的设备驱动程序,具有很强的实用性和可移植性。基于此,国家863项目DVB-IP网关采用了基于Linux的PCI总线技术。因此,开发其PCI的Linux设备驱动程序就显得很有必要。 本文先简单介绍了PCI局部总线的特点、传输控制机制及其配置技术, DM642的PCI接口和Linux操作系统与驱动程序的相关知识。阐述了DVB-IP网关硬件开发平台和系统设计目标,对在DVB-IP网关中开发PCI设备驱动所存在的关键点和难点作了深入的分析。结合DVB-IP网关,设计并开发了DM642 PCI的嵌入式Linux设备驱动。分析目前普遍存在的DSP代码加载方式的特点,设计并实现了一种新的DSP加载技术,非常有利于系统调试和应用,节省了硬件成本,降低了开发难度。从提高PCI的数据吞吐量和实时传输性能出发,本文先深入研究了DSP采用目前普遍使用的中断方式与CPU进行数据传输时所带来的中断次数多、中断间隔小和数据吞吐能力差等缺陷。针对DSP采用全中断方式实时传输TS流的不足,本文利用中断使能(PCIIEN)寄存器中的EERDY位作为用户进程完成内核空间的数据操作和允许DSP发送中断的标志位,结合MASTEROK位,设计并实现了中断和轮询相结合的数据传输方式,不仅减少了中断次数,而且增加了中断发送的间隔,对多节目TS流的处理能力提高了近1倍。为解决系统中存在累积包以致于网络传输时会出现大的抖动而产生尖峰现象,本文利用mmap技术实现了数据的零拷贝,节省了CPU用户进程通过系统调用拷贝内核空间数据的开销,减轻了CPU的负荷,提高了PCI的数据吞吐能力和实时传输性能,提高了驱动程序的可靠性与稳定性。本文对各种数据传输方式的设计都进行了实验仿真和测试,并对各种传输方式的实验结果进行了分析和比较。 本文的设计为通用的Linux设备驱动程序开发提供了借鉴,使嵌入式设备驱动程序在不修改或少量修改驱动程序源代码的情况下,可在不同平台实现兼容,提高了类似项目的开发效率。同时为PCI设备如何通过PCI总线与CPU进行交互通信提供了参考设计。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号