当前位置:首页 > 单片机 > 单片机
[导读]增强型直接内存存取由DMA控制器发展而来。与DMA相比,eDMA增加了传输控制描述符TCD单元,功能上表现为能传输更多的通道数据。本文分析了eDMA的传输机制,并通过ColdFire系列处理器MCF5329与音频芯片TLV320DAC23组成的音频系统中音频数据的传输来阐述eDMA的典型应用通过控制eDMA不但能够提高数据的传输率,而且能够充分发挥MCU的高速性能。

eDMA是enhanced Direct Memory Access的简称,即增强型直接内存存取。它是用于快速数据交换的重要技术,具有独立于CPU的后台批量数据传输能力,能够满足实时处理中高速数据传输的要求。在ColdFire系列MCU中的MCF5329EVB平台上实现的音频系统,为了满足系统的实时性要求,采用eDMA来完成音频数据的传输。MCF5329EVB提供了一个eDMA控制器,可以满足大量数据的实时传送需求。

1 eDMA介绍
1.1 eDMA的结构

    eDMA模块框图如图1所示。

    从eDMA的模块结构图可以看出,eDMA模块包括两个主要模块:eDMA引擎和传输控制描述符TCD单元。其中,eDMA引擎的功能主要包括源地址和目的地址的计算和实际的数据搬移操作;TCD单元的功能是为每个通道定义传输的源地址和目的地址、次循环的大小、单次传输的字节量及传输方式等信息。
    eDMA引擎由如下4个子模块组成:
    ①地址路径模块。执行传输控制描述符的2个通道(通道X和通道Y)的注册,并处理所有的总线地址计算。被注册的通道用于装载从传输控制描述符区域读取的传输控制描述符内容。
    ②数据路径模块。执行数据的读写,包括16字节的寄存器存储区域,并支持多种数据排列方式。
    ③编程模型/通道仲裁模块。执行eDMA编程模型和通道仲裁。eDMA外部请求输入和中断输出都连接到该模块。
    ④控制模块。提供所有针对eDMA引擎的控制功能,包括对数据读和写的匹配。如需要读取的源数据大小为16位,而目标数据大小为32位,则每2次读取只需要1次写入。
    传输控制描述符区域由如下两部分组成:
    ①内存控制器。该逻辑执行必需的双向端口控制,处理eDMA引擎和内部外围总线的通道。
    ②内存阵列。TCD存储区是一个单端口同步的RAM阵列。每个通道都有1个TCD单元,每个TCD有32字节,由11个寄存器组成。
1.2 eDMA的操作
    MCF5329的eDMA有16个数据传输通道,每一个通道由一个传输控制描述符TCD进行描述。TCD不仅记录了数据传输的源和目的地址,还记录了当前传输地址相对于起始地址的偏移。该偏移由一个主循环(maior loop)和一个次循环(minor loop)来表示。当一个通道在传输时,次循环中的数据传输完成之后,eDMA引擎中的当前源地址、目的地址和外循环的大小会被写回TCD存储区域,并执行通道连接的其他通道传输。每一个次循环执行完,当前外循环计数器就会减1;当外循环计数器减为O时,eDMA会向处理器发起一次中断请求,请求下一次eDMA传输的源和目的地址。一次主循环所能传送的最大字节数由用户所分配的eDMA缓冲区大小决定。
1.3 eDMA基本数据流
    eDMA基本数据流可被划分为三段。
    第一段是通道激活。以外围硬件请求激活通道为例,eDMA请求输入信号首先经由控制子模块进入编程模型和通道仲裁模块,确定采用固定优先级还是联合通道仲裁(固定优先级仲裁是先给具有最高优先级的通道服务,联合通道优先级是先给通道编号最大的通道服务);确定通道后,被确定的通道号通过地址路径模块发送并转换成需要的地址,用于在当地存储区域中存取传输控制描述符TCD;相应的描述符读取出来后被装载到地址路径模块中的通道X或通道Y寄存器中。
    第二段是真正的数据传输。源数据被读取出来临时,存储在数据路径块中,然后在时钟的驱动下将数据写入到目标地址。整个读写过程持续到次循环数据结束。
    第三段是TCD的更新和中断请求的发生。一旦一个次循环数据传输完毕,数据流就进入第三段。在该段中,地址路径逻辑会更新相应TCD中的特定区域,如源地址、目标地址和外循环计数。如果外循环计数减为O,则要进行额外的设置,包括最终地址调节。如果在此时有中断请求发生,需要重新读取一个新的TCD。

2 TLV320DAC23介绍
    TLV320DAC23是TI公司推出的一颗高性能立体声音频编解码(CODEC)芯片,采样率可以从8 kHz到96kHz,传输字长可自由选择为16位、20位、24位或32位;最大输出信噪比可达到100 db;控制端口可兼容SPI、2一wire等协议;回放模式下功率为18 mw,省电模式下小于15μW。该芯片适用于便携式设备的数字音频处理。
    (1)控制接口
    控制接口用于对器件TLV320DAC23的寄存器编程,以及设置音频芯片的工作参数。它兼容两种模式:SPI三线模式、2一wire模式。
    MODE:模式选择。MODE为0时采用2一wire模式,为1时采用SPI模式。
    SCLK:控制端口串行数据时钟。
    SDIN:控制端口串行数据输入。
    CS:控制端口输入锁存/地址选择。SPI模式下,CS用于数据锁存控制,2一wire模式下,CS定义器件地址域的第7位。SPI模式下,1个控制字为1 6位:高7位为控制地址,低9位为控制字。16位的控制字由MSB位开始传输,每位在SCLK的上升沿被锁存,整个16位的控制字在最低位被CS锁存进TLV320DAC23。
    (2)数字音频接口
    数字音频接口用于输入TLV320DAC23的D/A数据。
    BCLK:I2S串行比特时钟。主模式时BCLK为输出,从模式时BCLK为输入。
    DIN:I2S串行数据输入。
    DOUT:I2S串行数据输出。
    LRCIN/LRCOUT:字时钟输入/输出信号,两个信号共有的帧信号。在主模式中由DAC23产生该信号,在从模式中由主设备(如DSP或MCU)产生该信号。
    TLV320DAC23支持4种音频接口模式:右对齐模式、左对齐模式、I2S模式、DSP模式。这4种模式都是最高有效位MSB在前,字长16~32位(右对齐除外,它不支持32位)。
    (3)时钟接口
    MCLK:芯片主时钟信号。当TLV320DAC23作为主设备时,该信号由芯片自身产生;当TLV320DAC23作为从设备时,该信号由外部产生。
    CLKOUT:时钟输出信号。可以为MCLK或MCLK/2。


3 音频驱动设计
    TLV320DAC23与MCF5329之间的音频数据传输采用I2S音频格式,由MCF5329的同步串行接口SSI实现与TLV320DAC23的数据传输。MCF5329处理器内核与同步串行接口SSI发送/接收寄存器之间的音频数据传输采用eDMA机制传输,由MCF5329中的eDMA模块实现。
3.1 硬件连接
    TLV320DAC23与MCF5329的接口有两个:一个是控制接口,用于设置TLV320DAC23的寄存器,从而设置它的工作参数;一个是数字音频接口,用于传输TLV320DAC23的音频数据并控制数据的时序。本设计采用由MCF5329提供的时钟信号,所以将MCF5329设为主设备,TLV320DAC23作为从设备。音频数据采用I2S音频格式传输,控制字通过SPI接口传输。具体连接如图2所示。

3.2 软件设计
    (1)设备的初始化
    同步串行接口SSI的初始化包括对控制寄存器、传输配置寄存器和接收配置寄存器、时钟配置寄存器、发送时隙掩码寄存器和接收时隙掩码寄存器以及中断允许寄存器的配置。最后设置中断源和中断级别。
    eDMA的初始化包括eDMA与同步串行接口SSI发送/接收寄存器连接的配置,以及确定eDMA的通道仲裁方式。
    具体代码如下:

   
    TLV320DAC23的初始化主要是通过SPI接口设置编解码芯片控制接口相关的寄存器。初始化设置为I2S从模式,输入字长32位,高位先,设置采样率8 kHz。设置完后激活数字接口。
    (2)数据的传输
    完成设备的初始化后,就要设置传输控制描述符TCD的相关寄存器以控制eDMA的传输。以音频驱动中的放音过程为例,该过程的音频数据由处理器内核传送到SSI发送寄存器。音频数据分为左右2个声道,所以启动2个eDMA通道——通道11和通道12——负责传送数据。设置次循环的大小为4字节,由于是2个通道传输,所以1次次循环共8字节。若一次主循环需要传完的数据为count字节,那么设置主循环中包含的次循环数为count/8。最后允许通道12的主循环中断,并开启2个通道,开始传输。下面以通道ll为例来说明eDMA的设置流程(TCD代表通道11):


    通道12的设置基本与通道11相同,只有一点不同,就是在开启通道12传输的同时允许通道12的大循环中断。音频驱动中的录音过程与放音过程eDMA设置相似,只是音频数据的传送方向是由SSI接收寄存器传输到处理器内核。
    设计完成后的音频驱动经测试,在系统任务繁重的情况下(例如MP3文件解码并实时播放),仍然可以完成正常语音播放,效果良好。


结 语
    本文分析了一种增强型直接内存存取eDMA的访问机制,并通过实例阐述了eDMA的典型应用。eDMA模块加快了数据传输的速度,减少了CPU的干预。并且它在TCD中设置了主循环和次循环传输,从而增强了单次单通道的传输数据量,也增强了传输的灵活性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

标普500指数今年迄今为止下跌22.7%,但高盛(Goldman Sachs)策略师认为估值依然太高。摩根士丹利旗下的Morgan Stanley Wealth Management称,面对高通胀环境下的利率大幅上升,股...

关键字: DMA MANAGEMENT 高通 ST

要问机器人公司哪家强,波士顿动力绝对是其中的佼佼者。近来年该公司在机器人研发方面获得的一些成果令人印象深刻,比如其开发的机器人会后空翻,自主爬楼梯等。这不,波士顿动力又发布了其机器人组团跳男团舞的新视频,表演的机器人包括...

关键字: 机器人 BSP 工业机器人 现代汽车

南京2022年10月17日 /美通社/ -- 日前《2022第三届中国高端家电品牌G50峰会》于浙江宁波落幕,来自两百余名行业大咖、专家学者共同探讨了在形势依然严峻的当下,如何以科技创新、高端化转型等手段,帮助...

关键字: LINK AI BSP 智能家电

SAIHUB CAB 025M成功获得安全试验所UL美国与加拿大认证证书 新加坡2022年10月17日 /美通社/ -- SAI.TECH Global Corporation("SAI.TECH"...

关键字: AI BSP PS 清洁能源

郑州2022年10月17日 /美通社/ -- 近日,《福布斯》发布了"2022年全球最佳雇主榜单"(The World's Best Employers 2022),中国平安再度上榜并排名全...

关键字: 福布斯 ST TI BSP

通过第二项3nm设计选用扩展技术领先地位 第三季度强劲的贸易和设计选用反映出我们结合了IP和定制硅的混合业务模式 自2022年9月1日起,OpenFive首次并入集团 尽管宏观环境困难,但管理层仍对业务...

关键字: BSP ALPHA PEN Silicon

高盛集团(Goldman Sachs Group)计划将其最大的业务合并为三个部门,进行该华尔街公司历史上最大的一次业务重组。高盛将把其旗舰投行业务和交易业务合并为一个部门,同时将资产管理和财富管理业务合并为另一个部门。...

关键字: APPLE DMA GENERAL GREEN

欧洲药品管理局人用药品管理委员会 (CHMP) 的积极建议是基于 EFFISAYIL® 1 研究结果,该研究是针对泛发性脓疱型银屑病 (GPP) 发作患者的最大的临床研究[1] 与斑块状银屑病不同,GP...

关键字: HM BSP GP FOR

流体动压滑动轴承为风机发展书写崭新篇章 轴承滑动层增材制造与精加工为工业级大规模生产铺平道路 轴承设计从综合性系统理念出发 德国施韦因富特和汉堡2022年10月17日 /美通社/ -- 舍弗勒推出了采...

关键字: 齿轮箱 滑动轴承 风力涡轮机 BSP

上海2022年10月17日 /美通社/ -- Brother内置墨仓彩色喷墨一体机DCP-C421W新上市。此次Brother创新引入"按需打印,按页付费"...

关键字: DC 打印机 BSP DESIGN

单片机

21600 篇文章

关注

发布文章

编辑精选

技术子站

关闭