TMS320F28335 DMA配置详解


DMA(Direct Memory Access),即直接存储器存取,是一种快速传送数据的机制。它的优点在于一旦控制器初始化完成,数据开始传送,DMA就可以脱离CPU,独立完成数据传送。不需要依于CPU的大量中断负载,从而节省大量的CPU资源。

TMS320F28335具有6通道DMA,而且每个通道具有独立的PIE中断。DMA的触发源种类有很多,可以配置为ADC、MCBSPs、外部中断、CPU定时器、ePWM1-6 ADCSOCA and ADSOCB和软件等出发方式。DMA可以对L4-L7 16Kx16 SARAM、XINTF外部接口、ADC、MCBSPs、ePWM1-6/HRPWM1-6映射到Peripheral Frame 3空间的寄存器进行数据操作。工作方式可以配置为32位或者16位。吞吐量最高为4时钟/字。需要注意的是,当DMA对MCBSPs进行数据操作时,只能配置为16位工作模式,而且最大的吞吐量为5时钟/字。具体原因参考一下TI的数据手册。下面以TI的例程为例详细讲解一下DMA配置。

28335 DMA的配置主要是一下几个函数,可以在DSP2833x_DMA.c找到。

函数及配置详解:

void DMACHxAddrConfig(volatile Uint16 *DMA_Dest,volatile Uint16 *DMA_Source)

参数解析:配置DMA的数据目的地址和源地址(跟函数中参数的排序相同,下同)。

void DMACHxBurstConfig(Uint16 bsize, int16 srcbstep, int16 desbstep)

参数解析:配置每帧大小、帧内源地址增加偏移和帧内源地址增加偏移。地址增加偏移就是指传输一个字(或帧)之后地址增量。

void DMACHxTransferConfig(Uint16 tsize, int16 srctstep, int16 deststep)

参数解析:配置每次触发DMA转移多少帧、帧间源地址增加偏移和帧间源地址增加偏移。

void DMACHxWrapConfig(Uint16 srcwsize, int16 srcwstep, Uint16 deswsize, int16 deswstep)

参数解析:配置源地址偏移总量、重载的源地址、目的地址偏移总量、重载的目的地址。也就是说在源地址(或者目的地址)偏移量超过所设置的偏移总量的时候重载所设置的新的源地址(或者目的地址)。我是这么理解的。

void DMACHxModeConfig(Uint16 persel, Uint16 perinte, Uint16 oneshot, Uint16 cont, Uint16 synce, Uint16 syncsel, Uint16 ovrinte, Uint16 datasize, Uint16 chintmode, Uint16 chinte)

参数解析:配置触发源选择、触发源使能、ONESHOT使能、继续模式使能、外设同步使能、同步对象选择(源同步还是目的同步)、溢出中断使能、工作方式选择(16位还是32位)、产生中断模式选择(开始还是结束)、产生中断使能。

大约就这些了。具体该配置成个什么样子还是去看手册吧。

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
TMS320F28335是德州仪器(Texas Instruments)推出的一款数字信号处理器(DSP)。CAN(Controller Area Network)是一种常用于汽车和工业控制领域的通信协议。TMS320F28335芯片支持CAN总线通信,并具有配置CAN过滤器的能力。 CAN过滤器配置是指通过设定CAN过滤器的设置,来过滤接收到的CAN消息,只接收特定标识符的消息。TMS320F28335的CAN接口提供了16个接收邮箱,每个邮箱都可以配置不同的过滤器。过滤器的设置可以通过编程方式完成。 在配置CAN过滤器时,主要需要设置标识符、屏蔽字和过滤器的模式。标识符用于识别CAN消息的类型,是CAN消息的唯一标识。屏蔽字用于过滤出特定范围内的标识符。过滤器的模式决定了过滤器的工作方式,如仅匹配标识符、只接收远程帧或只接收数据帧等。 在TMS320F28335上,可以通过CAN控制器寄存器来配置过滤器。首先,需要选择要配置的邮箱,并将其配置为接收模式。然后,可以设置过滤器的标识符和屏蔽字。最后,可以选择过滤器的模式,并使能该过滤器。配置完成后,TMS320F28335会根据配置的过滤器,只接收符合条件的CAN消息。 通过配置CAN过滤器,TMS320F28335可以根据需要选择性地接收和处理特定类型的CAN消息,提高了系统的处理效率和可靠性。这对于需要处理大量CAN数据的应用,如汽车电子控制系统和工业自动化设备等,非常重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值