首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
VxWorks操作系统下ComPactPCI总线驱动程序设计
来源:本站整理  作者:佚名  2009-07-30 13:26:28




    PCI设备可以在地址空间中重定位是其重要功能之一,使得系统可合理地分配资源,甚至完全相同的两块PCI卡也能够在同一总线内工作而不会产生地址冲突。基地址寄存器的功能是分配PCI设备的系统地址空间,在基地址寄存器中,位0(最低位)均为只读位并且用来标识是存储器空间还是I/O地址空间。如果该位为0,表示映射到存储器空间。映射到I/O空间的基址寄存器宽度总是32 bit,其中位0值为1 (用硬件实现),位1为保留位并且其读出值必须为0,其余各位用来把设备映射到I/O空间。映射到存储器空间的基址寄存器可以是32 bit宽度,也可以是64 bit宽度。其中位0也要用硬件方式使其恒为0。位2和位1两位用来表示映射类型,其余各位用来将设备映射到存储器空间。
    系统配置软件通过向基址寄存器写入全“1”后再读回的方式确定设备要求的地址空间范围,与地址空间无关的位其返回值为0。
    在VxWorks操作系统下实现CompactPCI总线设备的驱动过程主要包括下面步骤:
    (1)查找CompaetPCI设备在VxWorks操作系统中通过函数peiFindDeviee()来实现,该函数可根据给定的设备标识和供应商代码找到相应的设备。并返回总线号、设备号以及功能号。函数的定义如下:

   )
    (2)配置CompactPCI设备 通过操作系统提供的API函数访问CompactPCI设备的配置空间,配置CompactPCI设备基址寄存器、中断、ROM基地址寄存器等,可得到Compact-PCI的仔储器空间和I/O地址空间映射、设备的中断号等。在VxWorks操作系统中访问CompactPCI设备配置空间的函数有pciConfigInLong()、pciConfigOutLong()等,它们分别完成对CompactPCI设备配置空间的读写操作。这一系列操作也称为PCI设备枚举。然后,根据CompactPCI设备的配置参数,对不同的设备编写初始化程序、中断服务程序以及对PCI设备存储空间的访问程序。


5 中断的响应与控制
    硬件中断处理是实时系统设计的关键环节,系统通过中断与外部事件交互。为了获得尽可能快的中断响应时间,Vx-Works的中断处理程序需要运行在特定的上下文中,也就是在所有任务上下文之外。因此,中断处理不会涉及任何任务上下文的切换。QL5064接几器件的寄存器序列巾有一个中断控制/状态寄存器,其偏移地址为0x68H。该寄存器可以使能或禁止CompactPCI总线的中断,因此在系统进行中断服务程序的配置时,必须设定该寄存器的内容,否则系统不能正常响应中断    在VxWorks系统下可以使用pciIntConnect()函数将中断和特定的C程序连接起来,该函数将指定的C函数与中断向量相联系,甬数的地址将存储在这个中断向量里。所以当中断发生时,系统将调用这个被称为中断服务程序的函数。因此,cPCI设备的中断响应设置主要有两点:
    (1)调用pciIntConnect()函数设置中断服务程序,该函数的定义如下:

  
    如果要禁止该设备的中断响应,可以给QL5064的中断控制寄存器写入0x0f000000即可。
    中断服务程序ISR负责协凋系统的采集任务,在系统设计时采用信号量的方式实现任务间的同步,因此ISR的程序非常简单,只给出和特定中断事件相关的信号量即可。举例如下:

   
    VxWorks信号量是提供任务间通信、同步和互斥的最优选择,它提供任务问的最快速通信,也是提供任务间同步和互斥的主要手段。对于同步,信号量可以协调外部事件与任务的执行。通用二进制信号量能够满足两种类型的任务协调需要:互斥与同步。二进制信号量需要的系统开销小,因而适用于高性能的需求。二进制信号量可以看成一个标记:对应的资源是可用f满)还是不可用(空)。当任务调用函数semTake()取一个信号量时,其结果依赖于在调用的时刻信号量是否可用。如果此时信号量可用,调用semTake()的结果使信号量变为不可用,任务继续执行;如果此时信号量不可用,调用semTake()的任务进入一个阻塞队列,进入等待状态该信号量变为可用阻塞状态。通过信号量来同步整个系统中数据,可保证系统运行的实时性和可靠性。
6 结束语
    采用上述控制技术,在系统中成功实现控制驱动对多种CompactPCI板卡以及DSP信号处理板、高速A/D通道、低速A/D转换通道、计数器通道等均能正常工作。达到系统设计要求,因此可说明VxWorks系统CompactPCI总线的驱动与控制方法可行,保证系统实时数据采集的可靠性。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:328,289.10000 毫秒