“此账号已注册”通过精心收集,向本站投稿了9篇无线数据采集在环境监控系统中应用,以下是小编精心整理后的无线数据采集在环境监控系统中应用,供大家参考借鉴,希望可以帮助到有需要的朋友。
- 目录
篇1:无线数据采集在环境监控系统中应用
无线数据采集在环境监控系统中应用
随着嵌入式技术、网络技术和监控技术的发展,基于嵌入式技术的.远程环境监控系统在安防领域将得到越来越广泛的应用.该文介绍了基于嵌入式技术的远程环境监控系统前端无线数据采集系统中PT2262/PT2272工作原理.
作 者:陈飞 CHEN Fei 作者单位:安徽广播影视职业技术学院,安徽,合肥,230022 刊 名:电脑知识与技术 英文刊名:COMPUTER KNOWLEDGE AND TECHNOLOGY 年,卷(期): 4(35) 分类号:X830 关键词:环境监控 PT2262/PT2272篇2:无线扩频技术在地震勘探数据采集系统中的应用
无线扩频技术在地震勘探数据采集系统中的应用
地震数据采集要求在有限时间内收集所有地震道数据.接收道数的增加使瞬间传输的数据量巨大,超出了常规通信方式的能力范围.同时在野外生产时要求通讯部分具备较少的电缆,较低的功耗,较高的'可靠性能等特点.常规数据传输方法不易解决数据传输的通道数和距离不易确定问题.采用有线与无线结合数据采集与传输机制的实验系统,解决了采集站定位问题,保证了每个数字检波器的采集信号同步,提供了一种无线地震数据传输的新方法.实验系统中无线扩频技术的应用使无线通讯方法在地震勘探中更趋于实用.
作 者:马国庆 王辉明 李守才 宗遐龄 肖翌 Ma Guoqing Wang Huiming Li Shoucai Zong Xialing Xiao Yi 作者单位:中国石油化工股份有限公司石油勘探开发研究院南京石油物探研究所,江苏南京,210014 刊 名:勘探地球物理进展 英文刊名:PROGRESS IN EXPLORATION GEOPHYSICS 年,卷(期): 32(3) 分类号:P631.43 关键词:地震数据采集 无线扩频技术 GPS授时同步篇3:ADS7844在低功耗数据采集系统中的应用
ADS7844在低功耗数据采集系统中的应用
摘要:详细介绍了12位串行模数转换器ADS7844的结构及工作原理,给出了一个实用的低功耗数据采集系统的设计方案,同时给出了相关的`硬件电路和软件程序。关键词:串行模数转换器;数据采集系统;低功耗;ADS7844
在野外以及一些没有市电或者不适宜使用市电的应用场合,自动化仪表通常要采用电池供电,这就要求仪表中的电子元器件的功耗要低,A/D转换器作为自动化仪表的重要组成部份更不例外。笔者采用ADS7844和PIC16C64构成的数据采集系统便具有功耗极低、结构简单等优点,完全可以适应电池供电系统的要求。
1 ADS7844的结构及工作原理
ADS7844是Burr-Brown公司推出的一种高性能、宽电压、低功耗的12-bit串行模数转换器。它有8个模拟输入端,可用软件编程为8通道单端输入A/D转换器或4通道差分输入A/D转换器,其转换率高达200kHz,而线性误差和差分误差最大仅为±1LSB。ADS7844在电源电压为2.7V~5V之间均能正常工作,最大工作电流为1mA,进入低功耗状态后的耗电仅3μA。ADS7844通过6线串行接口与CPU进行通信,而且接口简单方便。
1.1 ADS7844的引脚功能
ADS7844的引脚排列如图1所示。它有20个引脚,各引脚的功能如下:
CH0~CH7:模拟输入端,当器件被设置为单端输入时,这些引脚可分别与信号地COM构成8通道单端输入A/D转换器;当器件被设置为差分输入时,利用CH0~CH1、CH2~CH3、CH4~CH5和CH6~CH7可构成4通道差分输入A/D转换器?
COM:信号地?
VREF:参考电压输入端,最大值为电源电压?
CS:片选端,低电平有效,该脚为高电平时,其它数字接口线呈三态?
DCLK:外部时钟输入端,在时钟作用下,CPU将控制字写入ADS7844,并将转换结果从中读出?
DIN:串行数据输入端,在片选有效时,控制字在DCLK上升沿被逐位锁入ADS7844?
DOUT:串行数据输出端,在片选有效时,转换结果在DCLK的下降沿开始被逐位从ADS7844移出?
BUSY:“忙”信号输出端,在接收到控制字的第一位数据后变低,只有在转换结束且片选有效时,该脚才输出一个高脉冲?
SHDN:电源关闭端,低电平有效。当SHDN为低电平时,ADS7844进入低功耗状态?
VCC,GND:分别为电源端和数字地。
1.2 ADS7844的控制字及转换时序
ADS7844的
[1] [2] [3] [4]
篇4:虚拟仪器在汽车数据采集系统中的应用
虚拟仪器在汽车数据采集系统中的应用
汽车试验设备是汽车性能测试的硬件基础,传统的`汽车试验设备由于存在价格昂贵、功能单一、安装不便、功能扩展和升级困难、对温度、工况等要求严格,导致试验成本提高、试验数据不精确等问题.虚拟仪器(Virtual instrument,简称VI)设计思想的提出,恰恰可以很好地解决这些问题,用户可以根据自身需求设计自己的仪器系统,充分利用计算机技术来实现和扩展传统仪器的功能.本文重点介绍了基于虚拟仪器的数据采集系统的软件设计思想和方法.
作 者:张亚萍 马明星 ZHANG Ya-ping MA Ming-xing 作者单位:张亚萍,ZHANG Ya-ping(扬州大学,江苏,扬州,225009;泰州职业技术学院,江苏,泰州,225300)马明星,MA Ming-xing(扬州大学,江苏,扬州,225009)
刊 名:成组技术与生产现代化 英文刊名:GROUP TECHNOLOGY & PRODUCTION MODERNIZATION 年,卷(期): 26(3) 分类号:U463.07 关键词:试验设备 性能测试 虚拟仪器 软件设计 方法篇5:ADS7844在低功耗数据采集系统中的应用
摘要:详细介绍了12位串行模数转换器ADS7844的结构及工作原理,给出了一个实用的低功耗数据采集系统的设计方案,同时给出了相关的硬件电路和软件程序。
关键词:串行模数转换器;数据采集系统;低功耗;ADS7844
在野外以及一些没有市电或者不适宜使用市电的应用场合,自动化仪表通常要采用电池供电,这就要求仪表中的电子元器件的功耗要低,A/D转换器作为自动化仪表的重要组成部份更不例外。笔者采用ADS7844和PIC16C64构成的数据采集系统便具有功耗极低、结构简单等优点,完全可以适应电池供电系统的要求。
1ADS7844的.结构及工作原理
ADS7844是Burr-Brown公司推出的一种高性能、宽电压、低功耗的12-bit串行模数转换器。它有8个模拟输入端,可用软件编程为8通道单端输入A/D转换器或4通道差分输入A/D转换器,其转换率高达200kHz,而线性误差和差分误差最大仅为±1LSB。ADS7844在电源电压为2.7V~5V之间均能正常工作,最大工作电流为1mA,进入低功耗状态后的耗电仅3μA。ADS7844通过6线串行接口与CPU进行通信,而且接口简单方便。
1.1ADS7844的引脚功能
ADS7844的引脚排列如图1所示。它有20个引脚,各引脚的功能如下:
CH0~CH7:模拟输入端,当器件被设置为单端输入时,这些引脚可分别与信号地COM构成8通道单端输入A/D转换器;当器件被设置为差分输入时,利用CH0~CH1、CH2~CH3、CH4~CH5和CH6~CH7可构成4通道差分输入A/D转换器?
COM:信号地?
VREF:参考电压输入端,最大值为电源电压?
CS:片选端,低电平有效,该脚为高电平时,其它数字接口线呈三态?
DCLK:外部时钟输入端,在时钟作用下,CPU将控制字写入ADS7844,并将转换结果从中读出?
DIN:串行数据输入端,在片选有效时,控制字在DCLK上升沿被逐位锁入ADS7844?
DOUT:串行数据输出端,在片选有效时,转换结果在DCLK的下降沿开始被逐位从ADS7844移出?
BUSY:“忙”信号输出端,在接收到控制字的第一位数据后变低,只有在转换结束且片选有效时,该脚才输出一个高脉冲?
SHDN:电源关闭端,低电平有效。当SHDN为低电平时,ADS7844进入低功耗状态?
VCC,GND:分别为电源端和数字地。
1.2ADS7844的控制字及转换时序
ADS7844的控制字如表1所列。
表1ADS7844的控制字含义
Bit7(MSB)Bit6Bit5Bit4Bit3Bit2Bit1Bit0(LSB)SA2A1A0-SGL/DIFPD1PD0
ADS7844的控制字共有8位,其中S是起始位?控制字的起始位总为“1”。A2~A0是通道选择位,在单端输入时分别对应8个通道,而对于差分输入,000~011分别对应CH0~CH1、CH2~CH3、CH4~CH5、CH6~CH7,而100~111则分别对应CH0~CH1、CH1~CH0、CH3~CH2、CH5~CH4、CH7~CH6。Bit3没有定义。SGL/DIF是模式控制位,该位为“1”时是单端输入模式,为“0”时是差分输入模式。PD1和PD0是电源关闭模式控制位,若为“00”,则表示ADS7844在不进行数据转换时自动进入电源关闭模式,若为“11”,芯片则始终处于电源开启模式。
ADS7844有多种转换时序,其基本转换时序如图2所示。从图中可见,一个转换周期需要24个时钟周期,其中8个用于输入控制字,16个用于读取转换结果。控制字的所有位在时钟上升沿被锁入芯片,转换结果在时钟的下降沿被逐位移出。所有移入和移出的数据都是高位在前、低位在后。需要说明的是,ADS7844是12位A/D转换器,其转换结果只有12位,故在移出12位结果后,还需送入4个时钟来完成整个转换过程,这4个多余的时钟移出的数据为“0”,使用时不应作为转换结果处理。
篇6:ADS7844在低功耗数据采集系统中的应用
要设计一个低功耗数据采集系统,只有A/D转换器是低功耗器件还不够。PIC16C64是美国MI-CROCHIP公司生产的高性能单片机,它有许多优点:宽电压?2.7V~5V?,其工作电流只有1mA?3.3V@32kHz时?,进入休眠状态后只有几微安且可以用中断将其从休眠状态唤醒等。低功耗数据采集系统的硬件电路如图3所示,其中CS、DCLK、DIN和DOUT必须与CPU连接,而BUSY则可以不用,在转换时稍加延时等待即可。控制AD7844进入低功耗状态有两种方式:一是直接控制SHDN端;二是将SHDN接在电源上,它们均可在控制字中设置。为了节省口线,可采用第二种方式。采样控制可以使用外部中断,如外部中断INT0、串行口中断和PB口电平变化引起的中断等,也可以使用内部定时中断。
3软件程序
下面给出该系统的主程序部分流程图和汇编程序。该设计假设用外部中断INT0唤醒CPU来进行数据采集,且A/D转换程序就是中断服务子程序。
ORG000H
GOTOMAIN
ORG004H
GOTOINTPRO
ORG010H
MAINMOVLW10H?关闭总中断控制位,
但开放INT0
MOVWFINTCON
BSFSTATUS?RP0?初始化A口
MOVLW0F8H
MOVWFTRISA?A口D0-D2为输
出,D3为输入
BCFSTATUS,RP0
BSFPORTA,1?使片选无效
...
BSFINTCON,GIE?开放总中断控制位
LOOPSLEEP?等待中断
NOP
...?数据采集完成后进行其他处理
GOTOLOOP
INT_PROBCFPORTA,0?时钟置低电平
BCFPORTA,2?数据输入置低
MOVLW08H?置送控制字所需时钟数
MOVWFNUM
MOVLW8CH?控制字,假设转换CH0,
单端输入,?自动进入低功耗状态
BCFPORTA,1?片选有效
...?送控制字
LCALLDELAY?调用延时子程序
MOVLW10H?置读转换结果所需
时钟数
MOVWFNUM
...?读转换结果
BSFPORTA,1?结束转换并返回
RETFIE
4结束语
由于PIC16C64和ADS7844都是低功耗器件,且都有低功耗状态,因而用其设计的数据采集系统功耗是很低的。经实测,当电源电压为3.3V、时钟为32.76kHz时,该电路的正常工作电流为2mA,而进入低功耗状态后的系统消耗电流最大为4μA,因而完全适合于电池供电。另外,PIC16C64和ADS7844都是宽电压器件,并且PIC16C64还有许多功能可以开发利用。如果在本系统基础上做必要的功能扩展,便可用于其它工业控制系统的现场控制等领域。
篇7:CPLD在远程多路数据采集系统中的应用
CPLD在远程多路数据采集系统中的应用
摘要:采用VHDL语言和图形输入设计方法,给出了用CPLD在远程多路数据采集系统中实现地址译码、串口扩展、模块测试、模数转换以及高位数据处理等功能的具体方法,同时简要介绍了远程多路数据采集系统的工作原理及软、硬件框架。关键词:CPLD;单片机;译码;RS-232;VHDL; EPM7256SQC208
CPLD(Complex Programmable Logic Device?复杂可编程逻辑器件)是在传统的PAL、GAL基础上发展起来的。目前,CPLD已在通讯、DSP及微机系统中有着非常广泛的应用,它不仅可使设计的产品小型化、集成化和稳定可靠,而且还具有在系统或在芯片直接编程的能力,从而使电子系统的设计、开发、更新与维护变得更为方便,更便于装配和批量生产。因此,利用CPLD可大大缩短设计周期,减少设计费用,降低设计风险。远程多路数据采集系统,不但需要较多的片选信号,而且模块测试所占用的I/O口资源也较多,用一般的芯片较难实现,而用CPLD/FPGA则不但可以较好地实现其功能,而且还可大大提高设计能力和设计效率。
1 系统组成思路
本远程多路数据采集系统以Altera公司7000S系列CPLD产品中的EPM7256SQC208-10为控制核心,并由A/D(模拟量采集)模块、DI(数字量采集)模块、D/A(模拟量输出)模块、DO(数字量输出)模块、MCU模块、电源模块及I/O接口模块组成,其系统组成原理图如图1所示。
图中,MCU模块主要由CAN总线模块、RS-485模块、RS-232模块、时钟和复位模块、CPLD模块等组成,MCU模块的电路原理图如图2所示。该远程多路数据采集系统的I/O接口板共有14个插槽,其中12个插槽可实现A/D模块、D/A模块、DI模块、DO模块等四种模块的任意配置。因此,单个数据采集系统最大可采集192路模拟量或192路数字量,也可以提供最大96路模拟量输出或192路数字量输出。多个数据采集系统也可以根据实际和现场需要通过CAN总线、RS-485总线或RS-232总线进行连接,从而实现上百个或上千个采集频率不高的远程数据采集。该远程多路数据采集系统可采集0~5V的电压信号和4~20mA的电流信号,数字量输出电平为12V,可直接控制12V的继电器。(本网网收集整理)
显而易见,传统的设计思路不但要使用大量的外围芯片,而且需要主处理器直接控制各种采集模块和控制模块,并完成各模块和通道的自检。因此,这种解决方案需要占用主处理器大量的I/O资源和处理时间。然而,一般处理器的 I/O资源极其有限,而且又要求大量的汇编软件配合,这就使设计移植变得比较困难;此外,由于I/O的频繁操作也不利于系统调度软件的设计和其他软件模块的实时执行,因而在现场更难以组成分布式控制管理系统(FCS)。可见,如果采用传统的设计方法,不但使系统设计较为庞大,而且开发成本高、设计周期长、设计效率低。所以,传统的设计思路在远程多路数据采集系统中是不可取的,而使用CPLD或FPGA器件则可以较好地解决上述问题。
2 CPLD设计
2.1 顶层软件设计
上述功能可在MAX+PLUSII 9.5环境下设计完成。该系统的软件设计采用“自顶向下”、“软硬兼施”的设计方法,主要设计了五大功能模块,分别是DECODE?地址译码?模块、AD?模拟量输入数据处理?模块。DATA?数据处理?模块、TEST?模块自动识别?模块、UART?串口扩展?模块,其设计原理图如图3所示。其中译码模块用于完成处理器对CPLD片内和片外模块的寻址和译码,这是一种简单的`译码逻辑和触发电路,共产生34个片选信号。AD模块用于完成对10位A/D 转换芯片TLV1578高位D8、D9的处理以及实现D9/A1、D8/A0的分时复用,是一般组合逻辑电路和数据缓冲及锁存电路。TEST模块用于完成对各种模块的自动识别,包括识别某一插槽有无模块以及具体是何种模块,该模块共需处理36个测试信号。DATA模块用于简单处理各种数据,包括数据的缓冲、锁存以及驱动放大等。由于该系统中单片机的串口被RS-485占用,因此,UART模块一般用于实现RS-232串口扩展。
2.2 底层软件设计
底层软件设计是基于顶层软件中五大功能模块而设计的,其中UART模块设计采用VHDL语言描述完成,而DECODE模块、TEST模块、DATA模块和AD模块由于原理和时序相对简单,则采用图形输入设计方法,并通过编译、综合、仿真后生成底层设计文件(即生成相应的设计符号*.sym),以供顶层设计调用。
为了突出重点,这里只简单介绍UART模块的底层设计。UART模块是一个8位全双工异步接收发送器模块,该模块主要由四个子模块构成,即并入串出模块、串入并出模块、接口模块、时钟产生模块。该UART模块的主要功能是:从计算机接收8位并行数据并发送到串口输出;二是从串口读入外部串行数据并将其转换为8位并行数据送到计算机。
并入串出操作由输入信号的高电平触发的,串行输出结束后,结束信号变为‘0’。而串入并出操作则由串行输入的下降沿触发,且串行输入要保持低电平持续半个周期以上。此半周期时钟同时可作为输入移位时钟,8位数据输入结束后,结束信号变为‘0’并维持到下次数据输入。数据口是8位双向三态I/O口。
时钟产生模块产生的时钟用于并入串出模块和串入并出模块。在串入并出操作中,工作时钟只有高于移位时钟,才能检测是否开始一次新的输入过程,因此,工作时钟是移位时钟的4倍。其时钟产生模块的VHDL源程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;?
ENTITY clkgen IS
PORT (iclk,oclk:BUFFER STD_LOGIC);?
END clkgen;
ARCHITECTURE clk OF clkgen IS
SIGNAL iclk_lag,oclk_lag:TIME:=0 ns;
SIGNAL temp_iclk,temp_oclk:STD_LOGIC;
BEGIN
PROCESS(temp_iclk,temp_oclk)
BEGIN
temp_iclk<=NOT temp_iclk AFTER iclk_lag/4;
temp_oclk<=NOT temp_oclk AFTER oclk_ lag;
END PROCESS;
iclk<=temp_iclk;
oclk<=temp_oclk;
END clk;
限于篇幅,UART模块的其它底层模块设计这里不作一一介绍。
图3
3 系统仿真和验证
软件设计完成后,可根据Protel99SE中的电路原理图进行引脚锁定,然后启动编译程序来编译项目。编译器将进行错误检查、网表提取、逻辑综合和器件适配,然后进行行为仿真、功能仿真和时序仿真。最后采用并口下载电缆ByteBlaster并通过JTAG编程方式将top.pof文件下载到EPM7256SQC208-10芯片中,从而生成硬件电路。4 结束语
为了将该远程多路数据采集系统应用到污水处理自动控制系统中,笔者设计了以计算机为核心的分布式控制管理系统(FCS),从而高性价比地实现了污水处理设备的自动化控制和信息化管理,稳定可靠地发挥了污水处理设备的作用,实现了现场数据信息传递的完全数字化,同时保证了数据采集的准确性和控制功能的可靠性。
借助先进的MAX+PLUSII EDA设计软件和高可靠性的CPLD/FPGA芯片开发的这种分布式控制管理系统,不但可大大节省电路开发费用,而且能提高设计效率,同时还可有效实现电路的数字化与微型化。
篇8:DMA结合McBSP在数据采集系统中的应用设计
DMA结合McBSP在数据采集系统中的应用设计
摘 要:本文介绍了TMS320VC5402 DSP的存储器直接存储控制DMA的特点,给出了一种适用的DMA结合多通道缓冲串行口McBSP组成的数据采集系统的设计方案,该设计具有设计灵活、硬件简单、CPU执行效率高的特点。关键词:DSP;DMA;McBSP
1.引 言
通用数字信号处理器(DSP)以其强大的数据处理能力在高速数字信号处理方面得到广泛的应用。美国TI公司是DSP领域影响最大的公司之一,TMS320VC5402(以下简称C5402)是该公司TMS320C54x系列DSP的代表产品,它以其极高的性价比而成为目前应用最为广泛的DSP芯片之一。
在以C5402 DSP为核心组成的数据采集系统中,用户一般需要在采集完一段数据后对其进行处理。采用查询方式采集数据会占用大量CPU的资源,采用中断方式来采集数据虽可以提高CPU的利用率,但是在采集数据的每个时刻还是由CPU来完成,同时降低了程序的可读性。本文设计的数据采集系统利用C5402的存储器直接存储控制DMA与多通道缓冲串行口McBSP结合来设计系统,使得CPU正常工作与DMA数据采集并行进行,提高了DSP的运行效率。
2. C5402 DMA的特点
C5402存储器直接存储控制DMA能在不占用CPU资源的情况下,实现DSP存储器间数据的自由传送。C5402有6个可独立编程的DMA通道,每个DMA通道受各自的5个16位寄存器控制:源地址寄存器DMSRC、目的地址寄存器DMDST、单元计数寄存器DMCTR、同步事件和帧计数寄存器DMSFC、发送模式控制寄存器DMMCR。
1. 源地址寄存器DMSRC规定DMA要传送源数据的首地址。这些地址可以指向DSP内部存储器、外部存储器、片内外设和一些特殊的外部装置。
2. 目的地址寄存器DMDST规定DMA要传送数据目的地址的首地址。这些目的地址可以是DSP内部存储器、外部存储器、片内外设和一些特殊的外部装置。
3. 单元计数寄存器DMCTR规定DMA传送数据的个数为DMCTR寄存器的值加1个。
4. 同步事件和帧计数寄存器DMSFC规定DMA传送数据的同步事件类型和传送一块数据所含帧信号的个数:
DBLW位设置DMA工作在单字模式(=0b)或双字模式(=1b)。工作在单字模式时每个数据单元设置为16位,双字模式时每个数据单元设置为32位。
Frame Count位设置每块数据所含帧信号的个数。
DSYN位设置选择如下方式作为DMA同步事件:
0000b:无同步事件。
0001b:McBSP0接收事件(REVT0)。
0010b:McBSP0发送事件(XEVT0)。
0101b:McBSP1接收事件(REVT1)。
0110b:McBSP1发送事件(XEVT1)。
1101b:定时器0中断事件。
1110b:外部中断3(INT3)中断事件。
1111b:定时器1中断事件。
其它:保留。
5.传输模式控制寄存器DMMCR规定了DMA通道的传输模式:
AUTOINIT位是DMA自动初始化设置位,可设置成自动初始化使能(=1b)和自动初始化不使能(=0b)。当DMA工作在自动初始化模式时,CPU在一个DMA事件完成后自动装载下一个DMA初始化设置并继续进行数据传送。
DINM位和IMOD位设置DMA中断产生方式。DINM=0时DMA中断被屏蔽,当DINM=1时中断按IMOD位设置产生。
CTMOD位设置发送计数模式控制,DMA可工作在多帧模式(=0b)和自动缓冲ABU模式(=1b)。
SIND位和DIND位用来设置源地址和目的地址的自动调整方式,可选择如下方式:不调整(=000b)、访问后自动加1(=001b)、访问后自动减1(=010b)、访问后按照单元地址索引寄存器DMIDX0的设置进行调整(=011b)、访问后按照单元地址索引寄存器DMIDX1的设置进行调整(=100b)、访问后按照单元地址索引寄存器DMIDX0和帧地址索引寄存器DMFRI0的设置进行调整(=101b)、访问后按照单元地址索引寄存器DMIDX1和帧地址索引寄存器DMFRI1的设置进行调整(=110b)、保留(=111b)。
DMS位和DMD位用来选择源数据和目的数据所存的.空间,可选择成程序空间(=00b)、数据空间(=01b)、I/O空间(=10b)或保留(11b)。
此外,DMA的6个通道还受通道优先级和使能控制寄存器DMPREC控制。在这个寄存器中相应的DPRC位置1选择相应的通道为高优先级,相应的DE位置1选通相应的通道为使能通道并开始工作。
3. 接口设计
在这个系统中,使用的A/D数据转换芯片是语音信号编码解码芯片TLC320AD50。它是TI公司生产的一个16位、音频范围、内含抗混叠滤波器和重构滤波器的串行模拟接口芯片
。它完成语音信号的数字化采样,并将转换完的数据传给DSP进行后续处理。
C5402提供两个高速、全双工、多通道缓冲串行口McBSP。它依靠三个信号实现发送数据和接收数据:数据线D(R/X)、帧同步线FS(R/X)和移位时钟线CLK(R/X)。DX和DR引脚完成与外部设备进行通信时数据的发送和接收,由CLKX、CLKR、FSX、FSR实现时钟和帧同步的控制。发送数据时,CPU将要发送的数据写到发送数据寄存器DXR,在FSX和CLKX作用下,由DX引脚输出。接收数据时,来自DR引脚的数据在FSR和CLKR作用下,从数据寄存器DRR中读出数据。CLKX、CLKR、FSX、FSR既可以由内部采样率发生器产生,也可以由外部设备驱动。
设置DMA1通道与McBSP1通道结合来读取TLC320AD50转换完的数据。选择McBSP1通道的接收寄存器DRR11(41h)为DMA传送数据的首地址,并选择源地址工作在访问后不调整方式,选择DMA通道同步事件McBSP1接收事件为DMA同步事件,来实现DMA和McBSP的结合。TLC320AD50转换完的数据按McBSP1的设置被送到C5402内部接收寄存器DRR11中,再由DMA将DRR11中的数读到指定数据存储区来完成数据采集。DMA在传送外部来的数据时不会影响CPU的正常运行,当DMA采集完一组规定个数的数据后产生一个DMA中断事件中断CPU,来通知CPU对其进行相应的处理,此时DMA可以按照设定继续采集下一组数据,实现了数据采集与CPU处理的并行操作。图1为系统硬件接口设计。
4. 软件设计
本系统软件由C5402初始化程序、McBSP1初始化程序、TLC320AD50初始化程序、DMA1通道初始化程序和数据处理程序构成。图2为本系统软件流程图。
C5402初始化程序完成DSP堆栈、CPU时钟和运行状态的设置。
McBSP1初始化程序设置McBSP1的工作状态:运行在时钟自由运行状态下,接收/发送帧同步信号和移位时钟信号都由外界驱动,每帧一字,每字16位,接收数据和发送数据都无延时。
TLC320AD50初始化程序完成TLC320AD50相关寄存器的设置:选择INP/INM为模拟信号输入端,15+1位ADC和15+1位DAC模式,工作在主机模式,不带从机,采样频率为10.67KHz,模拟信号输入和输出放大增益均为0dB。
DMA1通道初始化程序初始化DMA1,具体程序如下:
……
stm #0005h, 55h ;选择DMA1通道
stm #0041h, 56h ;设置McBSP1接收端为DMA事件的源地址
stm #0200h, 56h ;设置DMA事件的目的地址
stm #0100h-1,56h ;设置直接传送数据个数为0100h个
stm #5000h, 56h ;设置McBSP1接收同步模式,一帧接收一个字
stm #404dh, 56h ;设置DMA工作在多帧模式,源地址不调整,目的地址按单元地址索引寄存器DMIDX0的值为步长进行调整
stm #20h, 55h
stm #0001h, 57h ;设置单元地址索引寄存器DMIDX0的值为1
stm #0282h, 54h ;设置DMA1通道为高优先级并使能DMA1通道
……
5. 结束语
本文提出的DMA结合多通道缓冲串行口McBSP组成数据采集系统的实现方法,大大减少CPU的工作量,简化软件设计,有效地利用DSP的硬件资源,提高信号采集系统的执行效率,已经在本校信号处理实验室的DSP系统中得到很好的应用。
篇9:CPLD在多路高速同步数据采集系统中的应用
CPLD在多路高速同步数据采集系统中的应用
摘要:采用VHDL语言设计,用CPLD控制模/数转换电路,完成多路模拟输入的高速同步数/模转,具有容错和自检能力。CPLD与处理之间采用并行接口,具有很好的移植性、可靠性。关键词:VHDL CPLD 高速同步数/模转换 容错和自检 并行接口 移植性
引言
CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)是在传统的PAL、GAL基础上发展而来的,具有多种工作方式和高集成、高速、高可靠性等明显的特点,在超高速领域和实时测控方面有非常广泛的应用。与FPGA相比,CPLD比较适合计算机总线控制、地址译码、复杂状态机、定时/计数器、存储控制器等I/O密集型应用,且无须外部配置ROM、时延可预测等。目前的CPLD普遍基于E2PROM和Flash电可擦技术,可实现100次以上擦写循环。部分CPLD支持ISP编程或者配置有JTAG口,对于批量小、品种多的模板开发极为有利。而用VHDL设计的程序,借助EDA工具可以行为仿真、功能仿真和时序仿真,最后通过综合工具产生网表,下载到目标器件,从而生成硬件电路。
(本网网收集整理)
1 系统设计原理及框图
以Altera公司7000S系列CPLD产品之一EPM7128S-10为控制核心,控制模/数转换电路,最多可完成32路模拟数据的16位高速同步A/D转换。
图1为与A/D转换电路相关的系统外围电路框图。外部32路模拟输入通过调理电路后,CPLD控制多路切换器选通某一路信号送入A/D转换器(AD676)进行A/D转换,转换结果经过数据缓冲在合适的时候通过总线被读入处理器。一般的设计思路如下:①主处理器直接控制A/D转换电路,完成模拟输入信号的采集保持、A/D转换器的控制、通道的切换、数据的读取以及控制注入信号完成模拟通道的自检等。这种解决方案占用主处理器大量的I/O资源和处理时间,在高速采集与大计算量的时实系统中是不可取的:一方面因为处理器的I/O资源极其有限,同时又要求大量的汇编软件配合,不利于设计的移植;另一方面由于频繁地执行I/O操作完成相对定时关系,来实现高速数据采集,不利于系统调度软件的设计的其它软件模块的时实执行,由于此段I/O操作类似于原子操作,很难解决其它模块响应时间可能较长的矛盾。②采用其它廉价的从处理器,如MCS-51单片机来控制上述过程,使之与主处理器并行化。但此时从处理器与主处理器之间的高速数据实时交换就成为瓶颈,而且由于MCS-51单片机亦为软件化流程控制,存在跑飞的可能,两处理器的同步又成为新的问题。应用CPLD器件就可以很好地解决上述矛盾,实现配置随意可改写和高速硬件流控制等。随着ISP器件的发展,CPLD已经日益广泛地应用到高速数据采集系统中,但都是很考虑设计本身的容错、自检能力和使用的灵活性,不利于故障的定位和嵌入式应用的移植。本设计中采用CPLD作为A/D转换电路的控制器,和主处理器并行交互数据,很好地解决了上述矛盾。
为突出重点,EPM7128S、AD676、LF398等器件的简介此处不作介绍,仅列出AD676的控制时序,如图2所示。
图2
多路模拟信号的同步采样一般有两种实现方法:一种为多个A/D转换器同时进行转换;另一种为仅有一个A/D转换器,各通道同时采样,然后分时转换。考虑到16位高速A/D转换器AD676的价格因素,采用后一种方案。AD676有三个控制信号:SAMPLE、AD-CLK、CAL。它们需要一定的时序配合才能正常工作,如图2所示。由于AD676的转换结果不具备三态输出功能,所以需增加74F574和总线进行隔离,为此配置控制信号WRAD、RDAD;同时要考虑到32路模拟信号的采样保持控制S/H、多路切换器的控制信号M1A4~M1A0,以及输入模拟信号选择M0A1~M1A0、数据准备好信号INT1等共14个。CPLD和处理器采用并行接口,因此其输入信号有:系统复位信号RST、处理器的读/写信号RD/WR、片选信号IOSTROBE、外部时钟输入CLK、辅助地址信号A20~A17和A5~A0、AD676的反馈输入BUSY,共22个输入。外加双向数据总线D07~D00。设计中没有将总线隔离器74F574集成到CPLD中,主要考虑到保留适当的I/O等资源用于系统的地址译码和其它辅助功能。地址译码等辅助模块比较简单且与特定的处理器相关,故此处不作介绍。
虽然有复位默认值,但CPLD为灵活控制多路模拟量的同步A/D转换,要求处理器正确设置两个控制参数,即进行数/模转换的模拟量通道的总个数SUM和数/模转换的'初始通道号chan;然后再对CPLD写入启动A/D转换命令,这样CPLD即可脱离处理器,控制A/D转换电路。CPLD首先按照LF398的时序要求产生其所需的采样保持信号S/H完成32路模拟量的同步采样,然后按照图2所示的通常转换时序控制AD676去完成一次转换。一旦该次转换完成,使能WRAD信号,锁存转换结果到74F574,并发出数据准备好信号INT1,同时标识内部状态信号,作为中断请求通知处理器,或者供处理器查询状态。CPLD将一直等待处理器将该次转换结果取走才取消此标示信号。在CPLD等待的过程中,处理器亦可命令CPLD提前结束转换,以适应不同的应用要求。转换结果取走后,CPLD清除内部的标识信号和数据准备好信号,SUM的映像减1,若不为0,chan的映像加1,输出到M1A[4..0]去切换至下一通道,继续按照图2所示的通常转换时序工作;若为0,则该次采样转换完成,等待处理器的下一次启动信号。这样,只占用了处理器的一个中断请求资源和少数外部空间,就实现了最多至32路模拟信号的同步高速数模转换。为使设计具有一定的容错功能,在A/D转换器空闲时,处理器才可以启动A/D自校准测试,但此时CPLD应该防止处理器误启动A/D转换。当A/D转换器空闲或者A/D自校准已经结束时,处理器才可以进行A/D转换工作。同样,此时CPLD应该防止处理器误启动A/D自校准。为使CPLD能支持处理器的检错功能3,应该使CPLD以及A/D转换器的状态信息可以被处理器随时读取,以便在系统级上定位故障。同时,CPLD可以选择调理电路的模拟输入信号源,便于处理器检测调理电路。
图3
为达到以上的功能,在设计中主要设置了四大功能模块,分别为时钟分频模块、控制译码模块、总线接口模块、状态机模块,设计原理如衅3所示。时钟分频模块用于产生AD767的转换时钟。为简化设计,达到高速和简化的目的,此模块的分频系数由设计固化。控制信号译码模块用于完成处理器对CPLD片内模块的寻址和译码,为一简单译码逻辑和触发电路。总线接口模块用于完成处理器和A/D转换控制器的数据交换;同时完成AD767的自校准信号CAL的控制,如图2所示的自校准时序。需要注意一点的是,在自校准的过程中,SAMPLE信号必须保持低电平,否则出错。状态机模块用于产生A/D转换的时序,如图2所示的通常转换时序。在转换的过程中,CAL信号必须保持低电平,否则出错;状态机模块同时完成对多路切换器的控制。图2所示的各信号的相对定时关系此处不作说明,请查阅AD676的数据手册。
为达到图2所示SAMPLE、CAL时序的相互闭锁关系,从状态机模块引出其内部状态信号到总线接口模块,一方面,状态机的状态可以随时被处理器感知;另一方面用于闭锁CAL信号,即闭锁自校准。详细地说,就是在A/D转换期间,在图2所示的通常转换时序中,从SAMPLE变高到BUSY信号再次变低以前,即使处理器再次写入了启动自校准命令,CPLD亦闭锁CAL信号的产生。为便于安全启动CAL信号,在本次转换完成或全部转换完成时,满足一定的相对时序即可启动。同理,将总线接口模块内控制CAL信号的状态机的状态引入状态机模块,用于在自校准期间,闭锁SAMPLE信号的产生,即闭锁处理器启动A/D转换的命令。这样,A/D转换控制器就具有很好的容错能力。无论何时,处理器都可以通过读取SAMPLE、CAL、BUSY、中断请求、状态机的状态,来监测CPLD、AD676等的工作和判断损坏与否。通过处理器的配合就使CPLD支持系统的在线自检,解决了以往类似设计中存在错误而处理器又无法进行故障定位的问题。
图4
2 系统仿真和验证
以上设计用VHDL语言描述完成后,首先在ACTIVE-HDL5.1环境下进行编译、综合、适配后再时序仿真;但这只是纯逻辑验证,此时时序仿真图中没有包含任何硬件延迟信息。结果正确后,在MAX+PLUSII 10.0环境下进行编译、综合、适配后,再进行时序仿真验证。由于考虑了硬件因素,选择MAX7000S系列的EPM7128STC100-10器件后,该器件的摆率位Turbo bit必须选中,否则在高速时钟输入时,MAXPLUS的仿真结果不正确。图4即为在MAXPLUS下的时序仿真结果,模拟40 MHz的CPLD时钟输入和主处理器50ns的外部存储器访问周期,可以达到AD676的最快转换速度。实际电路也验证了这一点。
考虑到CPLD也完成系统的一部分译码功能,此时,MAXPLUS所产生的报告文件表明资源利用情况,如表1所列。在文章的最后详细给出了状态机模块的时序电路的VHDL设计程序。
表1
逻辑阵列块逻辑单元I/O引脚共享扩展项外部互连A:LC1-LC168/16(50%)10/10(100%)8/16(50%)27/36(75%)B:LC17-LC3216/16(100%)10/10(100%)15/16(93%)23/36(63%)C:LC33-LC4816/16(100%)8/10(80%)14/16(87%)21/36(58%)D:LC49-LC6415/16(93%)7/10(70%)6/16(37%)29/36(80%)E:LC65-LC8016/16(100%)0/10(0%)0/16(0%)23/36(63%)F:LC81-LC916/16(100%)10/10(100%)16/16(100%)31/36(86%)G:LC97-LC11215/16(93%)9/10(90%)5/16(31%)28/36(77%)H:LC113-LC12816/16(100%)8/10(80%)6/16(37%)29/36(80%)使用的专用输入引脚1/14(25%)使用的I/O引脚62/80(77%)使用的逻辑单元118/128(92%)使用的共计扩展项52/128(0%)……最后,通过EPM7128STC100-10(40MHz)的JTAG口,在MAX+PLUSII 10.0环境下,下载到器件中,在TMS320C32(40MHz)和MC68332(16.78MHz)两种CPU构成的数据采集系统中得到了验证。由于A/D转换控制器与处理器采用并行接口,极大地减轻了CPU的负荷,解决了CPU的I/O资源严重不足的矛盾,提高了硬件电路的集成性、可靠性及保密性,可以很方便地移植到多种处理器,具有一定的实用性。
状态机模块的时序电路VHDL设计程序见网站(收集整理)。
★ 监控系统方案
★ 无线测温系统体会
★ 监控系统销售合同
★ 校园监控系统方案
★ 家庭监控系统方案
无线数据采集在环境监控系统中应用(精选9篇)




