DMA结合McBSP在数据采集系统中的应用设计

时间:2023-03-18 22:41:38 理工毕业论文 我要投稿
  • 相关推荐

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中断事件中

【DMA结合McBSP在数据采集系统中的应用设计】相关文章:

高性能数据采集系统芯片LM12H458及其应用05-28

Openprocess在热网监控系统中的应用06-04

探析Openprocess在热网监控系统中的应用05-29

谈Openprocess在热网监控系统中的应用06-09

局域网数据库环境下数据采集及处理05-08

网络经济数据挖掘在工商管理中的应用论文07-29

谈智能决策支持系统及其在林业中的应用研究08-21

主动网结合锚杆支护在公路边坡治理中的应用05-26

电气自动化系统在石油化工行业中应用论文05-14

谈三维制作软件在园林设计中的应用08-30