Linux 系统下基于PCI 控制器(PLX9054)的DMA 编程.pdf

Linux 系统下基于PCI 控制器(PLX9054)的DMA 编程.pdf

ID:52242162

大小:122.15 KB

页数:5页

时间:2020-03-25

Linux 系统下基于PCI 控制器(PLX9054)的DMA 编程.pdf_第1页
Linux 系统下基于PCI 控制器(PLX9054)的DMA 编程.pdf_第2页
Linux 系统下基于PCI 控制器(PLX9054)的DMA 编程.pdf_第3页
Linux 系统下基于PCI 控制器(PLX9054)的DMA 编程.pdf_第4页
Linux 系统下基于PCI 控制器(PLX9054)的DMA 编程.pdf_第5页
资源描述:

《Linux 系统下基于PCI 控制器(PLX9054)的DMA 编程.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux系统下基于PCI控制器(PLX9054)的DMA编程DMAprogrammingwithPCIcontroller(PLX9054)inLinuxoperatingsystem崔涛、刘庆文、胡玥Cui,Tao.Liu,Qingwen.Hu,Yue.北京科技大学信息学院计算机系100083摘要:DMA是实现大批量数据快速传输的一硬件特性,尤其是在嵌入式环境下,操作系种手段。DMA的实现是高度依赖操作系统和统、硬件特性和有限的环境资源对DMA通信硬件的。本文讨论了DMA编程在Linux系统的实现方式和实现手段有很大的影响。在下的所遇到

2、的主要问题及解决方法。并通过DMA通信的具体实现中所遇到的问题则因此实例介绍了基于PLX9054芯片的DMA实现方而有所不同。法。本文以一个嵌入式视频处理项目为例,来分析在Linux系统下实现DMA编程的主要关键词:Linux;PCI;DMA;驱动程序;问题。在此项目中,视频采集卡采用PLX9054PLX9054;芯片做PCI总线接口。视频数据由采集卡生成,缓存于卡上RAM存储器中,并通过设备Abstract:DMAisawaytoquickly驱动程序传输到主机内存中。要求编写transportlargeamountofdata.DMAL

3、inux设备驱动程序,利用PLX9054芯片的communicationhighlydependsonDMA功能实现将卡上RAM中的数据快速的传operatingsystemandcertainhardware.输到系统的内核内存中。在这里,DMA编程Thispaperdiscussesthemajorproblem主要涉及到PCI接口、PLX9054芯片和LinuxandsolutionofDMAprogramminginLinux系统。operatingsystem.Atthesametime,anLinux内核的发展很快。内核版本不同

4、,exampleisgiventoshowhowtodesign设备驱动程序的结构、所使用的硬件接口和DMAcommunicationwithPLX9054-PCI相关的内核支持函数可能会有很大的区别。controller.因此在Linux系统下做驱动程序,必须确定内核的版本。本项目所用的Linux内核版本Keywords:Linux;PCI;DMA;device是在2.4.20。下面所介绍的内容全部以该版driver;PLX9054;本为基础。1.引言2.PCI及PLX9054在多媒体应用中,在实现视频数据从设PCI是外围设备互连(Per

5、ipheral备到主存的传输时,直接内存访问(DMA,ComponentInterconnect)的简称,它是一DirectMemoryAccess)方式一直是实现大种通用总线接口标准。PCI提供了一组完整批量数据快速传输的首选方式。DMA方式是的总线接口规范、电气特性和行为规约,通依靠硬件在主存和I/O设备之间进行直接的过该规范,计算机系统中的外围设备能够实数据传送的方式,其传送过程无须CPU执行现结构化、可控化的连接以及正确地进行交程序来控制干预,能够满足大数据传输的对互。PCI设备上有三种地址空间:I/O空间、速度的要求。DMA通信高

6、度依赖操作系统和存储空间和配置空间。配置空间的信息主要包括:设备识别号、供应商代码号、Local寄存器偏移地址功能总线三个空间的大小以及三个空间的基址DMAMODE0(PCI:80H)设置局部总线工作模等。在计算机启动时,系统将根据配置信息式,中断使能等分配系统资源。CPU可以访问PCI设备上的DMAPADR0(PCI:84H)PCI总线上的地址,主所有地址空间,其中I/O空间和存储空间提存地址,必须是物理地供给设备驱动程序使用,而配置空间则由址Linux内核中的PCI初始化代码使用。PCIDMALADR0(PCI:88H)局部总线的地址,

7、存储总线接口因其传输速度快、即插即用、自动空间在局部总线的地配置的优点而成为实现数据采集设备到主址机之间的接口的首选。DMASIZE0(PCI:8CH)需传送数据的长度,以PLX9054是PLX公司生产的PCI总线接字节为单位,最大4MB口控制器芯片。PLX9054符合PCIV2.2规范,DMADPR0(PCI:90H)设置传输方向,32位,工作频率为33MHz,拥有两个独立的scatter/gather模式DMA通道,传输速度达132MB/s。PLX9054的描述块地址等提供了PCI总线、EEPROM、LOCAL总线三个DMACSR0(P

8、CI:A8H)DMA0的使能和启动,中接口,其中LOCAL总线有三种工作模式:M断的清除模式、C模式和J模式。在实际的数据采集INTCSR(PCI:68H)设置PCI中断使能等时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。