标题:
基于VxWorks的VME从板驱动设计与实现1
[打印本页]
作者:
rise_ming
时间:
2013-8-22 21:40
标题:
基于VxWorks的VME从板驱动设计与实现1
摘要:
基于VxWorks操作系统设计了数据采集从板的驱动程序,程序框架上驱动程序将对从板的操作抽象为对字符型设备的操作,驱动程序在内部实现了数据IO操作的阻塞机制、查询机制及信号通知机制,采用这种方式设计的驱动程序向用户提供了统一的接口,方便用户使用,同时将硬件操作与应用程序分开便于驱动程序进行扩展;驱动设计工作是精密环境控制系统的一部分,驱动程序的设计方法可以广泛地应用于基于VME总线的从设备驱动设计。
关键词:
VxWorks操作系统;VME总线;设备驱动程序;数据采集
基于VME总线搭建了精密环境控制系统,整个系统中基于VxWorks的VME总线驱动程序连接了软件操作与VME从板的硬件通信,VxWorks操作系统下驱动程序的开发是应用VxWorks操作系统的关键因素。本文应用通用公司的VG5-7457PowerPC嵌入式VME单板机作为主板及通用公司的VME-3122A作为数据采集从板组成数据采集系统。针对数据采集从板的通用特征详细的设计了基于VG5硬件和VxWorks操作系统的VME数据采集从板的驱动程序,在驱动程序的设计过程中,特别地考虑了驱动程序数据传输机制的设计,采用良好传输机制设计的驱动程序具有优良的驱动架构,便于移植及扩展。
1 采集系统的系统结构
1.1 采集系统结构分析
采集系统基于VME总线实现,系统是精密环境控制的重要组成部分,它的整体结构如图1所示。
系统以VME总线为整体架构,VME总线上使用VG5-7457PowerPC嵌入式VME单板机作VME总线控制器,通过VME总线控制数据采集设备(AD数据采集卡),同时将控制输出经过VME总线下传到控制输出(DA数据输出卡),它同时通过以太网络与上位机相连;数据在VME总线的可靠传输是系统实现功能的关键部分,这主要通过在VG5单板机上设计基于VxWorks操作系统的VME总线的驱动来保证。
1.2 VG5主控板的结构分析及其对VME总线驱动的支持
驱动程序最终运行在VG5-7457单板机上,单板机的VME总线支持是实现单板机对VME总线驱动的关键因素。单板机系统的VME总线硬件结构如图2所示。
单板机使用UniverseⅡVME-to-PCI总线桥芯片实现系统的VMM总线,芯片实际上完成了VME总线与PCI总线的操作的互相转化,它同时具备多种转换方式,首先可以完成2个总线中断的互相转换操作,其次可以完成通过VME总线访问PCI总线,最后可以完成PIC总线访问VME总线;这些转换操作很多都是通过芯片的内部寄存器实现的。由于总线桥芯片的转换能力,使得VG5-7457单板机既可以作为VME主控板使用,又可以作为从板使用。
VxWorks操作系统下将VME总线地址映射为CPU的本地地址,其映射可以在相关的BSP文件中定义,设计中的映射如表1所示,将VME总线映射为CPU本地地址后,对从板的操作就转化为于对内存访问操作相似的读写操作,使得VME总线的驱动可以方便的实现。
对于操作VME总线区域的内存空间,系统提供了一系列的接口函数,系统提供的接口函数列表如表2所示。
写内存空间的函数使用svsOut*函数族来完成,需要提供给函数的参数是写入的地址及写入的数据;读内存空间使用sysIn*函数族来完成,需要提供的参数是读的地址,返回值是读到的内容。函数在VxWorks的BSP中定义,使用汇编语言的方法实现相关的操作。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0