电 话:0571-87755736
手 机:17767145073
地 址:浙江省杭州市西湖区文三路478号华星时代广场A座802
 
SSI信号采集与模拟 您当前的位置:网站首页 / 数据采集产品 / SSI信号采集与模拟 /
PCI接口的4路SSI数据采集
发布时间:2017-04-11 16:10 访问次数:

一、 概述

   SSI 信号 PCI 数据采集卡是一种对外部传感器输入的 SSI编码信号进行采集,并通过计算机 PCI 接口将数据传输给计算机的板卡采集系统。SSI 信号 PCI 采集卡可直接插在个人计算机或工业控制计算机的任一 PCI 插槽中,即插即用,安装、使用方便,程序编制简单,已广泛应用于工业过程控制系统以及实验室数据采集系统。
   Synchronous Serial Interface (简称 SSI) 是一种同步串行接口。SSI 信号对噪音的抗干扰性极高,最远距离可达 500m。SSI 传感器已广泛应用于冶金设备、工程机械、港口机械、新能源以及其他工业自动化领域。
   数据采集是数字信号处理中非常重要的环节,很多工业上的测量控制的应用中,需要把各种传感器信号集中采集到个人计算机或工业控制计算机上,而其最常使用的接口是外设组件互连标准(Peripheral Component Interconnection 简称PCI)总线接口。近年来越来越多的应用需要直接把 SSI 接口的传感器连接到工业控制计算机,实现多种传感器集中式采集进行对多种外部设备的反馈控制。本产品正是在这一需求背景下设计的。



二、 产品特征

1. 提供对 4 路 SSI 信号的同时采样;
2. 数据格式:任意位(最多 31 位)二进制或格雷码的 SSI数据格式,数据位数可通过上位机软件设置;
3. 可以通过上位机编程为采集卡设置唯一的 ID 号,出厂日期等信息,掉电后这些信息仍然保存;
4. 直接插于计算机 PCI 插槽中,即插即用;
5. 无需外部电源;
6. 任意时刻采集的数据都是实时更新的;
7. 提供 WindowsNT/2000/XP/Win7/Win8 下的多种语言的驱动;支持 32 位以及 64 位系统;
8. 提供 DLL 链接库和 API 函数调用说明;
9. 提供在 VC/VB 环境下的开发示例程序。

三、 接口电气连接

   SSI 信号定义为两对差分传输信号,一对是时钟信号:CLK+,CLK-,一路是数据信号,DATA+,DATA-。本产品共提供四路 SSI 信号采集接口,经由一个 DB25 接口和一个DB9 接口与外部传感器进行连接。
   DB9 输入输出插座接口的电气连接图如下所示(注意,下图中信号自上而下的顺序和板子正向放置时候的信号顺序一致):



   第一路 SSI 信号可以从 DB9 接口输入输出,也可以从DB25 接口输入输出。第二路,第三路,第四路 SSI 信号从DB25 接口输入输出。
   DB25 输入输出插座接口的电气连接图如下所示(注意,下图中信号自上而下的顺序和板子正向放置时候的信号顺序一致):



四、 驱动程序安装

   本卡的安装十分简便,关掉电源,将主机壳盖打开,将本卡插入主机的任何一个空余 PCI 扩展槽中,再将挡板固定螺丝压紧,然后接入传感器等外接设备,随后便可打开主机电源。
 

安装注意事项

1. 为了防止静电或过流对本卡造成损坏,在安装或用手触摸本卡时,应事先将人体所带静电荷对地放掉,同时应避免直接用手接触器件管脚,以免损坏器件。
2. 禁止带电插拔本接口卡。安装接口设备等操作均应在关电状态下进行。
3. 应避免输出端对地短路。驱动与演示程序
4. 将本卡插入计算机 PCI 扩展槽中,启动机器
5. 当计算机提示发现新硬件并提示需要驱动程序时,指向所要的驱动文件,安装成功后,在设备管理器的 PCI D
evelop Cards 中看到“PDC1000 Card”。



6. 安装完成硬件设备后,打开演示程序,SSI 采集卡演示程序里的接口传感器数据会随着外部传感器距离的变化而变化,如下图所示:



五、 函数模块调用说明

DLL 函数说明

1. 连接设备函数:HANDLE ConnectToDev();
   函数描述:连接设备,无输入参数,返回打开设备的句柄。调用者可根据返回值是否为 NULL 判断,是否成功打开。
2. 关闭设备函数:int DisConnectToDev(const HANDLEhDev);
   函数描述:传入设备句柄,关闭设备。返回值表明是否正常关闭,可不用。正常为 TRUE。
3. 写入数据函数 writeFun(hPDC1000,cTmp);
   函数描述:从计算机向采集卡写入数据。
   参数说明:hPDC1000 是连接到 pci 板子时候返回的句柄。cTmp 是一个两个字节的 char 数据,第一个字节是写入地址,第二个字节是写入数据。
     示例:
        unsigned char cTmp[2];
        cTmp[1] = 0x0;
        cTmp[0] = 0xE0;
        writeFun(hPDC1000,cTmp);
     函数完成向地址 0 的存储单元写入十六进制数 0xE0。
4. 读取数据函数 readFun(hPDC1000,&inreg);
   函数描述:从计算机向采集卡写入数据。
   参数说明:hPDC1000 是连接到 pci 板子时候返回的句柄。第二个参数是一个指向无符号字符的指针,也就是一个无符号字符的地址,读出的数据放入该地址。
     示例:
        unsigned char inreg;
        inreg = 0x50;
        readFun(hPDC1000,&inreg);
        read_out = inreg;

写入和读取数据定义

1. PCI 芯片与 FPGA 通信自检
   请将任意数据依次写入地址 0 至地址 6 共 7 个地址中,
然后再从上述地址中读出数据,与写入数据进行对比,若一
致,表示自检成功,若错误,表示 PCI 芯片和 FPGA 通信有
问题。
2. SSI 信号数据位宽设置
   通过向对应地址写入设置的数据位宽,来设置不同路 SSI口的数据位宽。第一路至第四路的地址分别为 16,17,18,19。
3. SSI 信号数据读取
   通过从对应地址读取不同路传感器的数据。第一路传感器从最低 8 位,次低 8 位,次高 8 位,最高 8 位的读取地址为 200,201,202,203,第二路的读取地址依次为 204,205,206,207,第三路读取地址依次为 208,209,210,211,第四路读取地址依次为 212,213,214,215。
4. 传感器采样速率控制
   通过地址 7 位寄存器 SSI_instruction[7:0](地址为 7)中写入数据实现,其中每一位的意义如下。
   SSI_instruction[3:0]=4’b0001 时 选择速率 A=2
   SSI_instruction[3:0]=4’b0010 时 选择速率 A=3
   SSI_instruction[3:0]=4’b0100 时 选择速率 A=4
   SSI_instruction[3:0]=4’b1000 时 选择速率 A=6
   其他时,选择速率 A=5
   真正采样速率为:系统晶振频率除以 2 的 A 次方。
5. 传感器采样复位
   SSI_instruction[7:4] 用来对四路传感器进行复位,正常时该 4 位均为 0,若要复位传感器,则设置相应位数,其中SSI_instruction[4]对应第一路传感器,SSI_instruction[5]对应第二 路 传 感 器 , SSI_instruction[6] 对 应 第 三 路 传 感 器 ,SSI_instruction[7]对应第四路传感器。
6. 采集卡 ID 与出厂日期设置
   通过往不同地址的寄存器写入数据,设置采集卡出厂日期。对应的写入地址为:
   写年份  136
   写月份  137
   写日期  138
   写 ID1  139
   写 ID2  140
   写 ID3  141
   写 ID4  142
   注意:此时写入到存储器,而非 fpga,为了使 fpga 和 93c46同步,需要先往 135 地址里面写入 1,再写入 0,两步写入操作需要间隔 1 秒钟。
   通过从不同地址的传感器读取数据,可以读出采集卡的ID 和出厂日期信息,对应的读取地址依次为:
   年份  80
   月份  81
   日期  82
   板子 ID0  83
   板子 ID1  84
   板子 ID2  85
   板子 ID3  86
   板子 ID4  87

六、 常见故障排除

1. 连接板卡自检:若无法连接或连接后读数据死机,请检查 (1) PCI9052左侧的EEPROM已坏或者里面内容
为空/错误;(2) 板上晶振是否工作正常;(3) 通过观察 FPGA 工作指示灯检查 FPGA 是否已经正常启动。9
2. PCI 芯片与 FPGA 通信自检:请将任意数据依次写入地址 0 至地址 6 共 7 个地址中,然后再从上述地址中读出数据,与写入数据进行对比,若一致,表示自检成功,若错误,表示 PCI 芯片和 FPGA 通信有问题。
3. 传感器数据采集状态检测:该功能通过从地址 7 读出寄存器 SSI_status[7:0]判断四路传感器的状态,其中SSI_status[1:0]对应第一路传感器,SSI_status[3:2]对应第二路传感器,SSI_status[5:4]对应第三路传感器,SSI_status[7:6]对应第四路传感器。对每路传感器的两个比特,01 表示数据为全 0,10 表示数据为全 1,11表示正常。

下一篇:没有了 上一篇:基于USB的8路SSI数据采集卡
Copyright © 2014 杭州钛比科技有限公司. All Rights Reserved. 浙ICP备16003817号  电话:0571-87755736 17767145073
技术支持:杭州钛比科技