触发方式       软件触发、前触发、后触发、中触发与延时触发
数据传输方式   DMA方式
时钟源         内部时钟、外部数字时钟、外部正弦波。
内部时钟频率   可编程选择40MHz / n (n=2、4、6、8.. .256)
  图 3.3
3.3.2 数据采集卡驱动程序设计
在编写数据采集卡程序时,先要引用数据采集卡的头文件和库文件,其截图如下:
 
             图3.4头文件和库文件截图
数据采集卡的程序主要是对数据采集卡的初始化,设定数据采集模式,读取采集文件和将文件存在指定文件和释放。部分程序设计如下:
#include <conio.h>
#include "dask.h"

U16 channel=3;  //4 channels
U16 range=AD_B_1_V;
char *file_name="9812d";
U32 read_count=400000;
F64 sample_rate=10000000;

main()
{
    I16 card, err, card_num;

    printf("This program inputs %d data from CH-0 to CH-%d of PCI-9812 in %d Hz, and\nstore data to file '%s.dat'.\nPlease press any key to start the operation.\n", read_count, channel, (int)sample_rate, file_name);
    printf("Please input a card number: ");
    scanf(" %d", &card_num);
    //getch();
    if ((card=Register_Card (PCI_9812, card_num)) <0 ) {
        printf("Register_Card error=%d\n", card);
        exit(1);
    }
    err = AI_9812_Config(card, P9812_TRGMOD_SOFT, P9812_TRGSRC_CH0, P9812_TRGSLP_POS, P9812_AD2_GT_PCI|P9812_CLKSRC_INT, 0x80, 0);
    if (err!=0) {
       printf("AI_9812_Config error=%d", err);
       exit(1);
    }
    err = AI_AsyncDblBufferMode(card, 0);
    if (err!=0) {
       printf("AI_DblBufferMode error=%d", err);
       exit(1);
    }
    err = AI_ContScanChannelsToFile(card, channel, range, file_name, read_count, sample_rate, SYNCH_OP);
    if (err!=0) {
       printf("AI_ContReadChannel error=%d", err);
       exit(1);
    }
    Release_Card(card);
    printf("\n\nThe input data is already stored in file '%s.dat'.\n", file_name);
    printf("\nPress ENTER to exit the program. "); getch();
}
在程序设计中,以上步骤被不断调用使用使用过后释放在初始化使用。
3.4 网络通信模块程序设计
3.4.1 网口通信模块
在网口通信模块,程序的编写主要基于UDP的网络应用程序的编写。在本设计中网络通信使用线程通信,主要编辑服务器端程序和客户端程序。在终端软件发送指令到电路板上时,操控端作为客户端,执行端作为服务器端,当操作端回馈指令时,执行端又作为客户端,操控端作为服务器端。所以在终端软件上要同时包含服务器端程序和客户端程序。
(1) 服务器端程序
先要关闭先前工作区,建立新的工程选择Win32 Console Application类型,工程名为UdpSrv。并在应用程序创建向导的第一步选择:An empty project选项,创建一个新的工程。接着利用【文件/新建】菜单命令添加一个C++源文件:UdpSrv.cpp,然后在此文件中添加实现基于UDP的服务器端程序的代码。
上一篇:ARM嵌入式系统的数据采集传输系统研究+源程序
下一篇:有限元方法在波导计算的应用仿真

基于VC的分层AltaRica故障建模和分析

单片机的环境参数检测仪的设计+电路图

STC89C51单片机便携式环境检...

Matlab离散时间网络化控制系统故障检测策略

MATLAB动车组转向架轴承故障的分析与诊断仿真

MATLAB重载货运列车滚动轴承故障振动信号分析

国产ELF系列CPLD开发板设计...

中国古代秘书擅权的发展和恶变

拉力采集上位机软件开发任务书

浅谈新形势下妇产科护理...

辩护律师的作证义务和保...

《醉青春》导演作品阐述

谷度酒庄消费者回访调查问卷表

多元化刑事简易程序构建探讨【9365字】

国内外无刷直流电动机研究现状

高校网球场馆运营管理初探【1805字】

浅谈传统人文精神茬大學...