基于PXI总线为的SAR天线平台测试模块设计
单口RAM)以及部分CE0片选的外部存储空间,多达1MB。这样上层计算机既可以通过PXI总线在DSP内部存储区获取所需要的测试数据,而不至于影响DSP的正常工作。
考虑到采用面向对象的驱动程序框架,简化驱动程序的开发过程,这里选用基于Windows DDK作为底层支持的DriverWorks作为驱动程序的开发平台,其中的DriverWizard向导工具在VC环境中可以建立驱动程序的框架,这里主要介绍一些驱动程序中的几个功能模块。
(1)访问9030配置空间。在生成驱动程序框架的时候已为9030的配置寄存器声明了所需的存储器映射资源,产生一个KMemoryRange类实例m_MemoryRange,这个类在驱动程序初始化时获得9030硬件寄存器配置空间的地址范围,这样就可以使用该实例的inb和outb分别实现对硬件寄存器的读写操作。
(2)应用程序和驱动程序的通信。首先应用程序通过操作系统提供的API函数调用驱动程序的读写例程Read()(这里只涉及到读操作)。由Read()例程中调用StartIo()对读请求进行排队,以避免读写操作冲突。由StartIo()调用SerialRead()例程进行具体的读操作,即把事先申请的系统缓冲区中的数据转移到用户缓冲区,完成所要求的读操作。
(3)访问DSP内存空间以及中断处理,即对DSP存储区进行读写操作。在生成驱动程序框架的时候已为9030的局部总线空间申明了所需的存储器映射资源,产生一个KMemoryRange类实例m_LocalAddSpace0,这个类在驱动程序初始化的时候获得9030的局部总线地质空间的系统地址范围;同时驱动程序也产生一个KDeferredCall类的实例m_DpcFor_Irq,用于调用中断延迟处理程序DpcFor_Irq()。当测试卡产生中断时,驱动程序捕获中断,作相应处理之后通过m_DpcFor_Irq调用DpcFor_Irq()。在DpcFor_Irq()中,通过m_LocalAddSpace0的inb和outb对DSP存储区进行读写操作。把读到的数据存放在事先申请的系统缓冲区(这里只涉及到读操作)。
结语
作为机载SAR天线平台自动化测试系统的核心,该模块以主流的仪器总线PXI总线为载体,保证了测试系统的稳定性和工业级要求,通过标准串行接口读取平台伺服系统的响应(误差),实现了对平台静态跟踪误差的测试和动态响应的实时数据采集。这些关键技术是该自动化测试系统实现设计功能的基础,同时也使该模块不仅具有独立于测试系统的通用性,而且具有对不同类型机载SAR稳定平台的通用性。实际测试证明,该模块实现了预定的功能,能够可靠的工作。
- 什么是SAR以及手机天线SAR的测试(04-11)
- 巴西SAR测试中需注意的问题(07-11)