数据采集模块应用手册
英创信息技术有限公司
ETA108数据采集模块应用手册V1.2
感谢您购买英创信息技术有限公司的产品:ETA108数据采集模块。
您可以访问英创公司网站或直接与英创公司联系以获得ETA108的其他相关资料。
英创信息技术有限公司联系方式如下:地址:成都市高新区高朋大道5号博士创业园邮编:610041联系电话:028-86180660传真:028-85141028网址:电子邮件:support@
1 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2
1、ETA108简介 ETA108是英创公司推出的一款低成本高性能的AD采集模块,相比英创公司的其他数据采集扩展模块,ETA108的一个主要特点是支持硬件周期脉冲触发AD采集,因此ETA108非常适合应用于要求高精度采样间隔的波形数据采集。
ETA108仅靠简单的4线制SPI接口与英创主板连接,最大限度的降低了ETA108的硬件成本。
其外形尺寸仅为48mm×33mm,带有坚固插针,客户可把ETA108作为独立模块,直接插入其应用底板上,快速构建客户整机产品。
ETA108波形数据采集模块可广泛应用于多通道波形记录仪、电力谐波分析、故障录波、振动信号分析、瞬态信号采集、通用数据采集等多种应用领域。
ETA108的主要性能如下: •8通道单端输入或4通道差分输入•输入量程0~4.096V•每通道具有独立的高阻抗增益放大器(PGA),可实现各种传感器之间的直接接口连接,并支持用户配置通道增益(Gain=1/2/4/8)•AD转换精度12bit•AD最高采样速度100ksps•可选择多种平均操作模式,使输出AD精度达到14bit•单5V供电
2、接口定义与电气特性 ETA108的硬件设计使得用户既能快速方便的对它进行评估,又能很好的融入用户自己的产品设计中。
用户对ETA108进行评估时,可通过带线与英创评估底板的GPIO相连,以方便进行功能评估。
在用户自己做应用底板时,ETA108可以作为一个“器件”背插在用户的应用底板上,以获得最佳的数据传输性能。
我们提供ETA108Protel形式的器件PCB封装,以方便用户layou,如果用户要将ETA108背插在自己的应用底板上,在PCB布板时,需要仔细确认ETA108封装镜像问题,以免出错。
图1是ETA108的外观示意图。
2 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 图1:ETA108布局图 ETA108使用SPI接口与英创主板连接,CN1与英创评估底板上的GPIO插座相对应,可直接与英创各系列的评估底板相连,ETA108使用了GPIO中的7位,定义如下:(如无特殊说明,PCB方孔为1脚,交错排列) CN1 表1:ETA108CN1信号定义 信号名称及简要描述 Pin GPIO EM9170/EM9161EM9160/EM9260
1 GPIO0 NC NC
2 GPIO1 NC NC
3 GPIO2 SPI_SCLK NC
4 GPIO3 SPI_MOSI NC
5 GPIO4 SPI_CS# NC
6 GPIO5 SPI_MISO NC
7 GPIO6 NC NC
8 GPIO7 NC SPI_CS#
9 GPIO8 M/S_SEL M/S_SEL 10 GPIO9 NC NC 11 GPIO10 RESET# RESET# 12 GPIO11 NC NC 13 GPIO12 NC SPI_MISO 14 GPIO13 PWM SPI_MOSI
3 028-86180660 英创信息技术有限公司 15
1617/1819/20 GPIO14GPIO15VCC(+5V) GND NCNCVCCGND ETA108数据采集模块应用手册V1.2 SPI_SCLKPWMVCCGND ETA108在与EM9170或EM9161相连时,使用同一组GPIO位,而与EM9160/EM9260相连时,使用另一组GPIO位。
表1中标注为NC的GPIO,表示没有使用,客户可做其它用途使用。
CN2是ETA108的模拟信号输入插座,其定义如下: 表2:ETA108CN2信号定义 信号名称及简要描述 CN2Pinpin ADCH0,模或拟差通分道通单道端0输入通道012 ADCH1,模或拟差通分道通单道端0输入通道134 ADCH2,模或拟差通分道通单道端1输入通道256 ADCH3,模或拟差通分道通单道端1输入通道378 ADCH4,模或拟差通分道通单道端2输入通道4910 ADCH5,模或拟差通分道通单道端2输入通道51112 ADCH6,模或拟差通分道通单道端3输入通道61314 ADCH7,模或拟差通分道通单道端3输入通道71516 AGND,模拟地 1718 信号名称及简要描述 AGND,模拟地AGND,模拟地AGND,模拟地AGND,模拟地AGND,模拟地AGND,模拟地AGND,模拟地AGND,模拟地AGND,模拟地 VCCA(+5V),模拟电源 1920 VCCA,模拟电源 ETA108为单电源供电模块,实际使用时仅需要为ETA108CN1的17、18脚提供+5V电压即可。
ETA108主板上对电源的处理如下图:
4 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 图2:ETA108Power JP1:PGA基准电压选择,定义如表3: 表3:ETA108JP1信号定义 Pin 信号名称及简要描述
1 1/2VREF
2 PGAREF
3 AGND 短接JP1的1-2脚,ETA108为差分输入模式,短接JP1的2-3脚,可设置ETA108工作在单端输入模式测量模式。
JP2是EM108工作模式选择跳线器,短接JP2,表示ETA108与EM9160/EM9260相连,跳开表示ETA108与EM9170或EM9161相连。
3、操作原理 ETA108是一个完整的数据采集系统,它包含了一个8通道多路选择器,每个通道具有一个连续的可编程增益放大器(PGA,G=1,2,4,8),并包含一个12bit的逐次逼时式AD转换器(SARADC)。
利用其每通道独立的高阻抗增益放大器(PGA),ETA108可单端输入和真正意义上的差分输入,并可实现各种传感器之间的直接接口连接。
3.1通道多路复用与可编程增益放大器(PGA) 图3展示了ETA108的多路复用器,可编程增益放大器和SARADC。
PGA的增益可设置为1、2、4、
8。
需要注意的是,在配置PGA增益时,要确保PGA的输出(PGAOUT)在0V与+REF之间。
+REF是ADC参考电压,ETA108的参考电压VREF=4.096V。
5 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 3.2单端应用 图3:ETA108Multiplexer、PGA、SARADC 通过通道配置寄存器(ADCCCRADDR=00hto03H)设置ETA108工作在单端模式。
在这种模式下,输入模拟信号被连接到内部PGA的INP,PGA的INN在内部连接到AGND。
PGA的参考电压需要通过跳线器JP1连接到AGND。
如图4所示。
3.3差分应用 图4:ETA108单端应用 同样的,可以通过通道配置寄存器(ADCCCRADDR=00hto03H)设置ETA108工作在差分模式。
如图
5。
CH0与CH1之间的共模信号将被抑制,仅差分信号会被PGA放大。
6 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 图5:ETA108差分应用 比如,如果在CH0与CH1之间输入如下电压,PGAOUT将会按公式
(1)输出。
PGAOUT=(INP-INN)×PGAGain+PGAREF INN2.5V2V0V INP2V2.1V0.5V 表
4 PGAREF2V2V0 PGAGain248 公式
(1) PGAOUT1V2.4V4V 另外,ETA108作为单电源供电系统,当INP-INN<0时,PGA无法输出低于地电平的电压。
在这种情况下,需要设置一个合适的PGA参考电压,以得到正确的值,通常情况下,应设置PGAREF=+1/2VREF=2.048V。
在ETA108上通过跳线器JP1设置。
3.4转换结果 调用我们提供的驱动程序,读取的转换结果是一个32bit的数据,其定义如下: Always0 Data bit31302928272625242322212019181716data00000000000000D13D12 Data AveragingChannelSE/ Bits AddressDiff bit1514131211109876543210dataD11D10D9D8D7D6D5D4D3D2D1D0 图6:ETA108转换结果 其中第0位是单端/差分标识位,第1-3位是通道地址位,第4、5位平均模式下增加的2位分
7 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 辨率,第6-17为12bit的AD数据。
理想情况下,输入电压与AD输出的12bit数据定义如下: 描述 满量程范围最小分辨率 (LSB)满量程 1/2量程1/2量程-1LSB 零 表5:理想情况下的AD转换结果 模拟量输入 数字量输出 VREFVREF/4096 二进制 十六进制 VREF-1LSBVREF/2 VREF/2-1LSB0V 111111111111100000000000011111111111000000000000 FFFF80007FFF0000 3.5平均模式 ETA108使用的AD芯片,提供了多次平均操作模式,利用这个特性,可将噪声抑制到原来的1/NumberofSamples,并能得到大于12bit分辨率的转换结果。
通过配置ADCSCR寄存器使用ETA108的平均操作功能,有快速平均和精确平均两种模式可以选择。
快速平均模式:对4,8或16次采样结果做平均,可增加AD分辨率到13bit或14bit,快速平均模式适用于输入到PGA的信号比较稳定的情况。
精确平均模式:对4,8或16次采样结果做平均,可得到比快速平均模式更精确的采样结果。
此模式在输入信号不太稳定的情况下适用。
3.6配置寄存器 ETA108包含5个可写寄存器:4个通道配置寄存器(CCR)和一个ADC系统配置寄存器(ADCSCR)。
可通过在我们提供的驱动程序中的数据结构体ADS_CONFIG的lpContrlWord成员来设置ETA108的寄存器。
对寄存器的写操作定义如下:
8 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 Notused bit31302928272625242322212019181716data×××××××××××××××× RegisterAddresses Data bit1514131211109876543210data××A3A2A1A0××D7D6D5D4D3D2D1D0 图7:寄存器写 表6:寄存器地址 REGISTER A3 A2 A1 A0 Channel0/1CCR
0 0
0 0 Channel2/3CCR
0 0
0 1 Channel4/5CCR
0 0
1 0 Channel6/7CCR
0 0
1 1 ADCSCR
0 1
0 0 D[7:6]D[5:4] D[3]D[2]D[1:0] 通道0/1CCR(Address00h)未使用通道1增益单端00:G=1(default)01:G=210:G=411:G=8通道1差分奇/偶极性0:偶(default)1:奇通道0/1单端/差分选择0:CH0/1单端输入(default)1:CH0/1差分输入通道0增益00:G=1(default)01:G=210:G=411:G=
8
9 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 D[7:6]D[5:4] D[3]D[2]D[1:0] D[7:6]D[5:4] D[3]D[2]D[1:0] D[7:6]D[5:4] 通道2/3CCR(Address01h)未使用通道3增益单端00:G=1(default)01:G=210:G=411:G=8通道3差分奇/偶极性0:偶(default)1:奇通道2/3单端/差分选择0:CH2/3单端输入(default)1:CH2/3差分输入通道2增益00:G=1(default)01:G=210:G=411:G=
8 通道4/5CCR(Address02h)未使用通道5增益单端00:G=1(default)01:G=210:G=411:G=8通道5差分奇/偶极性0:偶(default)1:奇通道4/5单端/差分选择0:CH4/5单端输入(default)1:CH4/5差分输入通道4增益00:G=1(default)01:G=210:G=411:G=
8 通道6/7CCR(Address03h)未使用通道7增益单端00:G=1(default) 10 028-86180660 英创信息技术有限公司 D[3]D[2]D[1:0] D[7:5] D[4:0] ETA108数据采集模块应用手册V1.2 01:G=210:G=411:G=8通道7差分奇/偶极性0:偶(default)1:奇通道6/7单端/差分选择0:CH6/7单端输入(default)1:CH6/7差分输入通道6增益00:G=1(default)01:G=210:G=411:G=
8 ADCSCR(Address04h)平均模式选择000:不平均(default)001:快速平均,4次采样010:快速平均,8次采样011:快速平均,16次采样100:不平均101:精确平均,4次采样110:精确平均,8次采样111:精确平均,16次采样未使用
4、软件接口 4.1驱动程序 在使用ETA108之前,需要在系统中先安装ETA108的驱动程序。
我们以CAB包的形式提供了ETA108在EM9170下的驱动程序。
CAB包的安装,可以参考《WinCE第三方驱动安装之二——CAB安装包制作》一文。
为了实现ETA108的高速数据采集,在其驱动程序中,充分利用了EM9170的高性能DMA技术,从而保证了ETA108与EM9170主板之间仅靠简单的4线制SPI接口就实现了硬件连接,同时,DMA技术的引入,也将数据采集对系统性能的影响降到最低。
考虑到实际应用,EM9170ETA108 11 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 驱动程序支持单次采样模式和连续采样模式。
在讨论两种采样模式之前,先说明一下驱动程序中的ADSConfig结构体。
ADSConfig结构体是ETA108的配置数据结构体,包含了采样率,采样长度,采样通道设置,通道寄存器配置等参数。
其定义如下: typedefstruct{ DWORDdwSamplingRate;DWORDdwSamplingLength;DWORDdwSamplingChannel;LPVOIDlpContrlWord;DWORDdwContrlWordLength;}ADS_CONFIG,*PADS_CONFIG; 在我们提供的驱动程序中,ADS_CONFIG结构体即可用为函数的输入参考,也可作为输出参 数使用,其结构体成员含义说明如下: 表7:ADS_CONFIG结构体定义 成员dwSamplingRatedwSamplingLength 定义 输入参数 输出参数 设置每个AD通道的采样率 返回总的采样率(=每通道采样率*采样通道数) 设置每个AD通道的采样长度>0:单次采样=0:连续采样 返回总的采样长度(=每通道采长度*采样通道数) dwSamplingChannel*设置需要采样的通道 返回采样的通道数 lpContrlWord 指向AD通道配置的buffer,此参数用于设置ETA108的寄存器,lpContrlWord=NULL时,系统将使用默认配置 lpContrlWord指向buffer的长dwContrlWordLength度 *dwSamplingChannel的低8bit(bit0~bit7)依次对应AD通道0~通道
7,如果要采集某个通道的数据,需要将其对应的位置为
1。
比如要采集通道
0、通道1和通道7的数据,则应设置 12 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 dwSamplingChannel=0x83。
4.2单次采样 设置dwSamplingLength>0时,ETA108工作在单次采样模式。
此模式下,启动一次AD采集,当采集完指定长度的数据后(每通道采长度*采样通道数),驱动程序将自动停止AD转换,此时可调用Read函数将转换结果读出。
配置AD采集参数启动AD采集 AD采集 No 是否完成 Yes读取转换结果 停止AD采集 图8:单次采样处理流程 4.3连续采样 设置dwSamplingLength=0时,ETA108工作在连续采样模式。
在连续采样模式下,驱动程序连续不断的进行数据采集,并大约每隔250ms通知一次应用程序(如果总采样频率大于50K,驱动程序每隔125ms通知一次应用程序),以便应用程序可将数据从驱动缓存中读出。
应用程序可从Setup函数的输出参数:ADS_CONFIG结构体的dwSamplingLength成员,得到每次可以读取的数据总长度。
13 028-86180660 英创信息技术有限公司 配置AD采集参数启动AD采集 ETA108数据采集模块应用手册V1.2 AD采集 No 是否完成 Yes(大约250ms/次) 是否停止AD采集 No读取转换结果 Yes停止AD采集 图9:连续采样处理流程 多通道连续采样模式下,应用程序从驱动中读得的AD数据是按通道依次存放的,比如应用程序同时连续采集CH1,CH2,CH5三个通道,调用在Setup()函数初始化ETA108时,返回的dwSamplingLength=300,则应用程序调用Read()函数读得的AD数据存放如下: 表8:多通道连续采样AD数据存放顺序 对应通道CH1数据 CH2数据 CH5数据 缓存 0~99 100~199 200~299 4.4接口函数 在应用程序中通过调用ActivateDeviceEx函数加载ETA108的驱动程序,相应的,通过DeactivateDevice函数卸载ETA108驱动程序。
//加载ETA108驱动程序HANDLEhETA108Device=ActivateDeviceEx(TEXT("Drivers\\ETA108"),NULL,
0,NULL);//卸载ETA108驱动程序DeactivateDevice(hETA108Device); ETA108驱动程序提供的接口函数说明如下:
(1)BOOLETA108Open()功能描述:调用CreateFile函数,打开ETA108驱动程序。
14 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 返回值:=TRUE:打开ETA108成功。
=FALSE:打开失败。
(2)BOOLSetup(PADS_CONFIGpADSConfig,PADS_CONFIGpADSConfigOut)功能描述:设置AD采集相关参数,采集通道,采样长度等。
输入参数:pADSConfig配置参数结构体指针输出参数:pADSConfigOut(详见4.1ADSConfig结构体定义)返回值:=TRUE:参数设置成功。
=FALSE:参数设置失败。
(3)BOOLStart()功能描述:启动AD采集。
返回值:=TRUE开始AD采集=FALSE启动AD采集
(4)BOOLWaitDataReady(DWORDdwTimeOut)功能描述:等待AD采集完成输入参数:dwTimeOut等待超时时间(ms),设置dwTimeOut=0时,驱动程序将自动计算一个合适的等待时间。
连续采样模式下,此函数大约250ms返回一次。
返回值:=TRUEAD采集完成,接下来可读取采集数据=FALSE等待超时,AD采集存在错误
(5)DWORDRead(LPVOIDpBuf,DWORDdwReadLength)功能描述:读取采集数据输入参数:pBuf用于存放数据的buffer。
dwReadLength要读取的数据个数(以字节计数)返回值:>0实际读取的字节数=0无采集数据=-1函数执行失败
(6)BOOL()功能描述:结束当前AD采集,此函数应与Start()函数成对出现,否则将造成内存泄露。
返回值:=TRUE函数执行成功=FALSE函数执行失败 (7)voidETA108Close() 15 028-86180660 英创信息技术有限公司 功能描述:关闭ETA108,释放相关资源 ETA108数据采集模块应用手册V1.2 16 028-86180660
您可以访问英创公司网站或直接与英创公司联系以获得ETA108的其他相关资料。
英创信息技术有限公司联系方式如下:地址:成都市高新区高朋大道5号博士创业园邮编:610041联系电话:028-86180660传真:028-85141028网址:电子邮件:support@
1 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2
1、ETA108简介 ETA108是英创公司推出的一款低成本高性能的AD采集模块,相比英创公司的其他数据采集扩展模块,ETA108的一个主要特点是支持硬件周期脉冲触发AD采集,因此ETA108非常适合应用于要求高精度采样间隔的波形数据采集。
ETA108仅靠简单的4线制SPI接口与英创主板连接,最大限度的降低了ETA108的硬件成本。
其外形尺寸仅为48mm×33mm,带有坚固插针,客户可把ETA108作为独立模块,直接插入其应用底板上,快速构建客户整机产品。
ETA108波形数据采集模块可广泛应用于多通道波形记录仪、电力谐波分析、故障录波、振动信号分析、瞬态信号采集、通用数据采集等多种应用领域。
ETA108的主要性能如下: •8通道单端输入或4通道差分输入•输入量程0~4.096V•每通道具有独立的高阻抗增益放大器(PGA),可实现各种传感器之间的直接接口连接,并支持用户配置通道增益(Gain=1/2/4/8)•AD转换精度12bit•AD最高采样速度100ksps•可选择多种平均操作模式,使输出AD精度达到14bit•单5V供电
2、接口定义与电气特性 ETA108的硬件设计使得用户既能快速方便的对它进行评估,又能很好的融入用户自己的产品设计中。
用户对ETA108进行评估时,可通过带线与英创评估底板的GPIO相连,以方便进行功能评估。
在用户自己做应用底板时,ETA108可以作为一个“器件”背插在用户的应用底板上,以获得最佳的数据传输性能。
我们提供ETA108Protel形式的器件PCB封装,以方便用户layou,如果用户要将ETA108背插在自己的应用底板上,在PCB布板时,需要仔细确认ETA108封装镜像问题,以免出错。
图1是ETA108的外观示意图。
2 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 图1:ETA108布局图 ETA108使用SPI接口与英创主板连接,CN1与英创评估底板上的GPIO插座相对应,可直接与英创各系列的评估底板相连,ETA108使用了GPIO中的7位,定义如下:(如无特殊说明,PCB方孔为1脚,交错排列) CN1 表1:ETA108CN1信号定义 信号名称及简要描述 Pin GPIO EM9170/EM9161EM9160/EM9260
1 GPIO0 NC NC
2 GPIO1 NC NC
3 GPIO2 SPI_SCLK NC
4 GPIO3 SPI_MOSI NC
5 GPIO4 SPI_CS# NC
6 GPIO5 SPI_MISO NC
7 GPIO6 NC NC
8 GPIO7 NC SPI_CS#
9 GPIO8 M/S_SEL M/S_SEL 10 GPIO9 NC NC 11 GPIO10 RESET# RESET# 12 GPIO11 NC NC 13 GPIO12 NC SPI_MISO 14 GPIO13 PWM SPI_MOSI
3 028-86180660 英创信息技术有限公司 15
1617/1819/20 GPIO14GPIO15VCC(+5V) GND NCNCVCCGND ETA108数据采集模块应用手册V1.2 SPI_SCLKPWMVCCGND ETA108在与EM9170或EM9161相连时,使用同一组GPIO位,而与EM9160/EM9260相连时,使用另一组GPIO位。
表1中标注为NC的GPIO,表示没有使用,客户可做其它用途使用。
CN2是ETA108的模拟信号输入插座,其定义如下: 表2:ETA108CN2信号定义 信号名称及简要描述 CN2Pinpin ADCH0,模或拟差通分道通单道端0输入通道012 ADCH1,模或拟差通分道通单道端0输入通道134 ADCH2,模或拟差通分道通单道端1输入通道256 ADCH3,模或拟差通分道通单道端1输入通道378 ADCH4,模或拟差通分道通单道端2输入通道4910 ADCH5,模或拟差通分道通单道端2输入通道51112 ADCH6,模或拟差通分道通单道端3输入通道61314 ADCH7,模或拟差通分道通单道端3输入通道71516 AGND,模拟地 1718 信号名称及简要描述 AGND,模拟地AGND,模拟地AGND,模拟地AGND,模拟地AGND,模拟地AGND,模拟地AGND,模拟地AGND,模拟地AGND,模拟地 VCCA(+5V),模拟电源 1920 VCCA,模拟电源 ETA108为单电源供电模块,实际使用时仅需要为ETA108CN1的17、18脚提供+5V电压即可。
ETA108主板上对电源的处理如下图:
4 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 图2:ETA108Power JP1:PGA基准电压选择,定义如表3: 表3:ETA108JP1信号定义 Pin 信号名称及简要描述
1 1/2VREF
2 PGAREF
3 AGND 短接JP1的1-2脚,ETA108为差分输入模式,短接JP1的2-3脚,可设置ETA108工作在单端输入模式测量模式。
JP2是EM108工作模式选择跳线器,短接JP2,表示ETA108与EM9160/EM9260相连,跳开表示ETA108与EM9170或EM9161相连。
3、操作原理 ETA108是一个完整的数据采集系统,它包含了一个8通道多路选择器,每个通道具有一个连续的可编程增益放大器(PGA,G=1,2,4,8),并包含一个12bit的逐次逼时式AD转换器(SARADC)。
利用其每通道独立的高阻抗增益放大器(PGA),ETA108可单端输入和真正意义上的差分输入,并可实现各种传感器之间的直接接口连接。
3.1通道多路复用与可编程增益放大器(PGA) 图3展示了ETA108的多路复用器,可编程增益放大器和SARADC。
PGA的增益可设置为1、2、4、
8。
需要注意的是,在配置PGA增益时,要确保PGA的输出(PGAOUT)在0V与+REF之间。
+REF是ADC参考电压,ETA108的参考电压VREF=4.096V。
5 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 3.2单端应用 图3:ETA108Multiplexer、PGA、SARADC 通过通道配置寄存器(ADCCCRADDR=00hto03H)设置ETA108工作在单端模式。
在这种模式下,输入模拟信号被连接到内部PGA的INP,PGA的INN在内部连接到AGND。
PGA的参考电压需要通过跳线器JP1连接到AGND。
如图4所示。
3.3差分应用 图4:ETA108单端应用 同样的,可以通过通道配置寄存器(ADCCCRADDR=00hto03H)设置ETA108工作在差分模式。
如图
5。
CH0与CH1之间的共模信号将被抑制,仅差分信号会被PGA放大。
6 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 图5:ETA108差分应用 比如,如果在CH0与CH1之间输入如下电压,PGAOUT将会按公式
(1)输出。
PGAOUT=(INP-INN)×PGAGain+PGAREF INN2.5V2V0V INP2V2.1V0.5V 表
4 PGAREF2V2V0 PGAGain248 公式
(1) PGAOUT1V2.4V4V 另外,ETA108作为单电源供电系统,当INP-INN<0时,PGA无法输出低于地电平的电压。
在这种情况下,需要设置一个合适的PGA参考电压,以得到正确的值,通常情况下,应设置PGAREF=+1/2VREF=2.048V。
在ETA108上通过跳线器JP1设置。
3.4转换结果 调用我们提供的驱动程序,读取的转换结果是一个32bit的数据,其定义如下: Always0 Data bit31302928272625242322212019181716data00000000000000D13D12 Data AveragingChannelSE/ Bits AddressDiff bit1514131211109876543210dataD11D10D9D8D7D6D5D4D3D2D1D0 图6:ETA108转换结果 其中第0位是单端/差分标识位,第1-3位是通道地址位,第4、5位平均模式下增加的2位分
7 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 辨率,第6-17为12bit的AD数据。
理想情况下,输入电压与AD输出的12bit数据定义如下: 描述 满量程范围最小分辨率 (LSB)满量程 1/2量程1/2量程-1LSB 零 表5:理想情况下的AD转换结果 模拟量输入 数字量输出 VREFVREF/4096 二进制 十六进制 VREF-1LSBVREF/2 VREF/2-1LSB0V 111111111111100000000000011111111111000000000000 FFFF80007FFF0000 3.5平均模式 ETA108使用的AD芯片,提供了多次平均操作模式,利用这个特性,可将噪声抑制到原来的1/NumberofSamples,并能得到大于12bit分辨率的转换结果。
通过配置ADCSCR寄存器使用ETA108的平均操作功能,有快速平均和精确平均两种模式可以选择。
快速平均模式:对4,8或16次采样结果做平均,可增加AD分辨率到13bit或14bit,快速平均模式适用于输入到PGA的信号比较稳定的情况。
精确平均模式:对4,8或16次采样结果做平均,可得到比快速平均模式更精确的采样结果。
此模式在输入信号不太稳定的情况下适用。
3.6配置寄存器 ETA108包含5个可写寄存器:4个通道配置寄存器(CCR)和一个ADC系统配置寄存器(ADCSCR)。
可通过在我们提供的驱动程序中的数据结构体ADS_CONFIG的lpContrlWord成员来设置ETA108的寄存器。
对寄存器的写操作定义如下:
8 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 Notused bit31302928272625242322212019181716data×××××××××××××××× RegisterAddresses Data bit1514131211109876543210data××A3A2A1A0××D7D6D5D4D3D2D1D0 图7:寄存器写 表6:寄存器地址 REGISTER A3 A2 A1 A0 Channel0/1CCR
0 0
0 0 Channel2/3CCR
0 0
0 1 Channel4/5CCR
0 0
1 0 Channel6/7CCR
0 0
1 1 ADCSCR
0 1
0 0 D[7:6]D[5:4] D[3]D[2]D[1:0] 通道0/1CCR(Address00h)未使用通道1增益单端00:G=1(default)01:G=210:G=411:G=8通道1差分奇/偶极性0:偶(default)1:奇通道0/1单端/差分选择0:CH0/1单端输入(default)1:CH0/1差分输入通道0增益00:G=1(default)01:G=210:G=411:G=
8
9 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 D[7:6]D[5:4] D[3]D[2]D[1:0] D[7:6]D[5:4] D[3]D[2]D[1:0] D[7:6]D[5:4] 通道2/3CCR(Address01h)未使用通道3增益单端00:G=1(default)01:G=210:G=411:G=8通道3差分奇/偶极性0:偶(default)1:奇通道2/3单端/差分选择0:CH2/3单端输入(default)1:CH2/3差分输入通道2增益00:G=1(default)01:G=210:G=411:G=
8 通道4/5CCR(Address02h)未使用通道5增益单端00:G=1(default)01:G=210:G=411:G=8通道5差分奇/偶极性0:偶(default)1:奇通道4/5单端/差分选择0:CH4/5单端输入(default)1:CH4/5差分输入通道4增益00:G=1(default)01:G=210:G=411:G=
8 通道6/7CCR(Address03h)未使用通道7增益单端00:G=1(default) 10 028-86180660 英创信息技术有限公司 D[3]D[2]D[1:0] D[7:5] D[4:0] ETA108数据采集模块应用手册V1.2 01:G=210:G=411:G=8通道7差分奇/偶极性0:偶(default)1:奇通道6/7单端/差分选择0:CH6/7单端输入(default)1:CH6/7差分输入通道6增益00:G=1(default)01:G=210:G=411:G=
8 ADCSCR(Address04h)平均模式选择000:不平均(default)001:快速平均,4次采样010:快速平均,8次采样011:快速平均,16次采样100:不平均101:精确平均,4次采样110:精确平均,8次采样111:精确平均,16次采样未使用
4、软件接口 4.1驱动程序 在使用ETA108之前,需要在系统中先安装ETA108的驱动程序。
我们以CAB包的形式提供了ETA108在EM9170下的驱动程序。
CAB包的安装,可以参考《WinCE第三方驱动安装之二——CAB安装包制作》一文。
为了实现ETA108的高速数据采集,在其驱动程序中,充分利用了EM9170的高性能DMA技术,从而保证了ETA108与EM9170主板之间仅靠简单的4线制SPI接口就实现了硬件连接,同时,DMA技术的引入,也将数据采集对系统性能的影响降到最低。
考虑到实际应用,EM9170ETA108 11 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 驱动程序支持单次采样模式和连续采样模式。
在讨论两种采样模式之前,先说明一下驱动程序中的ADSConfig结构体。
ADSConfig结构体是ETA108的配置数据结构体,包含了采样率,采样长度,采样通道设置,通道寄存器配置等参数。
其定义如下: typedefstruct{ DWORDdwSamplingRate;DWORDdwSamplingLength;DWORDdwSamplingChannel;LPVOIDlpContrlWord;DWORDdwContrlWordLength;}ADS_CONFIG,*PADS_CONFIG; 在我们提供的驱动程序中,ADS_CONFIG结构体即可用为函数的输入参考,也可作为输出参 数使用,其结构体成员含义说明如下: 表7:ADS_CONFIG结构体定义 成员dwSamplingRatedwSamplingLength 定义 输入参数 输出参数 设置每个AD通道的采样率 返回总的采样率(=每通道采样率*采样通道数) 设置每个AD通道的采样长度>0:单次采样=0:连续采样 返回总的采样长度(=每通道采长度*采样通道数) dwSamplingChannel*设置需要采样的通道 返回采样的通道数 lpContrlWord 指向AD通道配置的buffer,此参数用于设置ETA108的寄存器,lpContrlWord=NULL时,系统将使用默认配置 lpContrlWord指向buffer的长dwContrlWordLength度 *dwSamplingChannel的低8bit(bit0~bit7)依次对应AD通道0~通道
7,如果要采集某个通道的数据,需要将其对应的位置为
1。
比如要采集通道
0、通道1和通道7的数据,则应设置 12 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 dwSamplingChannel=0x83。
4.2单次采样 设置dwSamplingLength>0时,ETA108工作在单次采样模式。
此模式下,启动一次AD采集,当采集完指定长度的数据后(每通道采长度*采样通道数),驱动程序将自动停止AD转换,此时可调用Read函数将转换结果读出。
配置AD采集参数启动AD采集 AD采集 No 是否完成 Yes读取转换结果 停止AD采集 图8:单次采样处理流程 4.3连续采样 设置dwSamplingLength=0时,ETA108工作在连续采样模式。
在连续采样模式下,驱动程序连续不断的进行数据采集,并大约每隔250ms通知一次应用程序(如果总采样频率大于50K,驱动程序每隔125ms通知一次应用程序),以便应用程序可将数据从驱动缓存中读出。
应用程序可从Setup函数的输出参数:ADS_CONFIG结构体的dwSamplingLength成员,得到每次可以读取的数据总长度。
13 028-86180660 英创信息技术有限公司 配置AD采集参数启动AD采集 ETA108数据采集模块应用手册V1.2 AD采集 No 是否完成 Yes(大约250ms/次) 是否停止AD采集 No读取转换结果 Yes停止AD采集 图9:连续采样处理流程 多通道连续采样模式下,应用程序从驱动中读得的AD数据是按通道依次存放的,比如应用程序同时连续采集CH1,CH2,CH5三个通道,调用在Setup()函数初始化ETA108时,返回的dwSamplingLength=300,则应用程序调用Read()函数读得的AD数据存放如下: 表8:多通道连续采样AD数据存放顺序 对应通道CH1数据 CH2数据 CH5数据 缓存 0~99 100~199 200~299 4.4接口函数 在应用程序中通过调用ActivateDeviceEx函数加载ETA108的驱动程序,相应的,通过DeactivateDevice函数卸载ETA108驱动程序。
//加载ETA108驱动程序HANDLEhETA108Device=ActivateDeviceEx(TEXT("Drivers\\ETA108"),NULL,
0,NULL);//卸载ETA108驱动程序DeactivateDevice(hETA108Device); ETA108驱动程序提供的接口函数说明如下:
(1)BOOLETA108Open()功能描述:调用CreateFile函数,打开ETA108驱动程序。
14 028-86180660 英创信息技术有限公司 ETA108数据采集模块应用手册V1.2 返回值:=TRUE:打开ETA108成功。
=FALSE:打开失败。
(2)BOOLSetup(PADS_CONFIGpADSConfig,PADS_CONFIGpADSConfigOut)功能描述:设置AD采集相关参数,采集通道,采样长度等。
输入参数:pADSConfig配置参数结构体指针输出参数:pADSConfigOut(详见4.1ADSConfig结构体定义)返回值:=TRUE:参数设置成功。
=FALSE:参数设置失败。
(3)BOOLStart()功能描述:启动AD采集。
返回值:=TRUE开始AD采集=FALSE启动AD采集
(4)BOOLWaitDataReady(DWORDdwTimeOut)功能描述:等待AD采集完成输入参数:dwTimeOut等待超时时间(ms),设置dwTimeOut=0时,驱动程序将自动计算一个合适的等待时间。
连续采样模式下,此函数大约250ms返回一次。
返回值:=TRUEAD采集完成,接下来可读取采集数据=FALSE等待超时,AD采集存在错误
(5)DWORDRead(LPVOIDpBuf,DWORDdwReadLength)功能描述:读取采集数据输入参数:pBuf用于存放数据的buffer。
dwReadLength要读取的数据个数(以字节计数)返回值:>0实际读取的字节数=0无采集数据=-1函数执行失败
(6)BOOL()功能描述:结束当前AD采集,此函数应与Start()函数成对出现,否则将造成内存泄露。
返回值:=TRUE函数执行成功=FALSE函数执行失败 (7)voidETA108Close() 15 028-86180660 英创信息技术有限公司 功能描述:关闭ETA108,释放相关资源 ETA108数据采集模块应用手册V1.2 16 028-86180660
声明:
该资讯来自于互联网网友发布,如有侵犯您的权益请联系我们。