DMA结合McBSP在数据采集系统中的应用设计
“眯眯眼”通过精心收集,向本站投稿了5篇DMA结合McBSP在数据采集系统中的应用设计,下面是小编整理后的DMA结合McBSP在数据采集系统中的应用设计,希望能帮助到大家!
篇1: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系统中得到很好的应用。
篇2: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]
篇3:虚拟仪器在汽车数据采集系统中的应用
虚拟仪器在汽车数据采集系统中的应用
汽车试验设备是汽车性能测试的硬件基础,传统的`汽车试验设备由于存在价格昂贵、功能单一、安装不便、功能扩展和升级困难、对温度、工况等要求严格,导致试验成本提高、试验数据不精确等问题.虚拟仪器(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 关键词:试验设备 性能测试 虚拟仪器 软件设计 方法篇4: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”,使用时不应作为转换结果处理。
篇5: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还有许多功能可以开发利用。如果在本系统基础上做必要的功能扩展,便可用于其它工业控制系统的现场控制等领域。
【DMA结合McBSP在数据采集系统中的应用设计】相关文章:






文档为doc格式