Presentation is loading. Please wait.

Presentation is loading. Please wait.

复习 一、优先中断总线 1、中断器、中断管理器 2、VME总线最多可以有七级中断 3、中断应答链路 4、中断响应过程 2017/3/22.

Similar presentations


Presentation on theme: "复习 一、优先中断总线 1、中断器、中断管理器 2、VME总线最多可以有七级中断 3、中断应答链路 4、中断响应过程 2017/3/22."— Presentation transcript:

1 复习 一、优先中断总线 1、中断器、中断管理器 2、VME总线最多可以有七级中断 3、中断应答链路 4、中断响应过程 2017/3/22

2 复习 二、公用总线 三、VXI总线增加的线 四、VXI总线通信协议 1、器件基地址及地址分配 2、配置寄存器 3、通信寄存器
2017/3/22

3 模块设计过程 根据需求和技术指标确定总体方案 购买元器件 设计硬件原理图 文档跟踪 设计电路板图 PCB 加工制作PCB
Protel、PowerPCB 设计电路板图 PCB 加工制作PCB 控制软件、PLD设计 电路板焊接 调试 原理样机

4 连接器原理图封装 根据规范的连接器定义制作封装

5 根据规范确定电路板的尺寸及布局 VXI 46页

6 1、功能要求 三、VXI 64路继电器模块设计实例 采用的是TW2-12型继电器
每个模块上有64个继电器,每个继电器有三端输出:公共端COM,常闭触点端为NC,常开触点端为NO,在继电器断电时COM与NC相连,当继电器导通吸合时COM与NC断开,COM与NO相通。每个继电器触点与其它继电器触点是互相隔离的。 本模块中工作电压(额定值)+12V,触点断开电阻不低于10MΩ,触点导通电阻不大于0.06Ω。 本模块具有查询自检功能,凡写入本模块的开关量码均可读出,进行查询。 采用的是TW2-12型继电器 © National Instruments Corporation 6 PXI Modular Instrumentation

7 2、接口要求 C尺寸、单槽 A16/D16 寄存器基从者器件 无中断
© National Instruments Corporation 7 PXI Modular Instrumentation

8 3、功能框图 VXI 寄存器组 地址译码 继电器 驱动 时序转换 数据缓冲 回读寄存器 接口电路 功能电路
© National Instruments Corporation 8 PXI Modular Instrumentation

9 寄存器分配 类别 偏移地址 寄存器名称 读/写 设置 配 置 寄 存 器 0 0 H ID寄存器 读 FEE5H 0 2 H 器件型号寄存器
FF32H 0 4 H 状态寄存器 控制寄存器 D00=1时候,模块复位,继电器全部断开 0 8 H 通道寄存器1  读/写 可控J16--J1,对应D15--D00,回读用于自检 0 A H 通道寄存器2 可控J32--J17,对应D15--D00,回读用于自检 0 C H 通道寄存器3 可控J48--J33,对应D15--D00,回读用于自检 0 E H 通道寄存器4 可控J64--J49,对应D15--D00,回读用于自检 2017/3/22

10 4、原理框图 D15—D00 64路 V 缓冲隔离 触点输出 寄存器组 继电器组 X I MODID* 总 SYSRESET 复位控制
线 缓冲隔离 寄存器组 继电器组 MODID* SYSRESET 复位控制 触点回读检查 IACK* WRITE* AM5~AM0、A05 ~ A01 分级译码器 A15 A14 LWORD* DS0* DS1* A13—A06 逻辑地址选择 SYSCLK DTACK*控制 DTACK* © National Instruments Corporation PXI Modular Instrumentation

11 基本门电路 © National Instruments Corporation PXI Modular Instrumentation

12 5、译码电路 在地址译码中,采用了分级译码的方法,先译出访问本模块的条件G*然后按偏移地址译出访问各寄存器的片选条件。
© National Instruments Corporation PXI Modular Instrumentation

13 5、译码电路 A16、D16地址方式总线访问本模块应满足的条件是: DS0*、DS1*用作数据选通。 WRITE*的状态表示读/写
A15~A14为高; A13~A06对应模块的逻辑地址a7~a0(由模块内八位地址开关设定); AM5~AM0为2DH(A16的管理式访问)或29H(A16的非特权访问),而省去AM2线的译码即AM5=AM3=AM0=1,AM4=AM1=0; IACK*为高表明现在处于非中断认可周期 LWORD*为高表示非长字传输; DS0*、DS1*用作数据选通。 WRITE*的状态表示读/写 2017/3/22

14 模块译码 采用2片比较器688实现 满足G*的逻辑关系为:
A16地址方式总线访问本模块应满足的条件是: A15~A14为高; A13~A06对应模块的逻辑地址a7~a0(由模块内八位地址开关设定); AM5~AM0为2DH(A16的管理式访问)或29H(A16的非特权访问),而省去AM2线的译码即AM5=AM3=AM0=1,AM4=AM1=0; IACK*为高表明现在处于非中断认可周期 LWORD*为高表示非长字传输; DS0*、DS1*用作数据选通。 WRITE*的状态表示读/写 满足G*的逻辑关系为: G*=/A15+/A14+(A13a7)+(A12a6)+……+(A06a0)+/AM5+AM4+/AM3+AM1+/AM0+/IACK*+/LWORD* 采用2片比较器688实现 © National Instruments Corporation PXI Modular Instrumentation

15 寄存器译码 本模块设置了16位的组态寄存器和操作寄存器共七个读寄存器(其中五个写寄存器)。
© National Instruments Corporation PXI Modular Instrumentation

16 6、数据缓冲 与外部数据总线相连,访问本模块时打开数据通道,增强驱动能力。 74244:单向 74245:双向 方向: H:AB
底板 功能 与外部数据总线相连,访问本模块时打开数据通道,增强驱动能力。 74244:单向 74245:双向 方向: H:AB L:AB © National Instruments Corporation PXI Modular Instrumentation

17 第6章 VPP规范与虚拟仪器软件设计 6.1 虚拟仪器系统的软件标准化 6.2 VPP概述 6.3 系统框架规范
6.4 虚拟仪器软件结构VISA 6.5 仪器驱动程序开发 6.6 VPP仪器软面板设计 6.7 自动测试通用软件框架 © National Instruments Corporation PXI Modular Instrumentation

18 6.1 虚拟仪器软件标准化 一、IEEE 488.2标准 1987 颁布了新标准了IEEE 488.2《IEEE标准代码、格式、协议和公用命令》 二、SCPI 可程控仪器标准命令 1990年4月,出现可程控仪器标准命令。 主要侧重解决仪器程控和仪器响应中器件消息的标准化问题。 三、 VPP软件规范 1993年制定了VXIplug&play规范 2017/3/22

19 6.2 VPP概述及系统框架 一、 VPP规范的提出 VXIplug&play :VXI总线即插即用规范
1993年NI、Tek、Racal等著名仪器公司成立了VXIplug&play联盟并制定了VXIplug&play规范,简称VPP规范。 网址: © National Instruments Corporation PXI Modular Instrumentation

20 6.2 VPP概述及系统框架 VXI系统级 VPP规范的核心是“VPP-4.3 VISA库” VPP-1 VPP系统联盟章程文件 VPP-2
仪器驱动程序交互开发者接口规范 仪器驱动程序可编程开发者接口规范 VPP-4.3 VPP-4.3.2 VPP-4.3.3 VISA库 文本语言的VISA实现规范 图形语言的VISA实现规范 VPP-5 VXI部件知识库规范(作废) VPP-6 安装与包装规范 VPP-7 软面板规范 VPP-8 VXI模块/主机箱与接收装置互连规范 VPP-9 仪器厂商缩写规范 VPP-10 VXIplug&play图标规范与部件注册 VPP-3仪器驱动程序技术规范 VPP-4 标准的软件输入输出接口技术规范 VPP规范的核心是“VPP-4.3 VISA库” © National Instruments Corporation PXI Modular Instrumentation

21 6.2 VPP概述及系统框架 VXIplug&play :VXI总线即插即用规范 VPP规范是对VXI总线标准的补充和发展,
© National Instruments Corporation PXI Modular Instrumentation

22 6.3 系统框架规范 一、系统框架 VPP系统框架:组建一个完整的测试系统所必需的部件集。 (VPP-2)
根据硬件平台(PC平台或工作站平台)、操作系统、编程语言风格,VPP联盟定义了10种系统框架。 © National Instruments Corporation PXI Modular Instrumentation

23 6.3 系统框架规范 10种系统框架 五个基本框架根据它们支持的操作系统来命名: WIN(16) GWIN(16) WIN95(32)
在此基础上派生出只用NI公司的G(图形化)语言环境的系统框架。 WIN(16) WIN95(32) WINNT SUN HP-UX GWIN(16) GWIN95(32) GWINNT GSUN GHP-UX 加前缀G © National Instruments Corporation PXI Modular Instrumentation

24 6.3 系统框架规范 二、系统框架元件 每种框架都包括但不局限于下列部件: VXI主机箱 (PXI) VXI 零槽/资源管理器 (PXI)
仪器模块 仪器硬件接口 1~4 构成了虚拟仪器的硬件结构 © National Instruments Corporation PXI Modular Instrumentation

25 6.3 系统框架规范 二、系统框架元件 操作系统 仪器驱动程序 I/O接口软件(VISA) 软面板 帮助文件(知识库已经废除) 安装盘
应用程序及开发环境 © National Instruments Corporation PXI Modular Instrumentation

26 6.4 虚拟仪器软件结构VISA 一、VISA简介 重点 虚拟仪器系统框图 系统软件结构 系统硬件结构 通信接口 (VISA库) 仪器接口
仪器驱动程序动接口 通信接口 (VISA库) I/O接口软件 仪器接口 系统硬件结构 © National Instruments Corporation PXI Modular Instrumentation

27 6.4 虚拟仪器软件结构VISA 一、VISA前的I/O接口软件 GPIB、VXI等总线技术的发展,使虚拟仪器有了标准化的硬件平台;
NI公司用于GPIB的:NI-488 用于VXI的 : NI-VXI HP公司:SICL 标准仪器控制语言 问题:不能互换。针对某一厂家编写的软件无法适用于另一厂家。 © National Instruments Corporation PXI Modular Instrumentation

28 6.4 虚拟仪器软件结构VISA 二、VISA定义
VISA:Virtual Instrumentation Software Architecture,即虚拟仪器软件结构,是VPP系统联盟制定的I/O接口软件标准及其相关规范的总称。 VISA为虚拟仪器提供了标准化的I/O接口软件规范。VISA是整个工业界的统一的软件基础。 © National Instruments Corporation PXI Modular Instrumentation

29 6.4 虚拟仪器软件结构VISA 三、VISA规范与VISA库
VISA (虚拟仪器软件结构)规范:VPP规范中的 VPP4.x系列规范称为。 VISA库:虚拟仪器软件结构中的标准 I/O 接口软件。 © National Instruments Corporation PXI Modular Instrumentation

30 6.4 虚拟仪器软件结构VISA 四、VISA作用 1、为整个工业界提供统一的软件基础
2、对驱动程序、应用程序不必考虑接口类型 相同的函数可以为VXI、GPIB、PXI仪器编写软件。 VISA库作为低层 I/O 接口软件,运行于计算机系统中。 © National Instruments Corporation PXI Modular Instrumentation

31 6.4 虚拟仪器软件结构VISA 重点 五、VISA的应用 VPP规范的核心是VISA库函数,VISA是虚拟仪器标准化的I/O接口软件。
LabWindows/CVI开发平台集成了VISA函数库,使编程人员可以更方便地调用VISA函数,进行虚拟仪器软件设计。 在C语言中,VISA资源说明文件为visatype.h 和visa.h 了解主要的VISA数据类型和VISA函数 © National Instruments Corporation PXI Modular Instrumentation

32 六、常见的VISA数据类型 数据类型 数据类型描述 ViChar 字符类型 ViPChar 字符类型指针 ViString 字符串类型
ViPString 字符串类型指针 ViBoolean 布尔类型 ViPBoolean 布尔类型指针 ViInt8 8位整型 ViPInt8 8位整型指针 ViInt16 16位整型 ViPInt16 16位整型指针 ViInt32 32位整型 ViPInt32 32位整型指针 ViInt64 64位整型 ViPInt64 64位整型指针 ViReal32 32位实型 ViPReal32 32位实型指针 ViReal64 64位实型 ViPReal64 64位实型指针 © National Instruments Corporation PXI Modular Instrumentation

33 六、常见的VISA数据类型 ViUInt8 8位无符号整型 ViPUInt8 8位无符号整型指针 ViUInt16 16位无符号整型
16位无符号整型指针 ViUInt32 32位无符号整型 ViPUInt32 32位无符号整型指针 ViUInt64 64位无符号整型 ViPUInt64 64位无符号整型指针 ViObject VISA对象类型 ViPObject VISA对象类型指针 ViSession 资源句柄类型 ViPSession 资源句柄类型指针 ViStatus VISA状态值类型 ViPStatus VISA状态值类型指针 ViHndlr 操作句柄类型 ViPHndlr 操作句柄类型指针 数据类型 数据类型描述 © National Instruments Corporation PXI Modular Instrumentation

34 6.4 虚拟仪器软件结构VISA 重点 七、 VISA函数
虚拟仪器软件设计中主要涉及到三类VISA函数:资源配置类、数据I/O类和事件处理类。 1)资源配置类函数 资源配置类函数包括资源管理器的打开与关闭、仪器资源的打开与关闭和资源属性的设置与查询。 © National Instruments Corporation PXI Modular Instrumentation

35 1)主要配置类函数 函数名称 函数功能 viOpenDefaultRM 打开VISA资源管理器 viFindRsrc
按照指定的表达式查找仪器 viFindNext 获取下一个找到的仪器的描述符 viOpen 打开指定的仪器 viClose 关闭指定的仪器或资源管理器 viGetAttribute 获取VISA对象属性 viSetAttribute 设置VISA对象属性 © National Instruments Corporation PXI Modular Instrumentation

36 2)数据I/O类函数 由于VXI总线仪器分寄存器基仪器和消息基仪器,数据I/O类函数也分为寄存器基数据I/O函数和消息基数据I/O函数。寄存器基数据I/O函数视仪器数据总线宽度的不同又包括8位读写、16位读写和32位读写函数;消息基数据I/O函数主要有读函数、写函数和询问函数(写入命令后读取执行结果)。 © National Instruments Corporation PXI Modular Instrumentation

37 2)数据I/O类函数列表 函数名称 函数功能 viIn8(16/32) 8 (16/32)位寄存器基读 viOut8 (16/32)
8 (16/32)位寄存器基写 viWrite 同步写数据(串行或消息基) viRead 同步读数据(串行或消息基) viWriteAsync 异步写数据(串行或消息基) viReadAsync 异步读数据(串行或消息基) viPrintf 消息基写 viScanf 消息基读 viQueryf 消息基询问 © National Instruments Corporation PXI Modular Instrumentation

38 6.4 虚拟仪器软件结构VISA 同步操作与异步操作 同步操作:函数在硬件操作完成后才能返回。硬件操作需要多长时间,则函数就等待多长。
硬件操作有问题可能引起函数无法返回而导致死机。 异步操作:函数在调用后直接返回,而不管硬件操作是否完成后。程序需要有检测硬件操作是否完成的代码。 对不同仪器,可能发生后面写的数据比前面写的数据先到达的情况。 © National Instruments Corporation PXI Modular Instrumentation

39 6.4 虚拟仪器软件结构VISA 3)事件处理类函数
事件是需要在应用程序中加以特别注意的特殊情况。事件类型包括服务请求(SRQs)、中断和硬件触发。处理事件的方法有回调函数法和排队法两种。 © National Instruments Corporation PXI Modular Instrumentation

40 6.4 虚拟仪器软件结构VISA 处理事件的方法 回调函数法:事件加载一个回调函数句柄,并使能事件。这样,当已经安装了句柄的事件发生的时候,所指定的回调函数就会被调用。涉及到的VISA函数有加载/卸载回调函数、使能/禁止事件。 排队法:使能事件,并等待事件的发生。这样,程序的执行就会暂时中断,直到指定的事件发生或者超出设定的等待超时时间。涉及到的VISA函数有使能/禁止事件、等待事件。 © National Instruments Corporation PXI Modular Instrumentation

41 事件函数列表 函数名称 函数功能 viInstallHandler 为事件加载回调函数 viUninstallHandler 卸载回调函数
viEnableEvent 使能事件 viDisableEvent 禁止事件 viWaitOnEvent 等待事件发生 © National Instruments Corporation PXI Modular Instrumentation

42 6.4 虚拟仪器软件结构VISA 八、用VISA操作仪器的步骤 1、打开VISA资源管理器句柄。
用到的函数:viOpenDefaultRM; 2、打开仪器句柄。 用到的函数:viFindRsrc、viFindNext、viOpen等; © National Instruments Corporation PXI Modular Instrumentation

43 6.4 虚拟仪器软件结构VISA 操作步骤 2 3、设置仪器状态、控制仪器操作、读取测量数据、处理仪器事件。
用到的函数: viGetAttribute、viSetAttribute、viIn16、viOut16、viPrintf、viScanf、viInstallHandler、viUninstallHandler、viEnableEvent、viDisableEvent、viWaitOnEvent等; © National Instruments Corporation PXI Modular Instrumentation

44 6.4 虚拟仪器软件结构VISA 操作步骤 3 4、释放仪器句柄。 用到的函数:viClose; 5、释放VISA资源管理器句柄。
© National Instruments Corporation PXI Modular Instrumentation

45 6.5 仪器驱动程序开发 一、仪器驱动程序的由来 在设计、组建自动测试系统中,仪器的编程是一个系统中最费时费力的部分。
系统中的仪器可能由各个仪器供应厂家提供,而且系统设计人员对所有的仪器既需要完成底层的仪器I/O操作,又需要完成高层的仪器交互能力,这大大增加了系统集成人员的负担。 2017/3/22

46 6.5 仪器驱动程序开发 仪器驱动程序是一套可被用户调用的子程序,利用它就不必了解每个仪器的编程协议和具体编程步骤,只需调用相应的一些函数就可以完成对仪器各种功能的操作。 VPP规范中的VPP3.1--VPP3.4详细地规定了符合VXI总线即插即用规范的虚拟仪器系统的仪器驱动程序的结构与设计。 2017/3/22

47 6.5 仪器驱动程序开发 二、仪器驱动程序的结构模型
VPP规范对仪器驱动程序的要求不仅适用于VXI仪器,也同样适用于GPIB仪器、PXI仪器、串行口仪器。 二个结构模型: 外部接口模型 内部设计模型 2017/3/22

48 1、外部接口模型 表示仪器驱动程序与外部系统软件的接口。 (1)函数体 :是仪器驱动程序的主体,是仪器驱动程序的实际源代码。 交互式开发接口
编程式开发接口 表示仪器驱动程序与外部系统软件的接口。 (1)函数体 :是仪器驱动程序的主体,是仪器驱动程序的实际源代码。 2017/3/22

49 1、外部接口模型 (2)I/O接口:仪器驱动程序通过这个接口调用VISA这一标准的I/O接口程序库,从而解决了仪器驱动程序与仪器的通信问题。
交互式开发接口 编程式开发接口 2017/3/22

50 1、外部接口模型 (3)子程序接口:为仪器驱动程序调用其它软件模块(如数据库、FFT等软件)而提供的软件接口。 交互式开发接口
编程式开发接口 (3)子程序接口:为仪器驱动程序调用其它软件模块(如数据库、FFT等软件)而提供的软件接口。 2017/3/22

51 1、外部接口模型 交互式开发接口 编程式开发接口
(4)编程式接口:是应用程序调用仪器驱动程序的软件接口,通过这个接口可以方便地调用仪器驱动程序中定义的所有功能函数。不同的应用程序开发环境,将有不同的软件接口。 2017/3/22

52 1、外部接口模型 交互式开发接口 编程式开发接口
(5)交互式接口:通常是一个图形化的功能面板,用户可以利用这个图形接口管理各种功能函数、改变每一个功能调用的参数值。它是编程式开发者接口的增强。 2017/3/22

53 1、外部接口模型 交互式接口实质是函数面板文件,是对仪器驱动程序的图形化描述。 2017/3/22

54 二、内部设计模型 定义了仪器驱动程序函数体的内部结构。 源代码根据此模型来编写。 交互式开发接口 编程式开发接口
第一部分是一组部件函数,它们是一些控制仪器特定功能的软件模块,包括初始化、配置、作用/状态、数据、实用和关闭功能 2017/3/22

55 第二部分是一组应用函数,它们通常是一些可以实现完整的测试和测量操作的高级函数。
2017/3/22

56 第一部分是一组部件函数,它们是一些控制仪器特定功能的软件模块,包括初始化、配置、作用/状态、数据、实用和关闭功能。
内部模型2部分 第一部分是一组部件函数,它们是一些控制仪器特定功能的软件模块,包括初始化、配置、作用/状态、数据、实用和关闭功能。 第二部分是一组应用函数,它们通常是一些可以实现完整的测试和测量操作的高级函数。 2017/3/22

57 1、部件函数 交互式开发接口 编程式开发接口 (1)初始化函数
访问仪器驱动程序时调用的第一个函数,也可以执行一些必要的操作,使仪器处于默认的上电状态或其它特定状态。 2017/3/22

58 配置函数是一些软件程序,它对仪器进行配置,以便执行所希望的操作。
交互式开发接口 编程式开发接口 (2)配置函数 配置函数是一些软件程序,它对仪器进行配置,以便执行所希望的操作。 2017/3/22

59 1、部件函数2 交互式开发接口 编程式开发接口 (3)作用/状态函数
该函数使仪器执行一项操作或者报告正在执行或已挂起的操作的状态。这些操作包括激活触发系统、激励输出信号或报告测量结果。 2017/3/22

60 交互式开发接口 编程式开发接口 (4)数据函数 用来从仪器取回数据或向仪器发送数据。 2017/3/22

61 1、部件函数3 交互式开发接口 编程式开发接口 (5)实用函数
该函数包括许多标准的仪器操作,如复位、自检、错误查询、错误处理、驱动程序的版本及仪器硬件版本查询等,也可以包括开发者自己定义的仪器驱动程序函数,如校准、存储等。 2017/3/22

62 该函数是最后调用的,它关闭仪器与软件的连接,并释放相应的资源。
交互式开发接口 编程式开发接口 (6)关闭函数 该函数是最后调用的,它关闭仪器与软件的连接,并释放相应的资源。 2017/3/22

63 6.5 仪器驱动程序开发 三、应用函数 应用函数是一组面向测试任务的高级函数。
在大部分情况下,这些函数通过配置、触发和从仪器读取数据来完成整个测试操作。 应用函数本身是基于部件函数之上的,但不能调用部件函数中的初始化和关闭函数。 2017/3/22


Download ppt "复习 一、优先中断总线 1、中断器、中断管理器 2、VME总线最多可以有七级中断 3、中断应答链路 4、中断响应过程 2017/3/22."

Similar presentations


Ads by Google