基于PCI1721的信号测试设计
摘要:为提高训练效果,仿真训练系统中需进行信号波形测试。在介绍PCI1721板卡基本功能及主要特点的基础上,介绍了VB编程结合PCI1 721总线扩展实现信号产生的方法,给出了信号产生软件实现的基本方法、PCI1721实现多通道输出的方法以及VRML和VB交互的实现方法,便于以后功能扩展。为保证输出波形满足要求,实现脉冲信号、视频信号、检波信号等模拟信号的选择输出,设计了整形电路。这样既可以实现虚拟测试又可以实现真正测试。
关键词:仿真系统:信号测试;总线扩展;整形电路
在电子设备模拟仿真系统中需要产生关键点的波形,供训练者测试使用,以提高模拟系统的仿真度。通常情况下模拟仿真系统由计算机和仿真机柜组成,如果在仿真机柜内部单独设计信号产生器,无疑会增加仿真系统研制难度与成本。本文介绍一种采用VB编程结合PCI1721总线扩展实现波形测试的方法,实现的思路是对虚拟模型设置传感器节点,与VB进行交互,通过虚拟模型的传感器节点,进行波形虚拟测试,通过VB编程控制控制PCI1721输出.配以整形电路,实现真正的波形测试。
1 PCI1721简介
PCI1721是一款高性能的PCI模拟量输出卡,每个模拟量输出通道都带有一个12位的双缓冲器DAC,具有许多强大的独特功能,比如最大更新速率为10 MHz的波形输出功能、自动校准功能和板卡ID等。
1.1 板卡基本功能
板卡的基本功能如下:
1)自动校准功能
PCI1721通过使用校准程序可以提供自动校准功能。PCI1721内建的校准电路对模拟量输出通道中的增益和偏移误差进行修正,无须调整外部设备和用户设置。
2)PCI总线数据传输
PCI1721支持PCI总线DMA功能用于高速数据传输和无间隔的模拟量输出。通过设置PC的内存,PCI1721可执行总线数据传输,而不需要CPU的干预,可使CPU去执行其它更重要的工作,比如:数据分析和图形操作。这种功能允许用户全速使用所有I/O功能且不丢失数据。
3)系统重启动后保持输出值
用户可以单独将4个通道的输出设为不同的范围:0~+5 V、0~+10 V、±5 V、±10 V、0~20 mA或4~20 mA,所有范围都可以通过软件进行选择。当系统热重启动(电源不关闭)时,根据跳线设置,PCI1721能够保持上一次的模拟量输出设置或输出值,或者返回到默认配置。这种特有的功能能够避免在系统意外重启动过程中的误操作带来的危险。
4)板卡ID
PCI1721带有一个DIP拨码开关,当计算机机箱中安装了多块PCI1721板卡时,可使用此开关来定义每个板卡的ID。当用户使用多块PCI17 21板卡构建自己的系统时ID设置功能将极为有用。如果板卡的ID设置正确,用户就可以很方便地在硬件配置和软件编程过程中区分和访问每块板卡。
5)卡上FIFO(先入先出)存储器
PCI1721卡上提供了FIFO(先入先出)存储器,可存储1 kb的D/A转换值。
6)可编程定时器/计数器
PCI1721提供了可编程的定时器和计数器.用于为D/A变换提供触发脉冲。定时器/计数器芯片为82C54,含有3个16位10 MHz时钟。其中有一个计数器作为事件计数器,用来对输入通道的事件进行计数。另外两个计数器级连在一起,用作脉冲触发的32位定时器。
7)波形模拟量输出
PCI1721提供4路模拟量输出通道。它们均可产生连续的波形输出,对一个模拟量输出通道可产生每秒10 ms的数据输出,用户也可以对波形数据存储在卡上的FIFO中,这样可以产生循环的波形输出。PCI1721卡上的FIFO可以存储2到1 024个波形采样。
1.2 板卡主要特点
板卡的主要特点如下:
1)10 MHz最大数字更新速率
2)PCI总线数据传输
3)自动校准功能
4)4路模拟量输出,带1k FIFO
5)每个模拟量输出通道带一个12位DAC
6)内部/外部触发的实时波形输出
7)同步输出功能
8)灵活的输入类型和范围设定
9)系统重启动后保持输出设置和输出值
10)16路D10和1个10 MHz 16位分辨率计数器
11)板卡ID
2 软件设计
2.1 软件实现的基本方法
在模拟仿真系统中,对所要实现波形测试的模型(如面板上的测试点),加入接触传感器TouchSensor节点。接触传感器的作用是检测用户基于指点设备(主要是鼠标)的动作,并将其转换为各种事件输出。在软件中当接触传感器检测到的鼠标双击动作,则用Script节点传送一个字符串到一个脚本文件中。在这个脚本文件中,在注册表中新建了一个注册表项,Setipt节点传送过来的字符串,写入该注册表项,以供VB来读取。
通过VB来编写PCI-1721板卡产生波形代码。在写波形代码时,先对所要产生的信号进行测试,确定信号的格式与参数。在编写程序时,先将PCI1721板卡的驱动、事件等模块添加到程序中。在VB主程序中,根据信号格式,用V
- msp430f2272控制1602LCD(12-02)
- avr单片机驱动max7219的程序(12-01)
- 51单片机+MAX7219数码管显示C程序(11-30)
- MX7219控制led显示c程序(11-23)
- atmega16控制MAX7219在数码管显示(11-23)
- ARM7 2131 BEEP程序分析(11-21)