用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

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

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 23:57:13
DMA传送数据的首地址,并选择源地址工作在访问后不调整方式,选择DMA通道同步事件McBSP1接收事件为DMA同步事件,来实现DMA和McBSP的结合。TLC320AD50转换完的数据按McBSP1的设置被送到C5402内部接收寄存器DRR11中,再由DMA将DRR11中的数读到指定数据存储区来完成数据采集。DMA在传送外部来的数据时不会影响CPU的正常运行,当DMA采集完一组规定个数的数据后产生一个DMA中断事件中断CPU,来通知CPU对其进行相应的处理,此时DMA可以按照设定继续采集下一组数据,实现了数据采集与CPU处理的并行操作。图1为系统硬件接口设计。

javascript:window.open(this.src);" style="cursor:pointer;"/>

    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通道javascript:window.open(this.src);" style="cursor:pointer;"/>
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系统中得到很好的应用。



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:8,765.62500 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号