MP424 原理说明 二、原理说明 简介 MP424采用USB2.0接口,控制接口采用Cypress 公司的CY68013芯片,提供13M Byte/s的高速通讯速率。AD部分接口采用GPIF与FIFO接口,数据自动传输、无需板上CPU干预,内部数据传输速率可以达到20M Byte/s。采用大规模门阵列:20万门FPGA设计,就有更高的稳定性及功能扩充能力。 AD转换器采用4片12位AD并行工作,支持最大速度1000KHz/通道的连续采集。采集信号连续存储在PC内存中,最大支持512M采样点/通道(需要2G的额外PC内存)。通过修改DLL库,可以支持更大的采样长度(前提是PC具有足够的内存)。用户可以在采样过程中查询采样状态,如:已经采集的数据长度,内存是否溢出,同时可以随时停止采样。采样结束后,可以分批读出采样数据。采样启东可以由软件或外部硬件触发启动。 MP424开关量提供2个8位I/O口:8输入/8输出。输出上电自动清零。 注:采样过程中,不支持读出数据,因为MP424全速采样时已经占用过多资源,无法同时处理数据读出。 原理框图: CH0 4路 CACHE CH1 12位AD FPGA CH2 USB 2.0接口 USB控制 CH3 触发输入 8路DI 电源管理 8路DO BUFFER 8 www.wwlab.com.cn MP424 原理说明 模拟输入及AD数据计算 模拟输入 MP424具有4路单端模拟输入,输入阻抗1兆欧姆,每个通道可以独立通过函数MP424_AD_Gain设置输入范围5或±5伏。输入具有过压保护,可以承受瞬时±20伏的电压。 注:单端输入指:输入为一条输入信号线,信号输入电平幅度相对于地线为参考。 自动校正 MP424采用自动校正技术,用户通过调用MP424_AD_Cal函数对4个输入通道进行校正操作。注意:在上电后,用户必须进行一次MP424_AD_Cal操作,否则转换数据误差将极大。建议用户每间隔60-120分钟进行一次MP424_AD_Cal操作,以自动减小零点及增益误差。 AD转换数据格式与计算 AD采样的数据按从通道0开始到通道3结束的通道扫描顺序,循环存放,如下: Ch0, ch1 ,ch2 , ch3 ……. Ch0,ch1, ch2,ch3,……结束 MP424函数在将数据发送给客户时已经按照顺序将数据存放到客户指定的数组中了(32位长整形,其中低16位为AD采样结果)。 MP424采用DAfifo(动态异步缓存)接口,容量为512K word。采样数据不断的写入FIFO中,GPIF接口与PC的BULK READ指令自动保持FIFO中的数据不超过512K,当发生读入数据操作时,GPIF接口自动将FIFO中所有的数据传输到计算机中。如果没有及时读出数据,FIFO将溢出,数据队列顺序会打乱(新进入的数据将冲掉最先写入的数据)。如果出现FIFO溢出,只能靠提高计算机速度或降低采样速度或扩大存储器容量来弥补。 用户在应用MP424_AD_Poll函数判断转换结束后,调用MP424_AD_Stop停止采样,然后调用MP424_AD_Read函数顺序读出采样数据,每次读出的长度(每通道的长度)用户可以软件指定,所有读出调用指定长度的和应该小于采样长度(每通道的长度)。用户可以通过调用MP424_AD_ReadEnd函数中止读入操作。注意:每次用户完成读入操作后,必须进行一次中止读入操作调用,以释放MP424采样时占用的内存空间。 数据格式:每4组读出数据data的低16位(D15-D0)对应输入通道0-3号有效数据,定义如下: 通道0(ch0) D15 AD11 D14 AD10 D13 AD9 D12 AD8 D11 AD7 D10 AD6 D9 AD5 D8 AD4 D7 AD3 D6 AD2 D5 AD1 D4 AD0 D3 DI1 D2 DI0 D1 0 D0 0 9 www.wwlab.com.cn MP424 原理说明 通道1(ch1) D15 AD11 D14 AD10 D13 AD9 D12 AD8 D11 AD7 D10 AD6 D9 AD5 D8 AD4 D7 AD3 D6 AD2 D5 AD1 D4 AD0 D3 DI3 D2 DI2 D1 0 D0 1 通道2(ch2) D15 AD11 D14 AD10 D13 AD9 D12 AD8 D11 AD7 D10 AD6 D9 AD5 D8 AD4 D7 AD3 D6 AD2 D5 AD1 D4 AD0 D3 DI5 D2 DI4 D1 1 D0 0 通道3(ch3) D15 AD11 D14 AD10 D13 AD9 D12 AD8 D11 AD7 D10 AD6 D9 AD5 D8 AD4 D7 AD3 D6 AD2 D5 AD1 D4 AD0 D3 DI7 D2 DI6 D1 1 D0 1 - - - 12位转换数addata范围为0 ~ 4096,对应电压计算: 设:addata=16位读出数据data/16(注意:16位数据高12位有效)。电压计算方法: 电压0-5伏输入: V=addata*5000.0/4095.0 (mV) 电压±5伏输入: V=(addata-2048)*5000.0/2048.0 (mV) D15-D0:16位数据的从高到低位。 AD11-AD0:12位采样数据,(MSB - LSB)。 DI7-DI0:开关量输入通道7-0号。 附加功能: 开关量记录功能: MP424的读出数据data的D3、D2位标志了开关量输入通道的状态,由于每次AD转换得到4组结果(通道0-3号),因此可以记录8个输入通道的状态,速度与采样速度相同。利用这些标志用户可以完成如下功能: ? 充当开关量信号的实时状态记录及采集 标志信号随AD数据一同提供给客户,因此可以在处理或纪录模拟信号的同时对8路标志信号进行处理。 ? 测量信号的频率、周期及相关时间参数。 由于标志信号的采集频率或时间间隔与AD同步,因此如果用户应用内部时钟进行采样时,同时精确的纪录了标志信号。。用户可以通过计算有效标志信号的之间的点数来确定时间间隔 10 www.wwlab.com.cn MP424 原理说明 时间间隔=点数 X AD的采样周期。 例如:采样周期=1uS,标志位在n=100时由0变为1,并在m=1000时变为0。因此:信号的正脉冲时间=1uS x (m-n) = 1 x 900 = 900uS。 通道标志 通道0-3号采样数据data的低2位分别为:0、1、2、3 (低2位计算 chn= data 逻辑与 3),因此可以作为通道顺序判断标志,判断采样数据的顺序是否正常。 AD采样的工作模式 MP424具有多种模式,如下: 1. 2. MP424的启动模式为:软件启动/外部触发启动。 外部触发启动可以选择上升或下降边沿启动。 定时器 MP424的AD启动转换时钟由板上16位定时器控制,MP424_AD_Run()函数的。内部定时器输入基准时钟为20MHz,周期为50ns(0.05uS),位数:16位。定时器数据由MP424_AD_Run()函数的tdata变量(范围20-65535)设置。定时器为减法计数器,当由用户设置数值tdata减到1时,发出启动脉冲并自动将定时器数据重新设置为tdata。每次启动,MP424自动同时启动4路AD。 16位数据取值(tdata):20-65535,对应:,由此转换周期为:1uS ~ 3276uS。 转换周期 T=0.05*tdata(uS) (设置的16位定时器数据=tdata) 转换频率 f=20000/tdata (KHz) 最小转换周期为1uS (tdata=20),最大周期:3276uS (tdata=65535) 相应的每通道转换频率或速度为: f=20000/tdata (KHz) tdata:16位定时器数据。 外部触发 MP424的启动或触发控制分为二种:软件启动/外部硬件触发,由MP424_AD_Run()函数的trsl位控制,trsl=0:选择软件触发启动/trsl=1:选择外部硬件触发启动。硬件触发的极性可以由设置trpol=0/trpol=1选择为:上升边沿/下降边沿触发。外部触发输入为数字电平输入。 软件启动:指用户发出启动命令后转换自动开始,直到用户发出停止命令而结束。 硬件触发启动:指用户发出启动命令后,当一个有效的触发到来后AD才开始工作。 11 www.wwlab.com.cn