新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > VxWorks操作系统下ComPactPCI总线驱动程序设计

VxWorks操作系统下ComPactPCI总线驱动程序设计

作者:时间:2009-07-30来源:网络收藏

引言
是美国Wind River公司专门为嵌入式处理器设计的一种模块化、高性能的实时多任务。嵌入式软件多采用交叉开发的方式,即主机运行开发工具Tonado,通过某种连接方式连接目标机,硬件平台为PC/104+架构。这里提出一种下CompactPCI程序的设计及实现。该设计使用德国Kontron DT-64,它是一款高性能嵌入式计算机。采用Dual PentiLim 3 CPU,工作频率高达866 MHz,具有128 KB一级高速缓存和128 KB二级高速缓存。KontronDT-64与PC/AT标准完全,并遵从PC/104+标准。具有PC/104结构的优点,适用于各种复杂的工作环境。

本文引用地址:http://www.eepw.com.cn/article/173660.htm


2 BSP与的关系
板级支持包BSP(board support packet)通常是针对具体的硬件平台,是用户所编写的启动代码和部分设备程序的集合。在VxWorks中,BSP是介于底层硬件环境和VxWorks之间的一个软件接口,它的主要功能是系统加电后初始化目标机硬件、初始化操作系统及提供部分硬件的程序。BSP与VxWorks之间的关系如图1所示。从图1发现,BSP不是一个设备驱动程序。它只能运行于指定设备的硬件环境中,对其进行控制和初始化。这里主要阐述在PCM发送,接收模块的设计过程中,如何利用DT-64 BSP来实现PCI的驱动程序。

3 及接口技术
由于CompactPCI规范定义基于PCI总线方式的复印加坚固而耐用的PCI版本,并且适用于工业和嵌入式应用,本设计采用此规范。CompactPCI总线是3种技术的集成:通用PCI局部总线(Local Bus)的高性能,安装牢固的欧卡结构,接触可靠的针孔连接器(pin-antl-soeket connector)。
PCI局部总线是一种地址和数据复用的高性能32,64位总线,它在高度集成的外围控制器件、外围插件板和处理器/存储器之间起连接作用。PCI总线为CPU和板上外设提供了方便的高速通信连接,工作频率为66 MHz或更高。PCI作为一种同步的、独立于处理器的32 bit或64 bit局部总线,在工作频率为33 MHz总线宽度为32 bit最低规格时其峰值吞吐速率可达到132 MB/s,适用于网络适配器、硬盘驱动器、视频卡、图形卡等各类高速外设。连接到PCI总线上的设备分为主控和目标两类,PCI支持多主系统。PCI总线的一个重要特点是存在配置空间,它提供一种配置关联,适合于目前或将来的系统配置机制,实现参数自动配置。系统软件通过读取配置空间中相应参数,即可确定PCI总线上挂接了什么设备以及需要哪些资源,通过对地址空间的重定位分配资源避免竞争,实现PCI设备的即插即用。
连接到PCI总线的用户功能板卡需要使用PCI总线接口控制器和PCI总线进行交互,在应用系统设计时采用OL5064器件。QL5064是一款32 bit/33 MHz的通用PCI总线控制器,符合PCI规范2.2版,本突发传输速率达到132 MB/s。可作为PCI总线的主控设备控制总线,也可作为目标设备响应总线。Ql5064提供了PCI总线、E2ROM、LOCAL总线3个接口。LOCAL总线支持复用/非复用的32 bit地址/数据,有3种工作模式:M、C和J。在系统实际数据采集时,将LOCAl总线设置为C模式,这是一种目标设备模式。选用NM93CS56L型串行E2PROM作为QL5064的配置器件,该器件通过E2ROM接口和QL5064相连。QL5064的长配置方式要求68个字节的信息,主要包括:设备识别号、供应商代码号、LO-CAL总线3个空间的性质、范围以及基址等,这些配置信息内容一般要预先设计并用编程器事先写入配置器件中。在计算机启动时,系统将根据配置信息分配器件所申请的资源。Q155064作为一种桥接器件,在PCI总线和LOCAL总线之间有3种主要数据传输模式:
(1)PCI Initiator数据传输模式 主控模式,LOCAL总线主设备通过QL5064访问PCI总线存储空间和I/O空间;
(2)PCI Target数据传输模式PCI总线主设备通过QL5064访问LOCAL总线存储空问和I/O空间;
(3)DMA数据传输模式QL5064作为两总线的主设备,从PCI总线存储空间读数据到LOCAL总线存储空间或者从LOCAL总线存储空间读数据到PCI总线存储空间。在系统设计中,使用PCI Target数据传输模式读写控制模块中的寄存器。


4 设备的配置技术
VxWorks是专门为实时嵌人式系统设计开发的操作系统软件,提供高效的实时任务调度、中断管理、实时的系统资源分配以及实时的任务间通信。程序员可将主要精力放在应用程序本身,而不用关心对系统资源的管理。
为阐明在VxWorks操作系统下如何实现CompaetPCI总线设备的驱动,需了解PCI设备的配置寄存器空间。PCI设备有3种物理存储空间:配置寄存器空间、存储器空间和I/O空间。PCI局部总线设备中配置寄存器空间是一容量为256 KB并具有特定记录结构的地址空间,该空间分为头标区和设备有关区两部分,空间头标区的定义如图2所示。

在配置空间中,只读空间有设备标识、供应商代码、修改版本、分类代码以及头标类型。其中供应商代码用来标识设备供应商;设备标识用来标识某一特殊的设备;修改版本标识设备的版本号;分类代码用来标识设备的种类;而头标类型用来标识头类型以及是否为多功能设备。除供应商代码之外,其他字段的值由供应商分配。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭